LanskoyGames
@LanskoyGames
Нейросети, C#, C++, Python, и смотри описание:-)

Если использовать вместо UE5 OpenGL или SDL2 и C++ для создания 2D и 3D игры будет ли она работать эффективнее и занимать меньше места?

Если использовать вместо UE5 OpenGL или SDL(SDL или SDL2) и C++ для создания 2D и 3D игры, как и казуальной, так и полноценного открытого мира, будет ли она работать эффективнее и занимать меньше места? И, если да, то, как это сделать кроссплатформенным и для Google Play тоже(то есть ключи и .aab)?

Тем, кто считает, что у меня уже были похожие вопросы, то да, он внешне похож, но здесь я хочу понять есть ли в этом какой-то смысл, так как есть и те продукты, которые работают на общедоступных движках(UE и Unity), так и на собственных движках.
  • Вопрос задан
  • 137 просмотров
Решения вопроса 2
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Теоретически - да. Специализированный движок лишь для вашей игры будет быстрее и легче многофункционального комбайна UE. На практике у вас там объем работы будет на сотню человеко-лет.
Ответ написан
будет ли она работать эффективнее и занимать меньше места

Если сделаешь более эффективно и компактно, то тогда будет работать более эффективно и компактно.


полноценного открытого мира

Это сразу забудь.
Полноценный открытый мир, разработка в одно рыло, эффективнее чем любой из общедоступных движков, адекватные сроки разработки - выбери, пожалуйста, 3 из 4х.

Учитывай, что UE развивается уже больше 20 лет и над ним работали уже сотни разных разработчиков.
Если ты хочешь сделать что-то подобное, то тогда:
1. Сразу забудь об OpenGL - это достаточно старый API и он не позволит получить максимальную производительность.
(Хотя вероятно он тебе таки понадобится для каких-то платформ)

2. Тебе нужен будет какой-то редактор

3. Раз тебе нужна кросс-платформенность, то тебе нужно поддержать графический SDK для каждой платформы.
На Windows - DirectX, Vulkan
На Linux - OpenGL, Vulkan
На MacOS - Metal

4. Для работы на Android у тебя два независимых куска, которые нужно учитывать:
А - как упаковать уже собранное приложение (на самом деле меньшая из проблем, тк решается)
Б - как собственно взаимодействовать с ОС, как получать инпут от пользователя, как выводить картинку и звук. Тут уже тебе надо обратиться к Android NDK и писать свой код.

5. Осталось малое - графика, физика, загрузка ресурсов (придется научиться обрабатывать файлы с 3d-оъектами и рисовать их), управление. И всё это надо как-то сделать универсальным, чтобы не пришлось для каждой платформы половину кода самой игры переписывать.

А ну и последнее - нужно ещё как-то убедиться, что оно работает лучше, чем уже готовое решение.

И это только по верхам прошёлся, внутри ещё много нюансов.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы