Around the release of SWOOOORDS! I wrote down some things I had learned during development, while it was all still fresh in my mind. I re-discovered this writeup and decided I should clean it up an post.
Goals for the game:
- Combat that is polished, feels great, and is challenging but fair
- Horizontal progression: Slowly give players a greater variety of abilities and challenges. Avoid stats.
- Environment influences combat
- Audiovisual style: over-the-top, a bit ridiculous, but also easy to execute
- Make it "perfect" --- I've played games that are simple yet absolutely amazing, I should hold myself to the same standard.
- Keep it simple --- In order to actually finish.
- Generic, streamlined types of content --- Make it extremely easy to create more content for the game, or have the game generate content itself.
Inability to collaborate:
I have a long history of failed collaborations. I'm really just not sure what I'm doing wrong, and I've pretty much given up. I want to stay hands-off, if I have to hound others to contribute I feel like they are not actually interested, so I basically just wait for them to be inspired on their own... which always ends up in no concrete contributions. It's a really nice feeling to have high-quality work done to the game that you didn't have to do yourself. I was thankfully able to get music, sound effects, and textures for free from Creative Commons resources or asking kindly for permission, but otherwise there was only a single piece of outside content (the box art) despite a few attempts at reaching out to fellow devs. I still don't know what's wrong: I guess I'm just an asshole!
I still can't understand how games get exposure. I think I got a pretty amazing amount considering I didn't expect anything, but the little bit I did required a good deal of work and worry which in no way involved actually working on the game. It bothered me because I'm a very direct kind of guy who prefers to get concrete results from ground-level, in-the-trenches work. There are a number of things you can do but ultimately there is so much outside of your control. It's a bit disappointing that in these days we can't just make our game and post it someplace and expect people to be interested without seeing a slick trailer first. It's a significant drain on development effort, but it's very important, giving you rewards you won't be able to reap for a long time. It can be hard to see the point of it all early on.
There were a few pieces of extremely negative feedback I received early in development which made it difficult to continue. I was disappointed that they lacked the detail I was looking for to fix the issues mentioned, but ultimately I think pointing out those flaws were critically important. These bits of information either made me focus on something I thought was "solved", or decide that I just can't please everyone and should ignore the negative reaction. While it's always nicer to hear people like your game, I felt this experience was very worthwhile and taught me to continue where other devs would second-guess themselves and just quit.
Accumulation of dread / sunk cost:
When you have been working on something for so long, you expect quite a bit from it. Every flaw or limitation of the game seems ten times worse simply because you feel like you should have thought about it in all that time you were working. Every youtube video or forum post that goes unnoticed becomes a nebulous indictment of your game, suggesting your game sucks and your time was wasted. I'm beyond the point where I can feel good about spending months on a crap game; I should have learned enough by now to make a good game!
It's easy to shoot down new ideas when you have a short deadline. It's harder when you have no distinct deadlines other than "keep it simple" and "make it perfect". Because of your tunnel vision, you will come across ideas that seem they are absolutely necessary to include in order to "make it perfect". This significantly increased the development time because it was hard to tell when I was actually feature-complete, since every flaw suggested I needed a new or replacement feature to fix it.
Not enough playtesting:
I should be playtesting constantly, but it's just hard to get that ball rolling. I was able to get some live playtesting in (where multiple players were able to play right in front of me) several times, but it was overall a bit few and far between. I kept delaying playtesting over email because I felt like the feedback would point out missing parts of the game or flaws that I was going to fix. I lost some confidence in design decisions that I was unable or unwilling to test for months; a decision seemed clever on paper and in my personal testing, but I had no idea how it would work in the wild. I should instead commit to making weekly or fortnightly builds which I try to get playtested, no matter which state they are in.
Design focus was not super-strong:
It was clear from the beginning that the game would be a vehicle for the combat system. Unfortunately, it was unclear what I should have focused on within that system other than pursuing vague virtues like "challenging, unforgiving, but fair". This also influenced the feature creep which led to development delays. "Challenging, but fair" was a great mantra, but didn't give direction for how to implement specific features. My new mantra is "every choice has risks and rewards", so that I think harder about the specifics of how each feature fits in with the rest of the game.
People appreciate challenge:
People who like the game like it because it's hard and frustrating, but ultimately fun. This is kind of a no-brainer for anyone who is a fan of indie games, or titles like Dark Souls, which try their hardest to challenge the player. The fact that SWOOOORDS! achieved its design goals, and that people appreciate what it is trying to be, just proves the point further.
People are more curious than you think:
During playtesting, a developer wants to pay close attention to the actions and reactions of playtesters to ensure that the game is as intuitive, "readable", and easy-to-learn as possible. From this perspective, you must assume that your player is merely some random person distractely clicking on a link to your game and lacking the patience to discover anything about your game without being spoon-fed. This is an excellent perspective to have when you want to draw the player into your game and "hook" them, however, you will be amazed that once you have done this, players have a humongous amount of patience and curiosity about your game. At this point you should actually switch perspectives, continue to make your game intuitive but also not be afraid to be obtrusive, to take a step back from the challenge put into your game mechanics and put thought into how the entire system of mechanics is challenging. Develop a meta-game and other elements which, from the perspective of a disengaged newcomer, seem confusing and stupid. Most of all, don't be afraid to add things to you game which are completely not obvious, and can only be discovered through replay and exploration of the mechanics.
Mixing styles makes your graphics look worse:
I am using a combination of textured, pixelated cubes for the game environment, and a nontextured, fully-lit, low-detail, colored look for the character and weapon models.
In this sense, artwork is the difference of its distinct parts, you will end up with less quality than any one part. It seems that the majority of people have an issue with the graphics, and since I think the texture work (being done by actual artists) is pretty nice I have to assume that it's my work on the 3D models which is lacking. Any kind of detailed feedback tends to mention the models, and I think their low quality is multiplied by the fact that the environment around them is not in the same style.
Interpreting feedback is a skill unto itself:
I have found that my skin is getting thicker, that "shit" and "crap" used in the same sentence of "this game" does not bother me, and with this new power comes the reward of learning what my game does wrong and what it does right, without any hurt feelings involved. I have even learned that very unconstructive criticism can be useful, a hundred people saying "these graphics suck" will teach you that graphics are more important to players than you may have thought, or that your particular style looks bad, even if you're "just doing what Minecraft does" and keeping it simple. Feed on your failures. Beat your ego into submission until you are unaffected by the most scathing feedback possible, then use that feedback to make a better game.
Feedback is how you take a frank, objective look at your game in order to make it better, not how you stroke your ego. Feel less, listen more.
Slaughter Sacred Cows as soon as possible:
If you find something that playtesters constantly have a problem with, but you don't perceive a problem, you need to address it as soon as possible. If you do not, you will convince yourself that it's not really a big deal, or they might not be right, or they only represent a fraction of potential players. You're probably wrong; when you launch, players will likely repeat their feedback in droves.