Google 网上论坛不再支持新的 Usenet 帖子或订阅项。历史内容仍可供查看。

[Game Design] Words of wisdom from the oracle

已查看 10 次
跳至第一个未读帖子

Alan Trewartha

未读,
2000年8月19日 03:00:002000/8/19
收件人
No prizes for detecting the sarcasm in the subject line.

I've recently returned to coding a game that has been in progress for a
long time. What a mess! I'm no Inform guru, but I have a much better idea
now than when I left off coding this monster, and what I see in my code is
nasty nasty nasty.

Anyway here's what would normally be a "mental note to self", but I have to
get this off my chest and move on. (Who am I kidding? Writing this is just
another procrastination tactic.)

Feel free to contradict or ignore any of the following "lessons".
Just don't get upset about any of it. I'd love to hear if you think I've
becoming close minded about any of the conclusions I've reached...


HE'S MAKING IT UP AS HE GOES ALONG or THE DEVIL IS IN THE DETAILS
Well I thought I knew the plot of my game (I had a broad
idea of what I wanted to happen), but once I started to code objects
I ended up improvising details to "fill out" the game. Mistake!

A detail in standard linear fiction /can/ be throwaway. When the "reader"
has more control over the story, a detail can /rarely/ be really just
a "you don't need to refer to that" without hurting the players sense
of control.

Once your "detail" merits some form of interaction you have to either
tie it down to minimise interaction, or consider the multiplying
possibilities and game states that such a "detail" implies. Better still,
if it has nothing to do with the "essential story" that you want to tell,
leave it out.

This doesn't mean you shouldn't have functionally inessential atmospheric
items and scenery, but I'm starting to believe that if you keep
the coding down to what you need for the "essential story" (I think I'm
going to be using that term a lot) then you'll get the story told/done
quicker and better, and avoid "runaway code" or what might more
pretentiously be called combinatorial explosion.

One of the reasons I think I started adding useless details was a fear of
emptiness -- that there would be nothing to my locations beyond the
first "look". Going back to my old code I see that I had wasted the /real/
details by putting them in location descriptions. Blowing it all in one
go, so to speak.

Once my game is finished -- in the sense that it can be played from start
to finish. Then I'll feel safe enough to add details that may have some
functional but inessential roles. (i.e. they're fun, atmospheric, or in
some way "round out" the game environment)

I'm now going through my game and changing many descriptions so that they
convey a sense of location and space, and how being there makes the
character feel, rather than using the roving eyeball "paint a picture"
approach.

This in turn led me to another problem with my game...


CONFUSING THE MAP FOR THE LANDSCAPE
I wiped out about ten locations (around 20% of the total thus far) because
I realised I'd only put them in to make the landscape seem bigger, or
to force the geometry of the locations in to some pre-conceived ideas I
had. In some cases I was adding locations as a replacement for better
descriptive abilities. In other cases, the locations were just not needed
for the game.

I even started to remove locations that were there purely to suit how
I had envisioned the landscape. Now that I was coming back with a fuller
idea of the big picture, I could see that a quick re-model of the
landscape, which still suited that picture, could magic entire rooms
out of existence.

I hope it doesn't offend anyone's aesthetic or artistic sense, but I
started asking the same question: about what was necessary to the
essential story. I soon discovered I could "collapse" two or more locations
into one when I found that the purpose they served (does that sound too
callous?) could be served by just the one room.

To some extent this is repeating the last point, and I certainly
felt the same benefits -- a reduction in the complexity of coding.

This repayed itself again by making the locations more
"functionally dense" -- the exact thing I was trying to do by adding
un-necessary details. hurrah. Functionally dense locations make for games
that are interesting to roam around and explore I feel.

I now find myself limiting myself to locations that convey and clarify
the logic of the landscapes /topology/ and that have a role to play in
the game.


