Comments

Log in with itch.io to leave a comment.

Hello Peter
There is a small problem with corner correcting. If you jump and hit the corner, jump shortens as it uses previous frame's vsp.
In Mario games, player just gets corrected around the corner and it doesn't shorten the jump height.
Do you have any idea how to get around that?
I tried to make _vsp_previous the same as jump_height, but then it is too high because we normally use gravity to slow down the vsp.

Hey joe,

I notice what you are referring to, and have now fixed it to ensure it works as you explained.  I've uploaded a new version with the changes, v1.0.36.  If you want to copy/paste the new code to your version, just look in the collision function and it's the code under the "corner correction" section, lines 129 - 160.

Hopefully it all works as expected, just let me know if there are any issues.

Cheers,

Peter

Wow, that was quick. Thank you very much. I wouldn't come up with a solution in a week :)
Works great but, there is a small bug, if we clip the corner jump is one pixel higher then if we don't clip the corner.

(3 edits)

You're welcome, thanks for pointing out the issue.

The single pixel is interesting.  Here is a vid from my testing.  The value is the y position the player reaches when we either jump normally or jump into a corner.  Both produce the same result of 498.  Have you changed the game resolution maybe?

I'm sorry, problem was with my modified collision code.
It works fine if I comment out this line:

if tilemap_get_at_pixel(global.map, bbox_left, bbox_top - 1) == VOID y -= 1;   

Perhaps I had the problem because I don't use decimals.
I modified the collision code so it works nice without decimals so I get smooth movement.

(1 edit)

Hi Slyddar, absolutely loving this project. I want to be able to take damage colliding with the enemies and I've uncommented the appropriate code, but I'm still passing through them. I've uploaded a screencap of what the code looks like. Any ideas how to fix this? Thanks.

Link to the bigger image on imgur

(+1)

I've had a look and that section was uncommented for so long, after I did some updates it made that line not applicable anymore.  So I've made some changes and have updated the project with the new version.  If you want to know what was changed, there's a dev log outlining the changes.

Let me know if you have any issues.

Cheers,

Excellent, it works perfectly now. Thanks Slyddar!

(+1)

Thank you for the update Mr. Morgan! :)

Hello again! I would like to know if it is possible to make the collision 16x16 instead of 32x32. As my tiles are 16x16, I have a certain limitation when creating the map. Thank you for your attention! Sorry for bothering

You should be able to just change the TS macro to 16 to use 16x16 tiles but you have to be aware of the limitations.  All objects colliding with the tileset will need to not have collision masks bigger than 16x16.  If you do have bigger masks, say a 24 x 24 for example, you can imagine if you have one tile and the instance trying to fall onto that tile, because we check for a collision on the 2 corners of the mask, it will simply slide over the top of the tile and not collide.  If you want bigger object masks you will need to add an additional collision check for the center of the mask horizontally and vertically using the same format as the ones I've used.

Hello! How are you? I'm looking at the code and I'm learning a lot with it, however, one thing I didn't understand was how to create a new room and how to configure it. In addition to, of course, the character's spawn, could you help me with that? Thank you very much in advance!

Hey!

I’m actually on holiday for this week so don’t have the code in front of me. I seem to recall there are some comments in the read me referring to creating more rooms, so maybe check that out.  I’ll be back on the weekend though, so will take a look and get back to you at that time.

Cheers,

Hey! Thanks for the answer. I was taking a look at the file explaining how each part of the code works, and, talking to a friend and analyzing it, I was able to understand how I can manipulate my spawn and how I can create a new room. It ended up taking me a while to understand, but I managed to do everything right. Thank you for your attention! Happy holidays (pardon my English, I'm using Google Translate).

Hi. Any chance we'll see support for bigger sprites soon? Cheers.

Well the notes do advise it is for 32 x 32, but in saying that, I have dabbled in adding code for 64 x 64 collision masks, but using 32 x 32 tiles.  It's still not something I'm completely happy with, as there are a couple of bugs to iron out.  If I can get them sorted I'll release it though.

(+1)

Here's an update on what I've been working on.  I have easily added 64 x 64 masks into the collision system, but the circular moving platforms are still not perfect with these larger masks.  I have other projects I need to complete right now, so need to put this update on hold, but I will come back to it in a few months when I have time.

Hey there, have you had any update on this? I would like to use 64 x 64 sprites with this and not really sure what exactly would need to be changed to make it work. If the only thing not working with it is the circular moving platforms I would be fine with not using those. Any help or pointers in the right direction would be appreciated!

Hey BenWath!

Actually I've just uploaded a new version which supports mask collisions which are 2 times the tile size, so by default this would be 64 pixels high/wide.  My testing shows that all moving platforms now work fine with this size mask, but let me know if you have any problems.
It's available in version 1.0.33.

Cheers,

Peter

It's great, except I've uncommented the code for simply running into the enemy, and I still run straight through them.

(1 edit)

Hi Steg,

I'm sorry for not replying sooner.  Itch doesn't seem to notify me of comments here, so I need to update my settings to fix that.

As for the bug you mentioned, I totally agree it did not work.  So I've  released an update with a restructured process_enemy_attack script, adding a source_id and owner_id argument, so it now can process collisions, as well as make sure entities face the correct direction more efficiently.  The enemy idle mask has also been adjusted, and set as the default, which makes it fairer for the player.

Hopefully it works as intended now.

Cheers,

Peter

Thanks! Will redownload and test it this weekend!

Is this working on GM 1.4 ?

Sorry, it is made in Gamemaker 2, and the setup of tiles are very different for GM1.4, so it will not work there.

can you add slope movement?

Heya!  At the moment I don't have a tiled slope method that is very different from what others have to offer, as it's not something I've worked on too much.  So for now I don't have any plans to add slopes to the engine.

Do you plan to update Udemy course and add moving platforms or other stuff  from this project?

(1 edit)

Hey Jaxas,

That course is almost 2 years old, and even though it's still completely relevant and useful to anyone making a game now, the weeks I would need to update the course with this content would be a massive undertaking.

This engine could be thought of as an extension of that course though, and the descriptions in the read me outline how everything works, so if you have knowledge of the Udemy course, you would be very well placed to understand the code in this.

So even though I keep the Tile Based course current, and have recently recorded new sections to ensure it is GMS2.3 compatible, I'm currently working on my next course, so do not have the time to add new content into that course.

Thanks for the question though.

I already purchased it, it is good but I think there are something miss as @edusword said. Moreover, I think you should add one more boss with more attacking or effecting like that will enrich type of enemies (because this asset now just has one type of enemy). I hope you will do that

The problem with adding too much is it essentially becomes a game on it's own.  The structure I have added allows others to learn from how I've designed and layed out various elements, and then build upon it.

The one enemy shows how to set up enemies, so it can be replicated and reproduced for others.  If I add too many enemies, your game is not unique, as everyone ends up with the same.  I really wanted the engine to be a base demonstrating best practices, allowing you to extend with the knowledge from the examples in the project.

In saying that, I'll look at adding a few enemies that I had used in my Tile Based Platformer Udemy Course, and I guess people can just not use them if they don't want to.

Thanks for the feedback though, and also thank you for purchasing.

Great engine! Something I miss (suggestions): - Diagonal terrains: slopes (up and down)
- Diagonal stairs (as Castlevania)
- Vertical ladder or rope movement (up and down)
- Horizontal ladder or rope movement (hang from it)
- Moving vines (jump to and from them)
All these actions will be amazing!!
Thank you very much!

Thanks for the kind words.  They all sound like great additions.  While I can't promise anything, I'll add them to the suggestions list.

Cheers,