EARLY WORK: JANUARY-APRIL, 1982
THE LONG HAUL: MAY-DECEMBER 1982
In Chapter 5, I presented an idealized game design sequence. I attempted to describe a general purpose method that properly recognized the concepts developed throughout this book. It is a sad truth that the practicality of the schemes we devise is inversely proportional to the idealism they embody. I have never designed a game in complete accordance with the system described in Chapter 5. My real designs have followed considerably rockier courses. In this chapter, I will describe the development of EXCALIBUR, a recent design. The contrast between the real process, jerky and mistake-prone, and the ideal process should help the reader bridge the gap between theory and practice. Top
In December of 1981, I began working for Alan Kay in his new Corporate Research unit at Atari. Given total creative freedom, I resolved to do a game worthy of the vast faith that Dr. Kay had invested in me. I wanted this game to be grand and glorious, a game so lofty in its goals and play that it would put all others to shame. Since marketing considerations were not significant to the game, I resolved that this game would run in a 48K disk-based environment. This afforded me plenty of computer resource with which to work.
My background is in wargames, and I naturally thought in terms of a wargame. War is the most extreme expression of human conflict, the greatest evil of human existence, and the highest tragedy of our species; it is therefore an obvious starting point for a serious artist. I wanted to break away from the conventional treatment of war in wargames, which either glorifies war as an expression of misconceived heroism, or trivializes war as a fascinating intellectual exercise. I wanted something more than a wargame, something that placed war in a meaningful context. My game would include war as a viable option that must sometimes be exercised, but not frivolously. I wanted a game that warmongers would inevitably lose, because I deeply believe that peaceful strategies are often the most practical ones. This game would address statecraft as a human enterprise; as such it would necessarily focus on leadership. Another fundamental goal I established was that the game would actually consist of a number of games linked together. This would allow me to show policy, statecraft, and war at a variety of scales, from the most strategic and indirect level to the most tactical and direct level.
My next task was to determine the fantasy context for the game. I boiled the possibilities down to two contenders: a game dealing with the USA after a major nuclear war, and a game about Britain in the Dark Ages after the collapse of Roman authority. Both contexts deal with societies attempting to reorganize themselves after a calamity. I decided that the first fantasy was too morbid for my purposes. Furthermore, the second fantasy context was shrouded in the legends of King Arthur, an intrinsically interesting subject. I therefore chose the Arthurian context.
The player in this game would be King Arthur, and his goal would be to unify Britain and bring peace to the troubled land. The challenge of the game would arise from the unwillingness of the other kings to submit to Arthur's authority. The player would be required to use a variety of techniques to establish his authority, only one of which would be military action. Indeed, I resolved that overuse of military methods would brutalize the nation and result in endless insurrections and anarchy. With these noble goals established, I began serious design work on the game. Top
I first turned to the question, what is leadership? The answer to this question is central to the game. It was essential for me to determine the essence of leadership at the national level and reduce this essence to a form manageable in a game. I needed to extract the central decisions of leadership and design a form for expressing them. The military aspects of leadership are the most obvious and easiest to work with. I would have had no difficulty designing a game in which the player must make all the correct military decisions. Yet, this was not satisfactory to me: I wanted to address wider issues. My game had to address the social, diplomatic, and interpersonal aspects of leadership. How was I to represent and manipulate these factors in the course of the game? These problems vexed me for months.
I quickly grew impatient with the struggle with such fundamental problems. The child in me wanted immediate gratification. To satiate these impatient impulses, I wrote the title and ending scenes for the game. These were not crucial to the structure of the game, but they. gave me an opportunity to explore some interesting graphics techniques without compromising the integrity of my design. The ending scene posed some interesting problems. It shows the sword Excalibur twirling through the air over a lake, falling into a hand that abruptly rises out of the water to catch it, and then recedes beneath the waves. I spent a great deal of time trying to add the lonely sound of the wind whistling against the blade of the sword, but I was never able to obtain satisfactory results. I therefore turned to the idea of accompanying the title and ending scenes with some appropriate music. I chose as my two prime candidates a section from Siegfried's death and funeral in Wagner's Siegfried, and a portion of Dvorak's Seventh Symphony.
I also determined the fundamental structure of the game at this time. There were to be four fundamental nested games. The first, CAMELOT, would concern Arthur's activities within his castle. These would include the management of his own kingdom, the conduct of diplomacy, and the preparation of the army. The second game module, BRITAIN, would allow Arthur to travel around the island of Britain with his army and engage in strategic military activity. The third game module, BATTLE, would allow Arthur to fight battles with enemy armies. If Arthur himself managed to encounter an enemy king on the battlefield, then he would enter the fourth module, JOUST. This last module was intended to be a simple skill-and-action game in which Arthur attempted to unhorse his opponent. The game would use a full first-person view of an advancing horseman, lance leveled, with the whole scene bouncing up and down with the galloping of Arthur's own horse. I entertained myself by devising clever graphics algorithms that would generate true 3D first-person graphics. After I had expended a great deal of effort, though, I realized that the JOUST game would take only a few seconds to play and would not provide much challenge. So I started over with a new idea: a swordfight game. The first problem I faced was, how can I simulate the motion of a sword through joystick commands? I got out a yardstick and spent hours in my living room, swinging the yardstick, trying to divine some sort of pattern to it that could be represented cleanly with a joystick. My difficulties arose from the fact that the motion of a sword in a swordfight is a very complex motion, and a joystick simply cannot adequately express all the intricacies of such motion. I eventually found a reasonable system. The side-to-side motion of the joystick controlled the angle of attack of the sword, from horizontal swing from the left, through a vertical swing over the player's head, to a horizontal swing from the right. Backward motion on the joystick swung the sword backwards in preparation for a stroke; forward motion of the joystick sent the sword forward in its stroke.
This problem solved, I began work on some new graphics routines that would show an opposing swordsman in first-person graphics. This proved to be a very difficult task. I eventually gave up on the swordfight game for much of the same reasons that had led me to abandon the joust game. Besides, I didn't want Arthur to be able to hack his way to victory. If swordfights cannot assure success, what's the point of having them in the game?
By now it was March. I began work on the BRITAIN module. This was a .scrolling map with a number of embellishments thrown in. I had earlier done .scrolling maps in EASTERN FRONT 1941 and LEGIONNAIRE, so the implementation of this module was easy for me. Since I had lots more memory for this game, I decided to splurge and make a gigantic scrolling map. I ended up with a 6K map of Britain that is quite large.
Slowly the design was taking shape in my head, but a fundamental question remained unanswered: was this to be a historical game or a fictional game? That is, was this a game about Britain in the sixth century AD or was this a game about King Arthur? I read every book I could lay my hands on about both subjects. This research led me to conclude that Britain in the sixth century was a chaotic and depressing place. The native Celts were defending their homeland against invading Anglo-Saxons landing on the eastern coast of the island. For two centuries the Anglo-Saxons slowly pushed the Celts westward. King Arthur was actually a Celtic general who led a brief counteroffensive against the Anglo-Saxons, winning the battle of Mount Badon and halting the Anglo-Saxon offensive for about 50 years. But Arthur's success was only a brief respite; in the end, the Celts lost. Thus, the historical record does not support my needs for a society struggling to reorganize itself. Instead, the story of Britain in the Dark Ages is the story of one people being relentlessly driven out by another.
Yet, from the dreams of the vanquished arose the legend of the conquering King Arthur, a legend that passed through the ages and agreeably molded itself to suit the needs of any storyteller. As I read the many incarnations of these legends, I was struck by their surpassing flexibility. Each artist who took them up impressed a different character upon them. They worked just as well as religious inspiration, ribald tales, or expositions of the chivalric ideal. Even Mark Twain turned them to good use for his characteristic blistering social comment.
A major turning point in the design process came when I watched the movie EXCALIBUR. This is a magnificent film that beautifully captures the best elements of the Arthurian legends yet makes its own statement. I watched it over and over, reveling in the richness of the tale. This movie shamed me with its excellence. I realized that I had been compromising the important artistic issues in my game in order to play with cute graphics. I climbed a lonely hill and spent a day meditating. I rededicated myself to the lofty artistic goals I had earlier set for myself. I also knew that I could not realize them alone; I had to got help. I enlisted the aid of Larry Summers, and hired Valerie Atkinson to help me. With new determination, we set to work. Top
Here is where we stood in May, 1982: I had established the broad design but had left many details unfinished. A number of disparate chunks of code had been written, but they did not fit together at all. There was no overall design document. Faced with so many things to do, I foolishly opted to finish some of the more obvious minor things. I wrote the CALIG module that draws Gothic characters onto the screen. Valerie set to work preparing the bit map tables for the routine. Larry worked on finishing the title scene by adding the music and the dissolve routines. This work, never intended as more than flashy window-dressing, unfortunately consumed nearly two months.
In June we began work on the CAMELOT module, with Valerie taking primary programming responsibility. This module was actually a set of illustrated menus. Each room (menu) had four options described by a single-word entry. A vertical band allowed the player to move his crown-cursor to the menu selection. To the right of the vertical band we placed a graphic window for showing some critical bit of information. For example, in the Round Table Room, we showed a circle depicting the Round Table and a set of shields representing the knights of the Round Table. Their spatial positions in the room indicated their social relationships. In the Treasury Room we had intended to show piles of coins; we had to delete that feature later on to show more detailed economic data. We had also intended to use a kernelled display that would have allowed much more color on the screen; later on we gave up on that idea, for it would have consumed too much execution time.
As Valerie set to work on this sizable job, I began working on the social game associated with the Round Table. I plunged into the task without realizing the magnitude of what I was attempting. I wanted to produce a small game that would require Arthur to manage a social group. I quickly realized that the most interesting features of such a situation lay not the radial relationships (the relationships between Arthur and the other knights) but in the circumferential relationships among the knights. Although Arthur must perforce deal with knights radially, the circumferential relationships may well be the deciding factors. I found this system fascinating and worked intensively with it. I developed a set of algorithms that model group behavior in a most interesting way. I was so pleased with the algorithms that I threw together a short BASIC program that turned them into a stand-alone game. This game seemed very promising to me; particularly impressive was my wife's reaction. A woman who takes a dim view of silly games, she took an instant liking to this game. Surprised and gratified that I had finally produced something she could enjoy, I decided to pursue this new game, originally a study for EXCALIBUR, as a completely new project. Aric Wilmunder was hired to execute the design, called GOSSIP.
In July we entered a long and slow period of frustrating progress. I began devoting a larger share of my time to the writing of this book. Other duties further distracted me. Without my active daily participation, the project began to flounder. Larry and Valerie plugged away at their work, making the best of a weak situation. For months they slowly built on the system we had created, fleshing out the skeletal system I had so briefly described. Since I had so little time to devote to the project, I did a great deal of designing by the seat of my pants. In our regular weekly meetings, they would present me with the latest design flaw they had uncovered. Having no clear memories of previous decisions, I would hack together an ad hoc solution. My intuitions are fairly good, and many times I got away with these deplorable techniques. However, many of my on-the-fly decisions fell apart and wrought havoc with the overall design. Poor Valerie put features into the CAMELOT module, only to have have them stripped out, then later re-installed.
Our records for this period indicate a great deal of wasted effort. We had intended that the treasury room in Camelot would be illustrated with piles of coins indicating quantities of wealth. A great deal of time was expended writing coin-drawing routines. In the end, we realized that we didn't have enough screen space to show these piles of coins, so we had to use simple numbers drawn onto the screen. Indeed, the list of things we designed, programmed, and later dropped is a revealing measure of my own failure to plan ahead. The list includes declarations of war (dropped but later incarnated as "Attack"), alliances, sieges, demands for tribute, armies moving around in Britain, and a host of minor patches.
Six months were consumed in this muddle. These six months were not a total loss; indeed, much progress was made: Larry completed the economics processing, the BRITAIN module, disk swapping of modules, the presentation of diplomatic news, and a number of major consolidations of the ever-burgeoning code. Valerie took the CAMELOT module much further, linking it to the new features and making it the largest and most complex module in the entire game. Yet, all of this could have been completed in half the time had I been more organized and devoted more energy to the project. By Christmas, everybody was tired of the project, demoralized, and despairing that the project would ever be completed. Those were dark days indeed.
In January 1983 I was able to return EXCALIBUR to its rightful place as my highest priority project. I plunged into the project with a cold determination to get this project done and out the door. Gone were the grand and lofty feelings of 1982, the misty-eyed vision of a truly grandiose game.
In their place was a bitter resolve to finish the game at all costs. I met long and frequently with Larry and Valerie. Ruthlessly I slashed at the design, ripping out vaguely defined or non-essential sections. The design discipline that I had sought to escape by consuming vast computer resource was forced on me by my inability to complete the project. At home, I worked on the artificial intelligence routines for the knights in the Round Table Room. This took a few weeks. Then I tackled the BATTLE scene. During February and March I wrote, debugged, and playtested this module. I was possessed, driven to complete the game by my self-imposed deadline of April 1. My records indicate that I averaged 300 bytes of debugged code per day. Industry averages are 75-100 bytes per day. Larry and Valerie were caught up in the frenzy. They worked furiously on integrating all the pieces of the program together and resolving the myriad inconsistencies thereby produced. Entire modules handling Merlin's room, economics, vassalage, tithes, and swapping code were designed, coded, and debugged.
Despite this, we failed to make our April 1 deadline. We moved it back to April 15. Even this became impossible to meet. Nevertheless we made April 15 an important milestone -- all coding would be completed by this date.
The first two weeks of April were consumed in a wild orgy of effort. Meeting every day, sometimes for four hours at a stretch, we hammered out what was undoubtedly the toughest part of the design: the artificial intelligence algorithms.
I had reserved this task for last, for the AI routines must reflect every aspect of the design. The design must therefore be complete, and all variables completely defined, before AI algorithms can be designed. Moreover, the creation of the AI routines tends to freeze the design, since significant design changes after the AI is done can ruin the entire AI design.
The AI for EXCALIBUR is easily the most difficult I have ever attempted. It must consider the personalities of the different kings, economic factors, military factors, and geometric factors. The system we developed uses intermediate variables that express concepts such as the amount of military prestige a king has, how much prestige he has an economic manager, and how well-liked he is. Personality traits factored into the algorithms include ambition, stupidity, and defensiveness.
We almost succeeded in meeting our milestone of having all code completed by April 15. The code remaining was quite trivial. We all took a break for two weeks. In May we began final work on EXCALIBUR. Larry and Valerie began rooting out and eliminating all the bugs in the program. As I write this, they are still working on the task. In June, we will begin tuning and polishing the game. I would like to spend more time polishing this game, but it is long overdue. It will have been in development for 18 months, and will have consumed 3 programmer-years of effort. In these days of six-week development times of quicky games, EXCALIBUR may well be one of the most sweated-over games ever done. It is certainly one of the most ambitious designs ever attempted. It may not be successful, but if it fails, it will not be for want of effort.
Crawford's 1998 note: We shipped EXCALIBUR in July.