• Как написать игровой движок?

    @LifeKILLED
    В создании собстванного 3д-движка нет ничего необычного. Этим реально занимаются люди, получают хорошие деньги. Особенно актуально для мобилок, где графика требуется не такая сложная и соответственно кода будет не много. Хотя если надо поставить мобилки на поток, лучше выбрать Юнити. Но тем не менее работа графического программиста это крутой навык, который мало кому доступен.

    Под движком имеется в виду конечно не огромная экосистема, как в Юнити, а низкоуровневая основа вывода 3д-графики (перекладываем каждый кадр байтики из оперативки в GPU, включаем-выключаем шейдеры). То, что необходимо конкретно для внутренней разработки игры.

    Если хочется совсем-совсем с нуля, советую скопипастить какой-нибудь пример с сайта https://learnopengl.com/ и таким образом получить готовую графическую часть в движке. Там есть даже примеры с современными технологиями типа PBR, т.е. теоретически можно даже не хуже, чем в Анриле, картинку получить.

    Также можно глянуть готовое решение https://diligentgraphics.com/diligent-engine/ , это основа графического движка, в которую уже заложено портирование на кучу платформ и API. Если нужен результат, я бы кодил что-то на его основе. Это именно фреймворк/библиотека, которая берется за основу.

    Знания векторов и матриц в принципе хватает, но из этих простых вещей делаются очень сложные алгоритмы, особенно в шейдерах. Всë это надо знать. Еще лучше конечно не ограничиваться OpenGL (в sfml именно он), а подучить другие API, тогда можно и работу хорошую найти.

    Желаю удачи в становлении графическим программистом! Главное долго не мусолить всë это. На основе уроков learnopengl можно за пару недель написать свой рендер с тенями, pbr и прочими эффектами, я так на геймджеме сделал когда-то :) Хотя это всë зарефакторить бы, код там очень страшный, но работало
    Ответ написан
    Комментировать