Я собираю разные варианты реализации движков, построенных не на наследовании классов, а на сборе функционала игрового объекта из компонент. Самый популярный сейчас пример такого движка - Unity3D. Какие ещё есть примеры open source движков или где можно посмотреть документацию по API, которые бы имели ту-же архитектуру? Любой язык подойдёт, но интереснее всего было бы посмотреть на C++ реализации.
PS: more info http://www.gamedev.ru/pages/gloom/?id=5425
GLoom
>построенных не на наследовании классов, а на сборе функционала игрового объекта из компонент.
хм... у меня построено на наследование и это мне не мешает собирать объекты из компонентов.
Adler
Да, плохо сформулировал. Вообщем не там где один большой класс реализующий игровой объект, а там где из множества мелких собирается.
GLoom
Насколько мелких? :)
Например у меня есть кирпичики Node(Sprite, Text, Hotspot, ...) и Entity и Скрипт который умеет расширять Entity и оперировать его кирпичиками.
Мой опен-сорсовый движек подходит? ))
SVN - https://menge-engine.svn.sourceforge.net/svnroot/menge-engine/bra… /ConstString3
IROV..
> Насколько мелких? :)
Я бы сказал атомарных. Ну то есть они представляют какой-то аспект сущности, при этом нет смысла делить их дальше. Например "графическое представление", "поведение" и т.п. Например Unity3D: Сущность, компонент.
Можешь ткнуть в своём движке в аналогичные классы?
GLoom
У меня есть иерархия Node(и Entity который им управляет если нужно), но у меня например render и transform зделаны через Mixin а не агрегации
Animation
HotSpot
HotSpotImage
Movie
ParticleEmitter
Point
RigidBody2D
SoundEmitter
Sprite
TextField
TileMap
TilePolygon
Track
Video
Window
Mixin это ж вроде compile time техника?
GLoom
да :)
Affectorable
BoundingBox
Colorable
Identity
Renderable
Scriptable
Transformation2D
Eventable
Loadable
MousePickerTrap
Reference
Resource
Vertices
Actionscript 3:
Ps-spectre
Да, то что нужно. Спасибо.
GLoom, у Horde3D игровой движок использует компоненты, вроде.
Igor'
http://www.horde3d.org/docs/manual.html
Не нашёл ничего похожего :(
GLoom
> но интереснее всего было бы посмотреть на C++ реализации.
в юнити сам движок написан на плюсах. и большая часть встроенных компонент тоже. жаль исходники только за деньги ;-)
GLoom
Мой движек построен по тойже схеме что и Push Button Engine :)
GLoom
> Не нашёл ничего похожего :(
игровой движок у Horde3D как бы отдельно :), гугли Horde3D Game Engine.
Тема в архиве.