Game1: Say it with Words

Game1 tasks you with designing and using a asset pipeline for dialog/narrative text.

Your goal is to start with a fork of the game1 base code and develop a new choice-based game that uses your dialog pipeline.

In other words, your game's text and choices should be authored in an authoring format you design, checked and processed by an asset processing script into a data format that your runtime can read, and loaded and played by your game runtime. The various steps in this process need not be complicated; though the narrative of your game should include at least one consequential choice (i.e., an action the player can take that changes the state of the world).

Note also that the example code for base1 uses some hand-drawn backgrounds, but you are free to include or not include backgrounds as you see fit. If you include backgrounds that you did not draw, be sure that this use is compatible with the license of the background, and record where you got the background in your README.md.

What You Need To Do

(More on game scoring.)

How To Do It

Design Roll Call

We have design roll call to make sure you are thinking about your narrative. Your roll-call design is non-binding -- the game you turn in does not need to match it. If you are having trouble coming up with good ideas, lower your standards, come up with lots of bad ideas, then pick the best one.

Implementation

Please note that we will be building additional font handling and dialog support into the base1 code in class on September 3rd and 5th; so if you fork the code early, be ready to integrate some useful changes from upstream.

For this assignment you should first get the base code working on your system, and then modify it to implement your new game. More detailed steps:

  1. Fork the base1 code as a starting point. The NEST.md file highlights changes since the last base code and explains how to set up your development environment to use the code (same setup as base0).
  2. Modify the code to implement your game and asset pipeline.
  3. Fill in the missing sections in README.md to document your project; replace screenshot.png with a screenshot of your game.
  4. Place a checkout of your game repository into your AFS turn-in folder at /afs/cs.cmu.edu/academic/class/15466-f19/game1/ANDREWID. (Notice that, unlike game0, you no longer have a turn_in subdirectory. Just check out directly into the folder named with your andrewid.