By wildcard <firstname.lastname@example.org>
In recent years there has been a lot of talk and discussion, even arguments, over the issue of non linearity in games. But first, what does linear and non linear mean? Linear basically means that there is only one way to complete something and you need to do it usually in a specific order. Non linear on the other hand means there can be several ways of accomplishing tasks/goals and the game/task can be completed in several different ways.
The differences between linear and non linear boils down to freedom, non linear usually means the ability to play a game in your way/your style whilst linear gaming typically is more of a set story with little or no variation. This extra freedom to play a game in your own way has risen to non linear gaming being seen as the 'holy grail' of gaming. This is not necessarily a good thing and both forms definitely still have their place.
A true non linear game takes many, many more hours of development time and seriously looking at the way the game can be played. This is usually not something a developer wants to or is necessarily able to do. Are the extra long hours of development time, the other possibilities that are required, to make an object be able to combine with others so that a potential MacGyver can use it in any way? The short answer is not always! This is an extreme example and I'm not focusing on such extremes. I just want to give a few ideas on making a game more fun and appearing non linear to the player without the extra headache hours of development.
Games like Deus Ex, whilst appearing non linear, are actually linear. Deus Ex is non linear in game play mechanics, i.e. you are able to accomplish things differently. The story of Deus Ex is only non linear in places and ultimately you have few choices story wise to make. The key to it appearing non linear whilst still being linear is in the subtle ways you are allowed to attack challenges from different angles and methods. For instance, you need to get into a building in several parts of the game but usually you have a choice, if you have enough knowledge you can hack the security pad and the doors open or if you have the right weapon you can just blow the door away; or even sometimes sneak in through a window or air vent. The way the game is constructed allowed the developers more freedom and ultimately more player freedom which made the game that much more enjoyable to play.
A similar type of freedom can be quite easy to implement in almost any game. If you are working on a platform game you can have several variations. If the player needs to get a key to unlock a door you can place a key behind some tough baddies and a spare key over a tricky jump. The player can decide to try make the jump or take on the baddies. In an adventure or role playing game you can use similar methods. If the player needs to get some materials you can have a shop sell them but for a high price or have the player walk a long distance and face some enemies and collect the material for free.
The idea is to be creative with what you already have. The above examples can be easily implemented into a developed engine. The above examples can also be further enhanced to make a game more replayable by rewarding the player in specific ways. For example a player who makes the big jump can be given a jetpack or an increase in speed/height of jump, whilst the player who takes on the more difficult enemies can be given stronger armour. These on their own can increase the fun factor but to maximise it you would need to design puzzles/tasks that utilities these special abilities. This ultimately requires more time but, if planned correctly, will make the game both more interesting and replayable.