LOCAL CODE FOR LOCAL OBJECTS or "WE'LL HAVE NO TROUBLE HERE!"
Now this is code specific, but not to Inform. Inform is my first exposure
to an object-oriented methodology (if you don't count VBA, which I'm sure
you don't), and I hadn't really got the hang of it when I started.

Going back to this old code I've now cut loads of stuff out that was over
complex because it wasn't written with "message sending"/object properties
in mind. Other code could also be simplified because it was now easier for
me to envisage the whole of the code involved in any interaction, now that
there was less to consider outside of the objects concerned.

An eye-opener for me was when I wanted different Library Messages
depending on what the current "player" object was. Some kind soul on
the newsgroup said to add

if (actor provides library_messages)
if (actor.library_messages()) rtrue;

at the top of my LibraryMessages object. This was like a revelation to me.
Sorry to all the seasoned coders out there -- but I was making my living
by muddling through PostScript, not dumping out swathes of crystal C++, OK.
I've since taken this lesson to heart, though I'm sure it's not quite
sunk "all the way through". I was deeply pleased with myself for adding

if (location provides scope_hack) location.scope_hack(person);

to my InScope entry point.


Well that's all the wittering I think poor USENET can take for now. Thanks
for your patience/interest/indifference.

Hey, how about a mini-comp based on Big Brother? 9 NPCs, 8 locations,
7 weeks to code it... no i thought not. bye


John E

未读,
2000年8月19日 03:00:002000/8/19
收件人
Good words...

I especially appreciated your sense of "collapsing"

I'm an information designer and my supervisors often want
to make a screen shot of EVERY-LITTLE-THING.

I have to get back with them to the 'purpose' which they seem to
lose site of. Just show enough to convey the idea.. all else is pith.

In IF the purpose is everything. You can have an object that hangs
above a player without ever having to implement an U_to (excuse the
syntax if that's wrong) object.

"A cord dangles high above you"
>ring bell

"you climb the ladder to the top, ring the bell, and slide back down"

In that example we've given as sense of movement through words alone.
I see so many programmers try to make the engine and compass directions
convey all movement. (though FOOM the Doom simulator was a riot!)

Also imagine creating a great hall with many object in it. Though every
object
is within 'reach' according to the parser, you could add lines like "you
walk over
to the..." in appropriate places to give that room it's sense of size.

Finally, I think what I've least enjoyed is having to follow a complex map
for no reason. If I'm in a maze.. fine. But don't make me go

"There is a bridge to the east"
>e

[partway across bridge]
"This is a long bridge!"
>e
[halfway across bridge]
"yup it's long"

etc. unless the points have different views or a purpose.

For story telling, I prefer

"There is a bridge to the east"
>e

"(big flowery description of how dang long the bridge is and all you can see
that might foreshadow or give hints and I only have to read it once, or few
times)"

I'm not at all against descriptions that come up like

*********** SPOILER *******************

When you are descending in the escape pod in Planetfall and you get a
glimpse of the whole game area you are about to land in. I've always
thought it would be neat if a vital clue (or at least a helpful one) gets
provided in that way in more games. Making you need to READ me not
>e
undo
>w
undo
etc.

****************** End spoiler, but not that much of a spoiler at al ******

Perhaps what I enjoy most is games that really connect ideas and puzzles,
not locations. I don't enjoy games where I'm on a grid of streets.. not
unless the puzzles are really related or if the story really needs that much
detail (stories rarely need much programming vs. puzzles).

Did I enjoy Phototopia? Yes.
Do I enjoy dropping object to get through mazes.. Yes.

It's what I like about IF... it can be technical.. and it can be artistic.

I think the "one room" IF games seems to show this off the best.
I actually really liked "pass the banana". Neat mental images of
objects being passed...

"You draw the pictures"
-John

"Alan Trewartha" <al...@no.spam.demon.co.uk> wrote in message
news:ant19143...@alant.demon.co.uk...

Adam J. Thornton

未读,
2000年8月22日 00:59:072000/8/22
收件人
In article <H%Bn5.1288$UJ5....@newsread2.prod.itd.earthlink.net>,

John E <john...@NOSPAMearthlink.net> wrote:
>"There is a bridge to the east"
>>e
> [partway across bridge]
>"This is a long bridge!"
>>e
>[halfway across bridge]
>"yup it's long"

Oh boy oh boy oh boy do *YOU* need to play Annoyotron.

Adam

--
ad...@princeton.edu
"My eyes say their prayers to her / Sailors ring her bell / Like a moth
mistakes a light bulb / For the moon and goes to hell." -- Tom Waits

0 个新帖子