Super Har-Type Postmortem


Time Spent on Project: ~8 hours

My goal this jam was to make something with original (not necessarily good) gameplay, a passable story, and finish messing around with my schmup action sequence idea I had started many months ago, all without over committing myself. I succeeded! I got the project done, get a decent reception (I'd say scores were a little inflated), and was happy with the overall project quality. Let's look at the core of the game: schmup action sequencing!

Combat

There are three battles. Each battle consists of one core action sequence common event that is forced at the beginning, and a set of auxiliary action sequences to control things like actor movement, collision, and enemy attacks.


The core action sequence for each battle creates a loop that checks once per frame for inputs. For example, if Left is being pressed, another common event is run in parallel which moves Oldhar to the left 5 pixels. Holding [OK] shoots. Enemy attacks were included within the same action sequence on a timer, so for example the first enemy would attack every 70 frames.

Actor and enemy attacks were a total pain due to the absolute lack of collision. There was no easy way I could figure out to make sure that the things Oldhar shot would damage the enemy when they "hit" them, and that Oldhar would be damaged when he was "hit" by the enemy. So I just came up with a shoddy brute force solution.

Here's one of my script calls checking for the actor's location.

BattleManager._target.battler().x -200 > BattleManager._subject.battler().x && BattleManager._subject.battler().x > BattleManager._target.battler().x - 400 && BattleManager._target.battler().y + 50 > BattleManager._subject.battler().y && BattleManager._subject.battler().y > BattleManager._target.battler().y -150

I came up with a rough location for where an attack would hit, then if the actor was within that x, y range, he'd get hit. Ok, not pretty, but it works for flinging a bomb or things like that. But how about Oldhar's shoot? If he's close to the enemy the collision will be different than if he's far, and the timing of the hit would be different too. There's gotta be a better way, but all I could figure was having different events occur depending on how far Oldhar was from the target. 


So the timing and collision would differ if Oldhar is 0-99 pixels away, 100-199 pixels away, etc. Miraculously, this seemed to work well enough, even if the timing wasn't always perfect.

I did have some moving enemies at some point, but that made timing even harder, so I scrapped it. Lastly, I noticed I flubbed a few of the script calls, and the damage hitboxes are waaaay off. I had time to change it but I refused to look at 5 line script calls again. Oh well!

The result of all this work was an interesting battle system, but one with easy exploits. There were plenty of safe spaces with which Oldhar could massacre innocents. I was fine with this. Better to be cheesable than to be too hard.

The one big mistake I made was not explaining that the player was supposed to hold the [OK] button to shoot. Many repeatedly pressed it, which made attacking patchy and unresponsive. A single play tester probably would have fixed this. When will I learn!

Lastly, there is a secret attack that no one discovered. [Shift] shoots a homing attack at the enemies. Even more cheesable!

Story

The Haroldverse I've created so far is one long, not too serious story. This entry wasn't too different. I specifically avoided much humor, but it's certainly not some dramatic or hard-hitting story. It was mostly a means to convey the weird battles. Still, I enjoyed how the characters came across and their respective personalities. I'd love to actual develop some characters one day, but some shallow but pithy dialog will have to pass for now.

I also gave up about halfway in spicing up dialog, giving characters movement, reactions as they speak. Literally no one seemed to notice, so I feel alright about this time saving sacrifice.

However. . . I hope (time allowing) to take a different approach next Harold Jam and actually tell a real story about characters. . . we'll see how that plays out. Suffice to say, this is not the end for Human's Haroldverse!

Final Thoughts

I don't think RM is designed for shooters. It was fun, and maybe I'll include a mini-game inspired by this one day! But the whole collision thing, unless there's a much better way to do it, led me to some strong conclusions about its viability as a core mechanic. 

I did learn about loops, parallel events, and a few script calls for character and enemy location! I also did a fairly good job of finishing all the core parts of the game, then filling in the details afterwards. This reduced my stress and time commitment greatly, and I was able to create a game that was maybe 80% polished in about 1/2 the time it would have taken me in the past.

Files

Super Har-Type.zip 170 MB
Jun 20, 2022

Get Super Har-Type

Leave a comment

Log in with itch.io to leave a comment.