Team Semester Project Report CSE 485: Computer Science Capstone
2D Video Game
Team Members: Alexandra Szilagy, Annie Hull, Connor Belanger, Devan Pratt, Meagan
Stephan
Sponsor: Ryan Meuth
Description: Create a fun 2D platformer video game that brings back to feel of old school video
games with new ideas.
Table of Contents
Purpose and Deliverables 3 Purpose of project 3 List of Deliverables 3
User Overview 3 User Descriptions 3 User Scenarios 4
Requirements 4 Functional: 4 Performance: 4 Constraints: 4
Preliminary Results 5 Pictures 5 Test results 6 Description of Deliverables 6
Conclusion 6
Purpose and Deliverables
Purpose of project
The motivation for this project was to make something fun and exciting that can bring the
joy of old school video games to the present day. To accomplish this, the development team
looked at a lot of the games enjoyed by many when video games were new. One of the primary
inspirations was Mario because of the gameplay style as well as the fact that there are still new
Mario games coming out all these years later. It is a simple idea and very fun to play.
Additionally, there are not many games like Mario that can be played on a computer and most of
them require an entirely separate console in order to play it at all. This project will allow the user
to enjoy the game on their computer without having to purchase an additional console.
List of Deliverables
➢ Character and Level Art
➢ Game Engine Implementation
➢ Level/Gameplay Designs
➢ Story writing and dialogue
➢ Finished levels, characters, and enemies
User Overview
User Descriptions
➢ Game Player: User wants to be able to control the main character and progress through
both the game and story via their actions.
➢ Fighter: User wants to be able to fight against enemies that vary in difficulty and that
aren’t simply static in a given level.
➢ Multiplayer: User wants to be able to play with or against others in the game.
User Scenarios
➢ A user starts up the games and plays through the first two levels, but cannot beat the
game yet. The user will leave and resume back on the same level again later.
➢ A user is playing through the game and has progressed past the beginning levels. The
enemies should become more interesting and difficult as they progress.
➢ A user is playing through the game again and the enemies don’t perform the same
movements as when the user first played though the game. The AI is dynamic and
random for each instance.
➢ Multiple users start the game and play against each other using Steam’s friend API to
find each other.
Requirements
Functional:
➢ Game will have 10 levels that go through Mervin’s life in reverse order.
➢ New abilities will be learned in each level.
➢ Mervin will have a pet turtle with him that he can use.
➢ The game will be 2D.
Performance:
➢ Game should run well on most computers and will not require expensive hardware.
➢ Game will have minimal bugs and no crashes.
➢ Game should have smooth controls.
Constraints:
➢ Levels must follow theme of Mervin going through his life.
➢ Final bosses must follow theme from the level.
➢ Needs to be put on Steam by the end of the year.
➢ Many different and interesting enemies.
➢ The game must resemble other platformers.
Preliminary Results
During the first sprint, the development team created a storyboard for the game’s levels
and created most of the characters. The team also became familiar with and tested Unity. The
team was able to successfully animate sprites, create tilemaps, and they were able to control the
main character’s movement and attacks. The product owner was intrigued to see the team’s
progress and suggested to keep the current momentum so that they could continue to get similar
amounts of work done for the proceeding sprints.
The next sprint involved more thorough planning for the levels. Each member was in
charge of at least one level and they had to define the enemies, the setting, and the items that
would be found in the level. The team did not finish many things they set out to do for sprint two
because they had midterms. The product owner was understanding and still happy with what he
saw. He made some creative suggestions for the team that they considered.
For the third sprint the team developed the AI and the art for the main character and basic
enemies. They also coded the health UI and functionality. They came across bugs with Unity
itself, which caused a shift in assignments. The product owner stated that he was pleased with the
mechanics. He suggested that the team should start creating the turtle side-kick because the team
stated that it would be done by the third sprint.
The fourth sprint was used to create a full first level. This included making the tilemap,
creating objects that had platforms, designing where the objects would go. Development for the
enemy AI continued, the team coded a flying enemy and a ranged enemy. The product owner
could not test the progress for himself this sprint, but he was still impressed with the amount of
work the team accomplished. He had no suggestions for the team for sprint four.
In the fifth sprint, having the first level mostly functionable and playable, the focus was
more directed at lower-level issues such as fixing bugs and adding new animations and sprites.
There were still issues with Github that had to be addressed, which stunted some progress;
however, the more immediate bugs that needed to be reviewed were properly fixed, which was
the goal for the sprint. An important fix for this sprint was to adjust the animation for Mervin
since it was affecting all other animations from working. The project owner was pleased with the
consistent progress of the game and suggested it was time to start wrapping up the first level.
The final sprint was utilized for fixing small bugs for a presentation. The team fixed the
first level to more accurately fit the theme and fixed platform glitches. Everything the team did
was focused around making the game more enjoyable and improving the design. Unfortunately,
the game played worse during the demo than it ever had, which was a disappointment for the
team. The project owner did not give feedback for this sprint because during sprint five, he said
that the team did not need to meet with him for the final sprint.
Pictures
Test results
For the test, there were a lot of random bugs that occurred that we were not expecting.
We made some last minute changes to the game such as a hole in the wall to allow the turtle to
get through and get back to Mervin, but during the test the demons were also able to get through
the hole as well which was not intended. Additionally, we were expecting the player to try to kill
the demons during the test, but when the player tried the game he just ran through with no
intention of attacking the demons causing them to stack up weirdly. The game did run smoothly
during the test and everyone who watched seemed to enjoy it a lot. In the end, this seemed to be
a success as the goal is simply to make a fun game which, if people are laughing and getting
excited about it, is absolutely a success.
Description of Deliverables
➢ The Character and Level Art
○ The character art was all done by a single team member so that the art style was
consistent. The level art was done by the entire group, and developed slowly.
➢ Game Engine Implementation
○ The team chose to use the Unity engine as a tool to develop the game.
➢ Level/Gameplay Designs
○ The level completed was designed to be exciting and designed convey the setting
that it’s based on. The gameplay was designed to be easy to use because the
player does not want to be frustrated with the controls when playing the game.
➢ Story writing and dialogue
○ The story was developed to entertain the player and keep them interested in
playing more. It was also intended to be funny.
➢ Finished levels, characters, and enemies
○ The deliverables put together created the finished level 100. It contained the
tilemap, the character, the enemies, and the objects.
Conclusion The project we set out to create is a 2D platform video game with single player
capabilities and ten levels of increasing difficulty. Our project development has centered around
the plot planned out at the beginning of our development. At this point, we have successfully
implemented many of the technical aspects of the game including platforms, animation controls,
jumping physics, and tile mapping. Mervin’s art is entirely complete with animations for
attacking, jumping, crouching, walking, and waiting. The project is far from complete with 9
more levels to go as well as finalizing the tile map for the first level. We believe that subsequent
level will go faster as we have the groundwork laid out at this point. Over the summer, the team
plans on devoting extra time to art development so we have many sprites to work with when we
meet again. Our team hopes to have the game complete and ready for release in October to be
released to the Steam gaming library in November 2019.