I recently watched a fascinating TED talk by Simon Sinek on starting with “why” rather than “how” or “what”. It gave me a chance to think over some of the things in my life and evaluate possible reasons why they succeeded or failed. While I definitely need to meditate more on Sinek’s ideas to see if I completely agree with it, I thought it might be interesting to share these evaluations of successes or failures and thrash out the idea. This blog is a place for me to discuss my many creative and technical projects, so I thought I might do it here, and focus just on projects (it’s not as fun subjecting personal experiences to philosophical framework in public 😉 ).
To recap on what I think Sinek is talking about, there are three levels that we work on:
- What. The tangible products of an endeavour.
- How. The mechanics of producing these products in terms of frameworks, techniques and processes.
- Why. The reason for creating these products in this way, with these properties and at all.
Let’s take a few examples. My PhD thesis gets a breakdown like this:
- What. An algorithm to produce formulas that counts p-groups.
- How. A whole lotta maths, specialised machinery and jargon (all of which are coming up in my series on my PhD).
- Why. We have a need to know what we’re talking about in group theory, and one way of doing this is to get numerical heuristics on the number and structure of such groups. We also believe that Higman’s proof can be reshaped to fit this purpose.
- What. A kung fu-styled RPG with a strong AI component.[1. Though parse that as “strong (AI component)” not “(strong AI) component”.]
- How. Utilising a bunch of standard libraries and standard algorithms.
- Why. As I explained in my first post, I believe that I can produce an RPG which is interesting, but different. I also believe that trusting a computer in more tasks can provide useful and entertaining outcomes.
I think my PhD thesis was more-or-less a success. Some people judge PhDs by the number of subsequent papers it spawns, or the job it helps you get. On these bases, it did poorly (I got a job independent to it, and it spawned no real papers at all). However, I think my thesis solved an interesting problem in a neat way. What I’m saying is that I’m proud of it and would probably bring it up during my inevitable meeting with St Peter at the Pearly Gates. Kung Fu Legends, well we’ll see. It’s still early days (maybe even earlier than that… first morning on the first day, perhaps). Nevertheless, I think both of these projects have originated in the Why and flowed out through the How to the What in a proper way.
Let me tell you about a project I worked on before Kung Fu Legends. It was a computer game. It was pushing boundaries. It died in childbirth. It didn’t even grow up to have a proper name. It went by the name of SHE: Survivalist Horror Engine[2. You can probably find some of my old webpages through cached files or the Internet archive.]. It was a general engine for a general game. Some calamity befalls humanity and you wander around a post-calamity city, trying to achieve objectives. It was inspired by Day of the Triffids, zombie movies and architecture. The idea, as I had in my head, was that I denied the assertion that 3D games could only be created manually (that is, with artists and modellers). I had – and still have – the belief that computers can do a bit of this creative work. There are libraries that are excellent at doing computational geometry that could be guided towards the goal of 3D modelling (thus replacing much of the art requirement). I figured it wouldn’t be too hard to have a computer create a whole open-world city that players could explore. I mean, Yoav Parish and Pascal Müller were creating cities, so why couldn’t I? There’s no reason this idea couldn’t work, but my approach killed it. I initially had a good start with the Why, but soon enough got bogged down in the What and How. I thought way too much about how to simulate articulated lorries. Or how to incorporate an explorable, sensible sewer system. Or simulating traffic flow. I hadn’t resolved a lot of issues in the Why compartment. For example, I wasn’t entirely sure on what players would do. Explore a city, sure, but that gets boring. I figured allowing players to create a safehouse would be far too much work[3. I had been playing Urban Dead a bit at that point]. So basically my plan was some corrupted, broken form of Simcity: the computer would create a city but you just got to walk around it a little. Getting bogged down like this sapped my morale for the project, and I canned it. There had been internal conflicts where I tried to manage the How (say by dropping back to 2D, or at least shrinking the scope of the idea to something fun) which was all well-documented in my design notes, but I bounced around the What and How, and rarely if ever considered the Why.
Purely by accident my work on Kung Fu Legends regularly bounces through the Why on its way back down. Every so often I’ll come up with a neat idea or mechanic and think, “Why does the player care?” If they wouldn’t – or worse, they revolt against it – then I should set aside, away from the main project, with maybe the intent to reshape or reimagine the idea later. It should all work together as a unity towards the goal of creating an interesting RPG. Anything extraneous should be cut. This is a bit like de Saint-Exupery’s quote on perfection, but I’m currently treating it more like agile development. I want to evolve the implementation from brass tacks to final product, with many milestones along the way so I know where I am, where I’ve been and where I’m going to next. Throwing ideas together until they snap together into a finished product is wasteful and, as I’ve seen, chips away at morale. As enamoured by AI and programming as I am, I need to make sure the goal is an interesting, powerful Why, not a bunch of interesting, barely-assembled Whats and Hows.