Fnord2 Engine
Fnord2 Engine
I have integrated both my 3d sound source scene node, and a new Newton-based physics driver for Irrlicht into a new revision of my Fnord game engine project: Fnord2
Demos of both are included, though the physics demo could probably be more exciting, right now its just a falling block...it needs some more pizazz. Suggestions are welcome!!
You can quickly download the current code here: http://prdownloads.sourceforge.net/fmor ... p?download
Enjoy!
Demos of both are included, though the physics demo could probably be more exciting, right now its just a falling block...it needs some more pizazz. Suggestions are welcome!!
You can quickly download the current code here: http://prdownloads.sourceforge.net/fmor ... p?download
Enjoy!
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
-
- Posts: 41
- Joined: Mon Feb 16, 2004 7:37 pm
performance....
im currently doing the physics updates up to 100 times a second, depending on framerate. I know that sounds like a lot, but actually it might not be enough.
I am making a second revision of this demo with a "block shooter" attached to the camera ala mercior's tutorial.(its in the CVS now! pretty soon i will put it up as a release too.)
It's hard to see, but with much larger numbers of blocks in the scene sometimes the physics doesn't catch them in time if a block's velocity is too fast and the block will pass through the wall without being caught by the collision detection.
I think I could fix this two ways. Either increase the frequency of physics updates to catch them more often, which may not work due to the framerate still being too low perhaps; or I could try to back up newton's collision detection with irrlicht's, to try and prevent this issue. (though that most likely would result in some very odd physics behavior when newton misses one and irrlicht's animator catches it instead??)
or i just suck it up, and use bigger blocks that move slower
I am making a second revision of this demo with a "block shooter" attached to the camera ala mercior's tutorial.(its in the CVS now! pretty soon i will put it up as a release too.)
It's hard to see, but with much larger numbers of blocks in the scene sometimes the physics doesn't catch them in time if a block's velocity is too fast and the block will pass through the wall without being caught by the collision detection.
I think I could fix this two ways. Either increase the frequency of physics updates to catch them more often, which may not work due to the framerate still being too low perhaps; or I could try to back up newton's collision detection with irrlicht's, to try and prevent this issue. (though that most likely would result in some very odd physics behavior when newton misses one and irrlicht's animator catches it instead??)
or i just suck it up, and use bigger blocks that move slower
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
aside from improvements..
what are some more good areas to focus on? I would like suggestions on other tasks to work on next, to help focus my efforts. sound and physics were pretty obvious, so I began them first. So what should I look at next?
here are my ideas at the moment:
-networking? perhaps a CNetworkDriver and network node animator?
-a special effects helper class+ effects editor which can export to an XML format, for easy re-use and storage of custom tweaked particle systems and the like.
-xml/lua gui formats/helper classes? a plugin or patch for guice??
-pathfinding and simple ai steering behaviors with opensteer?
-learn how to use dusty, or maybe make a new task system for irrlicht?
-mysql/sqlite/.NET database driver??
-patches/improvements for irrlicht itself?? (gui skins or other little stuff people could use??)
I'm having trouble coming up with stuff that wouldn't be a game specific feature or a part of a specific style of game...
All suggestions or feedback are welcome....
here are my ideas at the moment:
-networking? perhaps a CNetworkDriver and network node animator?
-a special effects helper class+ effects editor which can export to an XML format, for easy re-use and storage of custom tweaked particle systems and the like.
-xml/lua gui formats/helper classes? a plugin or patch for guice??
-pathfinding and simple ai steering behaviors with opensteer?
-learn how to use dusty, or maybe make a new task system for irrlicht?
-mysql/sqlite/.NET database driver??
-patches/improvements for irrlicht itself?? (gui skins or other little stuff people could use??)
I'm having trouble coming up with stuff that wouldn't be a game specific feature or a part of a specific style of game...
All suggestions or feedback are welcome....
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
Work on a network framework. and do it like the raknet tut with server/client system with sending node data across....i'm right now working on that too and i will be finished soon maybe you could use my code when u like otherwise write your own maybe you are doing a better job than i then i will use yours...
anyways your soundclass was a big help thx.
but the physics class didn't do what i expected....lol
anyways your soundclass was a big help thx.
but the physics class didn't do what i expected....lol
bug?
in what way? perhaps you have found a bug??but the physics class didn't do what i expected....lol
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
buhatkj, you still working on this? I started to create my game engine with the fnord engine, it handles physics great, which was very hard for me.
Anyways, I found a small bug with the sound node. I took your physics demo and made the sound source a child to the box, then made the Sound listener a child of the camera. But, they don't act like children. They don't follow the parent's movements. So, the box would follow the rules of physics, but the sound would stay in the exact same position. It won't follow the box
In the game loop, I current set the rotation of the listener and the positions of the listener and sound source to get it to work how I wanted.
Anyways, I found a small bug with the sound node. I took your physics demo and made the sound source a child to the box, then made the Sound listener a child of the camera. But, they don't act like children. They don't follow the parent's movements. So, the box would follow the rules of physics, but the sound would stay in the exact same position. It won't follow the box
In the game loop, I current set the rotation of the listener and the positions of the listener and sound source to get it to work how I wanted.
This had been discussed in a different thread:
http://irrlicht.sourceforge.net/phpBB2/ ... 8&start=15 At that point the soundSource update was working, but soundListener did not use the getAbsolutePosition such that position did not change in OpenAL. Was correct as long as the Listener was parent, but not after connecting to the cam. After that change everything worked as expected.
http://irrlicht.sourceforge.net/phpBB2/ ... 8&start=15 At that point the soundSource update was working, but soundListener did not use the getAbsolutePosition such that position did not change in OpenAL. Was correct as long as the Listener was parent, but not after connecting to the cam. After that change everything worked as expected.
fix?
What did you have to change to fix it? I want to make sure this is correct in my cvs code. thanks
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
The problem is when making the SoundListener the child of a node (e.g. camera to let the "ears" be part of the first person). The listener did not update the position anymore since it took the relative position which did not change. Only the absolute position does change if the parent node is moving. So basically the routine used has to be changed from getPosition to getAbsoultePosition. Then, moving the listener is possible with your nodes as well.
Suggestions to extend Fnord: lua scripting and sqlite for simple databasing.what are some more good areas to focus on?
I've always admired the Apocalyx engine for it's ability to read lua scripts in real time and apply them to running processes. It makes for a great enviroment to mod and troubleshoot in.
Sqlite is super for lightweight databasing...
Keep up the great work!
fix is in cvs
ok, I made the fix that was suggested, and changed both the update position methods to use get absoluteposition instead. the fix is now in the CVS
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net