Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(1 edit)

The file labelled Source code (Legacy) (GMS 1.4) is what you're looking for, does that not work for you? Which version are you on?


(Also interested in how it doesn't work, more exactly - if it seems to freeze when you load up a level, it's worth pointing out generating all the geometry in the test level takes a while. If there's some error message you need to tell me what it is and I'll see if I can figure out how to fix it)

wait, scratch that, I got it to work, it couldn’t load the file cause I was running it from winrar. I just wanted to test it to see if I wanted to buy it, I can’t for the life of me get a 3D collision engine to work properly in GMS1.4. Tell me, does the geometry of the level have to be uploaded in separately from a 3D file? Or would your 3D collision code work for things that are modeled in GMS1.4? Like if I had some floating islands separate from the terrain but also a unique shape?

(1 edit)

All of the collision in this engine is based on simple shapes (which are generated in-engine): axis-parallel cylinders, axis-parallel cubes, and axis-parallel blocks whose top and bottom are bilinear interpolated planes ("slopes" for short). There's no support to load 3D models externally, all geometry in the GMS1 version is generated in-engine using path assets to describe shapes. (Very inefficient, but this was before I learned Blender and I desperately wanted to avoid 3D modelling if I could)

The GMS2 version also adds a global terrain which is generated using an image heightmap (the idea is to cut down on the number of base shapes needed to represent the level geometry, since generating them is so slow) and a more exotic "path" terrain type which is basically a sequence of connected quads with arbitrary positioning - perfect for roads and paths (if they're not very tall and closely aligned to the ground) and curved walls (when they are tall).

Collision checking is the biggest performance hog so ideally you should use cubes and the like as hitboxes whenever possible - even with the stuff done to make this more efficient (using a precomputed hashmap for static terrain) the sheer number of points that needs to be checked makes it take up a lot of processing power.