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

Version 3 prototype #632

Open
strinsberg opened this issue Aug 18, 2020 · 1 comment
Open

Version 3 prototype #632

strinsberg opened this issue Aug 18, 2020 · 1 comment
Labels
feature request New feature or enhancement of existing feature.

Comments

@strinsberg
Copy link
Collaborator

Describe the solution you'd like
Put together a version 3 prototype.

  • Add back requirements picking with a couple example requirements
  • Add back deck selection with some example decks and card pools
  • Setup a game page to play the Agile game with the new features
  • Update the winners modal or add a new page for the testing phase with additional info on the game outcome

Additional context
Time may not allow this to be completed before my (@strinsberg) summer is up. But if time permits we can at least come up with something that shows what we want even if the code is a little hurried. Perhaps letting the new UI elements be less refined and the classes do what we need without worrying about really stable and refined architecture. This way we can see what we have and then build it back up with better code when our idea for version 3 solidifies.

@strinsberg strinsberg added the feature request New feature or enhancement of existing feature. label Aug 18, 2020
@strinsberg strinsberg self-assigned this Aug 18, 2020
@strinsberg
Copy link
Collaborator Author

I will not be able to complete this by the end of my summer. I will leave the issue for others to see as it contains some info on what we had discussed.

Additional context

  • We were going to add an agile mode to the setup screen. When the game was started this would take you to a screen to pick requirements.
  • The requirements screen has a selection of "cards" that represent your requirement for the game. Below the cards for the requirement you are selecting is information on each sprints goals for the game.
    • There were going to be 3 sprints per game (of say 10 turns each)
    • each sprint goal would have 2 bonuses. One would be a points only bonus that would be given if the goal was completed at
      any point during the game. The other would be a one time bonus, like awarding a helpful card or some kind of bonus effect,
      if the player completed this goal before the end of the sprint. These one time bonuses would be awarded immediately.
  • Once a player had chosen a requirement they could advance to the deck building phase. However, we discussed having a button that would allow them to use some preset deck if they did not want to deal with the complexity of building one (perhaps for new players)
  • The deck building screen would have 3 portions to it.
    1. A section showing all the cards that are in the base deck. The base deck would be a part of every deck that was built and have most of the necessary instruction, method, repeat, and variable cards. Perhaps not including some of the larger ones.
    2. Another section would be empty and be for the player to build the remaining portion of their deck. Cards could be dragged to and from this area to add or remove them.
    3. The final section would be an area of cards (say 20) that would be relevant to the requirement that the player had picked. I.e. if their requirement was all about building methods they might have some extra repeat or variable cards of good values, or an extra search or sort card etc.
      • The player could drag (say 10) cards from this area to the building area to make the rest of their deck.
      • when the building area was full they could advance to the game.
  • The game would operate slightly differently than a standard game.
    • The score component in the player area can be replaced with one that just shows the player's score as there is no limit to get to.
    • The text at the top of the page would need to display the current sprint and the current round number in that sprint, so that players would be able to tell how far into the game they were.
    • The bonus tab would be replaced with a new tab to allow tracking progress for requirements. This could be similar in just showing what requirements are there and changing the colors when players reach a goal. Perhaps turning the goals that must be completed before the sprint is over red or black if the sprint is passed and they were not completed.
    • At the end of each sprint it may be worth it to have a modal like the winner modal come up to indicate how the players did on their goals for that sprint.
    • At the end of each players turn the game should probably check and update the player's requirement progress.
    • In this mode players will use their own decks. This may require subclassing the Player class with one that has a deck field.
    • There will need to be a new Game mode page state for this new game mode. It will need to override things like ending turns and calculating winners. It will also need to override some draw and discard methods to ensure that players use their personal deck, and that cards are discarded to the deck they came from even if they are played on another players playField.
    • At the end of the game the sprint bonus points will be added up and a final screen can give a break down of each players progress. It will likely be better to do this with a new page than with a modal as it will include a lot of information. The winners will be determined by adding their instruction scores to their sprint bonus points. It is important that the bonus points for completing sprints are well balanced so that requirements that do not focus on building big stacks can compete.

This is all I remember about the plans we had made. Any preliminary code for this has been removed from the game as it was no longer compatible with the new OOP based code. However, it may be possible to look back in the master branch and find a commit where these elements were still present to get an idea of how the components were built, even if the logic is no longer relevant.

@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.
Projects
None yet
Development

No branches or pull requests

1 participant