• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

How can I do this?

Mehdi

Member
Hi friends and merry Christmas to all.
Does anyone know how one could make such terrain? (Dark areas)

ordia.jpg

Only a few points:
This is non-physics, therefore box2d terrain generation is not needed.
The terrain is not procedural, because the game is played in preset levels.
The terrain is smooth & curvy.
And the most important: it is not just cosmetic, because it makes perfect collision with player.

Can you please help me find out the way I can implement such a terrain in my game?
 
D

Deleted member 16767

Guest
You mean like Sonic? Maybe Pixel Pope's collision asset can do this.
 

noxx

Member
I think the way to do this is with tiles. Mike Dailly has a great video on how to do pixel collisions with tiles in Gamemaker:
 

Mehdi

Member
I think the way to do this is with tiles. Mike Dailly has a great video on how to do pixel collisions with tiles in Gamemaker:
Thank you noxx,
The quality of Mike's video and audio is poor, the codes are super small and its real tedious to figure out what is being done in this over 40 minute show. Sadly a link to finished project isn't there.

These aside, the game the picture of which I have uploaded isn't likely to use tiles, because of the variety of shapes implemented as terrains. It seems to be sprite assets. (but not necessarily objects)
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
The simplest way to do this using large sprites with precise collision checking... So you'd simply make sprites for all the walls, make them precise, then make a generic wall object and assign the sprites to it. This isn't the most performant way to do it, but it's the easiest.

The next way would be to use tiles... There is a YYG tech blog that gives an excellent system for using tiles and precise collisions that could follow. The down side with this is that you'd need a LOT of tiles to get this looking correct with curves. https://www.yoyogames.com/en/blog/precise-tile-collisions-by-pixelated-pope

Finally, you have the most complex solution which would also give the best results... You draw all the areas in a room using closed paths. You then use a controller at the start of the game to turn those path shapes into textured primitives. These are then drawn to a surface, and sprites get created from them and assigned to wall objects. This method requires a lot of setup, but will give the best results and sve time with level design as you would 9nly have to move path points around in the room to change the level. https://marketplace.yoyogames.com/assets/9676/path-to-texture-primitive
 

Mehdi

Member
Finally, you have the most complex solution which would also give the best results...
Thanks Nocturne.
You're completely right: The first method isn't performance-friendly, the second is not so much productive in terms of variation.
The third one is the most likely to give the best results. In fact I have given it a shot and not became much successful (by my own method of course)
I will test the link you've shared and see. Thanks again. 🙏
 

Mehdi

Member
The simplest way to do this using large sprites with precise collision checking... So you'd simply make sprites for all the walls, make them precise, then make a generic wall object and assign the sprites to it. This isn't the most performant way to do it, but it's the easiest.

The next way would be to use tiles... There is a YYG tech blog that gives an excellent system for using tiles and precise collisions that could follow. The down side with this is that you'd need a LOT of tiles to get this looking correct with curves. https://www.yoyogames.com/en/blog/precise-tile-collisions-by-pixelated-pope

Finally, you have the most complex solution which would also give the best results... You draw all the areas in a room using closed paths. You then use a controller at the start of the game to turn those path shapes into textured primitives. These are then drawn to a surface, and sprites get created from them and assigned to wall objects. This method requires a lot of setup, but will give the best results and sve time with level design as you would 9nly have to move path points around in the room to change the level. https://marketplace.yoyogames.com/assets/9676/path-to-texture-primitive
Please @Nocturne can you answer my questions (above post) about your asset?

EDIT: I've already purchased it. Sadly it uses the first method. Thanks anyway 👍
 
Last edited:
Top