Apr 1 2011

Thoughts about stairs

Woah, it has been a while since last post! Dage hasn’t gone anywhere…

Most developers developing with Dage has frequently asked me a simple question: “How should I do stairs in my game?”

So this is a very short tutorial how to do it. It’s not step by step, but gives you an idea how to do that once you understand the basic concepts of Dage gamebuilding.

Stairs01

How to make the dog climb up the stairs?

As you probably know, we can use the walkarea to achieve this effect. Note that Walkarea is defined as “Those polygons that stops actor (and other physical objects) from moving”. Now we could add more polygons for every step we have in the stairs, but this might not work properly. The right approach is the following idea:

Idea for stairs

Idea for stairs

As you can see from the above image, walkarea under stairs should be a RAMP, single box that is so tilted the actor can climb up. Because the walkarea is not visible in the end result (Image showing have CTRL+F6 debug mode ON), we have an illusion that the actor is climbing up the stairs.

Up we go

Up we go...

That’s it, folks. Simple and easy as a cake, which there is none.

Thanks for Martin for nice example of stairs.


Nov 22 2010

First game made with Dage hit’s the road!

Ali’s spectacularly beautiful I Was A Vegas Showgirl has been recently published. Ali states

I know there are a few quirks to do with the version of DAGE I’m using, so feedback and bug reports are welcome!

and I’ll second to that.

One note about the game though, from my perspective, is the game requires 0.4.6 version, and NOT the latest 0.5.1 version, since the recent changes. I will do some work to convert the game to 0.5.1 series. It shouldn’t be too much work, though since a lot what Ali had to work around is now basic functionality in Dage.

But anyway, Showgirl is a perfect example what Dage is capable of right now.

Go to forum to find out more information about it.


Nov 12 2010

Dage 0.5.1 is out

Check out the release info from the forum

As I said in the forum, there is f-ing annoying random bug with Coira that loses some user settings from modules randomly. I can’t release it until I find it.

-Me


Oct 28 2010

Dage and Coira coming up well

This evening I hit a goal with Dage 0.5. Goal where Dage should support all the features of 0.4. They might work differently, but at least there is some way to achieve same results as with 0.4 series. I will release 0.5.1 when I have done some bugtesting along with new version of Coira (0.0.2).

Upcoming updates in Dage includes completely rewritten saving system that should save everything. Also platform demo functionality has been fixed and should work the same way as previous versions did.

Major work I have done with Coira. The Coira module (or script snippet system) is simply awesome.

For those who don’t want to register to forum to test Coira, here are some screenshots what to expect.


Oct 14 2010

Video tutorials about Dage 0.5.0 new features

Hey everybody. If you didn’t already know, Dage hit to 0.5.0 couple of days ago, and there are so many features that I believe people could be quite lost in the sea of new information. So I’ve decided to create some video tutorials about the new features that very quickly show you what the new features are about. They are not mentioned to be full tutorials about making games, but more like “things that are good to know”.

Also today is my birthday, and I’m in pretty good mood, so I’ve decided to you have them free. :)

If you have any comments – please post them to the forum in this topic.

You can view them from this link (they are also downloadable) Version 0.5.0 tutorials

And if you have Flash 9.0.1.15 or higher, you can directly view them here:


Oct 9 2010

Dogs are out (Dage and Coira)

Go get them.. *throws a box of 3d adventure game making tools*

They are hidden inside Forum

-Manufacturer


Oct 9 2010

Dage will quite soon hit 0.5

I’m going to skip in releases straight to 0.5. Reason is simple: there are tons of new features, and the compatibility will be broken to 0.4 series.

I haven’t done everything I wanted yet, but enough to let you in to the progress. I’m really wanting to hear feedback on the changes I have made. Saving will not work yet, but I don’t want to “fix” it before publishing.

I just need to convert Bunker demo to new series, and fix any problems there will be.

Most of the improvements in Dage Engine comes from new compiler. With new compiler, Dage should now support Unicode fonts. The font engine is nearly finished. It doesn’t yet support multiple textures, so there is a clear upper limit for the characters you can use. Also the font building tool needs some functionality before I can publish it.

I have rewritten Animation system completely. Mostly with the ideas and feedback from Ali making the game “I was a Las Vegas Showgirl” and studying the source, I have made much easier to handle Camera, Animation, and basic Cutscene functionality.

For example, I have abandoned “end functions” almost completely. They will end up to endless amount of new functions only to serve one simple purpose. So there is a lot of improvements and new things for you to learn. But I promise that the changes are intuitive and serve the purpose of easy game making.

I’ve also changed the collision system completely, and there will be some advantages that I know you will be excited about.

When I release Dage, I will try to write a complete list of changes. Also scripting documentation is years behind, so I need to write it also.

I have also studied why Dage is so freaking slow, and one reason was the actor system. I thought having shadow actors would speed the rendering of actors, but it is the frame interpolation of skeletal animation that takes time. So instead of having one actor, I had two actors, which doubled the time (in theory).

I am also happy to announce that I’m going to release first version of Coira. Don’t expect miracles from it. Coira is nowhere near the way it should be. But I want you guys to see that I am actually doing something here, and also I want to get feedback from it.

I’ll try to this evening or tomorrow evening let the dogs out :)


Sep 2 2010

Testing fonts in Engine

Just few screenshots to show that it’s going on pretty well.

Japanese
Greek

As you notice – not all fonts are suitable for small text. Font engine doesn’t support yet multiple textures so there is still work to be done.


Aug 31 2010

Towards chinese markets

Dage doesn’t currently really support any other language than English. It doesn’t even support my mother language Finnish, which I’ve been lately working to fix.

I’m designing new Bitmap Font File Format, that supports multiple textures, UTF8 characters, and is easily created with the following tool:

Font generator screenshot

Font generator screenshot

The tool renders fonts using Freetype library and outputs alpha-channeled PNG files along with character data. Only thing to do is to make Dage understand format this tool outputs.

The workflow is quite simple. You paste to the Character tab whatever characters you want to include, and then the tool renders you the textures you need. Then you just load the font to Dage and you can use it with THudtext normally. When all this is done, you can create as many fonts as you want and basically each character in your game could speak with different font – with all the languages you want.


Aug 27 2010

What the cat I’ve been doing lately?

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.