New project: Extenic

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
odc
Posts: 11
Joined: Thu Sep 18, 2003 1:50 pm
Location: Netherlands
Contact:

New project: Extenic

Post by odc »

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
Gorgon Zola
Posts: 118
Joined: Thu Sep 18, 2003 10:05 pm
Location: switzerland

Post by Gorgon Zola »

Cool project. 8)
I'm experimenting myself with some sort of entity layer using irrlicht.
your class structure looks very promissing :idea: .

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
odc
Posts: 11
Joined: Thu Sep 18, 2003 1:50 pm
Location: Netherlands
Contact:

Post by odc »

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
Gorgon Zola
Posts: 118
Joined: Thu Sep 18, 2003 10:05 pm
Location: switzerland

Post by Gorgon Zola »

I see, you're designing the messaging system for some kind of emergence.
:)

I'll get in touch with you when i have some presentable code so we could maybe exchange some contructive criticisms :D
odc
Posts: 11
Joined: Thu Sep 18, 2003 1:50 pm
Location: Netherlands
Contact:

Post by odc »

Okay that's cool :) Looking forward to that.

But what did you mean with "for some kind of emergence"?
Gorgon Zola
Posts: 118
Joined: Thu Sep 18, 2003 10:05 pm
Location: switzerland

Post by Gorgon Zola »

odc wrote:But what did you mean with "for some kind of emergence"?
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.
Well.... that depends of course on the rules you apply.... hm... nevermind...

cheers
gorgon
odc
Posts: 11
Joined: Thu Sep 18, 2003 1:50 pm
Location: Netherlands
Contact:

Post by odc »

hehe :) okay i think i know what you mean

But it's going to be allot of finetuneing to get it all going. But i think that this system can really work.
odc
Posts: 11
Joined: Thu Sep 18, 2003 1:50 pm
Location: Netherlands
Contact:

Post by odc »

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.
Krampe
Posts: 48
Joined: Tue Oct 14, 2003 8:37 pm

Post by Krampe »

Keep up the good work, we are looking forward to it :D
FleshCrawler
Posts: 108
Joined: Fri Aug 22, 2003 1:04 pm
Location: Kerkrade, Netherlands
Contact:

Post by FleshCrawler »

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 :)
I've been absent for really long, but i'm ready to reign my terror on you once again, mwuahahahahaha
odc
Posts: 11
Joined: Thu Sep 18, 2003 1:50 pm
Location: Netherlands
Contact:

Post by odc »

Your're right, it really needs a bit of explanation but I still have to write that :D I've been a bit vaque about it, sorry for that :D 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.
FleshCrawler
Posts: 108
Joined: Fri Aug 22, 2003 1:04 pm
Location: Kerkrade, Netherlands
Contact:

Post by FleshCrawler »

ahh, ok , thanks for the info :)
I've been absent for really long, but i'm ready to reign my terror on you once again, mwuahahahahaha
Post Reply