📄 ch4.mht
字号:
special odds and ends (they call them "features"). These people design =
with a=20
shovel instead of a chisel. They confuse magnitude with magnificence,=20
intricacy with insight. <FONT size=3D-1><A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter4.html#=
top">Top</A>=20
</FONT></P>
<P><A name=3D"PRECEPT #5: STORE LESS AND PROCESS"></A><B>PRECEPT #5: =
STORE LESS=20
AND PROCESS MORE</B></P>
<P>(Our idiot is juggling. Beside him another man is juggling five or =
six=20
numbers comfortably and happily. The idiot is staring upward in stark =
terror,=20
arms outstretched in a futile attempt to catch an avalanche of numbers =
that=20
will simply crush him.)</P>
<P>The role of information storage in a computer is often =
misunderstood. A=20
computer is not primarily an information storage device; it is instead =
an=20
information processing device. Information storage is a necessary =
precondition=20
for information processing, but it is not an end in itself. Greater =
amounts of=20
stored information permit greater amounts of information processing, =
but if=20
the processing capability is insufficient to realize the full =
potential of the=20
storage, then that storage is wasted. The ideal program strikes the =
optimum=20
balance between storage and processing. Most game programs I have seen =
are=20
long on storage and short on processing. This is because data for =
storage=20
facts are easier to come by than process-intensive material-program =
code. In=20
taking the path of least resistance, most game designers end up going=20
downhill.</P>
<P>Thus, a game that sports huge quantities of static data is not =
making best=20
use of the strengths of the machine. A game that emphasizes =
information=20
processing and treats information dynamically is more in tune with the =
machine. Relegate all static information to a rules book; paper and =
ink are=20
still a better technology than personal computers for storing static=20
information. Information that lies around and does little, that must =
be dusted=20
off before using, has no place inside the microcomputer. As you look =
over your=20
program listing, you should inspect each byte and ask yourself, "Am I =
getting=20
my money=92s worth from this byte? Is it working hard for me, doing =
useful things=20
frequently? Or is this a lazy byte that sits idle for hours and is =
used only=20
rarely?" Fill your program with active bytes that do things, not lazy=20
bytes.</P>
<P>Lazy bytes are often associated with dirty rules (they like to hang =
out=20
together in sleazy pool halls). Dirty rules are special cases that =
occur=20
rarely. If they occur rarely, the bytes associated with them are not =
used=20
often, hence they are lazy bytes.</P>
<P>Another argument in favor of this precept arises from more =
fundamental=20
considerations on the nature of game play. Interactiveness is a =
central=20
element of game enjoyment. As mentioned earlier, the computer=92s =
plasticity=20
makes it an intrinsically interactive device. Yet, the potential =
inherent in=20
the computer can easily go unrealized if it is programmed poorly. A =
program=20
emphasizing static data is not very dynamic. It is not plastic, hence =
not=20
responsive, hence not interactive. A process-intensive program, by =
contrast,=20
is dynamic, plastic, responsive, and interactive. Therefore, store =
less and=20
process more.</P>
<P>One last argument has more to do with games than computers. (You =
will=20
remember from Chapter One that a game is distinguished from a story by =
the=20
network of options that a game has, as opposed to the single =
richly-developed=20
thread of a story. Much of the quality of a story is derived from the =
richness=20
of the information it contains. A story is thus all information and no =
processing. A game derives its quality from the richness of the =
network of=20
options it presents. These options are only accessible through the=20
process-intensive aspects of the game. Games that are information-rich =
and=20
process-poor are closer to stories than to the ideal game. <FONT =
size=3D-1><A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter4.html#=
top">Top</A>=20
</FONT></P>
<P><A name=3D"PRECEPT #6: MAINTAIN UNITY OF DESIGN"></A><B>PRECEPT #6: =
MAINTAIN=20
UNITY OF DESIGN EFFORT</B></P>
<P>(Our hero is now a pole vaulter handcuffed to a high jumper. They =
are=20
attempting to leap; their attempt is obviously going to collapse in a =
tangle=20
of limbs. Their facial expressions indicate that they are aware of the =
likely=20
outcome.)</P>
<P>Games must be designed, but computers must be programmed. Both =
skills are=20
rare and difficult to acquire, and their combination in one person is =
even=20
more rare. For this reason many people have attempted to form design =
teams=20
consisting of a nontechnical game designer and a nonartistic =
programmer. This=20
system would work if either programming or game design were a =
straightforward=20
process requiring little in the way of judicious trade-offs. The fact =
of the=20
matter is that both programming and game design are desperately =
difficult=20
activities demanding many painful choices. Teaming the two experts =
together is=20
rather like handcuffing a pole vaulter to a high jumper; their =
resultant=20
disastrous performance is the inevitable result of their conflicting=20
styles.</P>
<P>More specifically, the designer/programmer team is bound to fail =
because=20
the designer will ignorantly make unrealistic demands on the =
programmer while=20
failing to recognize golden opportunities arising during the =
programming. For=20
example, when I designed the game ENERGY CZAR (an energy-economics =
simulation=20
game), I did not include an obviously desirable provision for =
recording the=20
history of the player=92s actions. During the final stages of the =
game=92s=20
development, virtually everyone associated with the project suggested =
such a=20
feature. From technical experience, I knew that this feature would =
require an=20
excessive amount of memory. A nontechnical designer would have =
insisted upon=20
the feature, only to face the disaster of a program too big to fit =
into its=20
allowed memory size.</P>
<P>Another example comes from EASTERN FRONT 1941. While writing the =
code for=20
the calendar computations, I realized that a simple insertion would =
allow me=20
to change color register values every month. I took advantage of this=20
opportunity to change the color of the trees every month. The =
improvement in=20
the game is small, but it cost me only 24 bytes to install, so it =
proved to be=20
a very cost-effective improvement. A nontechnical game designer would =
never=20
have noticed the opportunity; neither would a nonartistic =
programmer.</P>
<P>There is no easy way to produce good computer games. You must start =
with a=20
good game designer, an individual with artistic flair and a feel for =
people.=20
That person must then learn to program. The opposite direction of =
development=20
(from programmer to designer) will not work, for programmers are made =
but=20
artists are born. When eventually you get that rare individual who is =
both=20
designer and programmer, then you can subordinate designers and =
programmers=20
underneath her, so as to multiply her creative power. In the process, =
the=20
subordinates will receive valuable training. In all cases, the =
creative=20
process must be unified in a single mind. Committees are good for =
generating=20
red tape, deferring decisions, and shirking responsibility, but they =
are=20
useless when it comes to creative efforts. <FONT size=3D-1><A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter4.html#=
top">Top</A>=20
</FONT></P>
<P><A name=3DCONCLUSION></A><B>CONCLUSION</B></P>
<P>In this chapter I have discussed the computer as a technology for =
game=20
design. Discussions of computers and their impact on society tend to =
become=20
polarized between the "gee whiz school and the cynical school. The =
former=20
group sees a rosy future of countless triumphs wrought by the computer =
--=20
"Every day in every way, better and better." The latter group sees =
computers=20
as a dehumanizing threat, a waste of time, or yet another vehicle for =
the=20
expression of human perfidy. In this chapter, I have tried to present=20
computers as just another technology, like hammer and nails, clay and =
stone,=20
paper and ink. Like any technology, they can do some things well. Like =
any,=20
technology, they do some things poorly. The artist=92s role is to =
deviously evade=20
their weaknesses while capitalizing their strengths to greatest=20
advantage.</P></UL>
<UL>
<CENTER>
<P><FONT size=3D-1><A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter4.html#=
top">Top</A>=20
| <A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Coverpage.html=
">Return=20
to Table of Contents</A> | Chapters: </FONT><A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter1.html"=
>1</A>=20
- <A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter2.html"=
>2</A>=20
- <A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter3.html"=
>3</A>=20
- <A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter4.html"=
>4</A>=20
- <A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter5.html"=
>5</A>=20
- <A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter6.html"=
>6</A>=20
- <A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter7.html"=
>7</A>=20
- <A=20
=
href=3D"http://www.vancouver.wsu.edu/fac/peabody/game-book/Chapter8.html"=
>8</A>=20
</P></CENTER>
<P>
<HR width=3D"100%">
<P></P>
<CENTER>
<P><FONT size=3D-1><A href=3D"http://www.vancouver.wsu.edu/">WSUV Home =
Page</A> |=20
<A href=3D"http://www.vancouver.wsu.edu/fac/peabody/peabody.htm">Prof. =
Peabody's=20
Home Page<BR><BR></A>Copyright © 1997 Washington State =
University. All rights=20
reserved. REV.5.27.97<BR><I>Comments and questions: <A=20
=
href=3D"mailto:peabody@vancouver.wsu.edu">mailto:peabody@vancouver.wsu.ed=
u</A></I></FONT><BR></P></CENTER></UL></BODY></HTML>
------=_NextPart_000_0045_01C4FB03.0C5C3660
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.vancouver.wsu.edu/fac/peabody/game-book/marble.JPG
/9j/4AAQSkZJRgABAgEASABIAAD/7QE0UGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1
AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAA
AAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////
A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D
6AAAAAD/////////////////////////////A+gAADhCSU0EBgAAAAAAAgAA/+4ADkFkb2JlAGSA
AAAAAf/bAIQAEg4ODhAOFRAQFR4TERMeIxoVFRojIhcXFxcXIhEMDAwMDAwRDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAEUExMWGRYbFxcbFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAVwBgAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEB
AAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQC
BQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKy
gyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3
h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLh
coKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1
VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//dAAQABv/aAAwDAQACEQMRAD8A7ZKYTAkdjPgnIkBJSiZE
SmAAMlOONBqNEiDOnHfVJTEnXXQeCUEwToOwSJ10nTxT8mO440SUoiDqdB2SBA+A8ExgkAnUpGAY
CSVEmSANPFOBOsz3USEgCCew8AkpcjWR3T9gmmEgZGgn4JIf/9DtTJEFIEgQExM8pwRGiSlwTKYm
dOD2SJ000KiJJJJ4PKSlSQCT280gTMqRBIkapiCEkqAJM9kiIk8nsnB0MKPIkkyElLggSDoQmJBi
OPBIgEz4+KQGqSlzoJPyCQJPGiYyTqnBISQ//9HtSNeeU4EAymA4KcgnnhJTEpgCDI+acgSlEJKX
DiTAEBKBwUwGvgnSSoAR80iADCcBRI180kLghMOdNfFISBKcEAT49klKPgAmGsHiE/Jk6pAaEpKf
/9LtASNE5MCSkQAIHJ5KbQpKXEEyUiNUwKcHSD96SlACQnj7k09xykSeOAElKJ8tEo7pEyYJ1SGv
wSUoiBqmMg+XYJ0xEg6capKUSeEjIA80gZOmpHIUtHAjhJT/AP/T7Z0AAKIHgkTOp7pwO6SliITp
RJTE6wkpWpCcGSZ08CmMgApwJgkn4JKUB3nUpAGUgQDr4J5AB00SUskZIjgJzqJBCYyNSElKAmT3
PdOABI7pgQdQkSQZCSn/1O1EJ14gkkp9vMwYURzqvEkklPtxgeYTajjULxJJJT7aSZ4EKXnrHgvE
EkkvtpGsz8ASnBOoI08V4ikkp9rG7WJhTHmvEUkkP//Z
------=_NextPart_000_0045_01C4FB03.0C5C3660--
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -