Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 23.03.2009, 10:04   #1
Baisangur
ПроЭктировщик
 
Аватар для Baisangur
 
Регистрация: 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
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 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
Baisangur
ПроЭктировщик
 
Аватар для Baisangur
 
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений
(для 23 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

Собственно те что я назвал это единственные что подходят для создания игры, остальные это поделки какието студенчиские(ну не считая уже устаревших idTech 1, 2 и коммерческих CryEngine, Unreal Engine) =)
(Offline)
 
Ответить с цитированием
Старый 23.03.2009, 12:04   #4
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

уже такую тучу инфы начитался, что у С++ управление памятью не динамическое и писать игру на нём - это настоящее задротство, но опятьже я думаю, что управлять памятью можно и ручками, зато скорость. Еще мне расхваливают, постоянно, Python, мол лучше для игр не найти.
где? кто? как?
пусть назовут список игр сделаных на плюсах и соответствующий список игр сделаных на питоне. и просто сравни их длину.

управление памятью не динамическое
O_o
а new и delete тогда зачем? а malloc и free? из всех инструментов которве я когда либо юзал (C++, delphi, blitz, dark basic) в первом самая гибкая система управления памятью. С ней можно делать что хочешь.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
newman (23.03.2009)
Старый 23.03.2009, 14:50   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

Дак ёмоё все мировые хиты (ну, 99%) пишутся на плюсах для всех ОС и приставок Это ли не аргумент?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
newman (23.03.2009)
Старый 23.03.2009, 20:29   #6
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

Сообщение от ABTOMAT Посмотреть сообщение
Дак ёмоё все мировые хиты (ну, 99%) пишутся на плюсах для всех ОС и приставок Это ли не аргумент?
ни разу не аргумент. инструменты под задачу выбираются не оглядываясь на других, а исходя из необходимости и набитых шишек.
(Offline)
 
Ответить с цитированием
Старый 23.03.2009, 20:44   #7
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 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
HolyDel
 
Регистрация: 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
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

Сообщение от HolyDel Посмотреть сообщение
а как? 60% на С++, 30% на Delphi, 9% на ASM и еще один процент на brainfuck?
я думаю САМУ ИГРУ пишут таки на С++. а вот скрипты, тулзы, всякие конверторы и експортеры конечно надо писать на том инструменте, который более пригоден для конкретной задачи.
игра != движок
движок на С++, игра на скриптах/managed языках, игра в моем понимании все же игровая логика + ассеты, т.е. все то что не движок и тулзы.
(Offline)
 
Ответить с цитированием
Старый 23.03.2009, 21:55   #10
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

т.е. поменяли скрипты и уже стала другая игра?
(Offline)
 
Ответить с цитированием
Старый 23.03.2009, 22:06   #11
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

Сообщение от HolyDel Посмотреть сообщение
т.е. поменяли скрипты и уже стала другая игра?
а разве нет? в скриптах вся игровая логика, был тетрис - стали городки. действительно другая игра.

пример из жизни: колода карт одинаковая (52 штуки), а игры разные: покер, преферанс, спортивный бридж, дурак, подкидной дурак (ну это типо мод и т.д.

Еще пример: какая тебе как игроку разница, если бы Готика 3 была бы сделана не на своем движке, а на движке Обливиона? С теми же (как в Готике) ассетами, игровыми правилами и сюжетом? Только на другом движке?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (23.03.2009)
Старый 23.03.2009, 22:30   #12
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

Какая вам разница если бы Фоллаут 3 был сделалн на движке Обливиона?
Тебе может и никакой, но народ возмущался...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 23.03.2009, 22:46   #13
jimon
 
Сообщений: n/a
Ответ: ЯП & 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
Baisangur
ПроЭктировщик
 
Аватар для Baisangur
 
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений
(для 23 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

Насчет Питона, на нем есть даже ММОРПГ небезысвестная от студии Дисней - Пираты Карибского Моря.
Ну я почемуто был уверен, что в итоге в основном люди будут за С++ и скрипты. А что посоветуете из движков? Почему Небула не прёт?
И почему в сторону Java такое отношение? =) Ведь Джава - это вопервых большая прибавка аудитории людей сидящих на Маках и Линуксах..
(Offline)
 
Ответить с цитированием
Старый 24.03.2009, 10:24   #15
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: ЯП & Gamedev(взгляд изнутри)

Хинт: никого не волнуют люди сидящие на маках и линуксах в плане игр, их аудитория ничтожна, в то время как линуксойды не привыкли за что либо платить а на маках непривыкли играть.

Иными словами под них неделают непотому что сложно а потому что невыгодно.

З.Ы. на с++ можно и под маки с линуксами писать..хоть под программируемые контроллеры станков
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конкурс от GameDev.ru с призами. SBJoker Болтовня 0 17.03.2009 10:30
Сообщество Bltz GameDev vadim2 Болтовня 12 19.07.2007 13:22
взгляд со стороны smersh Юмор 8 17.06.2007 20:53


Часовой пояс GMT +4, время: 00:16.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com