
...ok so I'm new to this community, and I really love what I've seen of Demoniak so far. Still, there are just some little things missing that I think will be great additions. I'm sure JeGX is busy already with improving Demoniak, and I don't want to put any pressure on him. It's his project and I think he is doing a great job

So please only take my wishlist as ideas that I have, and do with them (or ignore them) as you like

Note that I'm a programmer, so most of my ideas have to do with Lua, not so much XML (but some of these maybe apply to both).
By the way some of these items are also questions in another thread (
http://www.ozone3d.net/smf/index.php/topic,1394.0.html ). So maybe I got it wrong and it's already in Demoniak... Sorry if I missed it

Here goes:
1: Ability to change friction of physics bodies. Maybe something like a "physics material" (other existing properties like damping, skin thickness or default density values could also be part of this material definition). Then you can add this material definition to any (one or multiple) physics actor, and that will set the correct values.
2: Ability to disable default escape key behaviour. Currrently, AFAIK, the escape key always quits the Demoniak3D app, and is the only key that cannot be redefined.
3: Ability to sync/unsync physics simulation time with real time. Unless I'm doing something wrong (see my questions thread) the "simulation time" is always running as fast as possible, i.e. not synchronized to "real-world time".
4: Ability to query keystrokes in FIFO order. Perhaps a function like HYP_Input.GetKey, that returns which key the user pressed (or nil if no key was pressed). If the user pressed more than 1 key during a single frame (can happen if the user is typing and the framerate is low) then you could call HYP_Input.GetKey again to get the next keystroke, and repeat until it returns nil (all keystrokes processed). So Demoniak would probably need to keep a FIFO queue of keystrokes from which this function reads, one keystroke at a time. If this causes too much overhead, maybe a function can be added to enable/disable keystroke queueing. The reason for this feature is because I'd like to be able to add some simple user interface elements (using HUDs, HYP_Input and HYP_DrawText etc). You can already to a lot with HYP_Input.IsKeyboardKeyPressed and mouse clicks etc. But the only way to query keystrokes right now, AFAIK, is by calling HYP_Input.IsKeyboardKeyPressed for *every* possible key, and in *every* frame. There has to be a better way

For example wouldn't it be cool to add some sort of "console" where the user can type script commands, or a simple editbox where the user can type scripts or notes or whatever. With a little Lua programming, this should be possible (I intend to do this). This could also be a very useful tool for debugging or interactive experimentation.
Cheers!