Well for starters, I must say I have good news, and some bad news. Those news each associate for the two upcoming features of Dage.
First feature is something you might not have noticed, but you still missed it:
Loading data in the background.
If you take a look at Ali’s great looking game, it uses quite a lot of big room models, multiple actors etc. And it really takes a while to load them. The current flow for Dage is that it stops everything while loading meshes. This is noticed by these “pauses” while playing. Now if you look any other game engine in the market, while the engine is loading some data – it shows a loading screen. Something that Dage hasn’t really be able to do. The documentation for tools I use, says that I can’t use separate “threads” to load data while updating scene. Threads in programming language means something that is done simultaneously. So loading mesh in another thread and updating the scene in another. It will simply not work. End of story.
The good news:
I managed to get it working. While it’s true, that I can’t load meshes to the scene while updating the scene, I found a clever plot hole in this story. I simply created new scene, move there all the meshes I want to load, load the meshes and finally move the meshes back to the main scene – all while updating the main scene. Everything works perfectly. I have a proof of concept with modified Bunker demo, that has a loading screen.
The bad news:
There will be some modification of scripting when I decide to release the version. This means implementing this feature will break backward compatibility. But hey, that’s the hidden line in the contract when you decided to use Beta software. Sorry.
Work to be done before you see anything:
There is some more testing to be done. I want to load also sounds in the background. I want as little script modification as possible without making any “If developer has made script modifications” -conditionals. It is still in the “proof of concept” -stage.
Second feature is something you have requested:
Video playback.
I have some proof of concepts that Dage will someday support video playback using excellent LibAVCodec from FFMpeg library. I can’t say how much this will increase the potential of Dage being top one 3d adventure game engine.
The good news:
Proof of concept for video textures! Yes, you could have television in your scene playing videos! All this without any speed loss! But while I say any, I mean there will be some, but not as much I should expected. Although what I have tested is for small animations, all loaded into memory (well yeah 800kb of BIK animation uses 60 megabytes of RAM), and I haven’t done any testing for loading and buffering animations from file. Basically if you want to have a video player, you could just make a THudSprite and assign it the video texture.
Also the good news is that major video formats will be supported. What I think is a lot of overkill.
The bad news:
FFMpeg library takes 12 Mb. So Dage engine download size will be increased significantly. Unfortunately I don’t know if it’s possible to have “video plugin” that you could remove, if you don’t want to use videos.
Work to be done before you see anything:
A lot. I want the video texture be perfect functionality. I want developer determine whether to use file or memory, what segment to play, what speed. It might take a while – put I’m really positively surprised that the concepts works how I want them to work!
These features hasn’t been tested with Linux version so there might be some problems there.
Anyhow, hang in there. I think future looks promising for Dage.
I’ve disabled the commenting for unregistered (blog)users for heavy spam attacking, so If you want to comment – do it in the forums.