ASD
> движок пишется на C++ и возможно даже со вставками ассемблерного кода и
> использованием расширений процессора. А уж на чем писать потом игру - не столь
> важно
+1
Именно! Низкому уровню - низкоуровневое средство, высокому - высокоуровневое.
Nikopol
Представь творческий процесс - пробуешь так, потом эдак. Когда пошло творчество, тут не до ошибок. Представь тот же шарп или vb, что-то поменял, тут же запустил из-под среды, тут же остановил (хоть Ctrl+Break), посмотрел (или поменял) значения переменных, тут же продолжил выполнение. Не ждешь, пока скомпилится, не запускаешь никаких дебаггеров.
Mikle
Ты описал процесс прототипирования.
А какой смысл потом прототип переписывать на C++, если от этого скорость не меняется? Ведь там только высокий уровень. От того, что скорость 1% кода (по времени) возрастёт вдвое, мы получим целых 0.5% ускорения :). Только лишняя работа. Кроме того в исходник на ЯВУ лугче потом будет вносить изменения, часть его легче выделить во внешний скрипт, чтобы оттачивать игровой процесс мог любой геймдизайнер не программист.
Очевидно, что существуют разные весовые категории игр.
Мы тут пытаемся заставить игру нормально работать на приставках,
и managed и скриптовые языки тут явно не способствуют достижению цели :)
Писать утилиты на том же Шарпе - это за милую душу.
Я лично именно этим и занимаюсь.
От программирования приставок я далёк, возможно и нет разумной альтернативы плюсам, но managed языки я привёл как пример, для PC это мог бы быть vb6, Ява...
http://msinilo.pl/blog/?paged=4 я более менее согласный с тем что тут
Так, к слову. Кроме С++ и managed есть ещё языки. Scheme, например, транслируется в Си. И таки есть примеры мегаудачных игр на диалекте Scheme. А ещё можно писать просто на скриптовом языке с привязками к соответствующим библиотекам. Например Lua + SDL + OpenGL + Box2D по скорости адекватно вполне.
Nikopol, выбор языка всетаки важен. Кто-то хочет иметь все самое подвинутое в игре, а кому-то важнее скорость и удобство разработки.
Для меня, как любителя, языком выбора и образцом именно геймориентированного языка является всетаки Blitz3D. При всех недостатках, его простота и заточенность подкупает.
То что блиц устарел не суть, т.к. мы о языках. Суть что это язык изначально созданый именно для игростроения. Узкая специализация дает максимальный комфорт, правда ценой ограничения возможностей, вот тут и есть выбор, кому что важнее :)
Nikopol
> и managed и скриптовые языки тут явно не способствуют достижению цели
Скриптовъе язъки нормально работают на приставках.
Z
Спасибо, Кэп.
Nikopol
> Но при чём тут выбор языка ?
А при том:
Крупные проекты, используют 2-3 а то и больше языков программирования плюс языки описания ресурсов
Зачем?
Это уже написано везде, где только можно
- С для высокопроизводительных вычислений
- С++ для написания читаемого ООП кода
- C# для XBOX
- Python/Lua и т.п для описания логики игры
- Lua/XML и специфические для описания данных
Писать игру целиком на скриптах - медленно работает, ограничения на механику накладываются
Писать игру целиком на С++ - долго и неоправданно дорого
Писать игру на C# - полезно
Писать что-либо на Delfi - вредно
Писать на Objective C сложно, нужен опыт. Структура то у него хорошая, но синтаксис
Очень много разных аспектов.
- Строгая типизация Лично я сторонник, потому что это логично
- Сборка мусора. Удобно, но она должна быть управляемой
- При правильной архитектуре можно избежать утечек памяти. Сложно, хотя возможно. В Ogre есть шаблонный клас SharedPointer<T> работает как ссылки в .NET, почти.. внутри все иначе и не так хорошо
- Производительность. Кривой код на С++ работает медленнее Java.
- А еще во всяких блитцах нет многопоточности!
Забыл про ассемблер - это потеря кроссплатформенности. Полная.
Velorth
Всё верно, но вопрос "Но при чём тут выбор языка ?" я задал товарищу Damp-у совсем по другому поводу.
Also, держи лопату:
Часто слышу, что Паскаль легче Си, с фига ли он легче? Код на С++ мне кажется более удобочитаемым. Дело не в языке, а в компиляторе. Паскаль очень похож на Си, а Обжект Паскаль на С++.
Предлагаю выдать товарищу graveman'у экскаватор.
Тема в архиве.