No Man’s Sky: It Can Be Done

(This column is posted at www.StevenSavage.com, www.SeventhSanctum.com, and Steve’s Tumblr)

One of the concerns I see expressed about No Man’s Sky is that a small team of indie developers like Hello Games just couldn’t do this. I disagree, and in fact think it’s quite likely’ll they’ll succeed.

So you know i’m not wasting your time, I base this theory on:

  • My experience in IT (20+ years).
  • My work as a software project manager (12+ years).
  • My interest in development processes (12+ years).
  • My work in procedural generation (most of my life).
  • My experience as a gamer (most of my life).

So let’s look at the reason I think Hello Games is going to pull this off.

A Focused Game

First of all, no matter how “big” No Man’s Sky seems, if you look at it, it’s an extremely focused piece of development:

  • Exploring large procedural spaces – mostly planets.
  • These spaces have procedural features, including life.
  • Mining and finding resources.
  • Dealing with hostile and non-hostile life.
  • Crafting by combining various resources to change equipment.
  • A focused set of equipment for the characters
  • Interaction with species via various actions, trees, and simple fight/aid mechanics.
  • Space travel.
  • Exchanging of good via trade games.
  • Cataloging findings.
  • All of this is done with a chosen aesthetic.

No Man’s Sky, when you look at it, is somewhere between evolutionary and revolutionary. All the parts have been seen before, its the combination of them that stands out to create a universe.

The game design is very focused – Sean Murray and company have deliberately restrained adding new features.   This means that Murray and Team can pay attention to what they want to deliver exactly. Well-defined features allow for focused development, focused testing, and good delivery. If you know what you want to do, you can deliver it a lot easier.

No Man’s Sky is delivering a very focused experience, which allows for focused development. Speaking of . . .

Focused Initial Development

The first developer on No Man’s Sky was Sean Murray himself, who built the core engine, which he eventually expanded to 4 then 13. This is the way you do core initial development.

Small, tight teams – sometimes an individual – are a great way to start a project. One or a few people, working together (often unmanaged) can deliver a prototype with surprising speed because theyre focusing on getting everything together. They’re not trying to market. They’re not trying to make it run on every machine. They’re not even making the most efficient code. They’re ot havign people constantly try and change things. They don’t have to write patches.

They’re making a start. As one guy I worked with called it – “stick smart guys in a room and feed them pizza.”

This is the kind of arrangement that I’d expect would deliver a decent prototype. It may not be perfect – it may only be a prototype that’s eventually discarded. But it lets you get the basics down.

This is exactly how I’d expect a project like this to start – and be successful. It’s a good core foundation.

Agile Development

So you have a focused plan and a core prototype. How do you polish something like this into a game? It’s procedural, it’s going to have a lot of complexities, and it’s not something you plan easily.

The not-so secret is Agile Development. Basically, tight, integrated development where teams have a large list of goals, but focus on small deliverables that are high priority, deliver quick, and focus on interaction and iteration.

Sean Murray’s team uses classic agile processes. They have a morning meeting, set goals, and do a master build in the evening.  This is all happening in roughly the same space from what I’ve seen in videos, increasing interaction.

Really, what Agile does is acknowledge that planning everything out often fails as you find the flaws to your giant plan as soon as you start. So you set goals and meet them in increments, researching them as needed, and cooperating tightly with your co-workers.  Even if you don’t deliver everything, Agile’s focus on “delivering stuff that works” means you usually get enough – or more than enough – done to meet your goals.

In short, the team at Hello Games is using the exact kind of software processes that would lead to success.

Plenty Of Resources

A team of 13 or so people may seem small, but gaming (and indeed any software development) has a number of resources to call upon.

  • There are services out there to do development or provide code. You can outsource pretty easily if needed. Not sure if the team does it, but it’s an option. There’s a lot of games made by a “team” that really involve many outsourced teams.
  • There are a huge amount of libraries, graphic tools, code engines, and more for development teams to use. You can bet that these have been used by the No Man’s Sky team – just like any other development project.  Few pieces of software are created from scratch in their entirely – and you can bet a lot of media resources aren’t.
  • There’s already lots of procedural games and algorithms and theories, from past Roguelikes to the Superformula. There’s a lot of examples to be used or to at least show what is possible.
  • People network.  You can bet the folks behind NMS were asking friends, fellow coders, and other connections for advice.

In short, there’s all the resources out there the team may need to make NMS a reality – resources other games have leveraged.  In fact . . .

Public Accountability

The NMS team, despite the game’s hype, is remarkably modest.  Sean Murray seems affable and humble.  The game is getting played up, but Hello Games isn’t bragging or strutting around.  It’s refreshing.

At the same time, the NMS team has been very clear about the game and game goals and what it does.  Though there’s occasional assumptions by gamers about the game, it’s easy to find the team being very clear on what they’re doing.

They’re being publicly accountable.  They’re saying what the game is – and if they screw up, it’ll be very obvious.

Frankly, I don’t think anyone does something like this and delivers anything less.

The Conclusion

NMS has focused goals, started right, uses the right management techniques, has resource to call on, and Hello Games has been clear on what they’re doing in a way that holds them accountable.

Me, despite some concerns about the game that I’ve stated, I think Hello Games is going to deliver.
– Steve

So, Yeah, Learn Programming

office cube work

A friend of mine recently asked “should I learn programming?”  My reaction was of course “yeah!”

. . . then I had to explain my reaction.

I knew intuitively why he – or anyone – should learn programming no matter their profession or interests.  When I had to explain it to him, I had to organize my thoughts and explain my instinctive reaction.  I saw these thoughts and emails and thought “these would make a good column.”

Which is what you’re about to read.

So in honor of my friend, and as part of my role as Geek Job Guru, here’s why you should learn programming.  Why anyone should learn programming.

But first . . .

Read more