?

Log in

No account? Create an account
27 апр, 2007 @ 10:05 Движки игр для обучения

Я хотел бы разабраться с движками игр, но теряюсь в потоках информации=(
Подсажите пожалуйста с каких движков стоит начинать, чтоб потом переходить на что-ти более сложное. Конкретней интересуют "классические" и желатеЛъно легкие для восприятия движки стандартных жанров. в данный момент зачемто пишу на С++ что-то отдаленно напоминающее WarcraftII(знаю что бред изобретать велосипед). Получется что-то напоминающее образ "Observer" который оповещает всех каждый квантик времени и объект "GPS" который подсчитвает маршруты итп=) Подсажите плз развивающии вещи для начала=) И литеретуры хотелось бы.

+ я правильно понимаю что можно смело серьёзно браться за DirectХ i WinAPI, а то с ними у меня пока не фонтан=)

А то поисковики выдают восновном геймерские форумы=(
П.С: знаю что в наш век каждый второй не пользуется поисковиками, а ноет на форумах что хочет делать игры тока на знает что такое класс=) Но я был бы благодарен за любую человеческую помощь=)

Slon
pink_master:
[User Picture Icon]
From:boher
Date:Апрель, 26, 2007 15:20 (UTC)
(Ссылка)
Irrlicht для начинающих неплох. А вообще вот тут есть список разных движков.
Довольно простой игровой движок порекомендовать сложно, т.к. в основном они расчитаны на более-менее опытных разработчиков... Panda3D посмотри, q engine, Reality Factory...
Знания DX и WinApi в любом случае пригодятся.
(Ответить) (Ветвь дискуссии)
[User Picture Icon]
From:hornedkavu
Date:Апрель, 26, 2007 17:12 (UTC)
(Ссылка)
О! пасиба... пойду изучать список...
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:boher
Date:Апрель, 26, 2007 17:35 (UTC)
(Ссылка)
Йо. И тут ты О_о
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:hornedkavu
Date:Апрель, 26, 2007 17:37 (UTC)
(Ссылка)
да,Сань, я везде))) я ж писал - Хочу в геймдев )))
вот я и пытаюсь что то типа творить)))
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:boher
Date:Апрель, 26, 2007 17:46 (UTC)
(Ссылка)
Балин. Видимо я тогда малость "перебрал", когда ты говорил. В общем можно пересечься пообщаться, чем смогу - помогу.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:0_5
Date:Апрель, 27, 2007 06:34 (UTC)
(Ссылка)
Гы. Все свои (-8
+1 к boher-у
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 28, 2007 10:50 (UTC)
(Ссылка)
Спасибо, по нему довольно много статей и уроков.
действительно на первый взгляд функционально, но не сложно.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:virtul
Date:Апрель, 26, 2007 16:00 (UTC)
(Ссылка)
Смотря че ты хошь: если изучить движки, то пиши свой, смотря на другие (ссылку уже дали). Если что-нить создать, то бери готовые из топа (например nebula2 ниче, критерий - количество и качество игр вышедших на нем и тулзов). Хотя судя по вопросу, все-таки предпочтительнее первый вариант...
(Ответить) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 28, 2007 11:19 (UTC)
(Ссылка)
изучать=) но писать свой, даже смотря на другии честно говоря смысла не вижу.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:the_leon
Date:Апрель, 29, 2007 11:46 (UTC)
(Ссылка)
ИМХО, nebula2 чересчур для начала - далеко не самый тривиальный движок.
Можно на Ogre посмотреть. У него комьюнити большое, много доков и примеров.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:virtul
Date:Апрель, 29, 2007 12:43 (UTC)
(Ссылка)
Ну если небула кажется сложноватой, то значит коммерческое все-равно ничего не получится. Так что тогда выход писать свой (есс-но тоже не для коммерции, а для обучения). А в огре наверное для начинающих проще что-то красивое сделать, только вот зачем?
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 29, 2007 13:06 (UTC)
(Ссылка)
ну да, написать свой 2д неплохой способ для обучения. Но сначала явно стоит ознокомиться с тем, что есть и понять как оно работает.
(кажется ето уже где то в этой теме было - де ж вю^_^)
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:alll
Date:Апрель, 26, 2007 16:20 (UTC)
(Ссылка)
Из двухмерных под Win для начала имхо стоит посмотреть на "PopCap Games Framework". Возможно на HGE.

