Войти
ПрограммированиеФорумОбщее

Движки, посторенные по модели Entity/Components

Страницы: 1 2 3 Следующая »
#0
15:37, 20 мар. 2011

Я собираю разные варианты реализации движков, построенных не на наследовании классов, а на сборе функционала игрового объекта из компонент. Самый популярный сейчас пример такого движка - Unity3D. Какие ещё есть примеры open source движков или где можно посмотреть документацию по API, которые бы имели ту-же архитектуру? Любой язык подойдёт, но интереснее всего было бы посмотреть на C++ реализации.

PS: more info http://www.gamedev.ru/pages/gloom/?id=5425

#1
19:02, 20 мар. 2011

GLoom
>построенных не на наследовании классов, а на сборе функционала игрового объекта из компонент.
хм... у меня построено на наследование и это мне не мешает собирать объекты из компонентов.

#2
19:17, 20 мар. 2011

Adler
Да, плохо сформулировал. Вообщем не там где один большой класс реализующий игровой объект, а там где из множества мелких собирается.

#3
20:10, 20 мар. 2011

GLoom
Насколько мелких? :)

Например у меня есть кирпичики Node(Sprite, Text, Hotspot, ...) и Entity и Скрипт который умеет расширять Entity и оперировать его кирпичиками.

Мой опен-сорсовый движек подходит? ))

SVN - https://menge-engine.svn.sourceforge.net/svnroot/menge-engine/bra… /ConstString3

#4
20:20, 20 мар. 2011

IROV..
> Насколько мелких? :)
Я бы сказал атомарных. Ну то есть они представляют какой-то аспект сущности, при этом нет смысла делить их дальше. Например "графическое представление", "поведение" и т.п. Например Unity3D: Сущность, компонент.

Можешь ткнуть в своём движке в аналогичные классы?

#5
21:31, 20 мар. 2011

GLoom
У меня есть иерархия Node(и Entity который им управляет если нужно), но у меня например render и transform зделаны через Mixin а не агрегации

Animation
HotSpot
HotSpotImage
Movie
ParticleEmitter
Point
RigidBody2D
SoundEmitter
Sprite
TextField
TileMap
TilePolygon
Track
Video
Window

#6
21:38, 20 мар. 2011

Mixin это ж вроде compile time техника?

#7
21:50, 20 мар. 2011

GLoom
да :)

Affectorable
BoundingBox
Colorable
Identity
Renderable
Scriptable
Transformation2D
Eventable
Loadable
MousePickerTrap
Reference
Resource
Vertices

#8
22:19, 20 мар. 2011

Actionscript 3:

Push Button Engine

#9
0:41, 21 мар. 2011

Ps-spectre
Да, то что нужно. Спасибо.

#10
9:16, 21 мар. 2011

GLoom, у Horde3D игровой движок использует компоненты, вроде.

#11
11:01, 21 мар. 2011

Igor'
http://www.horde3d.org/docs/manual.html
Не нашёл ничего похожего :(

#12
12:33, 21 мар. 2011

GLoom
> но интереснее всего было бы посмотреть на C++ реализации.
в юнити сам движок написан на плюсах. и большая часть встроенных компонент тоже. жаль исходники только за деньги ;-)

#13
13:19, 21 мар. 2011

GLoom
Мой движек построен по тойже схеме что и Push Button Engine :)

#14
13:25, 21 мар. 2011

GLoom
> Не нашёл ничего похожего :(
игровой движок у Horde3D как бы отдельно :), гугли Horde3D Game Engine.

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.