The world grows

February 23, 2012 1 comment

Well, its been an interesting week. After a tentative start, we completed the tutorial, the main character’s home town, and four overworld levels that connect to it. Currently we are working on Cascade, the first major city, and its become clear that such levels are more time consuming than ‘combat’ levels, due to the amount of content in them. Cascade still needs tiling, NPCs and interior levels.

We also have a new member on the team, an artist by the name of Jackson. He is responsible for the new tiles and sprites we’ll need to illustrate the world and polish it.

Start line

February 14, 2012 Leave a comment

With the implementation of allied units, neutrals, sentries, checkpoints, shopkeepers and stealth, it looks like most of the programming work is out of the way. As far as worldbuilding goes, the only piece of planning that remains are the faction quests, and these are not immediately required.

With this in mind, we are now beginning implementation of the actual levels used in game. We are dividing this task up into sectors geographically, and chapters chronologically. Following from the start points, we will cover a certain amount of ground and then work on bringing that area up to our standard. In this way, we will proceed leaving playable levels in our wake; levels which should be ‘what you see is what you get’ to allow us to evaluate them effectively as we go.

We begin with the tutorial.

Chronic Backstabbing Disorder

January 22, 2012 Leave a comment

I’ve been programming for the past two weeks; trying to get a range of things done relating to the different factions in the game; and the things they will do if you make them your enemy. Basically, there are 3 types of factions; allied, neutral and hostile. Hostile factions will shoot on sight, allied factions will help you fight and let you through their territory. Neutral factions don’t shoot on sight, but they usually don’t let you through their territory either.

To control their unusual behaviour I have implemented checkpoints, lines on the ground that are guarded by neutrals. If you put your toe over the line… Their rage will be as lethal as it is disproportionate. The units that see you (and only those units) will immediately turn hostile. Unless a Sentry sees you. These units have radio antennae and a limited field of view. If they see you, they will call in a dropship and everyone they can contact on the level will turn hostile. Pretty much the same rules apply if you bump off a member of this faction before the eyes of their comrades.

In addition to this, there are sliding scales of Influence for each faction. Piss people off enough and their influence will drop so low that the faction will become hostile. You can usually pay blood money and settle accounts, but it’s expensive.

 

In the course of the game you can do quests for seven of the factions. This will enable you to bring them from neutral to allied, and get some kind of perk. However in the course of your duties as a mercenary you may be called upon to do unto a faction you are ALSO doing quests for. To cover this eventuality, if you are spotted by a sentry somewhere you shouldn’t be, red handed stealing from a faction’s inner sanctum, you get one chance to destroy the evidence (currently a large, boxy ’60s magnetic tape drive). If you exit the level without doing this, you will be blacklisted and the faction you pissed off will be permanently hostile.

I still have to actually produce copies of neutrals for all the enemy types, but the mechanics described above are working correctly.

Game Design Theory

January 10, 2012 Leave a comment

For those who are interested in game development yourselves I thought I might put up my thoughts on game design in general.

Firstly, for those who want to find reading matter I wholeheartedly recommend Game Architecture and Design, and the companion book Andrew Rollings and Ernest Adams on Game Design, both of which helped me immensely.

Now, where to start? The point of game design (as opposed to game development, which covers everything) is to create game mechanics, as distinguished from the art, sound, and also from the code. Game mechanics are purely abstract until they are transformed into scripts, queues, pathfinding algorithms, finite state machines and the other tools of the programmer.

 

What are game mechanics? A common approach to defining them is to have a look at what distinguishes games from other forms of entertainment. Books and films are not games, because they lack interactivity. So games must be interactive.

Toys are not games, because they lack specified challenges and goals. So games must be challenging.

Puzzles are not games (though games can include puzzles), for two reasons: a) they have only one solution, and one correct path to take. b) they are static. The actions of the player do not affect the environment in such a way that changes the challenge in unpredictable ways. This feature is called ‘emergence’, and its presence is a vital part of gameplay. So games must be emergent, and they must not restrict the player to one correct set of choices.

Lotteries are not games. I use the term lottery here to refer to anything purely based on chance. A game (or at least a decent one) must challenge the player. In order to overcome a challenge, the player must make choices. Only if these choices lead to logical outcomes can the player control his destiny. If the controls lead to random effects there is no way to interact meaningfully with the game world.

So, Games must be:

-Challenging, ie goals and obstacles must be present

-Interactive, ie meaningful choices

-Dynamic, ie possessing a dynamic game state or environment

So, we have defined what the game designer must do in a loose sense. But there is far more to it than that. Anyone following the above guidelines will create a game, but still not necessarily a good one. To do this we must explore what makes games so engaging. This quality is gameplay.

 

Gameplay is vital for the game designer to pin down firmly in his head. For me, recognizing, defining and deconstructing this quality was the single hardest part of game design.

So, a game must be composed of challenges. This is a good starting point. There are many types of challenges in games. Action games have challenges involving fast reaction times and hand-eye coordination. Timing challenges, Aiming challenges, Jumping and Dodging are all present. The first category is very broad, the latter are specific. Then there are deeper challenges: resource allocation and tactical positioning (ie, avoiding being caught in a crossfire).

Good challenges have logical interfaces, so that the player’s interaction can be done meaningfully. They are not trivially easy. Pushing a single known button on the keyboard to procede is a trivial challenge. They are not random. Pushing a single unknown button on the keyboard to procede is a random challenge and does not engage the player any more than the trivial one.

Simple challenges like jumping in a platformer involve fast mental activities. The player needs to figure out how far to go and how high to jump, and sometimes *when* to jump into the bargain. This sort of thinking is abductive reasoning, the use of intuition and past experience. Notice that all jumps are different, just like all aiming challenges. The procedure is broadly similar, but the conditions are never the same. This allows reuse of jumps and shots provided that the game’s environment changes. The changes in the game’s environment can be due to just moving ahead in the level, but more locally are due to emergence.

 

Emergence is what happens when the player takes an action and the game state changes because of it. New situations and challenges ‘emerge’ out of the old. For instance, in a first person shooter, the player flushes an enemy out of hiding with a grenade. Now the enemy is out in the open rather than in hiding. The options, challenges and dangers have been altered. This quality is crucial to gameplay and is created by the use of many small-scale, interlocking challenges, rather than a few big ones. Note that the challenges are not specified ahead of time precisely. The player is given abilities to use, enemies to fight, and the challenges arise from that. So the game designer’s task is to create obstacles and tools that create these types of challenges, and a game environment that will react to them.

A challenge can be further broken down into obstacles and tools. These are abstractions that cover a whole range of things. Obstacles can be enemies, puzzles or difficult jumps. Tools can be weapons, a grappling hook or the ability to jump. Obstacles are what the player has to overcome, Tools are what the player uses to overcome them.

Practically speaking, to create an action game, you come up with a range of enemies that have specific behaviours that distinguish them from other enemies. This will create a variety. Combining them will result in a myriad of different possible scenarios. With the removal of an enemy, the altered state of an enemy (ie it goes into hiding or charges at the player), the game state changes.

You also come up with tools the player can use. Usually there are much fewer tools than enemies, or the tools have some kind of similarity (ie different types of weapon) that put a different spin on the same basic challenge. You want the player to be very familiar in the use of his tools. A clear interface is vital. You can use one tool to account for multiple obstacles.

Combining these obstacles and tools in the game environment will give you a playable game, but as you do so, keep in mind the principle of emergence. Features of the game that are combined with each other, an environment that changes due to player action (and enemy action) will lead to new composite challenges. Challenges are not preprogrammed, they arise from interlocking combinations of obstacles.

