Component Based Objects?

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
Post Reply
User avatar
icaro56
Greenskin
Posts: 105
Joined: Sun Feb 15, 2009 2:03 am
Location: Belo Horizonte, MG, BRA
x 1

Re: Component Based Objects?

Post by icaro56 »

Hi,

I am developing a simple game engine with Component Based Object. Similar the Unity3d architecture.

There are GameObjects that are compounds with Components. I follow the Script Manual from Unity3d and create the components.

This engine is in C++, it uses QT, Ogre3d, Physx and OpenAL. Even now, there are the following components:

audio: AudioListener and AudioSource
effects: ParticleSystem and TrailRenderer
mesh: MeshFilter, MeshRenderer, Renderer, SkinnedMeshRenderer and ManualObject
miscellaneous: Animation
physics: Collider, BoxCollider, CapsuleCollider, SphereCollider, TerrainCollider, MeshCollider, CharacterController, ConstantForce and Vehicle(in progress)
rendering: Camera, Light, Billboard, BoundingBox, FollowText, FollowTexture
script: Script
transform: Transform

Do you think it would be interesting to create a public repository with this code? The community would help develop this engine?
Ícaro Motta
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Component Based Objects?

Post by jacmoe »

Kudos for keeping this never-dying topic alive! :)

I think the best way to get started is to start and show some cool things, and then people will join in on it.
That way you, as a project leader, has enough grounding not to be waffled away by diverging ideas from others.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
icaro56
Greenskin
Posts: 105
Joined: Sun Feb 15, 2009 2:03 am
Location: Belo Horizonte, MG, BRA
x 1

Re: Component Based Objects?

Post by icaro56 »

:D See my photo. Phoenix Ikki! :lol:


I'll try to document what I already have and create some examples. I was using the Unity's documentation When I needed.

When time permits, I will begin to do so.


I think it's interesting because many programmers are learning Unity 3d in colleges and have many difficulties when they have to work with Ogre3D.
Ícaro Motta
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: Component Based Objects?

Post by frostbyte »

I think it's interesting because many programmers are learning Unity 3d in colleges and have many difficulties when they have to work with Ogre3D.
interseting concept....
i was trying to understand what separates you from 100 other ogre based "game engines" on github...now i do...
documenting is very important if you want others to take you seriously, code lines are dime a dozen this days...
not to be waffled away by diverging ideas from others.

just do your stuff and what you believe in... :)

btw: in case you're not paying much attention to current community activity, jacmoe and others are working on a new version of ogitor which will be
a component/entity multithreaded based game engine framework coupled with a qt based scene editor and tools
check on ogre2.0 forum thread and ogitor forum
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
User avatar
icaro56
Greenskin
Posts: 105
Joined: Sun Feb 15, 2009 2:03 am
Location: Belo Horizonte, MG, BRA
x 1

Re: Component Based Objects?

Post by icaro56 »

Thanks by reply.

When I met Ogitor he was only editor. Then, is the Ogitor now like Unity 3d? I always hoped for it.
Ícaro Motta
User avatar
Thyrion
Goblin
Posts: 224
Joined: Wed Jul 31, 2013 1:58 pm
Location: germany
x 8

Re: Component Based Objects?

Post by Thyrion »

Do you think it would be interesting to create a public repository with this code? The community would help develop this engine?
don't excpect other's will have exactly the same goal as you.
The trend in the last years seems to be to open source all, in hope others will help and test your shit. :)
I'm developing an ogre game engine, too.
Basically it's already open sourced but not made public, because i'm already using github for my code.
i can send you the github link if you want.
Currently i'm not as far as i could show something.
And watching the new ogitor progress makes me feel i'm veeery slow ....
User avatar
icaro56
Greenskin
Posts: 105
Joined: Sun Feb 15, 2009 2:03 am
Location: Belo Horizonte, MG, BRA
x 1

Re: Component Based Objects?

Post by icaro56 »

If the ogitor really become a Game Engine is not necessary to create another. If the community had a similar Unity3d to program and export to all platforms would be fantastic.
Ícaro Motta
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: Component Based Objects?

Post by frostbyte »

If the ogitor really become a Game Engine is not necessary to create another.
new ogitor should have a component system easy to extend so i guess you can add your components once basic version is out...
you can also just open-source it, and if it fits someone will merge it in...
thats the beauty part of open-source....code and knowledge sharing etc...
If the community had a similar Unity3d
maybe that's where you can fit in...if ogitor will have a documented scripting system similar to unity it may attract some unity users...
also i don't know what physics plugin they are going to use...actualy i don't know much about what they plan to do( afaik they don't either... )
And watching the new ogitor progress makes me feel i'm veeery slow ....
human code-machines :lol:
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
User avatar
stealth977
Gnoll
Posts: 638
Joined: Mon Dec 15, 2008 6:14 pm
Location: Istanbul, Turkey
x 42

Re: Component Based Objects?

Post by stealth977 »

frostbyte wrote: also i don't know what physics plugin they are going to use...actualy i don't know much about what they plan to do( afaik they don't either... )
Currently Ogitor 15.10 a.k.a Malazgirt (thats the version and codename for Ogitor v2) uses:

GraphicsSystem : Ogre3D (1.10 etm but will switch to 2.1 when we feel it wont create extra bugs)
GeometrySystem: Internal Implementation for keeping/modifying/broadcasting transforms and broadcasting page in/outs
InputSystem: OIS
AudioSystem: irrKlang
PhysicsSystem: Bullet
ScriptingSystem: AngelScript

As a rule of thumb, we choose cross-platform libraries which have light weight licenses, for built-in systems. That being said, all Systems in Ogitor are decoupled and very easy to change, so It would take very little effort to replace one of the SYSTEMs with something else...
Ismail TARIM
Ogitor - Ogre Scene Editor
WWW:http://www.ogitor.org
Repository: https://bitbucket.org/ogitor
salival
Gnoblar
Posts: 9
Joined: Wed Nov 07, 2012 9:36 am
x 3

Re: Component Based Objects?

Post by salival »

Interesting topic indeed, I have used a system called EntityX which I think works really well. Maybe more people use it, but I can really recommend it.

Code: Select all

https://github.com/alecthomas/entityx/
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Component Based Objects?

Post by Klaim »

salival wrote:Interesting topic indeed, I have used a system called EntityX which I think works really well. Maybe more people use it, but I can really recommend it.

https://github.com/alecthomas/entityx/
At first I thought it was dumb to not store the components in arrays, but the docs says it does so it becomes very interesting...n

edit> But I think it is possible to do even better. I have some ideas I'm trying but didn't find the time to consolidate them.
N0vember
Gremlin
Posts: 196
Joined: Tue Jan 27, 2009 12:27 am
x 24

Re: Component Based Objects?

Post by N0vember »

I too developped an interesting entity component system. I guess everyone coding a games eventually end up doing that :) It's the fundamental basis of any engine.
Mine is quite simple but took a few years to refine. Each entity store its components in an array allowing for dynamic retrieval. Some particularities of my system are
1. that a given set of components is mapped in a statically defined prototype to fetch components in constant time
2. all the components of a prototype are bundled in a memory helper which aggregates all the components contiguously to allow for quick allocation and deletion
3. the ability to generate introspection info on each object or component. (ala Qt metaclass)

entityx looks interesting, because it's really different from my own ideas. I especially want to investigate the separation of data and systems in two different categories. Sounds interesting.
Post Reply