-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Team members:
- Sabrina Tan Zing Tong (101217063)
- Lau Young Kang (100085104)
- Chin Jing Jie (101219357)
- Bryan Austyn Ichsan (101229576)
The game proposed is named as “Zombie Killer”. The main problem that faced is there are without an interesting 2D zombie shooting game on the market. The main focus of our project is to produce an interesting and fun that will be small in program size and great in content. The purpose of this game is to kill the zombies on the map to get a higher score in the end. Guns will be provided for player to shoot the zombies. Several type of guns will be spawned on the map randomly. Different type of guns will have different damage and shooting style. Next, medical kits and ammo for gun will be spawned on the map randomly. Medical kit could restore the health of the player and ammo is to reload the gun. Besides that, different characters will be able to select at the start of the game. Different characters will have its own special style and different attributes. Player can select the character based on their preference. Other than that, the number of zombies and speed of zombies will increase after certain of time by increasing the difficult of the game. Player able to record the score at the end of the game and view it with the scoreboard option. In conclusion, this game will be generating a fun zombie game with various features.
The problem that is being addressed Is that the market does not contain a fun and interesting 2D zombie shooting game. One of the reasons that this problem is occurred is because the profit of this project is not high enough for developer to put time on it. Besides that, it can’t really attract the player to play the game as it’s only 2D and not challenging. Therefore, our team is to solve this problem by creating a challenging and fun zombie shooting game by adding a lot of features on it. The main purpose of this game is for the player to release stress. According to CBC (2020), video games can actually release stress and increase mental health. With this interesting zombie shooting game, it could definitely bring profit by targeting office worker as a mini game that will be installed on their computer. This could increase the game exposure rate and office worker market have a large potential for video games. If this free to play game got a good review and response, it will be enlarging and attract different category of players to it.
According to Wilson 2020, software architecture of a system describes its major components, their relationships, and how they interact with each other. The high-level technical architecture for this zombie game is the layered architecture. As this zombie game is 2D, it does not require a lot of API or other extensions to support. It is easy enough to present the high-level architecture through layered architecture.
The presentation layer will be the game interface such as zombie, player, guns, ammo etc. This layer mainly shows the components that will be contained in the game. Player will be able to view the animation and the sprites that created, and player will be able to control the player movement and action to shoot the zombies.
The second layer which is the application layer. This layer will be containing the logic and the functionality of the system. This layer mainly contains the decision made by player and what effects it will cause. Besides that, this layer will be containing the program that deciding what to spawn on the map and what is the effect of the things spawned. This layer is mainly the logic of the system. Editor will be able to add features or edit the logic by viewing and editing the details of this layer.
Storage layer is the last layer which will stores all the information of the player. This layer will mainly contain the storage that store all the information that will be shown on the scoreboard. Storage layer is important as the data is important for the player to improve and compare among with their friends with the score they got. Data storage should be managed wisely to prevent any error occurs.
Software requirements are the features and services that a software system should provide to the user. The software requirement consists of functional and non-functional requirements. Functional requirements are for defining the function along with the functionality which the system should provide while non-functional requirements are the requirements which are related to the software performance.
Functional Requirements
Initial requirements: *The player should be able to shoot the zombie using the gun
- The killing score should increase by 1 every time the player kills a zombie
- The player should have a health bar and it should decrease every time the zombie hit the player.
- The player should be able to move up, down, left, right using the keyboard key input
- The game should display the status of the ammo amount, the current health bar, and the killing score on the screen
- The zombies should respawn at random spot and walking toward the player. No overlapping with other objects
- The player has a limited ammo of bullet to shoot
- The ammo object should respawn randomly at a certain interval of time and if the player picks it up then it will increase the player’s ammo. No overlapping with other objects
- The health bar should be in green color by default. If the health bar is less than 20 then change the color to red and if it hits 0 then end the game
Additional requirements from the product owner:
- The game should provide medic kit to increase the player’s health and it should respawn at random spot in a certain time interval. No overlapping with other objects
- The game should provide different guns which respawn at random spot in a certain time interval. The new gun should change the current gun. No overlapping with other objects.
- The game should provide shield which respawn at random spot in a certain time interval. The shield should protect the player from the zombies for a certain duration. No overlapping with other objects.
- The game should provide grenade which respawn at random spot in a certain time interval. Every time the player picks it up then the number of grenades in the player’s inventory increased. No overlapping with other objects.
- At the start of the game, the user should be able to choose a character to use from 2 different characters
- The game should display the list of scores at the end of the game
- The game should display the status of gun which the player used currently on the screen.
- The game should display the status of the number of the grenades in the inventory on the screen.
Non-Functional Requirements
- The interface of the game should be clean and attractive to the user
The use case diagram is suitable for depicting the high-level overview of the game system and the functionality lies within the system. Here is the use case diagram for the game.
The estimated cost of the project is calculated using Game Development Cost Calculator
Funding Approach
The team will seek for funding through Shawn Beck company. It is because Shawn Beck is a PC, Mac, Linux, Steam, PS4 & PS Vita game developer. The organization also organizes game jams and coordinates meet-ups with developers to support the gaming industry. If the team finds such company to fund this project, the feasibility would be very high as Shawn Beck company has been around for many years which indicates that it is sustainable.
This is the Gantt chart for scheduling the whole project of implementing this game. Since this is not a game that we will code from scratch because the initial code is already provided, thus we will only need to implement the additional features from the product owner.
Financial Risk
All product production involves the act of manufacturing and supplying consumers with something of value. The customers bring you money in return. If profit is made by this method, then the team can create more goods. The team is strongly advised to avoid developing such goods and do something more profitable with the constrained resources if it creates a loss. Economics detests waste. Financial risk is the possibility that the team will lose money. It is the invisible barrier that makes relevant all other aspects of risk. Simply looking at 'making money' does not tell the team anything to improve their procedures, however. The team still has to look at what they are producing and how they are producing it.
Requirement Risk
Requirements risk is about the client having the right product. It is divided into three sections that are intimately connected. Generally, each one of these risks could boost the total financial project risk. Design Risk – The risk of excluding the appropriate properties that give the target customer a powerful value proposition. Scope Risk – It is about not doing too often or too little. The design risk will raise if the team did not do enough for the project, whereas the financial and execution risk grows when the team does too much for the product. Market Risk – There is a risk that developments in the marketplace will disprove the value proposition. External to the project is what the market risk is. Out of these three aspects, with the other two serving as restrictions, design risk is the most basic one. The team must select the minimum correct features for their product to reduce the risk of requirements. This right collection of features evolves as the target market is affected by external events.
Execution Risk
The execution risk has divided into four aspects.
People Risk – The risk would be that the team does not have the right people to operate with the right motivation and work methods. A creative risk is a form of this, in which the team struggles to produce a product that the team, as a producer. Usually, the constraints of financial risk will collide with creative risk.
Schedule Risk – The risk of the product being postponed and the lack of a favourable window in the marketplace. The games are products that have a lifespan and strong periods in the market. The team significantly raises the market risk for some sorts of existing genres when they miss their dates. Quality Risk – Risk of mistakes. A product that fixes all other variables but contains glitches and other system failures.
Technical Risk – The risk of failure of the main technology on which you depend. Stuff like rendering engines, pathfinding, etc. are the apparent forms of technological risk. In games, with the introduction of new game mechanics, technological risk often changes constantly. Since the team interacts with psychological experiences with real clients, small improvements in in-game mechanics have unexpected outcomes. Indeed, the act of modifying the jumping distance of a player will not 'work' as it will ruin the entertainment factor for the remainder of the game.
Mitigation Strategy
Avoidance of risk
• Avoid cost issues. As an example, the team should specify all planned costs and prepare for any costs that might occur in order to mitigate the implications of going over budget.
• By discovering problems that could occur which would impact the timeline of the project, avoidance of schedule consequences can be applied. Risks may impact major deadlines, due dates, and final delivery dates, such as being excessively confident about a project's timetable. For example, by developing a managed schedule that demonstrates precise time allowances for preparation, design, testing, and re-testing and adjusting as appropriate, the avoidance technique may help the project team plan ways to eliminate schedule clashes. Non-working hours should also be arranged, so that time scheduling risks can be minimized.
Controlling Risk
• Scheduling consequences can be managed by segmenting activities and the time required for the project team to complete it. Methods of control may include monitoring the time for completing each task and issuing team members particular tasks based on the time associated with each task. In order to better control any risk to project scheduling, the project team should also take time management techniques into account.
• Implementing performance risk management techniques may include methods of guiding the daily activities of a team, methods of quality control for new products, and steps to implement action to control concerns that may influence the final performance of a project.
Accepting Risk
• The strategy of acceptance could help recognize potential threats that could influence scheduling, such as ensuring that the project on track to reach deadlines.
• To identify risks influencing cost, the accept strategy can be used. For instance, the acceptance approach to defining risks to the budget may be adopted by a project team with intends to reduce the risk of exceeding the budget so all team members are aware of the risk and potential implications.
Contingency Plan
• The user has computer or laptop to run the game.
• The game can raise excitement of user with trilling graphics and sound.
• The game is able to release stress.
• The game requires coordination of left and right hand from user.
The team follows Software Development Lifecycle (SDLC) in building the product. Since it is the improvement for existing product, the team first analyze the incompleteness of the current game. Secondly, based on the analysis, the team have discussion for additional feature to be added so the game is more logical. Thirdly, the implementation of code is applied, and the work is distributed among all teammates. Then, testing is run at devices of all team members to ensure that the product able to run in various hardware smoothly before the marketing of product.
Team makeup /Resourcing plan
Resource planning is a process to allocate task among human and non-human resources in order to maximize the efficiency. It also helps in customizing the frame for each part of the project at earlier stage in a systematic way. Thus, everyone in the team is accountable to each other and clear to own responsibilities throughout the process.
To visualize the project pipeline scheduled in resourcing plan, the team use Grant chart as a tool. Implementation of grant chart is stated in the release plan section above. In grant chart, there will be tasks and period of implementing them.
Budget constraints
A budget constraint is a boundary of the possibilities that a consumer can afford the prices of product by calculating his individual income. The maximum spending of a consumer on a certain product can be calculated through budget line. To specify, the budget line is a visual tool to check the quantity that a consumer can buy with a ratio among the two products stated.
In this example, Joe (consumer) has $90 to spend on gaming product where he is interested in shooting game and sports game. The cost of shooting game is $15, and sports game is $30. If he spends solely on shooting game, he can get a maximum of 6 of them. If he spends solely on sports game, he can get a maximum of 3 of them. If he buys a sport game, he is able to purchase 4 more shooting game. The Budget Line graph of this example is stated below.
Communication plans
Communication plan is a planning for communication methods among the team. The team has two common communication which is WhatsApp accountability and Slack meeting. WhatsApp accountability does not have a regular communication, but it is the platform to deliver all the common message and for team members to take accountable for others where needed. Meanwhile, Slack meeting occurs once a week to have reflection on past progress and planning of subsequent tasks.
Escalation procedures
Escalation procedure is a chain of instruction on ways to solve different problems that occur. The type of procedure can divide into two, the internal and external escalation. Internal escalation is to solve problem among the team. When a member found a problem, he should raise it to WhatsApp group to notify everyone. Then, the person in charge of the problem part tries to fix the bugs. Else, he can seek for help from the team.
For external escalation, if there is a call from customer about the issue of the product, the team member who answer the call sort the severity of the problem. 1 is the least severe and 5 is most severe. Then, insert into a tracking list and reply the customer an estimated period to solve his concern. Then, the issue is raised in the team and the internal escalation starts.
Governance strategy
The governance structure in the team is that there is a person in charge of the overview. However, all team members have equal opportunities in raising concerns, selecting tasks and others through team communication. The strategy applied in the team is that everyone has share accountability of each other's where the teams solve and discuss everything together. When there is conflict in opinion, each member is eligible to share thoughts to convince others until a common understanding meets.
CBC News, 2020, U of S research finds video games can relieve stress, improve mental health, CBC News, viewed on 1 November 2020, < https://www.cbc.ca/news/canada/saskatoon/u-of-s-research-finds-video-games-can-relieve-stress-improve-mental-health-1.5563824#:~:text=Mandryk%27s%20latest%20research%20shows%20video,%2Dbeing%2C%22%20Mandryk%20said. >
Wilson C, 2020, How to Design a Web Application: Software Architecture 101, Educative, viewed on 1 November 2020, < https://www.educative.io/blog/how-to-design-a-web-application-software-architecture-101 >