As an example: Halo: Combat Evolved. In many parts of the game you are fighting against the Covenant, alien beasties. There are multiple types of them: Grunts, Jackals, Elites and Hunters. They all carry a variety of weapons: grenades, plasma rifles, plasma pistols and needlers. Occasionally they use vehicles like the Ghost, Banshee and Shade. In a fight with a covenant squad, these variants are combined. The combined squad is greater than the sum of its parts. A Shade (stationary gun) might be guarded by a few jackals, grunts, and two elites. The player, upon sighting them, must consider the best way to procede. Who should he attack first? The Shade, because it has the most firepower? The grunts walking unsupported? They must then approach the squad and choose a position from which to fight. These are large-scale challenges of strategy and tactics, all created by the combination of various foes in various terrain types.

In the midst of the fight, the player needs to choose when to take cover and when to pop his head out, when to reposition himself, etc. These decisions are affected by the *position* of his foes, which is one of the most important parts of the game environment. When the player does something, enemies move. If the player moves and his foes are still, the tactical situation has changed as well. The wide range of situations that his weapons can be used it (ie all of them), means the player must use his old tools to adapt to new and changing situations. The situation changing does not render his tools incompatible with the challenge.

My favourite part of Halo’s game design is the behaviour of Elites. Elites have shields which regenerate when they are under cover, which means if the player leaves them to regenerate, they will be back at full strength. Flushing them out with grenades and shooting them in the open is my preferred tactic. Yet the game’s rules do not state this explicitly. All they state is the behaviour of grenades, and the behaviour of the elites. How they interact is up to the player and the results of a few thousand chaotic state changes in the game’s environment.

Emergence is also a feature of board games like Chess and Go. They have a massive variety of possible positions, each presenting a unique tactical situation. In chess, again, there is variation in tools and obstacles, but only a few core game mechanics (ie moving and capturing).

 

To summarize, gameplay is created by the interaction of obstacles to create unique challenges, and a wide range of options available to the player. With each move, the game state should change. A few simple rules, created to affect the behaviour of each other, will result in a wide range of emerging scenarios. And the scope of the game should be limited enough that the player uses a few game simple mechanics (moving, shooting, capturing, jumping) in a variety of situations, each one providing varied, nuanced and dynamic challenges due to the interaction of their component parts.

If you are interested in the subject I recommend analysing your favourite games. What are their building blocks, their obstacles and tools? What challenges do they present? How do the obstacles interact? How is the game environment changed, how often, in what ways, to what consequences?

Feedback and questions are welcome.

Categories: Uncategorized

Game development in the new year

We’re making excellent progress. All mainland sectors have now been mapped out on paper. We are going to double-check them, of course, and do the island sectors. In this revisiting process we are going to finalize the placement of weapons and other hidden goodies and determine where to place fast travel, healing, shops etc…

In addition to this, we have the faction questlines to write, and this is likely to spice up certain areas that are wanting at the moment.

The sectors that we have done since the last post are the Ferrite sector and the Academy sector. The former includes the rust-covered Ferrite Zone, home of the nasty House Gumrak. It also includes a coast road which is patrolled heavily by troop carriers. The Academy sector contains the isolationist House Anvil, who control a large, old impact crater which has been heavily fortified. They are constantly at odds with smugglers coming in from the islands to the south. Then there is Academy itself, a coastal city dedicated to the pursuit of high technology and skyship building.

As for the programming side of things, I’ve created a template neutral trooper. These neutrals will join sides if certain conditions are met, the most important one being if they witness the shooting of a comrade. If the player kills a neutral in side of others of his faction, they will break off and attack, and the player will lose influence with the faction.

A bit of maintenance

Those of you trying to download the demo from the sidebar recently will have noticed that the hosting site dropped the file. It has been re-uploaded with the new frontend graphic and the sum of all the bugfixing that happened in the past half a year or so.

The demo has 22 levels in it and all the weapons in the game are hidden somewhere.  It also has a small miniature dungeon. Why not give it a shot?