Linguistic Input

This crude system permitted some surprisingly rich play, largely because the core input structure was linguistic: Orders are sentences. A player would enter "4x7" to say "Tank #4 ordered to fire at enemy Tank #7." The display shown in Figure 13.3 was obtained by merely pressing the "3" key; any additional keypresses would have been added to its orders queue shown in the second line of the display.

The orders queue is the trickiest part of the user interface. Each tank may have up to five orders in its queue at any given time. This limit was imposed by the display; I could have stored more orders for each tank but then they would have been invisible or the display would have become cluttered. The problem was that the orders queue was constantly in motion: As orders were executed, the orders queue would shrink, and as orders were entered, the queue would grow. This made for some programming difficulties, and I never quite got the display refresh system working properly. There were too many processes going on at once: orders coming in from the player, movements by the tank under examination, and movements by other tanks. Under some circumstances, the player would end up looking at an out-of-date orders queue. With modern software, multiple process management isn't much of a problem, but when you're working in machine language, it can become quite a headache.

Thus, a typical conversation between player and computer might look like this:

graphics/13fig04.gif

Player: [2] "Tell me about my Tank #2."

"Tank #2 is at coordinates 2963, facing direction 4. It is currently inactive. It has 8 rounds of ammunition left. It can currently see enemy Tank 8."

graphics/13fig05.gif

Player: [x] "Fire!"

"Tank 2 fire at whom?"

graphics/13fig06.gif

Player: [8] "Fire at enemy Tank #8!"

Of course, if the player were in a hurry, he could simply punch [2x8] in rapid succession to order Tank #2 to fire at enemy Tank #8.



Chris Crawford on Game Design
Chris Crawford on Game Design
ISBN: 0131460994
EAN: 2147483647
Year: 2006
Pages: 248

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net