различия ?
Как я понял Вы решили заниматься именно разработкой игр? Тут на самом деле одного выбора яп мало. Если вы +- опытный геймер я думаю вы прекрасно понимаете, что у любой игр есть некое ядро благодаря которому оно работает и это ядро - игровой движок, ниже игрового движка только идея ). Думаю, что объяснять что делает игровой движок не нужно и скорее всего вы уже поняли к чему я клоню это к выбору игровых движков. На рынке огромное количество разнообразных игровых движков, однако два самых основных с нормальной поддержкой, которые на рынке уже давно, которые получают регулярное финансирование и поддержку, а не сделанные кучкой энтузиастов всего два Unity, Unreal Engine. В интернете куча статей по поводу того какой из них выбрать, скажу лишь только что оба они работают на C++, однако для написания игровых скриптов в Unity используется C#, а в Unreal Engine C++, а также есть система визуального программирования, где внутреигровая логика описывается за счёт создания логических блок - схем, там знания языка программирования не требуется, однако это накладывает очень сильные ограничения в плане гибкости. НО ЕСТЬ ОЧЕНЬ И ОЧЕНЬ ВАЖНЫЙ МОМЕНТ. Если Вы обратите внимание на крупные корпорации типа Ubisoft, EA GAMES, Dice, Rockstar Games, Activision, Blizzard, Supercell , то вы заметите, что ни одна из этих компаний не использует ни один из общедоступных движков, ни Unity, ни Unreal Engine ни Godot, ни один. А почему так? Всё просто, они используют свои игровые движки, которые доступны для использования только в пределах самой компании и их дочерних компаний, ни более, исходный код также полностью закрыт. Разработка собственного игрового движка процесс очень долгий и затратный требующий очень хороших знаний языка программирования на котором он будет написан, а это с большой долей вероятности C++ и в случае с добавлением поддержки IOS Objective-C, а в случае с Android ещё и Java или Kotlin ну и возможно C# в случае с Windows, может он понадобится для чего-то). Однако основная часть это C++. Ядро движка 100% должно быть написано на нём. Однако перед тем как писать движок его ещё нужно спроектировать, но в случае с движками для локального использования с этим можно не заморачиваться, можно даже структуру каталогов не делать, всё равно те кому надо те всё сами найдут и поймут как он работает, однако наилучший вариант это делать ядро движка как библиотек или набор библиотек и прилинковывать к проекту с игрой и по желанию если очень зачем-то надо, то делать ещё и простой редактор(Editor) то есть графическое приложение для управления игровым движком, как например в Unity, Unreal Engine со всякими кнопочками, полями ввода, табличками и ТД, короче вся та хуйня которая нахер не нужна для тех, кто умеет программировать. Однако самые основные знания это знания графических API: OpenGL, DirectX, Vulkan, OpenGL ES. Всё их знать и использовать не нужно ). Какие именно изучать и использовать зависит от технических требований к игре, а именно на каких платформах она должна запускаться и на этом моменте поподробнее.
> Если Вы обратите внимание на крупные корпорации типа Ubisoft, EA GAMES, Dice, Rockstar Games, Activision, Blizzard, Supercell , то вы заметите, что ни одна из этих компаний не использует ни один из общедоступных движков, ни Unity, ни Unreal Engine ни Godot, ни один.
Обсуждают сегодня