|
23.03.2009, 10:04
|
#1
|
ПроЭктировщик
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений (для 23 пользователей)
|
ЯП & Gamedev(взгляд изнутри)
Привет форумчане!
Хочу узнать я, насколько C++ вообще пригоден для создания игровых приложений? Я уже такую тучу инфы начитался, что у С++ управление памятью не динамическое и писать игру на нём - это настоящее задротство, но опятьже я думаю, что управлять памятью можно и ручками, зато скорость. Еще мне расхваливают, постоянно, Python, мол лучше для игр не найти. Правда? А как же защитить код на нём? Ведь скрипт...
Также мой взор нацелен и на Java, конечно 3D возможности её ранее были убоги, но сейчас уже не первый год живет проект jMonkeyEngine(Open Source), который финансируют очень крупные и солидные фирмы(SUN MicroSystems, NCSoft(Lineage I, II; GuildWars, AION). И НЦСофт даже разрабатывает игру на этом движке, следовательно наверно есть в связке Java-jMonkeyEngine толк? А что посоветуете вы из профессиональных инструментов? Лично мне на Си++ известны OGRE и Nebula Device и если на первом написать игру можно только к старости, то второй в принципе очень неплох и структура его понятна, а последний проект "Drakensang" оставил только лучшие впечатления.
|
(Offline)
|
|
23.03.2009, 10:31
|
#2
|
Бывалый
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений (для 509 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
? Лично мне на Си++ известны OGRE и Nebula Device
|
А мне изветны вот эти http://en.wikipedia.org/wiki/List_of_game_engines
и ну почти все на с++
О чем это говорит, да, игры не плохо делать на нем!
__________________
Жизнь как говориться игра- делать игры моя профессия(с)
Программирование, это религия! Её нужно исповедовать.
|
(Offline)
|
|
23.03.2009, 10:55
|
#3
|
ПроЭктировщик
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений (для 23 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Собственно те что я назвал это единственные что подходят для создания игры, остальные это поделки какието студенчиские(ну не считая уже устаревших idTech 1, 2 и коммерческих CryEngine, Unreal Engine) =)
|
(Offline)
|
|
23.03.2009, 12:04
|
#4
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
уже такую тучу инфы начитался, что у С++ управление памятью не динамическое и писать игру на нём - это настоящее задротство, но опятьже я думаю, что управлять памятью можно и ручками, зато скорость. Еще мне расхваливают, постоянно, Python, мол лучше для игр не найти.
|
где? кто? как?
пусть назовут список игр сделаных на плюсах и соответствующий список игр сделаных на питоне. и просто сравни их длину.
управление памятью не динамическое
|
O_o
а new и delete тогда зачем? а malloc и free? из всех инструментов которве я когда либо юзал (C++, delphi, blitz, dark basic) в первом самая гибкая система управления памятью. С ней можно делать что хочешь.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.03.2009, 14:50
|
#5
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Дак ёмоё все мировые хиты (ну, 99%) пишутся на плюсах для всех ОС и приставок Это ли не аргумент?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.03.2009, 20:29
|
#6
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Сообщение от ABTOMAT
Дак ёмоё все мировые хиты (ну, 99%) пишутся на плюсах для всех ОС и приставок Это ли не аргумент?
|
ни разу не аргумент. инструменты под задачу выбираются не оглядываясь на других, а исходя из необходимости и набитых шишек.
|
(Offline)
|
|
23.03.2009, 20:44
|
#7
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Сообщение от 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, граф сцены, загрузка/выгрузка игрового состояния и т.д.
|
(Offline)
|
|
23.03.2009, 21:00
|
#8
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
3. писать игру целиком в 2009 году на С++ настоящее задротство, либо техническая неграмотность.
|
а как? 60% на С++, 30% на Delphi, 9% на ASM и еще один процент на brainfuck?
я думаю САМУ ИГРУ пишут таки на С++. а вот скрипты, тулзы, всякие конверторы и експортеры конечно надо писать на том инструменте, который более пригоден для конкретной задачи.
|
(Offline)
|
|
23.03.2009, 21:45
|
#9
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Сообщение от HolyDel
а как? 60% на С++, 30% на Delphi, 9% на ASM и еще один процент на brainfuck?
я думаю САМУ ИГРУ пишут таки на С++. а вот скрипты, тулзы, всякие конверторы и експортеры конечно надо писать на том инструменте, который более пригоден для конкретной задачи.
|
игра != движок
движок на С++, игра на скриптах/managed языках, игра в моем понимании все же игровая логика + ассеты, т.е. все то что не движок и тулзы.
|
(Offline)
|
|
23.03.2009, 21:55
|
#10
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
т.е. поменяли скрипты и уже стала другая игра?
|
(Offline)
|
|
23.03.2009, 22:06
|
#11
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Сообщение от HolyDel
т.е. поменяли скрипты и уже стала другая игра?
|
а разве нет? в скриптах вся игровая логика, был тетрис - стали городки. действительно другая игра.
пример из жизни: колода карт одинаковая (52 штуки), а игры разные: покер, преферанс, спортивный бридж, дурак, подкидной дурак (ну это типо мод и т.д.
Еще пример: какая тебе как игроку разница, если бы Готика 3 была бы сделана не на своем движке, а на движке Обливиона? С теми же (как в Готике) ассетами, игровыми правилами и сюжетом? Только на другом движке?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.03.2009, 22:30
|
#12
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Какая вам разница если бы Фоллаут 3 был сделалн на движке Обливиона?
Тебе может и никакой, но народ возмущался...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
23.03.2009, 22:46
|
#13
|
|
Ответ: ЯП & 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++ и скрипты и не боятся
|
|
|
24.03.2009, 02:16
|
#14
|
ПроЭктировщик
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений (для 23 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Насчет Питона, на нем есть даже ММОРПГ небезысвестная от студии Дисней - Пираты Карибского Моря.
Ну я почемуто был уверен, что в итоге в основном люди будут за С++ и скрипты. А что посоветуете из движков? Почему Небула не прёт?
И почему в сторону Java такое отношение? =) Ведь Джава - это вопервых большая прибавка аудитории людей сидящих на Маках и Линуксах..
|
(Offline)
|
|
24.03.2009, 10:24
|
#15
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: ЯП & Gamedev(взгляд изнутри)
Хинт: никого не волнуют люди сидящие на маках и линуксах в плане игр, их аудитория ничтожна, в то время как линуксойды не привыкли за что либо платить а на маках непривыкли играть.
Иными словами под них неделают непотому что сложно а потому что невыгодно.
З.Ы. на с++ можно и под маки с линуксами писать..хоть под программируемые контроллеры станков
__________________
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:16.
|