Post news Report RSS 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 on

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.

Comments
sweetbeast
sweetbeast

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

Reply Good karma Bad karma+3 votes
Fib
Fib

So this is all made in GameMaker Studio?

Reply Good karma Bad karma+2 votes
DevLewa Author
DevLewa

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

Reply Good karma+2 votes
Fib
Fib

Is most of it custom coding?

Reply Good karma Bad karma+2 votes
DevLewa Author
DevLewa

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.

Reply Good karma+4 votes
Squared55
Squared55

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? :)

Reply Good karma Bad karma+2 votes
DevLewa Author
DevLewa

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.

Reply Good karma+5 votes
Squared55
Squared55

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.

Reply Good karma Bad karma+2 votes
DevLewa Author
DevLewa

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.

Reply Good karma+5 votes
Luskel
Luskel

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.

Reply Good karma Bad karma+2 votes
pvt.Johnson
pvt.Johnson

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

Reply Good karma Bad karma+2 votes
Jez_Huntsman
Jez_Huntsman

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

Reply Good karma Bad karma+1 vote
Whootgames
Whootgames

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

Reply Good karma Bad karma+1 vote
Guest
Guest

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

Guest
Guest

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

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

News
Browse
News
New
Post news
Report
Report
Share
Related Games
Celaria
Celaria Platformer
Related Engines
GameMaker: Studio
GameMaker: Studio Commercial