In this chapter, we will design the game world featured in Celtic Crusader.
Designing a game is no simple task, and it should not be thrown together after the source code has been nearly completed. The design should direct what code gets written and what the game world looks like. I have written several successful game design documents, and they are very valuable to the development team on a game project. In this chapter we will merely design the game world and describe how the game will be played rather than creating an entire design doc.
Here’s what we’ll cover in this chapter:
n The quest-based storyline
n Designing the RPG world
n The player’s character (PC)
n The non-player characters (NPCs)
n Inventory and gold
n Weapons and armor
n Magic
n Communication
n Combat
Chapter 9
169
The Quest-Based Storyline
You can learn a lot about your subconscious motivations and creative impulses by designing a game with pencil and paper. I get so much enjoyment out of the design process that my enthusiasm gets the best of me and I want to jump into the code and start writing the game! At the same time, I enjoy drawing even though I have no talent.
H i n t
For a complete discussion of how to design a role-playing game, see Swords & Circuitry: A Designer’s Guide to Computer Role-Playing Games(Thomson Course PTR, 2002) by Neal and Jana Hallford. I also recommend Character Development and Storytelling for Games(Thomson Course PTR, 2004) by Lee Sheldon, if you are interested in learning how to create realistic storylines and characters for your games.
It’s important to put as much on paper as possible before you start writing source code. It is good to get started on the artwork for a game while developing the design, because that helps you realize what is possible and somewhat helps with the creative process. If you start working on a game without any design at all, at worst it ends up being left unfinished, at best it is a clinical game (meaning it is functional but lacks substance).
Celtic Crusader is based in ninth-century Ireland, a country occupied by Norwegian Vikings, who ruled the seas at the time. The Vikings were not just barbarous raiders, although this game’s story is about Viking occupation in Ireland and generally depicts Vikings as the bad guys. The Viking civilization was spread across a much wider area than even the Roman Empire, although it was not as strong and it was not based entirely on military conquest. The Vikings were explorers and traders who settled lands, such as Iceland and Greenland, that had never before been visited by humans. Although humans had migrated to North and South America before this time, the Vikings are also credited as being the first Europeans to discover and settle North America.
(Actually, the Viking settlers in Greenland were the first Canadians.)
The storyline is usually not as important as the quests that move the story forward. Your character does not have a specific goal, because nothing in life is that clearly defined. Instead, the game develops while your character develops, mainly by fighting animals and fantasy creatures, as well as the occasional Viking raiding party. Your character’s attributes determine how good he is in
combat. (See “The Player’s Character” section later in this chapter.) In Celtic Crusader, we’re building both an adventure and a “hack-and-slash” game that may be compared with Diablo and Baldur’s Gate. There are more complex adventure-based RPGs as well (such as The Elder Scrolls and Might & Magic series), and they tend to take a very long time to finish.
Designing the RPG World
The game world in Celtic Crusader is based on the island country of Ireland. I chose this land because it has a rich mythology going back more than 2,000 years, providing a huge pool of possible plot elements for the storyline and sub- quests in a game. I thought of basing the game on ancient America, designing a game around the Mayan or Incan civilizations, but decided to go with Ireland because it is easier to write a story around an isolated community. That also makes it possible to set boundaries on the game map limiting the player’s movement (as opposed to putting mountains or some sort of no-man’s land at the boundary of a land-locked game world).
There is a lot to be said for a randomly generated world or a world based on a completely fictional land with no historical basis. It allows you (the game’s designer) to let loose with your imagination to create a world that does not influence, nor is affected by, the“real world.”Generating a random world is definitely possible, but I don’t like the random factor because it prevents me from designing the game around real locations in the world. Celtic Crusader has characters that are from specific towns based on character class, and I want those towns to be real places on the map, not just generated locations in a random world. The goal is to build a game that has a lot of replay value by offering strong character development rather than anonymous random combat. The fact of the matter is most people love a good story.
Giving your game a good story with believable characters makes it far more fun to play than a randomly generated world, even if the same characters appear in that fictional world. Even a great game franchise likeWorld of Warcraftsuffers from the animatronic-like affect of scripted, repeating events.
Map of the World
Figure 9.1 shows the map of the world in Celtic Crusader as a traditional hand- drawn illustration. This rough sketch represents Ireland in the ninth century, when the Vikings invaded England and Ireland from their empire in Norway, Denmark, and Sweden.
Designing the RPG World 171
Figure 9.1
Hand-drawn illustration of the world in Celtic Crusader, based in Ireland.
This map shows Viking towns (a V inside a square), Irish towns (an I inside a circle), and ruins (an R inside a triangle), to give you an idea about how quests are based on the game world itself rather than by some random quest-generation system. In reality, I have taken some creative liberties with the true historical significance of the towns shown in this map. The Irish “towns” were, in reality, monasteries that the Vikings either did not discover or did not plunder for one reason or another. The ruins shown on the map are, in fact, monasteries that the Vikings had plundered by stealing all gold, silver, and valuables they could find.
I thought the idea of a plundered monastery lent itself well to a ruin filled with evil creatures. The ruins in Celtic Crusader are based somewhat on historical fact, which I believe really helps with the story, with the idea being that the plundered monasteries, by becoming ruins, have been invaded by vile monsters that are not generally found elsewhere in the game.
The ruins are basically a training ground where the player’s character gains experience, goes up in levels, and acquires gold to buy better equipment in the towns. The goal with this game engine is to have certain parts of the map load a new map via a portal, with the player inserted into a certain part of the new map.
(We’ll discuss issues like this when building the Level Editor in the next chapter.) However, I have found that this is a very difficult thing to do without causing the source code to grow in complexity (and I want to keep this game on the simple side). Therefore, the towns in the game world are represented on the map itself rather than as awarp type of system that enters and exits the towns. I really like this idea better because it keeps the suspension of disbelief going.
D e f i n i t i o n
Suspension of disbeliefis a term that describes one’s immersion in a fictional setting. You may have experienced this while reading a good book or playing a good game: You lose track of the real world around you and become totally immersed in the fiction. This is avery good thing to strive for in your game designs, and you should strive to achieve it with every game. Anything that takes away the player’s suspension of disbelief should be removed from the game. A clunky user interface, a difficult combat system, an overload of information on the screen—these all lead to ruining the player’s feeling of total immersion.
By taking the hand-drawn map and scanning it into the computer, I have been able to clean it up and turn it into a digital version of this game’s world. That world is shown in Figure 9.2.
Designing the RPG World 173
Figure 9.2
The hand-drawn map has been scanned and converted to a digital map.
My goal is to teach you how to create an RPG as well as a quest-driven game engine that you can customize to suit your own vision and imagination. I want to give you just enough to get the job done, while avoiding doing everything for you, so you are motivated to improve the game.
While you’re working on a game like this, always consider ways to make whatever you’re working on reusable. If you are constructing a player creation screen, think of ways to make the screen dynamic and flexible, without hard- coding anything specific. It is a good idea to keep things concrete and solidly built in the game, but not to the point where it’s impossible to modify later. If you have buttons on the screen that the player needs to click with the mouse, make those buttons easy to move around—use constants at the top of the source code for that particular screen. Another option is to make everything in your game skinnable. You know, skins are all the rage in user interfaces today, and most music players for your PC support skinning. This is a process where the program controls can be repositioned and the images used to represent those controls can be modified—with some fantastic results. Why not take that excellent design methodology with you in the design of a game and make it totally customizable by storing skins and settings in files outside of the source code for the game? This excellent concept may be beyond the scope of this short book, but I want you to keep it in mind while you are working.
Figure 9.3 shows my admittedly crude mock-up for the scrolling game world.
The player’s sprite remains in the center of the screen at all times, with the world scrolling underfoot. With this design in mind, the map has to be laid out so there is room around the borders for the player to reach the edge of the map. In other words, when the player reaches the ocean, the map needs to have ocean squares going out a little so the player can walk right up to the seashore. The eight-way scrolling of the map is perfect for the sprites in this game, which have been rendered with animation in eight directions.
Regions
There are four provinces, or regions, in the version of Ireland represented in this game: Leinster, Munster, Connaught, and Ulster (see Figure 9.4). It is not crucial, but I have always found that a background story and historical depth make a game far more compelling for the player, greatly improving the sense of immersion in the game world. A game is not just backgrounds, sprites, and collision detection, and
Designing the RPG World 175
players expect much more depth to an RPG than they expect from an arcade game.
One aspect of theUltima series that made it so popular is the wealth of historical information provided to the player within the game (usually through dialog with NPCs). You want to create the illusion that the player is just one person in a huge, populated world that goes on with or without him. At the start of the game, the player will begin in a town within one of these four regions—depending on the character class chosen—and the history of the region will be reflected in the people that the player will encounter early in the game.
Leinster Region
Leinster region, located on the east side of Ireland, is where most of the fighting takes place between the native Irish people (who are, admittedly, descended from Anglo-Saxons in the first place, never mind that the Celts are long gone. . .)
Figure 9.3
The player is centered on the screen within the scrolling game world.
and the Viking invaders who created three settlements: Dubh Linn, Wexford, and Waterford. Leinster borders all three of the other regions. The Irish monastery towns include Kells, Swords, Birr, and Durrow. There are also some ruins (pillaged monasteries) in this region: Monasterboice, Kildare, Glendalough, and Wicklow. This region produces the most axe-bearing warriors and sword-wielding paladins in the world.
Figure 9.4
The four regions of the game world in Celtic Crusader.
Designing the RPG World 177
Munster Region
The Munster region of Ireland, located in the southwest, is adjacent to Leinster and Connaught. Munster is the second strongest region of Viking occupation on Ireland with the two Viking settlements of Limerick and Cork. Although there are no ruins in this region at all, there is one Irish monastery town called Ardfert, which is famous for producing skilled archers (known by the character class scout), the likes of which fought against the Vikings during their initial invasion and occupation. The Vikings have never learned about the secret bow craft of Ardfert, so many patriotic archers are still trained there.
Ulster Region
Ulster region, located on the north side of Ireland, is the location for most of the island’s religious artifacts; its inhabitants practice the ancient art of mastering the natural world. Ulster was devastated by the Vikings during their initial invasion, with many mages killed while trying to protect their monasteries. There were vast arrays of gold and silver artifacts given to the mages of Ulster as offerings throughout the generations. Despite mastery of the natural world, Ulster mages were peaceful in nature and abhorred violence of any kind, even in one’s defense.
As a result, the mages of Ulster were defenseless against an unknown enemy that brought brutality to the region, plundering the monasteries of Moyille, Devenish, Armagh, Downpatrick, and Bangor, leaving them in ruins. Only Derry remained unscathed by the plundering. The tenants of Derry, the last vestige of Celtic mages left alive, have been forced to abandon their prior unity with the natural world and focus their attention on combat in order to drive out the Viking invaders. Mages of Derry are masters of the staff in hand-to-hand combat and are able to wield some of the unseen forces of the world to aid them in battle.
Connaught Region
The Connaught region is located on the western side of Ireland. Connaught was once a vast grazing land for cows, sheep, and goats, with its wide open plains and plentiful feeding ranges. Connaught is not a widely settled region, though, and the Viking invasion rallied those few living in Connaught to the battle in defense of the land. The result is that forests have grown into Connaught from the south, and it is mainly a breeding ground for evil creatures and a hiding place for criminals. Two monasteries in southern Connaught—Clonmacnoise
and Clonfert—were pillaged by the Vikings, who left them in ruins. The inhabitants of these two ruins are a constant nuisance to the hardworking citizens of Birr, located nearby in Leinster region.
The Player’s Character
One of the most enjoyable aspects of playing an RPG is creating your very own custom character to use in the game. This is why true RPGs have more depth and more replay value than games featuring a specific set of characters (as in the Zelda series). Because player character creation is so much a part of the experience, it’s important to design the character creation screen with as much versatility as possible so the player can create his or her own persona for the game. Celtic Crusader is taking shape as an old-school RPG, and will eventually allow you to design your own character from scratch. The game should allow your character to interact within the confines of the main storyline of the game (as well as within the sub-quests). Figure 9.5 shows one possible
Figure 9.5
A rough-draft design for a possible character creation screen.
The Player’s Character 179
design for a character creation screen. This is a very crude drawing, but it should give you an idea of what you might do for your own character screen.
H i n t
To see what the final character generation screen looks like, jump ahead to Chapter 20 to check it out! It’s not exactly like the design, but comes close to it.
Character Attributes (Stats)
All characters in the game—including non-player characters and monsters— have the same set of attributes in order to make combat possible: strength, dexterity, stamina, intellect, and charisma.
Strength
Strength (STR) represents the character’s ability to carry a weight and swing a weapon, and is generally good for the warrior and knight classes, which carry hand-to-hand combat weapons, such as axes and swords. The strength attribute is used to calculate the attack value for the character (meaning, the amount of damage the player inflicts on enemies with each swing of a weapon).
Each time the character attacks, a dice roll (which is a random number in code) against the attack value determines whether the attack succeeds. If the attack is a hit, then the weapon’s damage value is used to inflict damage against the opponent. Suppose your character has an attack value (ATT) of 12, which is calculated using the character’s strength (mainly, although you may include dexterity in a custom calculation to make the game more interesting). Typical
“attack rolls” are done with a D20 (a 20-sided die). In a Visual Basic program, you can simulate the roll of dice using the Random class. An attack value of 12 will go up against the other player’s defense value to determine if any damage is dealt.
Dexterity
Dexterity (DEX) represents the agility of the character, the ability to manipulate objects (such as a weapon), and the skill with which the player uses his or her hands in general. A very low dexterity means the character is clumsy, while a very high dexterity means the character can manipulate complicated devices and