Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

frothzon

19
Posts
83
Followers
2
Following
A member registered Feb 20, 2021 · View creator page →

Creator of

Recent community posts

you will have to write your own z_top() function that matches your instance position. Likely the issue is that you are overlapping the slope when checking its height and it is too tall at that point to walk up it. 

(2 edits)

I see what the issue is, when we are calling z_top() it is not referencing the "other" object correctly and is checking against itself. I will modify the code so this cannot happen. It is weird that it is not occuring in the example project -- so it must be a bug caused by instance creation order. [UPDATE: I uploaded new versions of the source code that should resolve the issue -- I was able to import only the scripts from the YYMPS to replace the old ones and was able to validate it works]

(3 edits)

Can you send me the broken project so I can debug it? There may be object properties that are not being copied over... I added a yymps package for the assets for importing into projects -- maybe try that.

(2 edits)

**update** the issue was caused by instance creation order (obj_tester create event runs before the obj_wall has been initailized so it doesn't see any walls) I will upload new versions of the code. (files should be fixed)

I see, I will add in another tutorial for this. I will need to change the collision system to make things like this easier to implement.

(2 edits)

are you trying to push a block up a ramp? "_player.position.z_height = lerp(_z1, _z2, _ds)" is going to change the collission cross section of the player. If you want I can extend the tutorial this weekend for pushable blocks. Just let me know what you are looking for and I can try to address it specifically.

It is all done in code.

I didn't want the depth to change when the player jumps up, if there is a tree in front of them blocking them from view they would clip through it when jumping.

(1 edit)

do it like this (make sure you delete path when done with it): 

var path_array = ap_grid_path_array(obj_tester.grid, x, y, mouse_x, mouse_y);

path = path_add();

for(var i = 0; i < array_length(path_array); i++){

var point = path_array[i];

path_add_point(path, point[0], point[1], 1);

}

path_start(path, 3, path_action_stop, 0);

(1 edit)

You might want to make z step equal to the absolute value of  speed + 1 (speed on x/y axis only). Then, the further (i.e. faster) you step into the slope, the higher the step the player can take. Keep in mind that this could allow the player to climb on anything if their speed exceeds the height of the object.

I will definitely do that, thanks.

(1 edit)

In order to do precise tile collisions it would require a navmesh system, the A* is a grid based system and only handles navigation with rectangular collisions. I will look into it and see what I can do.

Sounds like a good future update for this asset. Something like ap_grid_add_tile_layer(...)? And mask out specific tile ids as walls

Yes

Game Maker Studio 2 asset package. Drag it into the game maker to use.

I see, I will be modifying the metadata to have MIT for the code and CC-BY-SA 4.0 for the assets. Thank you.

CC-BY-SA 3.0

Thanks, I appreciate it. When I have some time I will add tutorial #5.

I am unable to do most paid work since I don't have a lot of time to get involved in projects that will require copious amounts of development. My work as an Embedded Systems Programmer is a demanding task, so this is more of a hobby for me at this point.