DEFEND THE SHEEP!! Outburst is a 3D real-time multiplayer game that combines the best of a tower defense and a “twin-stick” shooter. You and your friends control internet trolls that are defending innocent sheep from invulnerable killer robots. Good luck!
We hope to demonstrate that real-time multiplayer could work in a browser game using WebSocket TCP connections (since WebSocket doesn’t support UDP packets which are normally used).
See “HOW” for detailed features and implementation details.
The game uses WebGL and WebSockets and works best in Chrome Stable.
Unfortunately, the killer robots are made of Titanium and can’t be killed by bullets… Errr… or we spent the last 2 sleep-deprived hours searching for the bug in the server-side bullet simulation. :) It was finally fixed at 00:40 GMT and fully working game build will be hosted on another domain and advertised when allowed.
We have only one game server and no limit for the number of player. Be aware that some networks block websocket traffic, so if you don’t see the player, you might have a blocked websocket or an unsupported WebSocket spec.
The game server employs most of todays best practices in realtime multiplayer server design:
The server is the master and calculates all gameplay.
Clients employ client-side prediction for their own state to fake responsiveness. All movement and shooting logic is shared between client and server for this.
Clients store a few recent world states so it would be trivial to add interpolation and/or extrapolation for state that is not predicted on the client (other players, robots, sheep).
When the server receives a shoot event from a client, the server rolls back to the state of the world that the client saw to simulate the bullet hits.
Packet compression: input and world packets are compressed by sending only deltas to reduce network usage (disabled in current build).
Clients and servers have the same seeded random number generator.
It is easy to hinder cheating with this architecture: Have the server send limited worlds to each player based on what he should know and see. Set limits on how much input packets can be “delayed”, whether due to lag or cheats.
We aim to generalize the real-time-multiplayer server concepts into an open source npm library that can be used to develop new games that require real-time multiplayer.
We also plan to package the game server as a npm package that people can run as a dedicated server anywhere in the world. The distributed game servers could then be coordinated by a master server, to make it easy for players to find a server that is close to their geographic location.
And finally, the game client itself is 100% vanilla html+css+js (even has a cache manifest) and we hope to release it in the Chrome Web Store soon.
Full-screen WebGL. Animated 3d models. Seperate walk and aim directions. Multiple weapons. Spread and recoil simulation. Mouse cursor animates with machine gun. Chat. Twitter integration. Ammo in HUD. Dynamic camera with zooming support. A very unique game concept. :)
Voting is now closed.























































(56)
therazorbladeCan you kill anything? Some of those sheep must be more lead than wool. The killer robots don’t seem to inflict any damage. | |||
No unfortunately we were struck with the knockout curse of missing time for the final most-important feature. :) Killing was fixed 40 minutes past the deadline, so we created the game in 48:40 hours. :)
Although the killer robots do inflict damage, they just do it without the associated blood. Every time they reach the sheep, it’s Game Over and everything starts again.
We have already launched the 48:40 minute game on another domain and we absolutely can’t wait to promote it. We just don’t have it in us for fairness sake while voting is still allowed. We can send a link to you on twitter though.
therazorbladeUpdated my vote (added a few stars) after done reviewing all other entries.
mestapleThe robots were frightening, and the character animations seemed great for a short contest. Would have been easier to play the game if I could damage the robots. | |||
chrismatthieu
willconantThis could be really cool, but it obviously isn’t fully baked. | |||
ChungInteresting attempt at real-time multiplayer gaming. Unfortunately, titanium invulnerable robots make the gameplay a little too hard. :) | |||
ssorokaYou got a lot done, but there’s still a lot missing. Perhaps a simpler infrastructure would have helped you get further along. would like to see some alternative controls for zooming Impressive use of webGL, this could be a great game when it’s done. | |||
Thank you very much. We look very much forward to expanding on it and releasing it bigger and badder. :)
You bring a good point about the infrastructure, maybe we just wanted to show off more effort in NodeJS itself instead of spending all our time in the client-land. Although we see now from some other entries that the server-code is less important than the idea and polish.
At least it was definite a failure on our part to miss the last important piece of the gameplay and one we’ll remember for later knockouts to come :)
This is awesome. Love the graphics and the controls. Felt very intuitive and was smooth. Would just add some more interactions between characters or when you shoot things to make this complete. Great job! | |||
Thanks for the good vote! If anything we wasted a bit too much time on small details since we failed to deliver the final piece of the gameplay :)
At least it’s much more fun in the 48:40 version which I can show you if you find me as eirikurn on twitter. :)
good game. I really like sheeps \o/ | |||
Haha, us too. Please check out the sequel when it arrives, it will definitely please PETA since less sheep are harmed. ;)
It doesn’t work to me. Poor sheeps I can’t save them. | |||
I know, I cry a little inside every time those robots reach them :(
We only managed to fix the bullet simulation just after the deadline. This is our first time trying a knockout, and we’re learning that there is no “ambitiousness” or “future potential” score :)
kiranryaliI could see this as being really fun, but unfortunately it doesn’t work. Great use of WebGL and webosckets! | |||
Thank you. We had a great time creating it, none of us had experience with WebGL, SocketIO or real-time multiplayer design. Only one of us has experience creating games, and only 2D ones at that. So it was a blast.
We can’t wait to extend upon this, we’ve already expanded our team to involve art-design and audio talent so we hope to release something epic ASAP.
Thank you for the great innovation score :)
This is an incredibly ambitious entry and I’m truly impressed with how far you got in 48 hours.
High marks in design, innovation, and completeness reflect the ambitiousness of the project and the execution. The utility/fun score is due to the shooting bug since it isn’t really a game yet.