Game in a Day: Procformer Infinite

Procformer Infinite
I like to set challenges for myself. Self-imposed, often timed challenges is a great way to learn new things, or experiment with different ideas. I find that it’s a great way to learn new concepts or test theories you might have; set yourself a challenge, and try to overcome it.

So, on a lazy Sunday, instead of playing video games, I challenged myself to make a platform game myself. Right away, I knew I wanted it to have an infinite number of procedurally generated levels, so you could never run out of new challenges. To make it more difficult for myself, I was not allowed to use any third party artwork or sound, everything had to be made for this challenge (no using scraps from the personal archives), and to top it off, I only allowed myself one day to complete it.That was pretty much my entire Sunday, but worth every second of it.

The screenshot is from the resulting game – Procformer Infinite – which you can play yourself, right here!

Challenge completed. Next! Perhaps improving or expanding the game with more features and obstacles? You never know what might happen on any given Sunday.

Game Prototype: COMBATIVE

combative
Cross-post from my Patreon account.

I signed up for #1GAM, to motivate myself to be as productive as possible. The challenge is to present 1 Game a Month, at least a prototype – which I wanted to do in 2016 anyway. It was almost as if it was meant to be!

My January entry is COMBATIVE. I wanted to do a take on classic turn-based fighting games. You have a champion, you go fight three rounds at a time, earn currency (which you presently can’t spend on anything), maybe get a power-up, and slowly progress your warrior’s level.

Play COMBATIVE in your browser.

Features

  • Basic attack – available any time.
  • Special attack – more damage, but you can only use it so often.
  • Healing – returns some health, but can only be used once in a while.
  • Upgrade between battles, if you have enough gold.

The trick is to time it so you use the right ability, at the right time, compared to your health and that of your opponent, while taking into consideration how many rounds of fighting you have left. It’s worth noting here, that the 3rd fight is always harder.

Between fighting, you can use and Bandages you may have to heal your champion. The higher level you are, the more health you get. Press the grey/black button at your own risk, as it resets your champion to a 1st level n00b.

Missing things, I will likely add: sound and music [DONE], and a way to spend gold on upgrades [DONE] of some kind.

I had a lot of fun with this prototype, and have a million ideas for building on it. From adding more power-ups and ways to spend gold, maybe allowing for multiple champions in your collections, and so on, but I am pretty happy with what I ended up with.

There will be a separate Patreon-only post, containing a downloadable version of the game for Windows/Android.

Start testing, already!

With any creative project, you’ll need someone to take a fresh look at it and provide some qualified feedback at some point. This applies to game design, architecture, movie making and any complex creative undertaking. Even small-scale testing will help bring issues to the surface, which when addressed will increase the quality of the final product.

Unfortunately, it’s incredibly easy to put off testing. After all it requires recruitment and wrangling of testers, maybe even some material, test cases and documentation for them to follow. Then comes recording the feedback in a way that allows you to track what comes of it, your progress. If you are new to the process, it may be a tough lesson to learn that your baby isn’t perfect. You will need to get over that and start seeing the value in constructive criticism. Still, testing is a daunting task and often procrastinated or postponed.

With Torgar’s Quest, I waited until late in the alpha phase before starting to actively recruit testers. My early approach was to contact a few select friends directly, asking them to take a look. I got some decent feedback this way, but not a lot of it. I also made a few public calls for testers, but got nothing worthwhile from there. I don’t have a huge fan base to pull from, but if you do, that’s probably a good place to start.

My friend Kristian helped test the game and submitted this screenshot taken one turn before winning the game.
My friend Kristian helped test Torgar’s Quest and submitted this screenshot, taken one turn before winning the game.
What you do not want is a team of yes-men, whose approach to testing is pointing out all the things that are cool about your game. It’s great to get compliments, but testing is about finding flaws and making suggestions, not boosting your ego.

It was when I added a global leaderboard and posted a “friends only” link to a build on Facebook (of all places), that something magical happened. A few friends, who all know something about both gaming and software development, started competing with each other for the highest score on the leaderboard – feeding me their observations and bug reports as they went. Suddenly, I had a long list of things I needed to fix, tweak or add. Awesome!

Takeaway: it’s easier to get a lot of testing done, if you can tie it to any kind of event. Even if that event is a pseudo-exclusive friendly competition for early leaderboard spots.

What they found

Here is what the leaderboard looked like, right after Kristian won the game.
Here is what the leaderboard looked like, right after Kristian (Fenton) won the game.
When savvy people start poking at your game, they will find things. By savvy, I mean people who know what to look for. You may need to provide a little guidance up front, if testing is new to them.

They will find improvements that are right there in front of you. Simple changes that will elevate the overall experience, but you just never thought of them. For Torgar’s Quest, they suggested a limit to the amount of food Torgar can carry. This introduced a new layer of resource management to the game, and upped the fun.

They also pointed out that if Torgar is already holding a potion, new ones should remain where found. This way, they become a resource you can return to later, if you run into trouble (you can only carry one potion at a time).

They will force you to clean up your code. They found a memory leak of the worst kind. If the game ran on long enough, the whole thing would crash and you’d lose all progress. Which sucks. With a bit of investigation and help to reproduce it, the testers helped narrow down where it came from, and it could be fixed with a single line of code.

They will show you that not everything is as obvious and intuitive as you thought. For example, they may suggest you fix a bug that was meant as a feature.

This feedback can offer great insight for adding tutorials or for changing things that don’t work. In testing, it was not obvious to everyone that eating food gave Torgar health back. Not knowing this obviously makes the game much harder to play.

It’s important that the testers know how to report their findings. Mine were great at sharing screenshots and steps to reproduce what they found, though the actual feedback was mainly reported as comments in a Facebook post. I then copied the feedback I wanted to incorporate from the comments to Trello, my project management tool of choice for Torgar’s Quest. Obviously this approach only works for smaller projects. For a bigger test pass, I would have testers log bugs and suggestions directly to a database.

If you are working on a game (or other applicable project), do yourself a favor and start testing now. Do it in sprints of a week or two, gather intel, and you’ll have a ton of improvements to your already beautiful baby. Time to squash some bugs.

You can download Torgar’s Quest alpha via IndieDB (free,PC/Windows).