v2.0.0 - New mode and bugfixes


Changelog (abridged)

Here are the changes that directly affects players:

  • Reset vertical speed if OOB and bellow the screen
  • Stop triggering screen transition if a player is in knock-back
  • Add 0.5s of iframes after the knock-back is over
  • Fix teleporting when the target is moving toward (and touching) a wall
  • Retrying on the first map (and if there's no save file) does not crashes the game
  • Fix small graphical glitch
  • "Fix" the "screen wrap" bug
  • Adds a new MT version mode, a version made specifically for Mystery Tournament 12

About this new version

It's been almost 3 years since I first published this game. For most of this time, I left the game unchanged. At one point, I made some small optimizations to it and changed the global palette (removed a color to make it run under 7 colors + alpha). But for the most part, the game has been the same for these past 3 years... Until now!

Almost two months ago, I decided to try to take part of Mystery Tournament 12 [MT12] and submitted this game to it. Some people tested it and pointed out a few things that could be improved (both generally and so the game worked better within the tournament's structure). I fixed the QoL stuff and silently pushed it here, but I waited until after the tournament to deploy the custom levels.

Since I would have to make some slight modifications to the game so both versions could co-exist, it seemed like a shame to leave a lot of things unfixed. And thus started my week of fixing...

First thing first: this game is **old**. It was done in the previous version of my framework, which is mostly an ugly hack over SDL 2, and I didn't really know what I was doing at the time. So every time I tried to fix anything in the game there was the chance of breaking everything terribly. (not so fun fact: this update was delayed by around 3 hours because on my final tests I learned that i had terribly broken some things ¯\_(ツ)_/¯ ) Not only that, but I used to build this directly on Windows, instead of through a cross compiler, so building it for Windows wasn't really trivial. I rewrote its Makefile to ease my life if I ever go back to working on this game.

In the end, I fixed a lot of small bugs, most of which hadn't even been reported, and update how the game handles some assets... Now the Linux package is pretty identical to the Windows one (albeit the different build target).

Changelog (complete)

Reset vertical speed if OOB and bellow the screen

A MT12 tester found a way to go out of bounds and play levels as a single character. However, they weren't able to teleport back in bounds because this game does not have continuous/sweep collision.

Stop triggering screen transition if a player is in knock-back

This has been known forever, but I never really tried fix it... I ended up following a MT12 tester suggestion and finally fixed this.

Add 0.5s of iframes after the knock-back is over

This was also another "feature" of this game: you could be combo-ed to death by enemies. A MT12 tester pointed this out and I finally fixed it.

Fix teleporting when the target is moving toward (and touching) a wall

For a long time, this was imposed onto the game to avoid clipping into the wall. In order to fix that (and considering the overall layout of the maps), I simply placed the teleporting player slightly away from the wall... It's not pretty, but it gets the job done.

Fix "screen wrap" bug

This is a fun one.

A MT12 tester pointed this out to me, but I wasn't able to reproduce it. In the ended, I couldn't fix it until it was played in the competition... Fortunately, for me, it happened live: https://www.twitch.tv/videos/240171282?t=54m05s.

Seeing it happening, I was able to understand how to reproduce it, and then I finally went on to debug it. Suffice to say that it has to do with saving some global variables to a file and saving up the trigger for an action in dumb ways.

Since this can accidentally happen, I had to fix it. However, it would be a pity to not be able to exploit it (and I don't even think it's that powerful), so it still happens if speed run mode is enabled.

Fix small graphical glitch

Because of the way that the game loads maps, objects could be on the wrong animation tile during the end of screen transitions. This wasn't harmful at all, but it did look weird. It was a simple one-liner.

Fix retrying on the first map

For whatever reason, I erased my save file and hit retry on the first room. Turns out this wasn't handle and the game would exit (gracefully, at least).

I fixed this specific bug, but it turns out that I failed to test it properly... Hitting retry on the first room can lead to interesting results... At the very least, it does not break the in-game timer.

Fix parsing levels on Windows

I have to talk about this.

For some dumb reason, I thought it would be a good idea to open the map files in text mode. Do not ever do that (unless you are actually using a text file for simple storage of text), as it messes with the line ending and quite easily breaks bad parses...

Some tips that I have are:

  • Use an well defined format
    • Specially if there's support on the language, on a lib
  • Do not use the end of lines as the delimiter
  • Write a goddamn good parser

Fix missing .dat on audio assets

This is another dumb thing... For a long time, audio assets on Linux didn't have any extension at all, while they did have a .dat extension on Windows.

This had to do with me wanting to "ease" supplying assets already parsed, so loading would be faster... Turns out that supplying correctly encoded files solves lots of weird bugs (like Linux occasionally not being able to find some sounds).

Adds a new MT version mode

This new mode is a slightly modified sub-set of levels. It makes the following changes:

  •  The health location has been revealed on every map
  • Branching paths have been removed
  • Most of the really-tough-and-pointless rooms were sealed off

Otherwise, this is the exact same game... And again, this was made based on feedback from MT12 tester.

What now?

I'll eventually go back to making "JJAT+"/"JJAT 2" (this won't be the game's final name). Hopefully there won't be any other really terrible bug in this game... At least, none that needs fixing...

I won't give any that date on that, but I do want to get a public demo out eventually...

For now, it's 1 AM here and I'm off to sleep! (i.e., yay, publishing without proofreading... what could go wrong?)

Files

jjat-linux32.zip 8 MB
Version 2.0.0 25 days ago
jjat-linux64.zip 8 MB
Version 2.0.0 25 days ago
JJAT for Windows 32/64 bits 8 MB
Version 2.0.0 25 days ago

Get JJAT

Leave a comment

Log in with your itch.io account to leave a comment.