A downloadable asset pack for Windows

Buy Now$4.99 USD or more

This project is vastly inferior in quality and potential to the newer MariaEngine 64 and is now unsupported. Please consider MariaEngine 64 for your project instead.

A 3D platform game engine (Game Maker Studio 1.4 source file) that can be used to quickly get a game project up and running. Available in a grid-only version that is highly optimized, and a grid+slope version that has more expensive physics but allows more varied level design!

  • Very fast grid-based collision checking with support for terrain objects when necessary (moving platforms, breakable blocks, etc).
  • Automatically creates a 3D model based of the room objects, further speeding up processing.
  • Uses texture atlases with multiple textures in a single image, letting you completely change a level's feel with a single line of code!
  • Very simple to design levels: simply place placeholder objects in Game Maker's room editor and they get converted to 3D with no additional effort!
  • Example code for fog, HUD display and 3D lighting!
  • Slope version: Use arbitrary collision checking scripts for terrain objects! You can use any script that computes a z value given the x and y position relative to the object's origin, letting you do arbitrarily complex terrain objects such as pyramids and half-spheres.
  • Slope version: Walk up and down slopes smoothly, including jumping from them and landing on them!
  • Slope version: Example slope objects automatically attach to the grid terrain at their start and end points. Make slopes effortlessly!
Rated 5.0 out of 5 stars
Made withGameMaker: Studio
Tags3D, 3D Platformer, Game engine


Buy Now$4.99 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $4.99 USD. You will get access to the following files:

Source code 61 kB
Source code (with slopes) 64 kB

Download demo

Demo 2 MB
Demo (with slopes) 2 MB
License Agreement 22 kB


Log in with itch.io to leave a comment.


Do this and the YaruFPS engine (https://yaru.itch.io/yarufps) have any sort of intercompatibility? I have started on a project running Yaru3D, and would like to integrate the weapon and ammunition systems from the latter engine.

They're completely different systems that just happen to look similar, it most likely is impossible to combine them. (The YaruFPS weapon system has a bunch of assumptions about being in a FPS game as well, not sure how well it would work in a platformer)

I see. Thanks for the answer!

Hello there! Weren't you the one that had made years ago that 3D Sonic engine for Game Maker 8? Nice to see you doing stuff again! (I used to be "Matrox" in Yoyogames Sandbox if you do remember that name)


The very same! Also, "making stuff AGAIN"? I never stopped, lol :P (A lot of my Sandbox stuff isn't up here because it either was pretty bad or doesn't run properly anymore, and I've cut out all the content infringerino stuff as well)

hello the enemy are not implemented in this engine? i see the are obj_goom but I can not make it work thanks

Yeah, the object has no code and there's no graphics for it either. I probably planned to add enemies at some point, then scrapped those plans but forgot to remove the object.

There is some way, that the camera follows the character always from behind automatically and you don't have to be accommodating the camera with the letter WASD sorry for my bad english thanks

Not built-in, but you could always just add in code that automatically controls the camera angle and remove the WASD camera control code. It's a really difficult subject to tackle and it's very game-dependent, so there's no universal way to do this and it felt out of scope for this engine.

I'll recommend checking out this GDC talk on the subject, it's really helpful (they go through algorithms and stuff for things like camera whiskers):

Very cool! One thing though: When I place slopes they seem to only randomly work? Like I can place one vertical slope next to a normal terrain that goes to an "up 1" terrain, then another vertical slope from that to an "up 2" terrain, and only the first slope appears?

(1 edit) (+1)

I dug into this a bit and I believe I've found what causes it... Z-coordinates are stored in a grid based around 32x32 blocks, so if you accidentally place a slope or a block off this grid, the slopes will get the wrong Z value because the correct cell might not be set (or the slopes access the next cell rather than the appropriate cell). Either make sure your room grid is set to 32x32 when placing terrain, or change the value of the GRIDSIZE_PX macro to 16.


Oh wow, thanks for the super quick reply! Good stuff!


Wouldn't really be good customer support if I let someone wait several weeks for a mistake this simple, now would it? :P

Glad you got it working~