
Сообщение от Baisangur
Привет форумчане!
Хочу узнать я, насколько C++ вообще пригоден для создания игровых приложений? Я уже такую тучу инфы начитался, что у С++ управление памятью не динамическое и писать игру на нём - это настоящее задротство, но опятьже я думаю, что управлять памятью можно и ручками, зато скорость. Еще мне расхваливают, постоянно, Python, мол лучше для игр не найти. Правда? А как же защитить код на нём? Ведь скрипт...
Также мой взор нацелен и на Java, конечно 3D возможности её ранее были убоги, но сейчас уже не первый год живет проект jMonkeyEngine(Open Source), который финансируют очень крупные и солидные фирмы(SUN MicroSystems, NCSoft(Lineage I, II; GuildWars, AION). И НЦСофт даже разрабатывает игру на этом движке, следовательно наверно есть в связке Java-jMonkeyEngine толк? А что посоветуете вы из профессиональных инструментов? Лично мне на Си++ известны OGRE и Nebula Device и если на первом написать игру можно только к старости, то второй в принципе очень неплох и структура его понятна, а последний проект "Drakensang" оставил только лучшие впечатления.
|
тезисно:
1. С++ пригоден.
2. ручное управление памятью в некоторых случаях предпочтительней сборщика мусора. есть задачи, когда память хочется выделять на этапе компиляции.
3. писать игру целиком в 2009 году на С++ настоящее задротство, либо техническая неграмотность.
4. врут про Питон
5. Java - отстой (субъективно бездоказательно). Только для игровой логики и ничего больше.
6. OGRE - гуано. Моя любимая Nebula Device - архитектурный фейл. Печально. Андре Вайсфлог сам это признал.
А как же правильно? Архитектура "слоев". Как в UNIX.
нижний слой (native): API для графики, физики, звука, сети, привязка к конкретной оси, загрузка ассетов.
средний слой (binding managed to native)
верхний слой (managed/script): игровая логика, система событий, GUI, граф сцены, загрузка/выгрузка игрового состояния и т.д.