Post news Report content RSS feed Smooth 3D animations in Game Maker 8.1

With the help of an extension, the game now supports smooth 3D animations. All of this is showcased in 2 Videos.

Posted by DarkLewa on Jul 24th, 2013

Most people think that a software like "Game Maker" is completely underpowered and only serves as a cheap, quick and dirty way of calling himself a "Game Developer". Because the software is easy to use (and the huge amount of "cheap" games which are out there and were made in GM) doesn't necessarily mean that you can't create good games with this software.

It's always about the developer. Not about the software.

Now i want to show you how a little tech-demo which i made using the "d3d_model_load_fast" gex (an extension for game maker)
The creator of this gex reverse-engineered the model-storage of game maker. Because of that knowledge, he was able to modify 3D models with the gex in realtime.
He implemented a morph/interpolation feature.
If you think about it... HEY! You can actually create smooth 3D animations with this technique!

After a bit of testing with this gex, i realized that the results are amazing.
I showcased them in a video:

Smooth 3D animations tech-demo:

I was blown away of how well this gex actually worked.

How does the animation actually work? Well, i'm exporting an animation as own 3D models.
As an example: The running animation has 8 frames which are then displayed like a sprite based animation in one order at a given speed. With the gex, i can interpolate between those models to create a much smoother experience.

Of course this isn't the best technique for making 3D animations. If you use a lot of frames with a high-res model, then it can cost you a lot of memory. But hey, it's a very easy way for me to make animations in blender and import them directly into GM. Because the character is a low-poly model (around 500 polygons) the memory usage shouldn't be that high.

I spent a few days for implementing this gex into my current codebase. It worked flawlessly. I also added a second interpolation for animation transitions.
If the player is standing still and starts to run, then the game interpolates between the idle- and the running animation.
The current result can be seen in the following video:

Smooth 3D animations in Celaria:

I also optimized the colission engine of the game and changed the scaling of the player.

I wanted to measure the ingame world correctly.
It's very important that you know how big your world really is. (in meter or kilometer)
The player is a reptile/dragon styled creature which has much more power then a "normal" human.
(the player can run much faster and jump much higher then a human.) Because of that, i wanted to scale him a bit up.
16 Pixel in the game are exactly 1 meter. The player stands at 40 Pixel which are exactly 2,5 meters.

So there you have it. A 2,5 meter tall reptile styled creature which is doing parkour on insane heights and speeds.

Post comment Comments
sweetbeast Jul 24 2013 says:

WOW!! im impressed how smoothly this game looks O.O good job X3

+3 votes     reply to comment
Fib Jul 24 2013 says:

So this is all made in GameMaker Studio?

+2 votes     reply to comment
DarkLewa Author
DarkLewa Jul 24 2013 replied:

It's made in Game Maker 8.1. Not Game Maker Studio.

+2 votes   reply to comment
Fib Jul 24 2013 replied:

Is most of it custom coding?

+2 votes     reply to comment
DarkLewa Author
DarkLewa Jul 24 2013 replied:

Pretty much everything is custom code.
I'm using game maker's basic 2D collision capabilities on the xy axis and the 3D rendering functions for setting up the scene, but beyound that it's all custom GML code.
extended xy collision, z-collision, map-loading, generating world geometry, physiks engine, graphical effects (like motion blur and volumetric light), etc...

I'm not using Game Makers drag&drop functionality. I'm only coding in GML.

+4 votes   reply to comment
Squared55 Jul 24 2013 says:

It's quite impressive that you managed this in GameMaker... but it's just that, impressive for GameMaker. Why are you not using a better engine for 3d, like Unity or UDK? :)

+2 votes     reply to comment
DarkLewa Author
DarkLewa Jul 24 2013 replied:

Well, i learned a lot about GM during the past years/months. So why shouldn't i use my knowledge and make a game with game maker?
Also i like to experiment with GM and to work around his limitations. It's always cool to hear something like "Whaaaat? This is GM?!?" XD It really shows that it isn't all about limitations within hard- or software or about how "powerful" a tool is. It's about the developer behind the tools.

+5 votes   reply to comment
Squared55 Jul 24 2013 replied:

It is about the developer behind the tools... but if you have 2 equally skilled developers, but with different tools, the superior tool will win out. Sure you can get around the limitations of a bow and arrow, but a gun will allow for superior results, as it has a much higher ceiling.

+2 votes     reply to comment
DarkLewa Author
DarkLewa Jul 24 2013 replied:

You are right that a equally skilled developer can work faster with the more superior tool. But that's not why i'm making this game. I love desinging and programming games. I have no deadline and i don't need to finish this game as fast as possible. For me, developing this game in Game Maker is still fun. Of course engines like Unity are technically superiour than GM. But just think about it: Why did i choose such a simple art-style for this game? ;)
The game uses this simple art-style to get around some limitations regarding the graphical capabilities. But still, it looks beautiful and everything fits together very well. (And also a simple art-style means that i'm not forced to spent a huge amount of time for the graphical content.)

If i wanted to make this game in Unity i would be forced to start all over again. It's not that i don't want to touch anything but game maker. I'm not going to use GM forever (obviously). (Unity is very interesting for me)

I'm just very familiar with GM and have no real problem creating this game in GM. (It's a fun challenge)
For the time being, i'm sticking with this software.

+5 votes   reply to comment
Luskel Jul 24 2013 says:

Awesome to see that there are still people willing to push GM8.1 and show that it can be used beyond 2D. I used to mess around with GM8.1 in 3D quite a bit, after awhile it kind of became a fun challenge to take on any issues and get around them.

The interpolation from the gex is truly awesome. Keep up the good work, GM needs more dedicated developers.

+2 votes     reply to comment
pvt.Johnson Jul 24 2013 says:

Beautiful progress and explanation! Awesome work you've done here.

+2 votes     reply to comment
Jez_Huntsman Jul 24 2013 says:

I was sceptical of the game model and animations before but it looks great now :D Good job!

+1 vote     reply to comment
Whootgames Aug 4 2013 says:

Whoooo! It's amazing :-D
Great work, man. I'm still using GM only for 2D stuff.

+1 vote     reply to comment
Guest Oct 16 2013 says:

This comment is currently awaiting admin approval, join now to view.

Guest Sep 22 2015 says:

This comment is currently awaiting admin approval, join now to view.

Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Post news
Related Games
Celaria Platformer
Related Engines
GameMaker: Studio
GameMaker: Studio Commercial Released 1999