You are on page 1of 6

COM S/SE 319 : Construction of User Interfaces

Spring 2020
Group No. ​41​: Final Release Report
Project Title: Dude Nukem

1. Successful Implemented Story Cards for Final Demo:


Story Card 9:
Name of the Story : Using sprites instead of colors
Assigned Team Member: Quinn Conrad
Tasks accomplished for this story card:
i. Improve visualization using graphics instead of solid colors

Story Card 10:


Name of the Story : Bombs can kill players
Assigned Team Member: David Tang, Quinn Conrad
Tasks accomplished for this story card:
i. Bombs detonate and can kill players
ii. Bombs can also kill the player who placed it

Story Card 11:


Name of the Story : Add music
Assigned Team Member: David Tang
Tasks accomplished for this story card:
i. Play background music while the game is playing

Story Card 12:


Name of the Story : Add player avatar
Assigned Team Member: Tyler Chappell
Tasks accomplished for this story card:
i. Added images for players

Story Card 13:


Name of the Story : Can increase bomb radius
Assigned Team Member: Isaac C Klein
Tasks accomplished for this story card:
i. Players have a default explosion radius
ii. Increase that radius by picking up a radius buff from the map
Story Card 14:
Name of the Story : Can increase player movement speed
Assigned Team Member: David Tang
Tasks accomplished for this story card:
i. Players have a default movement speed
ii. Increase that speed by picking up a speed buff from the map

Story Card 15:


Name of the Story : Add sound effects for bombs
Assigned Team Member: David Tang
Tasks accomplished for this story card:
i. Bombs have a sound effect on explosion

Story Card 16:


Name of the Story : Add explosion animations
Assigned Team Member: Quinn Conrad
Tasks accomplished for this story card:
i. Bombs animate an explosion

2. Design Documentation (UML Diagram for Story Cards):


Use-case Diagram of implemented Story Cards:
Class Diagram

The index.html file holds our canvas for the game and also controls information on how to play
the game.
The backend for our game lives in five files. The “script.js” file is the backbone of the game with
most game logic and keeps the game running in a loop. The “player.js” file contains the data
structure for a player and code for processing their movement. The “map.js” file contains the
map design and structure, having the knowledge of all types of block locations. The “settings.js”
file has all the constant start of game settings like initial player movement speed and bomb
radius. The “assets.js” file all the imports that will be used in the game(images, music). The
“img” and “sound” folders contain all the media files that will be used in the game to make it
more aesthetically pleasing to play.

3. Implementation Outline:
The Overall Implementation Outline of our project which includes:
● Platform: Web application. Runs in any modern web browser. Not optimised for mobile as it
requires keyboard input
● Front-end Language/Technologies/Framework used: HTML, CSS
● Back-end Language/Technologies/Framework used: JavaScript
● Database, Server, IDE and any design/UML tools: Eclipse, Vim
4. UI description with Screenshots:
These are all Screenshots for successfully implemented story cards for 2nd Release:

Story Card 9:

As the game progresses, more blocks and power ups will appear on the map, making it more
challenging to play. Each player has to blow up the other player with bombs.
Story Card 10:

Player Penguin has successfully blew up Player Fox, so Player 1 wins the game.

Story Card 12 & 16:

This is a figure showing bomb animations and player avatars showing and working correctly in
the game.
5. Testing:
Most of the testing was playing the game as most of the code doesn’t return values but instead
updates the game state directly. There is a function called toIndex(x, y) that given an x and y
coordinate on the graph returns an index for 1d array given the map dimensions. This needed to
be tested to ensure the right index was returned. The unit test is shown below.

6. Summary:
The overall project is a success as we successfully implemented a game that is playable for two
players on the same keyboard. This achieved what we were looking for a retro classic game
that reminisce of old times. We are able to implement this in a short amount of time, and also
working separately in our own homes during this COVID season, which in itself, is no simple
feat.

We could have collaborated and communicated with each other more as a team, delegating
tasks better. We could also try to meet up regularly to talk about what has to be done.

Plans for future extensions four our current project can be anywhere from adding more players,
adding more power ups, making it online and accessible on a server, creating more complex
game logic, more map designs, and much more.

You might also like