B CUSP 110C – Digital Thinking

Final Project: Let’s build your game!?




Goal: The goal of this final project is for you to synthesize your knowledge in programming:

·         variables,

·         assignments,

·         expressions,

·         conditionals,

·         iterations, and,

·         functions

in one moderately large and complex software system—a game or an animation system.


In addition, we will use the building of the game (or animation system) to examine some of the processes in developing a software system:

·         user requirements (or constraints)

·         conceptual/paper design and refinement

·         software design

·         prototype implementation and testing

·         final implementation and test


User Requirements

In a real software development project, this is where you will go interview your users and understand what they are looking for. In our case, you and your partner will be the users. To help you narrow down your design, here are some technical capabilities and requirements your system should satisfy (an “object” is something you can observe and/or interact with in the application window):


·         (40%) Foreground objects:

o   (10%) At least one object that the player can control (e.g., game paddle).

o   (10%) At least one object that is animated (e.g., the ball).

o   (10%) The above objects must have some interaction (e.g., collide, or, if the movements of one object affects the others)

o   (10%) None of the foreground objects can leave the game window. E.g., the objects should either bounces off the window boundaries, or, upon leaving the window boundaries something should happen (e.g., score updated, the object is randomly re-generated somewhere in the game window).

·         (10%) Background decoration: in addition to the above foreground objects, your game should display interesting looking objects in the background. Background objects are just that, stay in the background for decoration purposes only. E.g., the owl objects we created can be considered as background objects because after the creation we do not interact with them.

o   At least 2 background objects.

o   Use your own background image


·         (10%): include interesting custom images for all objects.


Based on the above technical requirements, you are free to design any system you like: some sort of game, or, animation system. We have already seen example of a game (the blockbreaker game). For a simple animation system, for example, you can have the user manipulating a magic ball that controls the height of one or two rectangles. If the user moves the ball upwards, the rectangle lengths will grow, and if user moves the ball downwards the rectangle lengths will shrink. Now, you can put interesting textures over the ball/rectangles and you have an interesting animation system!



Conceptual/Paper Design (15%): (Due Nov 20)


With a partner your paper design will include:


·         (5%) A sketch of what your system will look like, including the dimension of the window size

·         (5%) The size of the foreground objects and how the user will control these objects

·         (2%) What are the background objects will look like

·         (3%) Examples of images you will use for your foreground and background objects


For example: