DEV Community

K
K

Posted on • Updated on

Pusher Contest Idea: a JavaScript Game

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...

Top comments (5)

Collapse
 
belhassen07 profile image
Belhassen Chelbi

isn't this supposed to include your live app link or something? or are just thinking about it ?

Collapse
 
kayis profile image
K

As far as I know only the final submission post needs these links.

And yes, I'm just thinking about it at the moment. :)

Collapse
 
belhassen07 profile image
Belhassen Chelbi

Ah okay good luck :D

Collapse
 
cmelgarejo profile image
Christian Melgarejo

Awesome idea, I volunteer for the beta early access :D

Collapse
 
avalander profile image
Avalander

Sounds great! I hope you find the time to build it!