Update 5: Working with Slopes and Tile Priorities

Small update. No new ROM yet but I have been working with the slopes and tile priority feature (where the actor is behind selected tiles) built into GB Studio 3.2. It took me a bit to understand why I couldn't get slopes to work until I found out that I needed the latest PlatformPlus 2 (alpha) plugin.

I have attached a GIF showing these two features in action. It looks pretty neat and I intend I using both of these a lot.

I still have my TODO list from Update 4 and once I work out those two items, I will share an updated ROM.

Things to do

1. Optimize/fix collision detection for when player gets hit AND when player attacks the actor. It works but there are some quirks.

2. There is also "a glitch" with the map feature in that, if I kill an enemy or all of the enemies and THEN view the map. Restoring the current state from stack will also respawn those enemies. This doesn't seem right.

Get The Cult of Blood

Download NowName your own price


Log in with itch.io to leave a comment.

Really digging this aesthetic, man!  As far as the map glitch, no clue how to really fix it, but what if for each scene you had a counter for the number of "alive" enemies and kept their positions in memory and then loaded them back?  I'm fairly certain you're on the right track here with the fact that loading the stack back probably brings them back to life.  I think doing that essentially reloads the scene.

I'm assuming when someone hits the map button that triggers the stack save and you aren't saving it at scene load?  I haven't looked too deeply in to stack save/load since for a turn based rpg with random encounters it doesn't really matter much.

I am working on exactly that right now! That is, using local variables to keep a counter. 

Hmmm. I didn’t think about position. I am glad you brought it up. Thank you!

Yes, I am using the stack save/load functions but for some reason it doesn’t maintain the actors’ status. I haven’t drilled deep enough to understand why, yet. Time is my enemy here. 🙃

I wonder if the stack save preserves position. I will try to sort this out during the weekend.

I wonder if the stack save preserves position.

For what it's worth, when I transition from overworld scene to my battle UI scene, I have to store the actor's position and then restore it when I load back to the overworld map.  I'm not sure if there's another / better way to handle it, but that's what I'm doing when I restore the stack.  I'd imagine that for a platformer / metroidvania it's a much bigger challenge since you could have a lot of enemies per scene to keep track of.

I will need to think through the positions piece of it. I can for certain say that the player position is preserved when saving/loading to/from the stack. I just need to verify all of the other actors. My initial thought was to rely on variable flags for enemy status. That way, I have 16 bits to work with and can limit everything to a single local variable. I don’t ever intend on exceeding that number of enemies per scene. And during scene load, it would check against each flag to determine whether to activate the actor or not.

(2 edits)

> Really digging this aesthetic, man!

Thank you! Originally, I was working on an RPG, which I will return back to. I just checked the code into git and will return when the mood strikes. Lately, I have just been feeling this and despite it looking and playing a lot like Castlevania, I will be leaning more towards the Metroid side of things when it comes to certain game mechanics. More specifically, the OG, Super Metroid (the best damn game in the entire universe). 😀

I want to avoid certain RPG elements such as level building and massive item collecting and focus more on obtaining key elements or skills to progress throughout the game. The focus will be on the adventure itself.