New project: Extenic
New project: Extenic
Couple of days ago i started working with the idea of "The IrrLicht world layer" and last friday Extenic was born.
Short description:
Designed as an portable layer on top of the 3d graphics engine IrrLicht, extenic provides a generic way of managing a complete virtual world.
Extenic is an extra layer on top of the IrrLicht graphics engine. This layer is not intended as a complete game or application layer but just as an framework which you probably have to extend to meet the requirements of your specific project.
For anyone who's interested, visit the Extenic website on
Short description:
Designed as an portable layer on top of the 3d graphics engine IrrLicht, extenic provides a generic way of managing a complete virtual world.
Extenic is an extra layer on top of the IrrLicht graphics engine. This layer is not intended as a complete game or application layer but just as an framework which you probably have to extend to meet the requirements of your specific project.
For anyone who's interested, visit the Extenic website on
-
- Posts: 118
- Joined: Thu Sep 18, 2003 10:05 pm
- Location: switzerland
Cool project.
I'm experimenting myself with some sort of entity layer using irrlicht.
your class structure looks very promissing .
in my layer the entities which are interested in specific messages can register themselfs at a central dispatcher.
another idea would be to implement some kind of global message space where all kind of message wirl around and entities can peek for any message they like, without registering. but i expect this to result in a lot of
peeking and filtering without finding any message.
I don't reckon that there will be too many messaging though.
I'm also thinking about the possiblity of letting most of the actions in the world be done automatically, e.g collision, phyiscs using pluggable controllers for the entities. this will reduce the amount of messages drastically.
I really look forward to see more of your project
cheers
gorgon
I'm experimenting myself with some sort of entity layer using irrlicht.
your class structure looks very promissing .
in my layer the entities which are interested in specific messages can register themselfs at a central dispatcher.
another idea would be to implement some kind of global message space where all kind of message wirl around and entities can peek for any message they like, without registering. but i expect this to result in a lot of
peeking and filtering without finding any message.
I don't reckon that there will be too many messaging though.
I'm also thinking about the possiblity of letting most of the actions in the world be done automatically, e.g collision, phyiscs using pluggable controllers for the entities. this will reduce the amount of messages drastically.
I really look forward to see more of your project
cheers
gorgon
Thanks for your reply! There are a lot of people which are thinking in the same direction as we do. I will do my best at developing a prototype and posting it so you can check it out.
For now i can give you a bit more detailed description of the message pipeline:
The basic framework of extenic provides world management in the simplest form. Basicly its nothing more than keeping track of the entities. On top of the world you can add layers. Those layers provide extra functionality to the world like physics or networking. Each of those layers add messages to the cueue but not all messages make it to the queue because there are first run through some filters. Those filters can be registered from an entity as an script or as an native build in c/c++ function.
Adding the collision layer will create collision messages. To let the world respond on the collisions, just add the physics layer.
That way you can build your world which will get "alive" with a certain set of rules. Now if you want to break those rules u can define a filter for an certain entity (or for all entities) and modify the message or delete it before it add to the queue.
I think that with this system you could make a wide variety of games and applications.
Let me know what you think, i'm very interrested
For now i can give you a bit more detailed description of the message pipeline:
The basic framework of extenic provides world management in the simplest form. Basicly its nothing more than keeping track of the entities. On top of the world you can add layers. Those layers provide extra functionality to the world like physics or networking. Each of those layers add messages to the cueue but not all messages make it to the queue because there are first run through some filters. Those filters can be registered from an entity as an script or as an native build in c/c++ function.
Adding the collision layer will create collision messages. To let the world respond on the collisions, just add the physics layer.
That way you can build your world which will get "alive" with a certain set of rules. Now if you want to break those rules u can define a filter for an certain entity (or for all entities) and modify the message or delete it before it add to the queue.
I think that with this system you could make a wide variety of games and applications.
Let me know what you think, i'm very interrested
-
- Posts: 118
- Joined: Thu Sep 18, 2003 10:05 pm
- Location: switzerland
-
- Posts: 118
- Joined: Thu Sep 18, 2003 10:05 pm
- Location: switzerland
My special interrest is artificial intelligence. in AI we have the concept of emergence for which i don't know a short explanation. concerning your messaging aproach I meant that with the addition of more layers and more rule sets there's the possibility that you end up with unforeseen effects which could be very interesting.odc wrote:But what did you mean with "for some kind of emergence"?
Well.... that depends of course on the rules you apply.... hm... nevermind...
cheers
gorgon
For those of you who were sceptic about my idea:
19 october 2003 (As posted on http://www.yepz.nl/extenic/)
The system is born! The first message has been send through the system! When the world is created it sends an "move entity" message to the entity layer. Its now time to code the layers. The scripting system (layer) is now for 75% implemented. I've written a small test application to test out the library which shows the md2 entity that will be moved by the message. So all is going well!
In other words: It's working! I will try to release something soon.
19 october 2003 (As posted on http://www.yepz.nl/extenic/)
The system is born! The first message has been send through the system! When the world is created it sends an "move entity" message to the entity layer. Its now time to code the layers. The scripting system (layer) is now for 75% implemented. I've written a small test application to test out the library which shows the md2 entity that will be moved by the message. So all is going well!
In other words: It's working! I will try to release something soon.
-
- Posts: 108
- Joined: Fri Aug 22, 2003 1:04 pm
- Location: Kerkrade, Netherlands
- Contact:
nice but i might need a bit of explanation.
How much easier would it make it to get like a small game?
what kind of compiler would i need for it?
sorry for those n00b questions, but i really have no idea
How much easier would it make it to get like a small game?
what kind of compiler would i need for it?
sorry for those n00b questions, but i really have no idea
I've been absent for really long, but i'm ready to reign my terror on you once again, mwuahahahahaha
Your're right, it really needs a bit of explanation but I still have to write that I've been a bit vaque about it, sorry for that But to write a good introduction to Extenic takes a lot of time.
But to answer your questions:
To make a small game, all you have to do is create a new project (when using visual studio or another IDE), type a few lines of code, define your world and compile it. That would suffice for a really simple game. Ofcourse you have to extend it with some C++ code or with some lua scripts.
What kind of compiler you use doesn't really matter. As long as it's supported by IrrLicht and supports C++. Before releasing Extenic i will make sure it works at least on Windows (Visual Studio, DevCPP, any others?) and Linux (GNU GPP).
I'll write a better introduction to Extenic before releasing it.
But to answer your questions:
To make a small game, all you have to do is create a new project (when using visual studio or another IDE), type a few lines of code, define your world and compile it. That would suffice for a really simple game. Ofcourse you have to extend it with some C++ code or with some lua scripts.
What kind of compiler you use doesn't really matter. As long as it's supported by IrrLicht and supports C++. Before releasing Extenic i will make sure it works at least on Windows (Visual Studio, DevCPP, any others?) and Linux (GNU GPP).
I'll write a better introduction to Extenic before releasing it.
-
- Posts: 108
- Joined: Fri Aug 22, 2003 1:04 pm
- Location: Kerkrade, Netherlands
- Contact: