Friday, May 17, 2024
HomeblogsPreparing the Sprawl: On Developing Lil’ Guardsman’s Code Foundation

Preparing the Sprawl: On Developing Lil’ Guardsman’s Code Foundation

Getting some rest… with a new job!

Before I started working on Lil’ Guardsman as its leaddeveloper, I had been working non-stop in gaming for 15 years. It seemed likeit 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 wasmissing 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 WithIndies from a brand new studio in Toronto, Canada called Hilltop. Its foundersArtiom and Scott had a strong vision, but desperately needed someone likeme. Their posting linked to a vertical slice they had made with a differentdeveloper, so there was something I could play and try to understand what theywere hoping to make. I immediately recognized that the prototype had a lot ofpotential, and even before I was offered the role I started working on how todesign 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 technicalpillars 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 itcomes to narrative games. Like the fact that they involve WORDS… many, manywords. The game would need a robust framework to accommodate its writing,handling player decisions and showing the outcomes. I recognized that therewould be a need for multiple different conversation systems – both graphicaland 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 withlocalization and doing quick edits. And through early conversations with gamedirector Scott Christian who was responsible for leading the writing team, Idecided that Yarn Spinner was the best solution for the project.

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 asense of urgency and danger. From a code perspective, there are specificrequirements 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 notimer, and the tension comes from the player having a limited number of actionsto take before being forced to make a decision. This makes for a slower, insome ways more methodical type of game. Instead of a tight time-limit forcingyou to rapidly analyze documents, LG allows the player to figure out theanswers 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 andArtiom aren’t programmers, they already had comfort working with it. This isnot a big deal in the long run – there are pros and cons to any engine, and Itry to be flexible – but it’s a bonus when there is already familiaritystarting a project. And the fact that I was coming off of five years working atUnity helping other teams solve their problems made this feel like a good fitfor me.

Prototype Conclusions

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

Into Production

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

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

The Final Product

As I write this, Lil’ Guardsman is so close to being done! I amvery pleased with how this project turned out. At a glance the game seemsstraight 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 thevariety of gameplay. The porting team is wrapping up its work bringing the gameto consoles, and I’m proud to say that although (like always) there wereissues, there were way fewer than I thought there would be.

As I wrap up my work on Lil’ Guardsman, I think I am ready toreally take a rest… FOR REAL THIS TIME! My son was born a few months ago duringthe production of this game, and I’m committing to taking a break to focus onmy son and my wife. I am fortunate to be able to step away and take the timeaway 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 anact of service: my work with the code is in service to writers, artists, anddesigners. It is my job to make sure that our game’s cool, funny concept, andgreat story and world get into the hands of players to experience it. Althoughnone of it would happen without us, programming should be kind of invisible. Ifnothing breaks, it’s a good product. I hope people discover our funny, wittyand heartwarming game. And if you play it and discover any bugs, well that’sAdolfo’s problem because I’ll be busy playing with my kid!

Italo Capasso is a game developer based in Bogota, Colombia. Heand his wife Diana Pacheco make games with their company Glitchy Pixel. Heworked as a console support developer for Unity for 5 years, before returningto his love of indie game development with Lil’ Guardsman. Italo is alsoprofessor of game design and programming at Universidad de Los Andes in Bogotá,Colombia, and the ARKDE initiative.

- Advertisment -

Most Popular