C++ Project: Bomberman
C++ Project: Bomberman
Bomberman
Thor [email protected]
Abstract: Bomberman is one of the most famous video games ever. With more that 70
adaptations, from the first version on MSX, ZX Spectrum and Sharp MZ-700 in 1983 to
the last versions available on the PlayStation Network, WiiWare and the Xbox Live
Arcade commercialized in 2010. More than 10 millions units have been sold.
Contents
I Introduction 2
II Objectives 3
IV Mandatory part 5
IV.1 Generalities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
IV.2 Technical aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
IV.3 Polishing and attention to details . . . . . . . . . . . . . . . . . . . . 6
IV.4 Team management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
V Bonus part 8
1
Chapter I
Introduction
Everybody loves playing Bomberman. Good news. The goal of this projet is to create a
full implementation of a 3D Bomberman video game.
2
Chapter II
Objectives
• Beeing able to produce a full video game, not just a pedagogical projet. This means,
that the final produt should be usable by tiers, not just the students group who
wrote it. One should not think "this is some early access crap" when playing your
game.
• Learning the low level use of OpenGL without the help of modern game engines, and
why not start your own (tiny) little one ?
• Learning team work on a full scale project. Everybody can’t work on everything,
so it’s an excellent opportunity to discover that communication, management and
documentation are keys to success.
3
Chapter III
Generic instructions
4
Chapter IV
Mandatory part
IV.1 Generalities
So, here we are. You must code a 3D version of Bomberman, functional, and complete
with graphics, animations and levels. Your version being a solo game, we expect at least:
• The player can acces a main menu allowing him to start a new game, load a save,
adjust game settings and exit the game.
• In game, the feeling, pace and difficulty must be as close as possible from the original
game.
• To beat the game, the player must win at least 3 different levels. It’s up to you to
code a longer game, but 3 levels is the minimum acceptable.
• If the player looses, the game must state it clearly and behave like a game should,
like restarting the current level, or issuing a game over for instance. Likewise, if
the player beats the game, it must also be stated clearly and offer a reasonable
behaviour like displaying credits and getting back to the main menu.
• Sounds ! Musics ! A silent video game is a crappy one ! The main menu and the 3
levels must have their own music. Also, every relevant events must trigger a sound,
like a bomb exploding, picking up a power up, killing an ennemi, dying, etc.
5
C++ Project Bomberman
• The game must offer a way to save the player’s progression and restore it on demand.
It could be a regular save system or a campain mecanic. As long as the feature
is present, it’s up to you to integrate it in your game. Anyway, This persitance
MUST remain even if the game is exited completly and executed again.
A game that respects the technical and gameplay requirements but shows no effort in
polishing won’t result in a good grade. This project is about actually finishing a credible
product, not toying with OpenGL.
6
C++ Project Bomberman
There are very different aspects in this project, and it’s not a good idea to try to
let every member of the team work on everything. Assign roles, communicate, plannify
progression, communicate, design clean APIs, communicate, document your code, com-
municate, use GiT branches, communicate, and of course, don’t forget to communicate.
7
Chapter V
Bonus part
Once you’re done with the mendatory part and sure you’ll get the maximum grade for it,
consider doing the following bonuses (sorted in order of relevance, from the most relevant
to the less relevant):
You can add some bonuses of your own creation if you like, but most of the bonus
points will be reserved for the above bonuses.
8
Chapter VI
Large projects using graphical and sound assets tends to be huge in terms of storage.
As a consequence, you MUST NOT push any graphical and sound assets on your GiT
repositoy. You will be allowed to fetch them at the begining of your defenses. It is a very
good idea to consider your assets like dependancies, exactly like libraries, testing their
presence and acquiring them likewise.
During the defense, the grader will focus on the “finished product” vibe your game
has. Technical skills are important, but being able to fully finish a product is as much
important.