If you missed Part 1 of this series, click here to read it first!
Minecraft is probably the hottest new game franchise of the 2010s. You either play Minecraft or know someone who does. In the game, a player starts from scratch and creates a new world limited only by their imagination and what features are available from the developers. Minecraft is a simple, sandbox game, like Grand Theft Auto or Sims, where players are free to roam in their virtual reality. What sets Minecraft apart from other sandbox games is its simplistic, block design. Everything is made from pixelated blocks.
Now, while the layout of Minecraft might look very simple, it’s actually very complex. By opting not to create their own world for players to roam, developers must give players all the tools to create the world they want. So, Minecraft adds more and more features as the players’ worlds continue expanding.
Imagine you are a game designer for Minecraft. You want to add new features to the game in the latest update, but there are so many already there that you do not want duplicate any and you don’t really know which ones to add. So what can you use to organize these existing features and possibly add some new ones?
That’s right–Feature Trees! Below, I have included a basic Feature Tree for Minecraft.
You can see the L1 features (Online, Player, Mobs, Set Up, and Landscapes). These are your highest level features. You can look at them and remember what they are about a lot easier than all the individual names of the 34 features. The same for the L2 and L3 features.
Suppose you want to add another feature to Minecraft. Looking at your Feature Tree, do you see any features that may be missing?
Start at the highest level of the Feature Tree and work down. Let’s look at the L1 feature–mobs. Mobs are computer-generated living objects that can move or attack the player. There are three different types of mobs and each interacts with players differently. Peaceful mobs do not attack the player and the player can directly interact with them. Neutral mobs attack if instigated by the player. Hostile mobs attack the player for no reason. Then, there are two hostile mobs: spiders and creepers. Minecraft spiders are huge and live outdoors. Creepers are green, zombie-like humanoids that come out at night.
Wait a minute…
There are no day or night features listed on the Feature Tree. Where would you add the features? They are part of the landscape, but would not fall under any of the other categories so they are given their own L2 feature.
By looking at one feature and seeing what other features interacted with it, you found 2 more features. While it may seem silly that the sky was forgotten, you don’t know how much it could have changed everything. If all the code had to be re-written because someone forgot about including a sun and moon, it would cost the project a lot of manpower, time, and money.
This is the kind of analysis needed at the start of a project so the project gets a clear direction and nothing is forgotten.