A downloadable game for Windows

GMTK 2023 Entry

This is my submission for the GMTK jam, Roles Reversed.

Before we continue...

Feel free to avoid this entry / not vote for, as I don't even consider it as a valid entry. I just wish to submit it so it is here historically.

I am also treating it as a 'blog entry' for future reference. A means to learn from in future jams. I usually just don't submit unfinished games and leave them as drafts in my itch.io archive, but I wish to change that going forth.

Controls

Left click in an area in space, this is the direction the asteroid will fly.
Clicking when the asteroid is outside or in the red launch zone will send it off at a normal speed.
Click when the asteroid is in the green launch zone will apply a speed boost to the asteroid.

Press 'R' to restart the game, press 'Esc' to close the game.

The concept

I wanted to play off the classic game, asteroids. You know the one, where you're a little ship and have asteroids of all shapes an sizes get hurled at you.

So in this game, the player controlled the asteroids against incoming waves of ships (In my mind they were colonising ships!).

The planet would of been sentient, with animated facial expressions against the incoming waves. It would of then been the player's goal to stop as many ships as possible, with as few asteroids as possible.

The planet

This was the player essentially, surrounding it was rotating asteroids which would be the munitions.
The player would click their mouse in a direction on the screen, as the asteroid passed through each section in the 'Launch Zone'. This would then detach the asteroid and send it towards enemy ships.
Once an asteroid is sent off, it can not be recovered until the next round. These asteroids were randomly generated, so each round would give you different combinations.

---

The launch mechanic

So the idea was you send a launch request by left clicking the mouse. If it was outside the red area, the asteroid would suffer a speed penalty. Red would launch the asteroid normally and green would apply a speed boost.

---

The asteroids

Each asteroid would have different speeds applied to them by default, to reflect their size / mass.
The large asteroids were brutes, they'd hit their targets and explode. Most likely destroying their target, sub asteroids would appear and lunch off again to hopefully hit more targets.
The medium asteroids were standard, no unique mechanic other than 'Hit the target to destroy them'.
The cluster ones were my favourite idea, where they would go through ships up to 2 times, then being destroyed on the final target. Smaller damage, but their speed was to reflect them just shooting through ships at such speed.

How did it go?

Overall the jam was a failure. I was not able to produce a fun mechanic in the first 24 hours, resulting in me hanging my hat up on the Sunday.

Rather than panic implement fixes, the prototype would of suffered in areas I'd wish to focus on today. Such as progression, scoring, sfx, animations, UI design etc.

The issues

The main issue I had was to do with the orientation. Ships would spawn on the Y axis greater than the play zone, this would introduce a threat of enemies coming in at interesting angles.

The problem with that was trying to guess the trajectory of an incoming ship was very hard on a horizontal plane I found. I don't know about your brains, but mine just couldn't cope with it well. This should of been a sign very early on during Saturday, but alas it came to me in the early hours of Sunday morning before I decided to deem this jam a failure for myself.

That was it mostly, I spent a lot of time Saturday tweaking enemies spawning in, making asteroids configurable and playing around with the launch mechanic (the core mechanic).

What I would of done differently

Below is an example of how the game should of looked from the start.

With the play zone being vertical, I was better at guessing ship trajectory and hitting 9/10 times. I had to fiddle with how I handled enemy spawning, as before I was using a Polygon2D in Godot, which works well on a horizontal plane, but not vertical. Ended up just hard coding the spawn area. But In the future I would use two Node2D's to be the Top-Left and Bottom-Right area and just randomize between the set of values there.

I think that would be mostly what I'd change as I didn't come across any other issue. I imagine the rest of the game would of flown fine. As simple as the game would of been, it wasn't going to be ground breaking. But I would like to revisit it at some point and implement my original theory.

Features for the future

  • Implement original asteroid ideas (mentioned previously).
  • Implement stages of increasing difficulty. Harder ships, hard-coded asteroid configs per level.
  • Harder ships would be very slow with lots of HP, perhaps treated as a final boss.
  • Randomised planet aesthetics, animated with rotation and expressions to simulate sentience.
  • Scoring system.
  • Experiment with asteroid launching, maybe have separating belt on either side of the planet which could be shot with either left or right mouse buttons.
  • Launch trajectory indicators.

Assets used

Assets used in this jam were from Kenney.nl, under his 2D space category. Thank you as always, Kenney.

Thanks for reading!

If you've gotten this far, then thank you. If you have any input, feel free to leave a comment. I struggled a bit with coming up with a simple enough idea for this Jam. I was also lacking with time available for it, but I am still happy enough with what I was able to output and contribute to this entry.

Download

Download
GMTK2023-ReverseAsteroids.zip 66 MB

Leave a comment

Log in with itch.io to leave a comment.