zumba / node-defender-game Goto Github PK
View Code? Open in Web Editor NEWDefend against waves of murderous server side code that wants nothing more than to kill and disconnect your node client.
License: MIT License
Defend against waves of murderous server side code that wants nothing more than to kill and disconnect your node client.
License: MIT License
This ticket is separate from the scoring one, since we don't need it to be done before Wednesday.
We talked about adding some achievements that are worth points. We can brainstorm these here.
Create an object to hold all attack modes. This should lazy load the attacks from the config file (the alias needs to be added to the config).
It will avoid the attack mode be loaded for each player and it will dynamically be loaded without change the player code.
Sometimes the client sends something wrong to the server (or sends undefined
maybe) and the game reacts weird by not actually attacking anyone.
This should instead fall back to attacking a random target
Instead of just having the current players, also broadcast that player's round # to the stat channel to see what round a player is on the scoreboard.
Maybe a bug, but more a question of how we want to handle the first round.
Currently, the server generates "round 1" before the client does anything, and then in the on('round')
callback event, the player makes a target, etc. So, the player doesn't start taking actions until round 2. Kinda.
Might just be a phrasing/wording thing on the client to handle this.
The server is emitting a message to the defender channel instead of to the individual socket when a player dies. Anyone currently playing will see that player's death message with the score.
This is unintended but is kind of cool at the same time. Should we limit this to the socket or keep it on the channel?
Sometimes the player attacks multiple targets per round, but the reporting seems to show the player attacking the same target on that round. Might be server side responding incorrectly to the client.
Additional minor tweak: the phrasing for "Targeting Enemy" text is somewhat ambiguous.
Calculation Factors:
Todo:
Things to consider:
Currently this mode hits every enemy from the same wave, regardless of enemy position.
After some discussion:
Things to consider:
The username check does not take twitter users into account for uniqueness. The player.name()
method prepends the @
which is causing the unique check to get bypassed.
If the client's code is faulty (which is very possible) and doesn't pass the enemy ID properly in the request or doesn't specify a target at all, the server crashes as it expects a valid ID.
So anon users can still play for prizes
db.results.aggregate([{$sort: {round: -1}}, { $group: { _id: "$username", round: { $first: "$round" } } }, {$sort: {round: -1}}, {$limit: 10}])
Records the highest round attained, however this can be swapped out pretty easily for some sort of score calculation.
If the client username is something like <script>alert("You guys are poops");</script>
this script is being executed on the top 10 web page.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.