Другие языки программирования и технологии
Как программируются игры?
Я учусь программированию, пока еще чайник. Делаю всякие простые проги в 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 - платный игровой движок с интерфейсом "для домохозяек".
1) "Внизу" есть графическая карта. Она умеет быстро-быстро обсчитывать положение вершин-рёбер-полигонов 3D-моделей, текстур и выполнять шейдеры, какие ей дадут.
2) Чуть выше есть драйвер видеокарты, который помогает видеокарте общаться с осью.
3) Ещё чуть выше есть графические библиотеки, как уже писал Metotron, DirectX и OpenGL. Первая только под винду, вторая кроссплатформенная и загнулась на данный момент, кажется. Они предоставляют API, пользуясь которым, программист может решать, что и в какой момент он пошлёт на обработку карточке.
4) Уже над либами строятся графические движки, которые сводят большую часть рутины в работе с ними к одной-двум строчкам кода. Код может быть на любом языке, какой взбредёт в голову приделать автору движка, хотя сам движок в 99% случаев пишется на С/С++ с асмовыми вставками.
5) К графическим движкам приделываются запчасти, которые позволят переименовать его в игровой. ИИ, управление, звук, структурировалка/хранилка игровых данных, построилка логики и всё такое.
Вот уже с последним пунктом работают люди. Одни рисуют модели и текстуры, другие - пишут для движка скрипты типа "что эта модель должна там делать". Размер команды может и сотен человек достигать, но это обычно не имеет смысла. Друг другу мешают.
Движки есть платные, есть бесплатные, можно написать свой, но это надо сильно до фига учиться.
Как-то так.
upd: Вот-вот, оля лукина там внизу пример привела. Unity 3D - платный игровой движок с интерфейсом "для домохозяек".
на дельфи пишутся мелкие офисные и производственные проги для работы с БД. Игры на нём писать откровенно трансанально.
Изучай directx/opengl. И тебе понадобится не только программирование, нужны будут 3d-модели.
Про сотни человек в студиях не верь, человек явно не очень-то интересовался вопросом.
Кстати, а ты не думал, что игры могут быть вообще без графики? blind survivor не смотрел?
Про сотни человек в студиях не верь, человек явно не очень-то интересовался вопросом.
Кстати, а ты не думал, что игры могут быть вообще без графики? blind survivor не смотрел?
Не встречал ни одной СЕРЬЕЗНОЙ 3D-игры, которая написана иначе чем на C с примесью C++, а иногда даже ассемблера.
Delphi - язык с ОТНОСИТЕЛЬНО низким порогом вхождения для программирования одноразовых программулек для отдельно взятого предприятия. На нем теоретически игры писать можно, но ни к чему. Несерьезно это.
Delphi - язык с ОТНОСИТЕЛЬНО низким порогом вхождения для программирования одноразовых программулек для отдельно взятого предприятия. На нем теоретически игры писать можно, но ни к чему. Несерьезно это.
Для Delphi существует расширенная графическая библиотека GLScene, которую можно использовать в качестве игрового 3D или 2D движка.
Библиотека бесплатна, с открытым исходным кодом и устанавливается как дополнение к стандартной среде Delphi.
Где взять: http://sourceforge.net/projects/glscene/files/GLScene/
Руководство: http://jat-studio.ru/downloads/GLSceneRUS.pdf
Библиотека бесплатна, с открытым исходным кодом и устанавливается как дополнение к стандартной среде Delphi.
Где взять: http://sourceforge.net/projects/glscene/files/GLScene/
Руководство: http://jat-studio.ru/downloads/GLSceneRUS.pdf
Сергей Воронин, не соглашусь с вами. вполне реально при надлежащей сноровки. просто автор скорее всего пока только научился запускать среду и накидывать туда компоненты, не задумываясь о чёмто большем.
Игры профессионального качества делают в профессиональных студиях, там сотни человек работают.
большинство игр в настоящий момент делается очень просто через программу юнити
Похожие вопросы
- как программируются команды в процессорах
- Получается что создать самодельную игру невозможно??!
- Как создать современную 2D игру на языке C#
- Создание игр. Кодирование с нуля или движок?
- Почему все разработчики игр стали портировать свои игры на телефоны?
- подскажите супер движок для создания 3d компьютерных игр, для создания sandbox игр читай далее внутри
- Пасаны го игру зделаем !
- Как сделать, чтобы при запуске игры World of tanks, игра не запускалась, а появлялось сообщение: Иди книгу почитай!
- Здравствуйте, нужна помощь в создании игр. Крик души.
- скриншот во время игры