The game that we plan to build is going to be a multiplayer third-person tower defense game with resources and crafting elements. Player are split into teams with the goal destroying the enemy base while defending their own. Players can craft turrets and game units that help them intrude into the enemy base. The team that destroys the enemy's base first wins. Our game will combine aspects of sandbox survival, tower defense, and moba styles of gameplay into one competitive game.
We decided not to have a single project manager and instead we will all keep eachother accountable. We believe that this will be manageable given the small team size of 6 members. Instead, we have sub-team "leaders" such that they specialize in a certain area of development.
Our decisions will be decided through democracy (majority consensus). We will communicate mainly through Discord, where we have different channels set up for the four sectors of game development. We decided to use Discord because it has the organization of Slack and the voice and video call capabilities like Zoom all in one central place. For collaboration, we will use Github for vesion control, and VSCode for pair programming sessions through the live share feature.
To stay on schedule, we plan to follow our proposed schedule closely. If we are not meeting deadlines, we will set up a team meeting to discuss the next steps and determine what is blocking us from meeting specific deadlines. Then, we can revise the schedule to better reflect the current realistic state of progress. If anyone has blockers, they will notify the entire team to see if others can help out.
We plan to have a round-robin system where we rotate the person or pair responsible for the deliverables that week.
Design/Art/3-D Modeling | Client Graphics | Network | Server-side Game Logic |
---|---|---|---|
Esther Zhao, Kevin Huang | Kevin Huang, Charles Li, Esther Zhao | Hao Luo, Jiajian Fu, Aditi Guar, Charles Li | Aditi Guar, Jiajian Fu, Charles Li, Hao Luo |
Given the time constraint of 10 weeks, our group thought that it would be best to specialize without compartmentalization. This means that we will divide roles based on initial expertise in one of the 4 main areas of development, but we will all work cross functionally and help each other out. The roles set are not fixed, and everyone can jump in to help out the other areas so that everyone has a chance to learn something new! (i.e. working on graphics with no prior graphics experience).
We will be using VSCode live share, Visual Studio to develop in C++. We plan to use either Trello or Jira for task tracking. For concept art and design, we will use ProCreate and Adobe Creative Cloud. For generating 3-D models and assets, we plan to use Blender, which is a free 3-D modeling software. For graphics, we plan to use OpenGL or the Forge.
For testing, we plan to do gameplay testing through running the game.
For internal documentation, we will thoroughly comment code such that someone who did not write the code could easily understand it. If inline comments alone do not convey the necessary information to understand the code and set-up, then we will use our designated Google Drive or Hackmd.io workspace to write out longer explanations. For external player documentation, we will write out a tutorial guide on our website, and implement a help menu in game.
Design/Art | Graphics/Client | Network | Game Logic/Server | Key Milestones | |
---|---|---|---|---|---|
Week 2 | General concept art & style research | Pick graphics backbone. Setup client, create menu | Establish simple connection between clients and server | Refine and flesh out initial ideas | Decide on game genre and basic ideas |
Week 3 | Concept art, Start modeling basic MVP units | Input handling and integrating with server | Packet design, integrate with graphics client | Implement player controls and movement | server/client communication |
Week 4 | Preliminary UI Design, more basic modeling | Graphics pipeline and asset integration, optimization | Optimize protocol | Set up gameplay, towers, units, state management | MVP mostly fleshed out |
Week 5 | Final UI draft, Basic environment modeling, Finish up unit modeling | Animation, particles, optimization | Continue optimizing protocol | Diversify the variety of units and towers, embellish resources, crafting system | MVP should be playable |
Week 6 | Environment modeling | animation/UI | Add player combat | ||
Week 7 | Environment modelling polish, music, sound effects | Cool shaders, UI | Map generation, testing | Functional with UI | |
Week 8 | Music/sound | Cool shaders | testing | ||
Week 9 | Spec freeze/alpha testing | Spec freeze/alpha testing | Spec freeze/alpha testing | Spec freeze/alpha testing | Have game be deliverable, test and fix bugs |
Week 10 | beta testing | beta testing | beta testing | beta testing | Create external documentation |