SibylLab / Program-Wars

A web-based educational card game for teaching basic concepts of computer programming and cybersecurity
https://program-wars.firebaseapp.com
GNU General Public License v3.0
16 stars 4 forks source link

Individual player goals #474

Open johnanvik opened 5 years ago

johnanvik commented 5 years ago

Describe the feature you'd like What if a player has an extra goal that they are aiming for? My family plays a game called "Ticket to Ride" where at the start you are given a set of random "goal" cards that if you complete, you get extra points. In this game, the goals are having a railway that connects specific towns. In PW it could be something like more than a specific number of group cards (although that might get used for conditionals). It could add more strategy to higher levels of the game.

johnanvik commented 5 years ago

Related to #467

groadybones commented 5 years ago

Maybe we utilize the conditional cards for this, at the end of the game the player gets a bonus for hitting the conditional or finishing the game in the "then" playfield.

johnanvik commented 4 years ago

@hastar07 will be adding the concept of "milestones" to the game.

strinsberg commented 4 years ago

It seems like at our current place in the game this most closely fits with the software dev Requirements that will be added in #539 .

However, I believe if we think about the game like Ticket to Ride you get several cards and you get points for completing each one. They are usually based around trying to get a few goals that allow you to complete more than one at a time, or to take a big one and a couple smaller ones so that you can complete as many as possible.

We could add to each requirement card different levels of difficulty. So if a card was points based you could have a 50, 75, 125 score levels. Each one would give different levels of points at the end of the game for reaching them. This is also kind of how google coding competitions work. You get 2 or 3 values for N that will make it possible to solve the lower levels with an inefficient solution and then you need a better solution for the higher levels. Each give more points if you solve them all. Also, the best solution will earn you all the points.