Early in 2020, as the University term was rudely interrupted by a pandemic. To help us all cope with the new rules, and with social isolation, we ran an internal game jam called IsoJam, where staff and students were tasked with making a game around the theme “keep your distance”. One of our students – Matthew Fuller – did a more thorough write-up of the event over at Big Boss Battle, and you can find and play the game here.

For my entry, I wanted to clone a retro game and then slightly tweak some things until it became its own “thing”. This is a practice I highly recommend for people new to both the theoretical aspects of game design, and the technical side of using a game engine. It means that a lot of the core design is there, and you can see what happens to it by making small adjustments here and there.

I started out with the core movement and dodging mechanics from Frogger. After watching some reference videos of Frogger, I noted that the frog moved on a grid, but slid between grid squares. This was the central thing to get “right”; Frogger movement is not smooth-point-to-point, it’s based on stepping across a grid in time-delayed increments.

The jam theme “Keep Your Distance” was a deliberately easy one, because avoiding touching things is a pretty prevalent element in a lot of action games. “Avoid” is a main gameplay verb in pretty much any game involving spatial reasoning and peril.

I was hoping that, with the help of the space theme, I could take the jam theme a bit further, though. My “twist” on Frogger would be that instead of advancing upwards through a screen, players would move left to right between planets, and then right to left, and to-and-forth for as many runs as they could survive for.

Already having settled on a sort of 1990s Barbie/Dreamphone aesthetic for the game, I made one planet pink and one turquoise, and programmed them to inch away from each-other a bit after each trip the player made. You’d arrive at the turquoise planet on the right (delivering a love letter in the theming of the game) and then the pink planet would move further away and more layers of obstacles would be revealed; in this case, asteroids and spacecars.

My colleague and long-term collaborator Dr. Alan Meades helped out providing a massive sprite-sheet of vehicles to block the path of the player ship through space.

I added a powerup to allow the player to hold a Boost button to zoom ahead, which was really satisfying to program in gamefeel terms. I also added a shield which could be accumulated. The combination of these two powerups gave the player the ability to play in more risky way to accumulate score more quickly.

As in the above screenshot, I made each “run” between planets have a score based on how far apart the planets were, and then a multiplier which would decrease over time, encouraging them to rush back and forth.

To conflict with these scoring mechanisms, I also allowed the player to pick up 4 additional “gifts” on the way, which were all romantically themed, Valentines-day-ish gifts. These would add a bonus to the score for the run, but they lost value if they were identical. This created a tension between wanting to get back and forth quickly, and wanting to pick up four unique presents en route.

Although the theme is pretty tacked on, it felt poignant to me, to be living through this weird period of social isolation, and thinking about how important e-messaging was becoming to many of us, especially those of us separated from loved ones or partners by the pandemic and the rules governing social interactions in 2020.

I really enjoyed making StarCross, and I learned a fair few things about myself and my process as I did it:

  • I tend to lean toward making action games for small projects, even though action games are not really where my heart lies in terms of what I want to have designed.
  • That said, I really love programming game-feel and animations:
    • I loved making the ship poot out little heart-shaped puffs of smoke.
    • I loved unnecessarily procedurally-generating a starfield.
    • I loved implementing the screenshake and SFX for making the ship chug along faster when the player boosted.
    • I loved working out how to gradually zoom the camera out so that one of the less obvious “reward” for surviving a long time was seeing the enormity of space and screen crammed with cute little ships.
  • When you’re working as a solo developer, having an aesthetic in mind from the get-go (at least an art style and a limited colour palette) can really free you up to just plough ahead and not spend too much time on art assets when you should be programming.

I really enjoyed working on this project, and although it’s just a game jam game, it has a high-score feature implemented and, as such, is the sort of thing you can download here and get a few hours of gameplay out of.