Ссылки тут: http://gpwiki.org/index.php/Game_Engines
(Ответить) (Ветвь дискуссии)
[User Picture Icon]
From:zloe_zlo
Date:Апрель, 27, 2007 09:48 (UTC)
(Ссылка)
Практика показала что удобнее всего Playground :)
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:alll
Date:Апрель, 27, 2007 10:16 (UTC)
(Ссылка)
[занудно] чья и в каком количестве практика? с чем сравнивалось? кому удобнее?
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 28, 2007 11:01 (UTC)
(Ссылка)
спасибо, на первый взгляд доступно
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 28, 2007 10:58 (UTC)
(Ссылка)
спасибо=) примерно то, что я искал!
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:virtul
Date:Апрель, 29, 2007 12:44 (UTC)
(Ссылка)
Имхо двумерные они проще. Так что их можно и самим написать (опционально взяв за образец что-нить)
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 29, 2007 13:02 (UTC)
(Ссылка)
ну да, начинать нада от простого к сложному. Эта правда жизни=)
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:alll
Date:Май, 2, 2007 08:29 (UTC)
(Ссылка)
Ну, на чужое имеет смысл посмотреть всяко, хотя бы для расширения кругозора насчёт возможных парадигм и решений.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:virtul
Date:Май, 2, 2007 08:40 (UTC)
(Ссылка)
Полностью согласен.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:vogre
Date:Апрель, 26, 2007 20:12 (UTC)
(Ссылка)
Я думаю, вам стоит попробовать для начала сделать мод для варкрафта3 и/или какого-нибудь контерстрайка. Так вы намного быстрее поймёте, как должен работать нормальный движок и как сделать свою игру.
(Ответить) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 28, 2007 11:09 (UTC)
(Ссылка)
в этом есть здравый смысл
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:dr_freeman
Date:Апрель, 27, 2007 02:09 (UTC)
(Ссылка)
Я бы лучше тебе посоветовал юзать OGRE3D
Хороший графический движок. очень много тулзов полезных есть. К нему легко прикручиваются всякие знаменитые движки физики типа Newton, PhysX, ODE. Так же имеются готовые тулзы для экспорта моделей и анимации из 3d Max и Maya. Короче, рекомендую. Сам его изучаю уже несколько месяцев.
(Ответить) (Ветвь дискуссии)
[User Picture Icon]
From:ins1de
Date:Апрель, 27, 2007 19:26 (UTC)
(Ссылка)
Тормозное дерьмо которое приходится оптимизировать, а человек вообще спросил про легкий движок, чтобы можно было потом на сам огр перейти.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 28, 2007 11:14 (UTC)
(Ссылка)
спасибо. он клевый, хотя явно требует много времени, но я так понял что он и Irrlicht, 2 самых мощных современных и возможно конкурирующих фри движка.=) зато есть очень доступные статьи, написанные понятным языком. видно кто-то старался, что б люди могли заскачить на "поровоз"
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 28, 2007 12:52 (UTC)
(Ссылка)
мммммммм.......у Огра хорошее комьюнити. Но я правильно понял, что:
современный движек устроено по принципу, напоминающему Модель-Представление-Контроллер
1) Представление - огр
2) контроллер(логика самой игры) - пишим сами(???)
3) Модель(физика) PhysX, ODE или что то в духе
Или все сложнее?(думаю все сложнее^_^)
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:the_leon
Date:Апрель, 29, 2007 12:01 (UTC)

Game Framework

(Ссылка)
Ogre - рендерер. Отвечает по-сути только за отрисовку графики и кое-какой ввод.

