hamvocke / doppelkopf

A "Doppelkopf" card game - in your browser ♣️♠️♥️♦️
https://doppelkopf.party
MIT License
59 stars 10 forks source link

Add game actions to the console #38

Open davidkaufmann opened 3 years ago

davidkaufmann commented 3 years ago

This should be some kind of gamelog. To be honest I don't know if this is a good idea for production (since remembering played cards is kind of a mandatory strategy), but it's definately for dev. I was serving the game on my local machine, when I experienced an error and wanted to check for the latest cards i played, but couldn't find a way. Maybe it's just me and there are ways to look into such things, but adding some sort of gamelog would be really convenient.

hamvocke commented 3 years ago

Yup, I can see how this can be valuable. We might want to add this as console.debug() level logging for easier filtering. And I agree that this should be something that's disabled on production.

I keep coming back to the idea of a game log, something similar to how chess notation works. Having a log of every single action being done in a game would allow to replay a game later so players can learn and revisit. Iit could also be useful if we ever wanted to feed previous games into a machine learning model. And it could be helpful for implementing multiplayer - you could model a game as a sequence of actions and only send those back and forth. Lots of "coulds" that we don't need to worry about right now - just getting some ideas out there.

davidkaufmann commented 3 years ago

Don't know why I haven't responded to this earlier... I love the Idea of a chess-like notation for replays and ml.

I believe this should be a seperate Issue with different tags like 'help wanted' because this is something that could be done even without coding. Only coming up with the idea for a system would pretty much be massive help.

Additionally I added a line of console.debug() in commit 127c58a6ea07c06c2660ec43d68792e3963e6ac7 which actually kind of solved my initial request 👍🏻 Since this is only meant for development purposes this is sufficient quite sufficient.