Assignment 12: Make it your own!

  • Out on: November 27, 2017 (sorry!)
  • Due by: December 1, 2017 before 10:00 pm
  • Collaboration: Team


The "nice thing" about the twelfth assignment is that it simply asks you to "do whatever you want" as it were. In other words, you're in complete control now: We don't tell you anything specific you have to do anymore, you'll have to come up with all of it by yourself.

We do, however, still have expectations: You must make a significant amount of progress! What that progress consists of is up to you, but if you sit back and simply say "I don't know what add or fix, so meh." you will not score very high.

Maybe it helps to remember that your final goal for the course is to have a complete and polished game that you can show off to a potential employer without having to make excuses. Or, strictly from a consumer perspective: Producing a complete game that you would be willing to pay $0.99 for in the "app store" of your choice.

Please remember that as outlined in Assignment 6, you have to document what you've been doing, including who has achieved what for a given assignment. If in doubt, re-read the relevant sections of Assignment 6 again, they apply in full for this assignment as well.

Everybody should have plenty of things to do for this assignment. If that's not the case, you're doing something wrong inside your team. Fix it!

Make sure you clearly designate one member of your team as responsible for handing in the deliverables for this assignment! You don't want to lose points because each of you thought someone else would submit!

Problem 1: Technical, Artistic, Game Play Progress (100%)

We have used the previous assignments to "force you" into a game with four distinct levels and a certain amount of "story" in between those. That's our minimum expectation, but it may not at all be what you want your game to be like. So feel free to "tear things up" now and put together the game you really, really wanted to make. If you wanted 27 levels, go for it. If you wanted infinitely many levels, go for it. If you wanted 4 levels, well... then we hope you have a lot of other stuff to add. (But let's be honest, four levels for an arcade-style game? That's probably not enough.)

You are free to do "whatever you want" in terms of programming, story development, game play mechanics, visual art/animation/effects, sound effects, music, etc.

The point of this problem is that there has to be some kind of progress that's easy to describe. Even better: Progress that's easy to actually experience when we play the game! Describe all your improvements in your README and don't forget to attribute them to the team members who actually made them happen! Don't miss anything!

So go wild! Just make sure that whatever you hand in for this assignment has several obvious improvements in these various dimensions over the previous assignment.

And just in case you have forgotten: The most important thing for a game is that it's fun! So you may want to focus on that? Maybe you should have some friends (or random strangers in the CS lab) play your game and pay close attention to their feedback. If many of them say "Sorry, that's boring!" you can be pretty sure that the we will say the same. And you don't want us to say that! You still have some time to change even the basic mechanics if the current ones turn out to be no fun, but it would have to happen soon...


Please turn in a gzip-compressed tarball of your assignment. The filename should be cs255-assignment-12-team.tar.gz with team replaced by the short version of your team's name as used for your git repository. (See Piazza for additional information on how to submit assignments.)

The tarball should contain no derived files whatsoever but allow building all derived files. Include a README file that briefly explains what your programs do and that contains any other notes you want us to check out before grading. Make sure to include an appropriate Makefile for a clean build on Linux!

Please note that we reserve the right to dock points for revoltingly bad code, excessively bland art, and ear-shattering sound disasters!