Origins and inspirations

In 2012, another member of the Wolfire community invited me to participate in my first game jam. SteelRaven7, JohannesMP and myself took a week to make a game called FLAT with experimental movement controls for the first 7DFPS challenge.

I know that we'd each had some prior experience making games, but I think that all of us were keen to step up and stretch our abilities beyond the sort of work we had been doing, and that made for an exciting time.

Before the jam began, and before JohannesMP and I were recruited, SteelRaven7 had done some preliminary work on getting an Allegro based engine up and happening. The name "FLAT" was a working title, picked because the game wasn't going to have any verticality.

Well hello there, SteelRaven7 here. Just teamed up with a couple of persons from the wolfire community, Cheeseness and (possibly) Johannes. We’ll be working on a game with a new take on old school shooters, currently called FLAT. As the name implies, there will be no vertical axis to speak of (mostly because this is my first time coding a 3D FPS engine from scratch) which we hope won’t hinder the gameplay, but instead expand it due to some game design decisions, for example:
SteelRaven7's initial design doc

In addition to doing some preliminary tech work, SteelRaven7 had also put together an initial design doc that outlined the plans we had at the start of development, which you can read in full here. From the outset, our aim was to make something that was tuned to be short, but have a high skill ceiling that would hopefully allow players to feel like they were growing/improving across multiple attempts.

The initial intention was to have a control scheme similar to Dynamix's Tribes (which I've never played - I understand that the inspiration is visible to many players, though!), where players could hold down a button to remove friction, possibly with inertia being given by boost pads. We settled on something a little more interactive, drawing inspiration from the speed skating event in Epyx's Winter Games (which I'd played on my family's Amiga while growing up).

A series of concept art by JohannesMP

We didn't really have rigid roles across the jam, but primarily, SteelRaven7 focused on programming, JohannesMP worked on concept art and audio, and I focused on game art. We tried to publish test builds regularly across the jam, showing our progress as the game came together.

Once we'd established that we were going to be pursuing a skating mechanic over a skiing one, we leaned into that framing, adding reflections to suggest ice. To give the sense of an alien planet, I made a series of giant crystal formations to fill the landscape with.

A series of screenshots showing bugs and progress during 7DFPS

We decided to make the end-game boss a glowy segmented dragon, which I think is the element of the game that the three of us had the most combined input into. JohannesMP gave us our first peek at it in the concept art above, I turned that into a 3D model, and SteelRaven7 wrote the code that brings it to life.

I modelled up a character that I hoped would convey a sense of sci-fi speed, giving them glowing neon trimmings, ice skates, and gauntlets. To speed things along so that rendering could happen unattended, I set up a bank of cameras and wrote a Blender script to export every frame from each of the game's 16 possible angles.

Though this is still fairly low poly work, it was probably the highest fidelity human I'd ever attempted, and I realised pretty quickly that a decent face was beyond my abilities. To get around that, I started looking at the kind of elongated aerodynamic helmets that some cyclists wear. I also drew a little inspiration from the helmets worn by the gunners in the original Star Wars film, which had a heavy underbite giving emphasis to a narrow visor. Inverting that, I gave our skaters' helmets a protruding "brow," which I hoped might make them feel a little more aggressive.

A series of screenshots showing FLAT's 3D models in Blender

We had settled on using the same skater model for the enemies as well as the player, which cut down the overheads a little bit - I had to put a bit of work into the existing arm and hand meshes to make them look passable for the "view models," but I was able to pose the existing model for the game's splash screen without any modifications. This lead us to some rough story ideas about the Pulse Dragon enslaving your people, but we didn't really end up with time to flesh that out into anything that feels like it carries any weight or resonates meaningfully with the game itself.

I struggled a bit with the weapons, but after a false start or two, I was able to do something that felt like it fit with the character design. In my mind, the weapons are powered via the same energy that makes the player's suit glow, and I think I managed to carry that through a little in the final weapon models/space hair dryers.

A series of images showing FLAT's weapon sprites alongside different angles, and a first attempt that looks really bad :D

As the week closed out, we put aside a lot of ideas that we had hoped to explore. We cut things like custom input bindings, difficulty settings, a fourth weapon, more varied environments, passive creatures, and multiple levels in order to keep the scope down to something that we could achieve. It was tough to let go of a lot of that stuff, but it was the right call to make, and even now, I'm impressed with how we all handled wrapping up the project, especially considering that we'd overworked ourselves a bit.

While I am still proud of the work we did, my perspectives on jam time constraints have changed, and I think it's important to acknowledge that while working on FLAT, I attempted to brute force those constraints by avoiding sleep and rest instead of trying to approach them as a puzzle to be solved through time management. In hindsight, I don't think that really made my output any better.

(2012-06-16 10:56:22 AM) Cheeseness: Updating anything is a bit beyond me at the moment. I need to crash (it was Wednesday last time I went to bed)

The jam ended while I was sleeping, so I feel like I missed out a little on release celebration/camaraderie with my collaborators and the rest of the 7DFPS community. It was a fantastic experience though, and I think all three of us felt like we'd accomplished a lot.

A screenshot of FLAT as it looked on the 7th day of development

So far as I can remember, FLAT was positively received in general (with difficulty standing out as the biggest friction point). It's my recollection that it even received mention in a few bits of press coverage as one of the jam's highlights, but it seems that either that has all been lost to time, or my memory has.

The end-of-jam builds of FLAT definitely had  a few rough edges, and there were a few items that didn't find their way off the todo list that felt like they would be low effort to resolve. I'll touch on that in the next post!


Leave a comment

Log in with to leave a comment.