Часть 1 (Объявление). Частый (и неизбежный) вопрос - как написать игру, какой язык, редактор, стратегию для этого нужно избрать. Я обрисую свое видение ответа.
1. Основные языки программирования. Ассемблер, Паскаль, С, С++, С#.
Ассемблер низкоуровневый язык, теоретически язык С (и С++) тоже имеет низкоуровневую "часть", кроме того, компиляторы генерируют код не уступающий ассемблеру в размерах и производительности. Минусы - ассемблер придеться спрягать с языками операц. системы и ОпенЖЛ или Директ v**, а это всегда бодяжно. Есть более легкие пути "убица ап стеннуу".
2 Паскаль. Это язык для обучения, а не для коммерческих проектов. На его развитии (объектный паскаль) работают Дельфи, Borland C++ Builder, а на Аде написано программ. обеспечение для F22Раптор. Это так, но успешно работает он через язык С и С++. Вообще, современный паскаль детище фирмы Борланд, которая развивала его по той причине, что язык С (и С++) развивать невозможно вследствии законов США, т.ч. современный паскаль - это современный С++ (и немного пыли в глаза. Вообще большинство языков работает через С через компилятор, интерпритатор, операционку, или еще что).
3. С и С++ На этих языках пишется все и вся и все изобретаемые языки Си образные (или ассемблерообразные). Но. Их время прошло, т.е. прошли их продажи, и им на смену идет С#, сейчас продают его.
4. С# Если вы пишете на микрософт.NET (виндовс) то под него специально создан язык С#. С# это типа С++ + Java(интернет). Потом программа на С# + .NET должна работать на любой оси (операц. системе) без перекомпиляции. Т.е. микрософт решил, что на его оси "виндовс" надо писать на С#. Если вы против, то "засуньте 2 пальтса врезетку" и подумайте "есче".
2. Основные графические языки программирования.
Если "Основные языки программирования" это где-то Borland версус микрософт, то в графических языках это OpenGLv** версус микрософт (Директ v***) версус Qt
Что выбрать? Решение зависит от возраста. Если вы молодой бунтарь - то одназначно пишите все на турбоассемблере (И все влезет на дискету 1.4мб включая комилятор, отладчик и 1оо версий игры). Если пишите для удовольствия (в первый раз) то OpenGL, а если все делаете "как надо" то на продукте микрософт. Тогда если у вас появятся вопросы, то вас запросто проконсультирует Б.Гейтс, а если он узнает что вы мараете его ось OpenGL, то начнет плеваться в трубку, бить офисную посуду и мебель (может даже грызть ковры).
3. Движки, рекакторы, новейшие эффекты и новейшие фичи.
Допустим вы выбрали язык и компилятор для него и графическую библиотеку (ее драйвер - драйвер вашей видеокарты (или по поцански видюшняка)), ее функциональность заключена в четатам**.DLL, которая подключена к вашему проекту через четатам**.LIB. Прекрасно. Что дальше?
На языке программирования вы создаете программу 01.exe (используя функциональность языка и операционной системы) в которой инициировали графическую библиотеку(выбранную). Теперь у вас (допустим 3 языка С++, OpenGL, и Функциональность (API) виндовса). Осталось только в этой проге написать игру. Осталось только тварить, тварить, тварить и еще раз тварить. Однако, прежде чем на нас накатило так, что некогда почесать бесталковку, скажу пару исторических слов. Вместо будущего заглянем в прошлое.
Зарей игростроения были игры Doom, MDK, Quake. И был единственный критерий оценки - драйв. Либо вы улетев на трансплутон и 12 часов подряд месили монстров из винчестера, и под табуретом скапливалась лужица адреналина натекавшая из ушей, либо нет. Третьего было не дано. Никто не стыдил вас говоря, что озвучка напоминает утробный вой и визги кошаков устроивших под окном групповуху. Никто не намекал, что нарисованное вами ружье напоминает средневековую чуму. Никто не падал в обморок увидев швы текстур.
Тогда программист еще был программистом, а не (пардон) абоссанной тряпкой в закуте "студии", об каторую ноги вытереть и то - стрем. А слово "драйв" теперь табу, его используют только сатанисты накликающие на страну (игр) 100 летнюю засуху. Не говорите его никому. Не надо.
Вобщем, была создана промышленность графикостроения. И Турок(3дфх) и Унреал уже использовали ее первые плоды - ускорители графики. Швы на текстурах использовали сначала билинейную фильтрацию, потом трилинейную, потом анизатропную, а затем настала эпоха фрагментов (шейдеров)
Итак, что нужно в современной игре.
а. Все современные, новые, сверхновые, перспективные фичи реализует только крутой движок, причем с лицензией, ибо потребуется поддержка спецов по его сопровожденю.
б. Шейдеры - потребуется поддержка в дровах специалистов ати и инвидиа, ибо шейдеры железозависимая мотня. Т.ч. готовтесь к длительным командировкам в США, где "блондинки с крепким телом". Вобщем, крем Марго будете носить, батистовые портянки кушать (Билу Гейтсу, если че, превед передавайте).
в. Нужен редактор уровней (с поддержкой - лицензией) иначе каждый полигон будете рисовать вручную и если ваша игра содержит больше 10 - 20 полигонов, геморрой, косоглазие, нездоровая бледность и сутулость гарантированы.
г. Нужен редактор монстров, оружия, ихней анимации. (Подробности см. пункт а,б,в)
д. Когда игра будет готова необходим будет сюжет от проффессионального писателя по которому вы якобы ее написали. Выбирайте малопьщего писателя, с пормальной сексуальной ориентацией и, вообще, без фантазий.
е. Нужен спонсор с 10 миллионами долларов. Легко находится, если сообщить, что вы планируете заработать 100 миллионов и всего за 1-2года.
ё. Издатель. Если вы принесете игру у которой у издателя сорвет башню - у вас возможно будет издатель. Но не факт, что издатель вам хоть что то заплатит с продаж вашей игры (это не по издательски).
ж. Вы должны понимать, что когда вы все это купите и 2-3-4 года провозитесь с тем, чтоб все купленное заработало, выйдут новые версии вашего программного обеспечения. Их тоже придется покупать (а что делать?).
з. Нужны библиотеки физики,столкновений, движок частиц.
и. Если вы решили написать самостоятельно уровни, модели, текстуры, сюжет, анимацию, поддержку в драйверах, то. Вы должны понимать, что именно скажут о вашем творчестве (и умственных способностях и состоянии душевного равновесия) специалисты (а,б,в,г,д,е,ё,ж,з).
Выводы: поцоны, если не удалось откосить от армии и написания программ... Хотя что тут можно сказать... Удачи! И, главное, помните, что авторитет программиста состоит из авторитета программного продукта, который он сопровождает.
Часть2 (язык - С++, компилятор - Borland C++ Builder3, графическая функциональность - OpenGLv1.0, ось - Виндовсхр. Инициализация.)
Если вас застукали за написанием движка, не спешите вешаться. Все можно объяснить, мол, первый раз, мол, задали в универе, мол, ето не я, мол, не мое и больше не буду. Учитывая чистосердечное раскаяние вас возьмут на заметку, но бить не будут. А если и будут, то только для вашей же пользы...
(алпибаг, возможно, а пока все.)