ЯП & Gamedev(взгляд изнутри)
Привет форумчане!
Хочу узнать я, насколько C++ вообще пригоден для создания игровых приложений? Я уже такую тучу инфы начитался, что у С++ управление памятью не динамическое и писать игру на нём - это настоящее задротство, но опятьже я думаю, что управлять памятью можно и ручками, зато скорость. Еще мне расхваливают, постоянно, Python, мол лучше для игр не найти. Правда? А как же защитить код на нём? Ведь скрипт... Также мой взор нацелен и на Java, конечно 3D возможности её ранее были убоги, но сейчас уже не первый год живет проект jMonkeyEngine(Open Source), который финансируют очень крупные и солидные фирмы(SUN MicroSystems, NCSoft(Lineage I, II; GuildWars, AION). И НЦСофт даже разрабатывает игру на этом движке, следовательно наверно есть в связке Java-jMonkeyEngine толк? А что посоветуете вы из профессиональных инструментов? Лично мне на Си++ известны OGRE и Nebula Device и если на первом написать игру можно только к старости, то второй в принципе очень неплох и структура его понятна, а последний проект "Drakensang" оставил только лучшие впечатления. |
Ответ: ЯП & Gamedev(взгляд изнутри)
Цитата:
и ну почти все на с++ О чем это говорит, да, игры не плохо делать на нем! ;) |
Ответ: ЯП & Gamedev(взгляд изнутри)
Собственно те что я назвал это единственные что подходят для создания игры, остальные это поделки какието студенчиские(ну не считая уже устаревших idTech 1, 2 и коммерческих CryEngine, Unreal Engine) =)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Цитата:
пусть назовут список игр сделаных на плюсах и соответствующий список игр сделаных на питоне. и просто сравни их длину. Цитата:
а new и delete тогда зачем? а malloc и free? из всех инструментов которве я когда либо юзал (C++, delphi, blitz, dark basic) в первом самая гибкая система управления памятью. С ней можно делать что хочешь. |
Ответ: ЯП & Gamedev(взгляд изнутри)
Дак ёмоё все мировые хиты (ну, 99%) пишутся на плюсах для всех ОС и приставок :lol: Это ли не аргумент?
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Цитата:
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Цитата:
1. С++ пригоден. 2. ручное управление памятью в некоторых случаях предпочтительней сборщика мусора. есть задачи, когда память хочется выделять на этапе компиляции. 3. писать игру целиком в 2009 году на С++ настоящее задротство, либо техническая неграмотность. 4. врут про Питон 5. Java - отстой (субъективно бездоказательно). Только для игровой логики и ничего больше. 6. OGRE - гуано. Моя любимая Nebula Device - архитектурный фейл. Печально. Андре Вайсфлог сам это признал. А как же правильно? Архитектура "слоев". Как в UNIX. нижний слой (native): API для графики, физики, звука, сети, привязка к конкретной оси, загрузка ассетов. средний слой (binding managed to native) верхний слой (managed/script): игровая логика, система событий, GUI, граф сцены, загрузка/выгрузка игрового состояния и т.д. |
Ответ: ЯП & Gamedev(взгляд изнутри)
Цитата:
я думаю САМУ ИГРУ пишут таки на С++. а вот скрипты, тулзы, всякие конверторы и експортеры конечно надо писать на том инструменте, который более пригоден для конкретной задачи. |
Ответ: ЯП & Gamedev(взгляд изнутри)
Цитата:
движок на С++, игра на скриптах/managed языках, игра в моем понимании все же игровая логика + ассеты, т.е. все то что не движок и тулзы. |
Ответ: ЯП & Gamedev(взгляд изнутри)
т.е. поменяли скрипты и уже стала другая игра?
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Цитата:
пример из жизни: колода карт одинаковая (52 штуки), а игры разные: покер, преферанс, спортивный бридж, дурак, подкидной дурак (ну это типо мод:-) и т.д. Еще пример: какая тебе как игроку разница, если бы Готика 3 была бы сделана не на своем движке, а на движке Обливиона? С теми же (как в Готике) ассетами, игровыми правилами и сюжетом? Только на другом движке? |
Ответ: ЯП & Gamedev(взгляд изнутри)
Какая вам разница если бы Фоллаут 3 был сделалн на движке Обливиона?
Тебе может и никакой, но народ возмущался... |
Ответ: ЯП & Gamedev(взгляд изнутри)
я всё же склоняюсь больше к концепции представленной valve в играх half-life 1,2, id software в quake,doom 3 и других
в общих чертах : 1) есть библиотека render.dll, это графический движок 2) есть библиотека engine.dll, это игровой движок 3) есть библиотека game.dll, это игровые обьекты описаные на языке на котором написан движок (обычно C++) 4) есть медиа, карты, скрипты - это всё уже составляющие игры те к чему это всё : в game.dll описываются игровые обьекты, например обьект дом, а моделей этих домов может быть куча, сложное взаимодействие (скриптовые сцены) пишутся на скриптах, а обобщенное (например AI) пишется уже на C++ получаем некоторую data-driven игру, по-сути программер один раз пишет обобщённые типы обьектов, а потом все остальные клепают самые разнообразные обьекты и движок нормально их воспринимает самое главное - без каких либо проблем вся сцена сохраняется в файл и так же от туда полностью загружается потому выходит : 1) писать враппер графического двига для скриптового языка не имеет смысла 2) описывать полностью базовые игровые обьекты в скриптах тоже не имеет смысла 3) писать сложное взаимодействие или расширение базовых типов в скриптах имеет смысл из этого можно сказать что игра это : 1) игровой движок (зачастую написано на C++) 2) игровые обьекты (зачастую написано на C++ и на скриптовых языках) 3) игровая логика (зачастую написано на скриптовых языках) вот и выходит что надо юзать и C++ и скрипты и не боятся :) |
Ответ: ЯП & Gamedev(взгляд изнутри)
Насчет Питона, на нем есть даже ММОРПГ небезысвестная от студии Дисней - Пираты Карибского Моря.
Ну я почемуто был уверен, что в итоге в основном люди будут за С++ и скрипты. А что посоветуете из движков? Почему Небула не прёт? И почему в сторону Java такое отношение? =) Ведь Джава - это вопервых большая прибавка аудитории людей сидящих на Маках и Линуксах.. |
Ответ: ЯП & Gamedev(взгляд изнутри)
Хинт: никого не волнуют люди сидящие на маках и линуксах в плане игр, их аудитория ничтожна, в то время как линуксойды не привыкли за что либо платить а на маках непривыкли играть.
Иными словами под них неделают непотому что сложно а потому что невыгодно. З.Ы. на с++ можно и под маки с линуксами писать..хоть под программируемые контроллеры станков :) |
Часовой пояс GMT +4, время: 14:38. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot