gamedev
Got the enemy to attack when the player is at most, 4 tiles away from the player and is facing the player. Though admittedly, it should be lower. I was just testing the conditions and I will lower the range to make it more reasonable.
I also got the hitbox to change size during the attack, but that's not demonstrated in this recording.
gamedev
Added a UI bar at the bottom which displays the current tile. I also added a yellow outlined rectangle which represents the area that is actually seen in game. Since the player can walk to one side and appear at the other, I have to include tiles that appear offscreen, so naturally the editor window is larger than the actual game window. This outline shows what will actually be visible.
gamedev
Editor now supports all current object. You may notice a bug in this recording after saving with the fourth enemy being in a lower y coordinate after reloading the file. That's due to the fact that this particular enemy is larger than the game's tile size. I'm working on this issue right now.
gamedev
I'm now using triple digit values for each tile in the tile maps because I've added more tiles to the tileset and it gotten to the point that each tile needs a double digit value along with the single digit value that gives the behavior of each tile. Naturally this breaks compatibility with the levels of the older format and I have to convert them manually, and have the reconfigure the level editor as well, but that's the price you pay.
I didn't do it earlier because I didn't expect to use that many tiles. I then decided to include background tiles, so naturally that increases the amount of tiles in the tileset.
You may notice that these tiles are from Mario Bros and CaveStory. I do these as place holders, and I eventually create my own.
gamedev
Reconfigured the level editor to support the new format. I've also added a way to change the tile behavior and view the behavior of each tile in the editor. Tiles without an overlay are background tiles. Yellow represents solid tiles. Dark blue are platform tiles (ones where you can jump to from the bottom). Tiles with red overlays are spike tiles.
re: gamedev
re: gamedev
@binkle I ain't touching Visual Studio. I don't know what GDB is. Is it GNU Debugger or something?
re: gamedev
re: gamedev
@xianc78 @binkle What the fuck. And how long were you using C++? Ye, it's no wonder segfaults were an issue
compile with -g
run: gdb ./program
type: start
it tells you exactly where it segfaulted with 10x more useful info than you'd get in python or something. Type `p x` or `p *foo.bar` or whatever to inspect variables, bt for a backtrace
@luke The biggest mistake was shoehorning in horizontal levels into a game the originally only supported vertical ones.
@luke For vertical levels I have the player go from one side to the other. This required me to include tiles offscreen. I shoehorned in a horizontal mode, but that required extra code (like repositioning the camera). Too make matters worse I was also working on the level editor so I had to shoehorned those features as well.
Some levels ended up looking corrupted from the level editor to the game itself as a result and I was constantly fixing it.
gamedev
Honestly, having a compiler/debugger telling you exactly what went wrong is something I like about higher-level languages like C#, Java, or Python, instead of this "segmentation fault" bullshit.