Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Yeah, the way RPGMaker MV handles collisions with tile definitions is...arcane to say the least. I've become better at anticipating it over time, but a few do still get through, and again, this is the first game, so it makes more sense that it would be here. Congrads though, this probably means you're the first of any player to try walking into that particular piece of counter! Or at least the first that did and then bothered to report it. I don't want to bother people with another update so soon, but this is fixed on my local copy, so if/when another general update gets pushed, it'll be included.

(+1)

Collisions with tile? Is this some kind of term from RPGMaker? I don't know much about game programming, especially on RPGMaker, I only ever worked with Clickteam Fusion 2.5 when I wanted to make my own parody of FNaF, but then I gave up on it.

RPG engines typically build maps out of "tiles", individual squares that can be terrain, floors, walls, clutter etc. These tiles are pulled from "tile sheets", large image files with a bunch of tiles laid out in a grid. In RPGMaker MV, you also define a number of properties for each tile in programming: how "high" the tile is (below player, same as, above). If the tile is set to "same as", you get a "collision" when attempting to walk through it: the engine won't let you. Thus, things like floors are usually set to "below", and things like walls and tables to "same as". This becomes complicated in MV however, because you can layer several tiles on top of each other, and the last to be laid down dictates the "height". This can break things:

1. You define a wall tile, and set it to "same as"

2. You define a semi-transparent crack tile, and set it to "beneath", because you want to use it on the floor and have the player walk over it.

3. Later, you forget about this and put the crack on a wall. Now, the player can walk over/through the wall, because the crack's height properties override the wall's. 

This is just one example. The point is there are a lot of sneaky edge cases in MV where something like this can happen. I've become much better at anticipating and correcting them, but like I said, this was my first attempt at an MV game.

(+1)

But how did it happen that one part of it allows me to follow it, and the rest, on the contrary, works as it should? Judging by how you described it, the texture of the crack in the program remembered that it should be "beneath", which allowed the player to walk on the wall, but what about the table?

(1 edit)

Like I said, that's just one example of what can go wrong. Another: tiles can also have directional collision. Say you have a tile with a fence on the far right side. You still want to be able to exit and enter it from the top, bottom and left, just not the right. So you can set that. This can cause problems if you set this up custom for a tile and then forget about it. You can also set certain tiles to programmed "regions" and, with a plugin, tie specific lighting effects to those regions. If you want to just apply the lighting effect without a new tile being visible, you can use a fully transparent tile...but then it's easy to forget you've placed that tile, and you can have the crack situation all over again. The tiles for the tops of walls are tricky, because they're usually impassible/"same as character", but what if you want to be able to climb a ladder and then walk around on those tiles, but still collide with them when you're on the ground? And on and on.

I actually have no idea what caused this particular collision issue, and it's not worth the time to fully figure out. Luckily I don't have to: RPGMaker MV has a brute-force "fix it" solution for this that works every time: you just put down an empty "event" on the tile. Events are programmable containers that are used for npcs, buttons, anything that changes throughout the game basically. And they ALSO have a "layer height". But THEIR layer height always overrides anything else on the tile space. So I just put down an invisible (to the player) event, set height to "same as character", and no more walking on the table. Ideally of course I WOULD figure out the actual problem and fix it, because slapping these down everywhere introduces clutter. But sometimes it's difficult or impossible to say why the issue is happening, and sometimes it's obvious WHY, but there's no easy solution, so I have to resort to this.
To answer your question directly: Something is different on those counter tiles at the bottom that's causing this. What is it? No idea. But I can still fix it, so I have.