CS/INFO 3152: Introduction to Computer Game Development

Communication Lab 9
Architecture & Design Workshop

Due: Not Turned In

The focus of today's lab is to finish work on your architecture specification and design specification. If you received comments back at the critique session, you should use those to help you.

You should be following the instructions for these specifications. As you are working, Traci and the other TAs will be walking about the room. They will talk to you about your document, focusing on the important issues below.

Architecture Specification

While you are working on this document, you should be able to answer all of the questions below. Either Traci or the TAs will come around to ask some of these questions. If you do not know the answer to a question, it means that part of your architecture is unclear, and you need to improve it.

CRC Tables
  • Can you identify the main controller class, the one that starts up the game?
  • Do any of the classes violate the model-view-controller pattern? Why or why not?
  • How is physics being handled: in a model or in a controller? Is the choice appropriate?
  • Are there too many classes? Too few? (This is a very hard question to answer)
Dependency Diagram
  • Is the dependency graph accurate? Do the links and the CRC tables agree?
  • Is the graph planar? If not, how could you reorganize the diagram (if at all)?
  • Looking at the graph, can you figure out how to break up tasks while minimizing meetings?
Activity Diagram
  • Do the responsibilities in the activity diagram appear in the CRC cards?
  • Is the order in the activity diagram essential, or could something be parallelized?
  • Is the resolution adequate, or do some of the responsibilities need to be expanded?
Data Representation
  • Is there enough information in the data format for you to create a sample file?
  • Are they serializing enough data, or is there some data they are overlooking?
  • Is their choice of file format (TXT, XML, JSON, etc.) adequate for their needs?

Design Specification

You have already completed the first part of this specification already. At this point, you should be building off of it.

Art Style

Now that you have a section on influences, you should describe the art of your actual game. You should address the following questions:

  • What is your perspective and how will your assets conform to this perspective?
  • How will the color palettes distinguish different features of your game?
  • What types of brush styles will your art use?
  • Will your art style be retro pixel art? Realistic? Cartoonish?
  • What types of animations will your game include?
Additional Elements

Are there any art features that will generated by the programs, like shadow or fog effects? If so, you need to tell us how you are going to coordinate with the programmers to ensure that this is consistent with the rest of the art in your game.

Concept Art

We want any early concept art for character/background/elements that have been developed at this time. Concept art does not have to be, and really should not, be used in-game. It can be very rough. But we want something to help us visualize the game.

Concept art does not need to be limited to character or environmental assets. Understanding the user interface is equally important. The user interface should have a similar art style to the game. Please include some at least one mock-up that helps us understand your user interface.

File Formats

Programmers must be able to put in your assets into the game, and they cannot do this without knowing some specific details. Make sure you can answer the following questions:

  • How should the programmers use this file in the game?
  • What is the file type and extension?
  • What are the sizes (pixel) for the most common art assets? Is there a standard size?
  • What are the layouts of spritesheets? Is each animation its own image or are they combined?
  • Do certain color channels mean anything specific in image files?
  • Are audio tracks meant to crossfade or loop? How do you differentiate?
  • How is the volume level of individual audio tracks normalized?

If you are in doubt about anything, use this communication labe to talk to your programmers about what you should do.


There is nothing to turn in for this communication lab. Instead, you should focus on turning in your first draft of the architecture specification and design specification.