On Developing Lil’ Guardsman’s Code Foundation




Getting some rest… with a new job!

Before I started working on Lil’ Guardsman as its lead
developer, I had been working non-stop in gaming for 15 years. It seemed like
it might finally be time to slow down and take a break! But no.
My last job had been at Unity supporting teams using the engine, and I was
missing making games myself. I wanted to go one more round in the ring!

I stumbled upon a job posting for a lead/solo dev on Work With
Indies from a brand new studio in Toronto, Canada called Hilltop. Its founders
Artiom and Scott had a strong vision, but desperately needed someone like
me. Their posting linked to a vertical slice they had made with a different
developer, so there was something I could play and try to understand what they
were hoping to make. I immediately recognized that the prototype had a lot of
potential, and even before I was offered the role I started working on how to
design and construct a codebase that would support their vision.

The Technical Pillars Evident in the Lil’ Guardsman Prototype

Playing the vertical slice, I determined the three technical
pillars of the game that I’d need to build for:

Pillar 1. Above All Else, Lil’ Guardsman is a Narrative Game

There are a number of specific quirks and requirements when it
comes to narrative games. Like the fact that they involve WORDS… many, many
words. The game would need a robust framework to accommodate its writing,
handling player decisions and showing the outcomes. I recognized that there
would be a need for multiple different conversation systems – both graphical
and pure text.

Based on this, I made the suggestion to use Yarn Spinner for Lil’ Guardsman.
Graphical systems tend to have problems with scaling, and issues with
localization and doing quick edits. And through early conversations with game
director Scott Christian who was responsible for leading the writing team, I
decided that Yarn Spinner was the best solution for the project.

So. Much. Text.

Pillar 2. “Papers, Please”… but Turn-Based

Papers, Please’s gameplay has a ‘twitch’
aspect to its gameplay, due to the fact that it occurs in real-time, creating a
sense of urgency and danger. From a code perspective, there are specific
requirements to accommodate timers that I could tell would NOT be needed for Lil’
Guardsman. LG is Papers, Please’s cuter, cozier cousin. It is turn-based with no
timer, and the tension comes from the player having a limited number of actions
to take before being forced to make a decision. This makes for a slower, in
some ways more methodical type of game. Instead of a tight time-limit forcing
you to rapidly analyze documents, LG allows the player to figure out the
answers while taking it slow, breathe, laugh… and then decide someone’s fate.

Pillar 3. Made In Unity

The vertical slice was made in Unity, and although Scott and
Artiom aren’t programmers, they already had comfort working with it. This is
not a big deal in the long run – there are pros and cons to any engine, and I
try to be flexible – but it’s a bonus when there is already familiarity
starting a project. And the fact that I was coming off of five years working at
Unity helping other teams solve their problems made this feel like a good fit
for me.

Prototype Conclusions

After playing the vertical slice and thinking about the project, I
shared my plan with them about how I would tackle building the game and they
hired me. And then the fun started!

Into Production

“It’s just a small, charming indie game.” No project is ever as
small as you think it is! The scope of Lil’ Guardsman started to grow
quickly. To help tackle this I was lucky that the team added an additional
programmer, Adolfo, to the project. He had been working on a separate Hilltop
game project, and when it wrapped he joined Lil’ Guardsman to assist me in the
code. This was a relief, as being a solo dev can be stressful and nerve
wracking (I mean, half of the time we are just making it up as we go
along, right!?).

The challenge of bringing on an additional programmer, especially
half way through production, was that it meant someone else was looking at my ‘dirty
laundry’ (my codebase). I had real anxiety about having outside eyes on
what I’d built. Fortunately, Adolfo turned out to be a phenomenal collaborator
and dove in head first. I felt a lot of relief to have another hand helping on
the programming side, and thankfully he didn’t find my code to be too much of a
mess.

The author and their wife and co-developer Diana.

The Final Product

As I write this, Lil’ Guardsman is so close to being done! I am
very pleased with how this project turned out. At a glance the game seems
straight forward, but the design is ambitious and lots of neat things happen!
I’m proud that the code foundation has been stable enough to support the
variety of gameplay. The porting team is wrapping up its work bringing the game
to consoles, and I’m proud to say that although (like always) there were
issues, there were way fewer than I thought there would be.

As I wrap up my work on Lil’ Guardsman, I think I am ready to
really take a rest… FOR REAL THIS TIME! My son was born a few months ago during
the production of this game, and I’m committing to taking a break to focus on
my son and my wife. I am fortunate to be able to step away and take the time
away from gaming, but we’ll see what happens later… I might get the itch again!

I’ve always said that the role of programming should be seen as an
act of service: my work with the code is in service to writers, artists, and
designers. It is my job to make sure that our game’s cool, funny concept, and
great story and world get into the hands of players to experience it. Although
none of it would happen without us, programming should be kind of invisible. If
nothing breaks, it’s a good product. I hope people discover our funny, witty
and heartwarming game. And if you play it and discover any bugs, well that’s
Adolfo’s problem because I’ll be busy playing with my kid!
Italo Capasso is a game developer based in Bogota, Colombia. He
and his wife Diana Pacheco make games with their company Glitchy Pixel. He
worked as a console support developer for Unity for 5 years, before returning
to his love of indie game development with Lil’ Guardsman. Italo is also
professor of game design and programming at Universidad de Los Andes in Bogotá,
Colombia, and the ARKDE initiative.

We will be happy to hear your thoughts

Leave a reply

Bean town discount store
Logo
Compare items
  • Total (0)
Compare
0
Shopping cart