Homework Two
Assigned 4/1/03, due noon 4/8/03
As discussed in class, you will write a work of interactive fiction. This
assignment is the first of two steps in that process. What you will turn in
next Thursday is:
- Your story bible. It must
include a description of the setting and any associated lore, the plot
structure, a map, and a list of objects and NPC’s that you expect to need.
This should take the form of a Word document or a self-contained zip
archive with HTML and all necessary supporting files.
- An Inform source code (.inf)
file implementing some of your story. This must include partial
implementations for all of the locations in your story and some of the
objects, roughly one-half of the things you need to build for the story as
depicted in your story bible. Your code must compile in Inform and execute
in Frotz. However, you don’t have
to have everything polished, e.g., some of the behaviors may be missing
(especially for NPC’s) and some of the textual descriptions may be unrefined
(what is called “placeholder art” in the trade).
- The .Z5 file produced by the
Inform compiler based on your source code.
The
story bible for Twonky
Island provides a partial
example, although please note that we want you to also include a map (it can be
spatially evocative or a graph of named locations whose arcs are labeled with
directions, as you choose).
We expect of course that your story bible and code will evolve as you finish
the game. This is a snapshot, not the
final version. But, as with any complex project, setting up and hitting
intermediate milestones is one of the secrets of success. This is one of the
kinds of milestones used in game development.
Having a story that is incomplete but fully working and debugged in
terms of what material is there is an important step, for a couple of
reasons. First, if you don’t debug
things in small pieces, you are not very likely to succeed in creating
something that you are satisfied with.
Second, implementing large pieces of the game help one understand what
is hard and easy in the technology one is using, which helps gauge the level of
effort required to finish the job, and what big risks lie ahead. (For instance, in Deus Ex one of the scenes
that never got implemented was orchestrating a prison break. The number of NPC’s would have been
prohibitive, but that was a lesson that only became crystal-clear once they had
built part of the game. You may find
similarly that small changes in your story could end up making large
differences in how well your final story can be implemented, especially given
the two week window you are working in.)
Some hints regarding your story:
- Aim for an experience that
lasts about 15 minutes to at most a half-hour. Think of it as a short
story, not a novel.
- Your audience will be your
classmates, who will be playing your game.
- Be imaginative. You can set
your story on Europa or in the 1930s just as easily as Norris.
- Mine the inform
documentation, example source code, and other on-line
resources for ideas on how to do things. There are libraries for
NPC mechanics, aspects of simulation, etc. Reuse and recycling, with
appropriate credit given, is a virtue.
(Contributing extensions back to an open-source community is an
even greater virtue.)
- As always, you can discuss
general approaches and tactics on the newsgroup. Sharing information about
good libraries and examples and learning from each other is valuable. However, we expect your work on this
assignment to be done individually.
Last edited 4/1/04 by KDF
Please send suggestions to cs370-staff@cs.northwestern.edu.
Return to: CS
Courses | CS Home Page