I have a game: https://teamsgame.agilepainrelief.com/ (pre-alpha stage). The game is an attempt to help Agile teams make better choices about the practices that might improve their work. It also attempts to introduce the importance of resilience through gremlins that strike the team as they work.
As we get close to finishing the game I realize that the number of possible choices for game play is large. In some cases people will be curious about what the optimal path(s) are. I also want to see if game play is well balanced. Clearly I need a Monte Carlo simulation. (Letās ignore the fact that Iām not a strong JavaScript developer).
The game consists of 8 rounds, each round they have 5-6 additional actions they could choose from. So round #1 has 5 actions, round #2 has another 5 (I think), ā¦ until the 8th round. The game will also have 10+ gremlins by the time it is finished - think manager yells at a team member or production support issue.
To simplify simulation I imagine that I will set up my Monte Carlo sim to pick 3 actions per round over the 8 rounds. There some relationship requirements that force precedence - example: you can do āRefactoringā without a āBuild Serverā. Iām aware that the combinatorics is insane. However letās say I limited this to 30-50,000 rounds.
This doesnāt need to be run very often, basically only as often as the sim is updated. The goal is two fold:
- is my game balanced?
- to help a team see where they might want to put their energy first? (i.e. Working Agreements vs. Build Server)
Is this viable in JavaScript in the first place?
Is Observable the right tool to get me there? If not where would you look?