Master of Dev

Magnetar - Global Game Jam 2022 - Day 1


It's been a long time since I've done a game jam, so I've decided to take part in Global Game Jam 2022. I've finished day 1 (Friday the 28th of January) and made both more and less progress than I would have liked.

First off, the theme. “Duality”. It's a good theme, and I had plenty of game ideas to work with…that would have taken well over the allotted time span. Still, I've finally settled one one. I don't think it's necessarily a ‘good’ idea, mind, but it's still a good way to experiment with the idea.

My project is called ‘Magnetar’, and if that wasn't a big enough hint, the duality I'm aiming for is with magnets…IN SPACE!

The general game will be a shmup/bullet hell based in a typical space-based environment (Reduces the needed assets 😉), and alongside the standard yellowish-white bullets that act like normal bullet hell bullets, there will also be red and blue ‘magnetic’ bullets, representing north and south or negative and positive poles respectively. The player, using standard shmup controls, will fire their normal bullets by holding the spacebar, but when the enemy throws magnetic bullets their way, they can left or right click on the screen to send a specific positive or negative in that particular direction (The standard bullets are un-aimable like in a typical bullet hell), with this bullet either attracting or repelling the enemies bullets and - likewise - the enemy bullets affecting the player's own. There will also be suitably charged enemies, meaning that these magnetic bullets can home in on the enemy - unless they swap polarity.

Now, I don't have 100% confidence in this project like I did with several previous ones (My Microsoft Excel-based dungeon crawler naturally being the best possible idea anyone can have…), but fingers crossed it turns out better than I hoped.

After day one, starting with a meeting at 5pm with the event organizer and ending when I got hungry and tired at 10:30pm, I made considerable progress. In a shocking display of creativity, I decided to do the player model before even prototyping the project for…some reason. While the model isn't exactly stellar, I did just make it in an hour and it more than conveys the idea.

The Player Ship, as seen in Blender. It looks a bit like a bird, but then I think forward-swept wings are cool.
The Player Ship, as seen in Blender. It looks a bit like a bird, but then I think forward-swept wings are cool.

With that out of my system, I finally opened Unity. For those who know me, this is a rare sight - when Game Jamming I usually do something stupid and off the wall, like my previously mentioned Dungeon-Crawler-In-Excel or building a ray-traced 255 colour RPG in the windows console. Still, other than using two Excel sheets as some form of Duality, I figured I should probably actually use something more designed for game development…this year. After sorting out a number of the usual FBX import issues, I finally had a ship in game. I wrote in a basic character controller, including keeping the ship within the visible bounds, as well as a controller for the ‘playable zone’. This allows the player's ship, the camera above and anything else directly tied to the playspace to move along a given spline (And, if I've got time, hop between splines). Rather than rewrite splines for the 4th time in my live, I decided to grab the excellent ‘Unity Spline Editor’ from OpenUPM (An excellent store of free Unity libraries) and, within a surprisingly short amount of time, managed to get the playable area moving along an arbitrary track, rotations included.

Annoyingly, the bit that got me stuck was shooting. I've built up a bullet pooling mechanism that can pool arbitrary bullet prefabs no problem. The problem is actually shooting the damn things. At the moment, I've been trying to shoot them into the global area (ie, not tied to the roving game space) as that's “more realistic”, and for whatever reason I can't get the velocities to either be the right speed or direction. Now, I am tempted to instead bind bullets to the play area, meaning that the environment around the moving space will become nothing more than a backdrop. I guess I'll just have to have a play around and see.

Anyway, to summarise, after around 5 hours of total development work, I had a player model, a player controller, a roaming play space and the concept of bullets. Not too bad I guess? Anyway, now it's time for day 2!

The Global Game Jam page for Magnetar can be found here.

The GitHub repository for Magnetar can be found here.

The player ship is flying around space.