Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introducing Software Development Phases #539

Open
hastar07 opened this issue May 12, 2020 · 3 comments
Open

Introducing Software Development Phases #539

hastar07 opened this issue May 12, 2020 · 3 comments
Assignees
Labels
feature request New feature or enhancement of existing feature. gameplay Report is about an issue regarding playing the game. project improvement A proposal for a change that would benefit the architecture of the prject UI

Comments

@hastar07
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
The development of a software project is divided into four phases: Requirements Analysis, Design, Implementation, and Testing. These concepts will be introduced into Program Wars by introducing a new gameplay mode where a round of the game is divided similarly. In this way, an intermediate variation of the game is introducing the development phases.

Describe the solution you'd like

Requirement analysis phase--

In this phase, players will draw their milestones. A milestone is goal score (e.g. 70 points) for a player.

Design phase--

The player selects a set of basic cards (i.e. Instruction cards, Variable cards, Method cards, Repeat cards) from a predefined deck to build their deck for use in the rest of the game. The number of cards in the set might vary based on the milestone.

Implementation phase--

The cards selected in the design phase will be played by the player in this phase. The player will have a specific number of turns to complete this phase. The big challenge of this phase is to play the appropriate cards to reach the milestone. The cyberattack cards will be used in this phase to make the game more interesting. This phase is crucial because the majority of the points will be scored in this phase.

Testing phase--

In this phase, each player’s stack cards will be evaluated based on if the player was successful in completing their milestone. Also, the predefined goals (e.g. use of functions, repetition, “clean code”) will be evaluated here. Detailed score sheets will also be present in this phase so that players can compare their scores among themselves.

Describe alternatives you've considered

Additional context

@hastar07 hastar07 added feature request New feature or enhancement of existing feature. UI gameplay Report is about an issue regarding playing the game. project improvement A proposal for a change that would benefit the architecture of the prject labels May 12, 2020
@hastar07 hastar07 added this to the Introducing Software Development Phases milestone May 12, 2020
@hastar07 hastar07 self-assigned this May 12, 2020
@johnanvik johnanvik removed this from the Introducing Software Development Phases milestone May 27, 2020
@strinsberg
Copy link
Collaborator

I also like this idea. I think it would be fun if players were competing for their own goals, but that they were connected by the malware and hack cards.

Giving players the ability to build their own deck allows them to customise things to better achieve their goal and not get too many of the wrong cards. I think that if we provided a base deck with cards we know that they need and they could add to it by adding some of a select set of cards it could make it a little less complex. We could even create what we believe to be a good custom deck for each Requirement that they could pick from if they did not want to customise their deck themselves.

I think this would also allow us to introduce new cards that were geared toward different play styles and requirements, but by limiting the number of special cards in each players deck we could help each player keep the game simple for themselves. This way they can learn a few concepts that are related at a time rather than having 20 different cards in play and not knowing how to use them. It is also never good for a strategy game to have too many things you can do at once, because these things will distract you from the main purpose of the game. For use this is building stacks. The extra cards are to support this. We can limit the number of special cards that can be added to a deck so that there are not too many concepts. the player can think about which special cards are going to help them the most, do they want a lot of scan cards to remove malware, or do they want a bunch of attack types to hurt other players. Most games have a limit on how many of each card type you can add so we could say you can only have 2 of any one type of malware, and only 4 types of malware max. Or we could offer pre-built decks and let them change out say up to 10 cards for different ones in the same category. This way they have some customisation, but only enough to make things fun and unique and not so many that it becomes really complicated just to get started.

Also, if we make this another tier like we were thinking with the method updates. I think we could still let people get used to the game at their own pace before jumping into the more complex stuff. Even have a mode with different sets of cards so they can get to use and see those cards somewhere before building their own decks from them. These simpler modes could also sort of function as self-guided tutorials so we don't have to build an interactive one which could be a lot of work.

@hastar07
Copy link
Collaborator Author

Requirement phase: Player will be given a goal score 75 along with the deck. Here rules can be set you must take 1 action card. 1 saftey card, 2 Repeat card , 3 instruction card etc.
Design phase: Player will design the own hand limit will be 12 cards
Implementation phase: Player will set the main stack and auxiliary stack based on the 12 cards
Testing phase: What we added in the bonus criteria can be set to judge the standard of the program. Example: Use of repeat card and nested loop, etc. Also how well the program equipped to deal with different attack. (i.e. virus, trojan etc.)

@strinsberg
Copy link
Collaborator

Here are some screenshots of the current pages for the requirements and design phase that will be included in version 3

Screenshot from 2020-07-21 10-48-40
Screenshot from 2020-07-21 10-48-46
Screenshot from 2020-07-21 10-49-02
Screenshot from 2020-07-21 10-49-32

@strinsberg strinsberg removed their assignment Sep 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or enhancement of existing feature. gameplay Report is about an issue regarding playing the game. project improvement A proposal for a change that would benefit the architecture of the prject UI
Projects
None yet
Development

No branches or pull requests

3 participants