Другие языки программирования и технологии

Как программируются игры?

Я учусь программированию, пока еще чайник. Делаю всякие простые проги в Delphi и pascal, в принципе Delphi уже освоил более менее, знаю все основные методы, но вот в чем вопрос, я не понимаю например, как на Delphi можно сделать реально нормальную 3D игру типа GTA3-4-5 и т. д. ? Думаю, это не возможно, тогда в чем заключается отличие других языков программирования, на которых пишут такие игры от Delphi? Вот сейчас я изучаю графические возможности Делфи, делаю анимации всякие, и это занимает довольно таки много времени, а ведь это просто примитивные анимации, а не сложная 3D графика, как в большинстве современных игр
Если речь идёт о 3d, то как-то так:
1) "Внизу" есть графическая карта. Она умеет быстро-быстро обсчитывать положение вершин-рёбер-полигонов 3D-моделей, текстур и выполнять шейдеры, какие ей дадут.
2) Чуть выше есть драйвер видеокарты, который помогает видеокарте общаться с осью.
3) Ещё чуть выше есть графические библиотеки, как уже писал Metotron, DirectX и OpenGL. Первая только под винду, вторая кроссплатформенная и загнулась на данный момент, кажется. Они предоставляют API, пользуясь которым, программист может решать, что и в какой момент он пошлёт на обработку карточке.
4) Уже над либами строятся графические движки, которые сводят большую часть рутины в работе с ними к одной-двум строчкам кода. Код может быть на любом языке, какой взбредёт в голову приделать автору движка, хотя сам движок в 99% случаев пишется на С/С++ с асмовыми вставками.
5) К графическим движкам приделываются запчасти, которые позволят переименовать его в игровой. ИИ, управление, звук, структурировалка/хранилка игровых данных, построилка логики и всё такое.

Вот уже с последним пунктом работают люди. Одни рисуют модели и текстуры, другие - пишут для движка скрипты типа "что эта модель должна там делать". Размер команды может и сотен человек достигать, но это обычно не имеет смысла. Друг другу мешают.

Движки есть платные, есть бесплатные, можно написать свой, но это надо сильно до фига учиться.

Как-то так.

upd: Вот-вот, оля лукина там внизу пример привела. Unity 3D - платный игровой движок с интерфейсом "для домохозяек".
Виталий Слыжов
Виталий Слыжов
7 591
Лучший ответ
на дельфи пишутся мелкие офисные и производственные проги для работы с БД. Игры на нём писать откровенно трансанально.
Ст
Стас
61 409
Изучай directx/opengl. И тебе понадобится не только программирование, нужны будут 3d-модели.

Про сотни человек в студиях не верь, человек явно не очень-то интересовался вопросом.

Кстати, а ты не думал, что игры могут быть вообще без графики? blind survivor не смотрел?
Не встречал ни одной СЕРЬЕЗНОЙ 3D-игры, которая написана иначе чем на C с примесью C++, а иногда даже ассемблера.
Delphi - язык с ОТНОСИТЕЛЬНО низким порогом вхождения для программирования одноразовых программулек для отдельно взятого предприятия. На нем теоретически игры писать можно, но ни к чему. Несерьезно это.
Кайрат Нуртас
Кайрат Нуртас
54 366
Для Delphi существует расширенная графическая библиотека GLScene, которую можно использовать в качестве игрового 3D или 2D движка.
Библиотека бесплатна, с открытым исходным кодом и устанавливается как дополнение к стандартной среде Delphi.
Где взять: http://sourceforge.net/projects/glscene/files/GLScene/
Руководство: http://jat-studio.ru/downloads/GLSceneRUS.pdf
Сергей Воронин, не соглашусь с вами. вполне реально при надлежащей сноровки. просто автор скорее всего пока только научился запускать среду и накидывать туда компоненты, не задумываясь о чёмто большем.
Игры профессионального качества делают в профессиональных студиях, там сотни человек работают.
большинство игр в настоящий момент делается очень просто через программу юнити