As you may read, the first dev.to contest is going on this month and as an avid dev.to blogger I thought, maybe I should throw in an idea. I don't know if I find the time to implement it, while I have no project this month I'm going to a festival and doing the third and hardest AWS Associate certification.
What
So I thought about what to do?
Something useful? Meh...
Something innovative? Muh...
Something entertaining? Probably!
People like entertainment!
You are people, I am people, so everyone would be happy.
But!
It's not even a full month time!
So I need a simple game...
I read everyone loves clickers, which probably has the simplest gameplay of them all. You click and life gets better.
Also, because this is a Pusher contenst, it has to be multiplayer.
So what type of multiplayer games are in right now?
Yes you thought right: Battle Roayle
So yes, a battle roayle style clicker game.
How
Hosting the client on Amazon S3.
Pushers private channels & client events could distribute the clicks to all participants.
Pushers web hooks could be used together with AWS Lambda & AWS API Gateway to track the clicks server side.
AWS DynamoDB could track the clicks for every game, ElastiCache would also be worth checking out, but I guess Lambda, API Gateway and DynamoDB would be the fastest to be set up with AWS SAM.
AWS Step Functions could handle the game state. If I understood it correctly it's basically a state machine that triggers specific Lambda functions for every state it enters. These functions could publish game events via HTTP to the Pusher API. Like game start, game end, player out, etc.
Problems
The Lambda functions could be too slow because of cold-starts.
And messing around with game state in a serverless environment could become quite cumbersome, I never used AWS Step Functions, haha.
The game could be boring, lol
Conclusion
Nice idea, a path that could lead to a solution and maybe enough time to design and implement it.
Lets see...