Taking off the training wheels

Last weekend, we had our first real Outsider playtest from 5 brave (and/or curious) souls who were willing to deal with an ugly development version and write thoughtful feedback about it. I sent a list of questions to the playtesters and got a lot of value from their thoughts… I have already fixed some of the most pressing issues and added tasks for a later part of the project. With that done, it’s time for me to talk about what I think about feedback in the context of Outsider.

One question that I purposefully did not ask the playtesters is whether they liked the game. The reason I did not ask this question is that I wouldn’t get any action item out of it. If they loved the game, I’d keep going ahead and make the game I want to make. If they hated it, I’d keep going ahead and make the game I want to make. Outsider is what Outsider is - and it is not a feedback-driven game designed by careful analysis of metrics and opinions.

You can call it an “auteur” game. A game that I had to make because I no longer wanted to live in a world in which this game didn’t exist. The strength of my vision, however, is completely unrelated to whether Outsider will be successful. Maybe it’s a terrible idea, and if it is, I don’t care.

This is not, however, the same as not caring about the playtesters’ feedback. As I said, their feedback was invaluable! The subtle difference here is that I’m interested in how well they are able to experience my vision, not whether I have a good vision. UI annoyances, poor controls, typos, inconsistencies, glitches etc would create a barrier between the players and the game; that is what I want to eliminate. I want people to be able to see very clearly what I want to convey so they can decide whether it’s a game for them or not. And I know it won’t be a game for everybody or even a game for the majority. However, if there is even one person out there who feels a strong personal resonance with Outsider, I want them to be absolutely delighted with the experience.

This week, then, was about processing the feedback and getting ready for the next push leading to the Demo version. Beyond some bug fixes, I rewrote big parts of the game for technical reasons. Firstly, I wanted to get rid of GDScript from the codebase. GDScript is Godot’s internal game programming language; it’s a fine Python-like language that makes Godot a lot more approachable to beginners, but I’m no longer a beginner. While there is still a universe of things to learn about Godot, GDScript was starting to get in my way because of the ever-increasing amount of “glue logic” between it and the C# layers. After the rewrite, Outsider is 100% C#.

Additionally, I wanted to rewrite the control logic and signal buses, which still had a lot of cruft from my early days of learning. There was an immense amount of unnecessary code because I hadn’t initially “fully grokked” Godot’s complex input flow and mapping. I made improvements, which led to removing much code and getting “almost free” support for XBOX/Playstation/etc controllers.

The last days of the week were dedicated to creating a polished mockup of the “real” Outsider UI on Inkscape. The playtesters were happy, so I’ll proceed with the changes. Next week will be dedicated to getting rid of the development UI and replacing it with this new UI worthy of a commercial game. In a nutshell, I’m moving out of the early development stages and into mid-development.

It’s time to take the training wheels off and start building the real Outsider!