Thank you very much for putting a link to my project, Dusty Engine, on the irrlicht links page! I didn't even know it was on there until I checked my referrer page.
Anyways, DE is not a 3d engine, though, as it was described, it is a task engine that benefits from irrlicht's infrastructure. The actual 3d stuff would be left to irrlicht.
The programmer creates individual tasks, which do their own jobs (such as changing the position of an object, or menial stuff like updating the fps count.) He or she then adds these tasks to a heirarchal tree of tasks, and each task is executed each frame (if the correct time delta has passed. Tasks can also be set to execute every frame.)
It was an excercise for me, and I have very much enjoyed it.. The engine is about 90% complete, incorporating the entire original design. I am in the process of changing some things, and setting it to compile as a .dll on windows or .so elsewhere.
Once again, thanks for linking to it, I'm hoping someone will find some use with it.
Dusty Engine
-
- Posts: 91
- Joined: Fri Oct 31, 2003 5:03 am
Dusty Engine
daveandrews.org - A Christian Programmer's Weblog | Dusty Engine - A Task Engine for Irrlicht
"The engine is based upon some ideas I had while reading the articles about the Enginuity Engine by Richard Fine on gamedev.net."
Wow, so you're a fan of the Enginuity articles too? How much have you based it upon Enginuity? Is it simply a port to IrrLicht (which would be awesome) and maybe some Task tweaks? Have you implemented MMOs, SPs, Triggers, etc?
You've got my interest!
PS: <><
Wow, so you're a fan of the Enginuity articles too? How much have you based it upon Enginuity? Is it simply a port to IrrLicht (which would be awesome) and maybe some Task tweaks? Have you implemented MMOs, SPs, Triggers, etc?
You've got my interest!
PS: <><
a screen cap is worth 0x100000 DWORDS
-
- Posts: 91
- Joined: Fri Oct 31, 2003 5:03 am
A port of Enginuity to Irrlicht would be nice!
But no, it does not include those, the only idea I took from Enginuity was that of tasks.
I extended it a bit, with a general tree (unlimited children per node) of tasks, where the properties of parent tasks affect the children (namely pausing--if the parent task is paused, the children tasks will not execute.)
All tasks derive from an abstract task class, as in Enginuity.
The memory part of it come from Irrlicht--my objects derive from irr::IUnknown. This at least allows grab()/drop() functionality for all tasks.
I've added in an object called TimeServer. A TimeServer allows code like the following to be executed:
This will register an id in the TimeServer object, which is referenced by timerID. You can then get the delta time since the timer was created by just telling it which ID you want! You reset the time delta by calling TimeServer::ResetDelta(irr::u32 id).
There is also a built-in RandGen object (nothing fancy, just wraps rand(),) a TextFile object which reads/saves text files, a configuration file object which reads in text configuration files and allows per-key access to them.
I think it will be a good engine and very useful. Like I said it is almost complete, will probably be available within the next week.[/code]
But no, it does not include those, the only idea I took from Enginuity was that of tasks.
I extended it a bit, with a general tree (unlimited children per node) of tasks, where the properties of parent tasks affect the children (namely pausing--if the parent task is paused, the children tasks will not execute.)
All tasks derive from an abstract task class, as in Enginuity.
The memory part of it come from Irrlicht--my objects derive from irr::IUnknown. This at least allows grab()/drop() functionality for all tasks.
I've added in an object called TimeServer. A TimeServer allows code like the following to be executed:
Code: Select all
DustyCore::TimeServer * time = dustyDriver->GetTimeServer();
int timerID;
timerID = time->RegisterTimer();
while(time->GetTimeDelta(timerID) < 1000) {
std::cout << time->GetTimeDelta(timerID);
}
time->UnregisterTimer(timerID);
There is also a built-in RandGen object (nothing fancy, just wraps rand(),) a TextFile object which reads/saves text files, a configuration file object which reads in text configuration files and allows per-key access to them.
I think it will be a good engine and very useful. Like I said it is almost complete, will probably be available within the next week.[/code]
daveandrews.org - A Christian Programmer's Weblog | Dusty Engine - A Task Engine for Irrlicht
Re: Dusty Engine
Ah, sorry for that. I'll replace the wrong text with the next update. Anyway, cool. Hope your like the icon I drawed for the Dusty Engine, if not, you can send me a better one if you like.roninmagus wrote:Anyways, DE is not a 3d engine, though, as it was described, it is a task engine that benefits from irrlicht's infrastructure