Хороший игровой движок, точнее даже Game Framework включает в себя:
1. цельный набор взаимосвязанных компонент и легкий централизованный доступ к ним.
2. набор tools'ов для работы с движком, проверки различных ситуаций и наполнения игры контентом (различные игровые редакторы, редакторы систем частиц и эффектов, конвертеры моделей, материалов и анимации, тестеры & etc.).

Компонент, которые входят в движок тоже вовсе не обязательно 3 штуки =) Это могут быть:
1. Рендерер (тот же Ogre)
2. Input (отвечающая за ввод с различных устройств)
3. Физика.
4. Работа с сетью.
5. Звук.
6. AI (поиск пути, системы принятия решений & etc.).
7. ...

При чем в каждой из них можно выделить еще и свои подсистемы (например, GUI, системы частиц).

ИМХО, в современных движках большущее значение имеет как раз мощный toolset, который должен обеспечить быстрое наполнение игрового мира артом и вдохнуть в него виртуальную жизнь =)
Без него все преимущества даже самого мощного движка стремятся к нулю..
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 29, 2007 12:28 (UTC)

Re: Game Framework

(Ссылка)
Не до конца понял что подразумевается под ТУЛЗом.
Типа редактора карт итп(а ля Hammer для КС??? Или MapEditor для стратегий).
А основной игровой цикл примерно такой видимо:
0) Инициализация
for(;;){
1) Получи ввод - DireсtInput
2) Получи действия АИ - Хендмейк
3) На основе ввода обработай физику и звук(модель мира) - Физический движек(ODE, PhysХ...) + DireсktSound
4) Отрисуй - рендер
}

вероятно существуют стандартные интерфейсы между ними? Или они стандартны только в рамках одного FameWorka, а так нужно знать api разных частей и прикручивать их друг к другу.
P.S. а какие Фреймворки посоветуешь? вроде Irrlicht это +- все в одном.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:the_leon
Date:Апрель, 29, 2007 12:47 (UTC)

Re: Game Framework

(Ссылка)
Редактор карт - тоже тулза, только уже достаточно специфичная.

Есть еще, например, редактор систем частиц - в котором ты можешь создать нужный эффект (например, огонь, взрыв или салют) путем редактирования различных параметров (скоростей инаправлений, разброса частиц, текстур, используемых для частиц & etc.) и сохранения в формате, понимаемом движком.

Есть, например, конвертер моделей и анимации - который из 3DS Max'а или Maya экспортирует все, что ты наваяешь опять же в формат движка. При этом может быть указана еще туча различных доп. параметров.

Может быть редактор лайтмэпов, например и много ещё чего.

Игровой цикл может быть в зависимости от архитектуры движка достаточно запрятан от тебя, а может присутствовать и достаточно явно. Тебе может потребоваться просто переопределить некоторые методы у базовых классов. Например различные методы OnInit(), OnDraw(), OnUpdate(), OnKeyPressed(), а последовательностью их вызова ты не управляешь.

Полноценный GameFramework - это уже готовая единая связка между различными компонентами.
То, про что ты говоришь - взять Ogre, взять PhysX, приделать остальное, добавить необходимую обвязку из тулзов, где-то заодно доделать, заоптимизировать, подкорректировать - это и есть написать свой Game Framework, Game Engine на базе имеющегося добра =)

Из того, что видел, пробовал:
Irrlicht, Nebula2 - 3D.
PopCap Framework, Kyra, HGE, PlayGround SDK - 2D.

Везде свои +/- по сложности и по вкусам =)
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 29, 2007 13:00 (UTC)

Re: Game Framework

(Ссылка)
thnx^_^
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:virtul
Date:Апрель, 29, 2007 12:47 (UTC)

Re: Game Framework

(Ссылка)
+1
2pink_master: посмотри что такое нормальный тулсет или стремящийся к нему.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:pink_master
Date:Апрель, 29, 2007 13:01 (UTC)

Re: Game Framework

(Ссылка)
о, пасиба. видюшки=)
(Ответить) (Уровень выше) (Ветвь дискуссии)