Одному "нормальную" 3D игру на чистом языке программирования не осилить!
Запутаешься и забросишь это грязное дело, в лучшем случае, уже после первых 2-х месяцев работы.
Нужно для начала написать и отладить движок.
Затем проработать персонажи, карты уровней, звуки, музыку и ещё кучу всякой сопутствующей лабуды.
Для написания таких игр "в домашних условиях" существует огромное количество уже готовых движков.
Среди них есть вполне приличные. И даже бесплатные.
Загугли "Движки для 3D игр" и выбери себе, что по душе.
Другие языки программирования и технологии
какой язык лучше выбрать для создания сложных 3D игр
Современные 3D-игры не пишутся на языках программирования, а конструируются дизайнерами уровней, также как и современные приложения давно проектируются Visual Studio-подобными средами разработчиками.
Но не программистами. Т. к. это слово давно ушло из обихода. Как и слово хакер. Если ты родом из 80х годов и хочешь написать дедушку дума Wolf 3D - это уже другое дело.
Языки нужны только (запоминай) - для создания движка игры.
Подходят любой язык C/C++ диалектов. Т. к. большинство игр создано именно на диалектах C/C++(включая и сами эти языки) . Assembler нужен только для оптимизации и ускорения программы. Потому что все знают что программы написанные на ассемблере работают быстрее. А почему - все дело в архитектуре. Потому что только этот язык использует полностью возможности процессоров x86, т. к. это язык низкого уровня и больше остальных высокоуровневых близок машине и использует ее возможности на 100%.
Все остальное наполнение игры не пишется на языках программирования. А это:
звук/музыка - отвечает звукорежиссер
геометрия - отвечает архитектор
анимация - аниматор
модели персонажей/объектов - 3D-дизайнер
сюжет (с недавних пор это имеет значение) - писатель
Естественно не обязательно разделять по ролям - это может делать также один человек.
Может получиться как у Райкина - “я спрашиваю: кто шил пиджак? Они говорят: “Мы! Я, например, пуговицы пришивал. К пуговицам претензии есть? ”
К “пуговицам” претензий может и не быть. Претензии к тому, что получилось в результате.
Но не программистами. Т. к. это слово давно ушло из обихода. Как и слово хакер. Если ты родом из 80х годов и хочешь написать дедушку дума Wolf 3D - это уже другое дело.
Языки нужны только (запоминай) - для создания движка игры.
Подходят любой язык C/C++ диалектов. Т. к. большинство игр создано именно на диалектах C/C++(включая и сами эти языки) . Assembler нужен только для оптимизации и ускорения программы. Потому что все знают что программы написанные на ассемблере работают быстрее. А почему - все дело в архитектуре. Потому что только этот язык использует полностью возможности процессоров x86, т. к. это язык низкого уровня и больше остальных высокоуровневых близок машине и использует ее возможности на 100%.
Все остальное наполнение игры не пишется на языках программирования. А это:
звук/музыка - отвечает звукорежиссер
геометрия - отвечает архитектор
анимация - аниматор
модели персонажей/объектов - 3D-дизайнер
сюжет (с недавних пор это имеет значение) - писатель
Естественно не обязательно разделять по ролям - это может делать также один человек.
Может получиться как у Райкина - “я спрашиваю: кто шил пиджак? Они говорят: “Мы! Я, например, пуговицы пришивал. К пуговицам претензии есть? ”
К “пуговицам” претензий может и не быть. Претензии к тому, что получилось в результате.
С++ с асм вставками
читай на чем базируются Анриал и Крайэнджн
C++ если использовать "голые" библиотеки или писать свой движок. Есть так же готовые движки в которых можно писать на скриптовом языке (который вызывает функции движка) , одним из таких движков (который уже стал вполне солидным) является BGE (Blender Game Engine). Там можно писать свои скрипты на языке Python. Так же могу посоветовать Panda3D, он написан на С++ но предоставляет возможность программировать так же и на Python.
Если вы всё таки решили воспользоваться С++ то советую Irrlicht Engine. Это очень быстрый движок с поддержкой всех современных ОС. Так же можно использовать OGRE (правда это не игровой движок а "графический", то есть для звука и прочего нужно будет использовать OpenAL итп.) .
Есть ещё один движок под названием Unity3D. С бесплатной версией этого движка можно делать полноценные и вполне солидные игры, правда там есть несколько ограничений (в бесплатной версии нету множества шейдеров и поддержки динамических теней) . В Unity3D можно программировать на C#, Boo и Javascript.
Ну и под конец если вы решили идти длинным путём и писать свой движок то думаю вам стоит взглянуть на DirectX (ИМХО это единственный продукт который у майкрософта действительно удался ))) ) а так же OpenGL (не стоит его недооценивать) .
P.S.
ВСЁ представленное мною выше совершенно бесплатно так что не ищите кряка для на пример blender'а а сразу идите на главную страницу (гугл в помощь) и качайте. ))
Удачи!
Если вы всё таки решили воспользоваться С++ то советую Irrlicht Engine. Это очень быстрый движок с поддержкой всех современных ОС. Так же можно использовать OGRE (правда это не игровой движок а "графический", то есть для звука и прочего нужно будет использовать OpenAL итп.) .
Есть ещё один движок под названием Unity3D. С бесплатной версией этого движка можно делать полноценные и вполне солидные игры, правда там есть несколько ограничений (в бесплатной версии нету множества шейдеров и поддержки динамических теней) . В Unity3D можно программировать на C#, Boo и Javascript.
Ну и под конец если вы решили идти длинным путём и писать свой движок то думаю вам стоит взглянуть на DirectX (ИМХО это единственный продукт который у майкрософта действительно удался ))) ) а так же OpenGL (не стоит его недооценивать) .
P.S.
ВСЁ представленное мною выше совершенно бесплатно так что не ищите кряка для на пример blender'а а сразу идите на главную страницу (гугл в помощь) и качайте. ))
Удачи!
utf-8
Похожие вопросы
- какой язык лучше выбрать для создания сайтов.
- Какой язык программирования подойдёт для создания искусственного интеллекта?
- Какой язык программирования подойдет для создания exe программы по функциям похожей на word, только чуть сложней?
- Какой язык лучше подойдёт под создание 2D игр?
- КАКОЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ВЫБРАТЬ НОВИЧКУ КОТОРЫЙ НИФИГА НЕ ПОНИМАЕТ И ХОЧЕТ РАЗРАБАТЫВАТЬ ИГРЫ И СОЦСЕТИ
- Как сделать 3d игру?
- С помощью каких языков программирования делают 3d игры наподобие Far Cry, Assassin's Creed и т. д.?
- Какой язык программирования выбрать для изучения для начинающего ? (внутри)
- Подскажите на языке c++ создал новый проект выбрал при создании windows applikation, Создал меню, в как???
- Какой язык программирования выбрать в качестве первого языка ?