графические движки



Автор }{ацkер задал вопрос в разделе Другие языки и технологии

На чем пишут графические движки для игр? и получил лучший ответ

Ответ от [гуру]
На том же, на чем и простенькие игры без движков.
Графические библиотеки - OpenGL или DirectX.
Чтобы написать движок, надо начать писать игру, для которой этот движок.
Просто писать ее под графическую библиотеку, без всяких движков и даже без мыслей о движках.
На первых порах все будет получаться. Но постепенно вы будете замечать, что если использовать графбиблиотеку напрямую, то многие простые вещи становятся сложными и занимают десятки, если не сотни строк кода. И эти строки кода приходится копипастить туда, где они нужны, и переделывать их местами. Код загромождается, повышается вероятность ошибки по невнимательности.
Конечно, вам захочется шаблонные куски кода вынести в функции, чтобы каждый кусок из множества строк кода можно было заменить 1 строкой кода - вызовом функции. Потом вы увидите, что неплохо бы еще и внедрить модули, а затем и объекты, чтобы как-то разделить различные функции и не путаться в них - тогда вы внедрите ООП.
Таким образом можно (и нужно) написать мощный, объектно-ориентированный движок, на котором реально удобно делать игры.
Примером простейшего движка может служить GLUT. Вроде бы и не движок, а написание какого-нибудь примитивного тетриса или арканоида способен облегчить. Но, конечно, для сколько-то сложной игры нужно нечто гораздо более высокоуровневое.
Таким же способом пишутся и любые другие фреймворки, скажем, для GUI.
И чем круче и шире те задачи, которые вы решаете в процессе написания фреймворка, тем круче и фреймворк получится.
А вот что при создании движка/игры важно, пожалуй, меньше всего - так это ЯП.
Ну по соображениям производительности лучше брать Си/С++, чем C# или тем более Java. Но уж лучше хороший (реально облегчающий создание игры) движок на C#, чем плохой на чистом

Просветленный
(26490)
может быть лучшие ответы?
иногда времени нет.
иногда не хочется обидеть кого-то, если все ответы хороши
сам часто не отмечаю...
по мне, лучше пусть вообще не отмечают, чем отмечают явную х

Ответ от Вадим Олейник[эксперт]
На языках программирования, не?

Ответ от Максим[гуру]
На чём угодно. Чаще всего c++.

Ответ от Андрей Севастьянов[гуру]
Представьте себя архитектором игрового движка. Какие требования к движку главные для вас? Максимальная скорость работы на крутом железе? Максимальная переносимость, чтобы в любом утюге работало? Чтобы работало в любой системе, где есть веб-браузер? Отсюда -- и выбор языка для реализации.

Ответ от Jinx Jemeny[гуру]
На языках программирования. Чаще всего и оптимально - С++.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: На чем пишут графические движки для игр?
спросили в Quake
Как сделать игру 16 бит?
Множество 16битных графических движков, Гугл в помощь.. . Quake
подробнее...
спросили в Matra
будет ли книга metro last light ?


Авторы экшена Metro: Last Light решили не брать за основу сюжет событий второй книги
подробнее...

Когда выйдет prototype 3?
Студия Radical Entertainment больше не существует, но права на игру по прежнему находятся у
подробнее...
спросили в Гордон Help
В каком порядке проходить все серии Half-Life? С первой части и до последней.
Opposing Force, Blue Shift - это дополнения. В оппозинге играешь за военного, в блуе шифт - за
подробнее...

как написать свою игру
Итак.. Вы решили создать игру вашей мечты. Вы собираетесь переплюнуть х3 и даже Элиту. Ну что ж.
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Размытие
Размытие в движении добавляет реализма в играх? И как эта функция влияет на производительность.
Размытие движения делает размытие по бокам, когда ты резко мышкой камеру крутишь вокруг персонажа
подробнее...

Как программируются игры?
Если речь идёт о 3d, то как-то так:
1) "Внизу" есть графическая карта. Она умеет быстро-быстро
подробнее...

Подскажите пожалуйста, что такое "ШЕЙДЕР"?
Если кратко, то это довольно простые небольшие программки, выполняющиеся на графическом процессоре
подробнее...
спросили в Железо Файтинги
Что такое V-Sync?
Вертикальная синхронизация (VSync: Vertical Synchronization) — это опциональный параметр поведения
подробнее...
спросили в Железо
что такое пиксельные шейдеры и зачем они вообще нужны
Ше́йдер (англ. Shader) — это программа для одной из ступеней графического конвейера,
подробнее...

Пойдет ли GTA 5 на PS3 fat 60Gb?
для инсталляции gta 5 на ps3 требуется около 8 гиг свободного места на винте. больше никаких
подробнее...
спросили в Снимают Сниматься
Как снимать видео (Machinima)
про игрока-робота не знаю
но попробуй fraps или bandicam с ними можно снимать видео с
подробнее...
спросили в Железо Карточки
Что такое PhysX, для чего он нужен (и нужен ли вообще, если я играю в современные игры) и есть ли он в карточках Ati ?
На карточках от ATI physx не поддерживаются только от NVIDIA.Physx это такой движок, который
подробнее...

Трудно ли выучиться на программиста?
без технического английского программистом ты не станешь. Математика тоже важна, без математики
подробнее...
спросили в Флеш игры
Как нарисовать игру?
игру?.. какую? настольную или видео игру, если настольню.. проявите творчество, а видео игру вам не
подробнее...
Графический движок на Википедии
Посмотрите статью на википедии про Графический движок
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*