Simple though the gameplay is, and knowing very little little about {Node,Three}.js, I have to admit the game changed my mind a little about what is possible in "only" javascript.
Fair points. I already started mitigating this by disabling friendly fire for players with -1 score (that is, as soon as a player has team killed once and made no valid kills, they won't be able to teamkill again until they make one legit first).
Instead of hurting players (-20 health) with friendly fire, I thought it would be fun for teamkillers with -1 score to actually give their teammates +1 health by shooting them. I think some players have started using it as a way to have a "healer class", which is kind of a fun emergent behavior.
Quite funny, but (being in asia) it lags. It is visible when pressing a key and have somthing like 500ms delay before my avatar move. Maybe should you cheat me a little and make me believe my avatar has moved (even if he will continue to be in the butllet trajectorie and take damage).
I love the simple easy-zelda-top-view: it is easy to understand what's going on. It has also a very good cooperative feeling: when you meet a teammate, follow him, you will be stronger together. It's easy to understand :)
May I suggest to add a 2nd shoot (as in Realm of the Mad God). A shoot on right click (or space) that start a a basic shoot, but finish on an explosion. This super shoot would be limited by a long cooldown or a mana bar (or any kind of limitation).
The server is located in France and it's all TCP (because WebSockets) so the lag might get pretty bad. Like you say, client-side prediction would help a lot with hiding that. Right now I'm just doing some interpolation on the position (no extrapolation at all) so any latency > 200ms becomes quite noticeable.
I love the lack of communication, and that people have to interact and learn through "body language". That captures one of my favourite aspects of multiplayer gaming for me, cooperation between total strangers without any detailed planning beforehand, so I wish there was more game elements to apply this to and more rewards for cooperation than just killing and not being killed (capturing a flag that spawns in the middle maybe?). But I enjoyed it very much already, I like the lack of guide & tutorial, the learning by doing, even the friendly fire, and hope you keep that minimalism :D
Well... the server is getting hammered and the player list is like... more than full. Going to add some player limit to avoid ruining the game for everybody.
EDIT: OK, server restarted, game is now limited to 20 active players, should help with lag a bit.
EDIT: Lowered the limit to 16, improved some inefficiencies in the network code. Looks like it's running fairly well now.
Very cool, my biggest issue with the game play was just catching on corners. I think it could be very successful with a lot of iteration, richer graphics, and storyline. The basic fun factor is there, which isn't true of many commercial games.
I hope to do something more serious with it in the coming months. If anyone cares to be updated, you can follow me on Twitter at http://twitter.com/elisee
I really had wayyyy too much fun playing this, for how "simple" it is. I'm very impressed with what was possible in just two nights. Thanks a lot for sharing!
Haha yeah, there's a lot I could do: Capture the Flag mode, player skins, Twitter/FB authentication to keep scores across games, various weapons, more powerups, ... I'll see how it goes :)
Thanks :). I spent a huge amount of time working with those techs lately so I'm pretty familiar with them. It's not like I could have done that from scratch.
Over the last few weeks I wrote a Web player with Three.js / Lua.js to be released with the Beta of my cooperative game-making platform (next week) - http://craftstud.io/, and last year I wrote a Google Wave-like thing with Socket.io.
[+] [-] elisee|13 years ago|reply
If you have any particular questions about how anything was built, I'd be happy to detail it.
EDIT: By request, I just made the repository public. It's not open source but feel free to check it out if you want to see how it was made - https://bitbucket.org/sparklinlabs/sparklinwars/
[+] [-] mik3y|13 years ago|reply
Simple though the gameplay is, and knowing very little little about {Node,Three}.js, I have to admit the game changed my mind a little about what is possible in "only" javascript.
[+] [-] Aldream|13 years ago|reply
Do you have a public repo to browse your Coffee-scripts?
[+] [-] rschmitty|13 years ago|reply
[+] [-] mkilling|13 years ago|reply
Some suggestions:
* At the beginning of the screen show a message that tells the player 'You are on team RED'
* Add a message for players who are team-killing - like a huge 'TEAMKILL' popping up on their screen.
* Also add a penalty to prevent people from team-killing (like a 10 sec respawn delay)
[+] [-] elisee|13 years ago|reply
Instead of hurting players (-20 health) with friendly fire, I thought it would be fun for teamkillers with -1 score to actually give their teammates +1 health by shooting them. I think some players have started using it as a way to have a "healer class", which is kind of a fun emergent behavior.
[+] [-] chii|13 years ago|reply
[+] [-] olivier1664|13 years ago|reply
I love the simple easy-zelda-top-view: it is easy to understand what's going on. It has also a very good cooperative feeling: when you meet a teammate, follow him, you will be stronger together. It's easy to understand :)
May I suggest to add a 2nd shoot (as in Realm of the Mad God). A shoot on right click (or space) that start a a basic shoot, but finish on an explosion. This super shoot would be limited by a long cooldown or a mana bar (or any kind of limitation).
[+] [-] elisee|13 years ago|reply
A secondary weapon would be nice indeed :)
[+] [-] PavlovsCat|13 years ago|reply
[+] [-] Udo|13 years ago|reply
I always wanted to make something similar on an RPG basis but never got around to do it...
[+] [-] elisee|13 years ago|reply
[+] [-] elisee|13 years ago|reply
EDIT: OK, server restarted, game is now limited to 20 active players, should help with lag a bit.
EDIT: Lowered the limit to 16, improved some inefficiencies in the network code. Looks like it's running fairly well now.
[+] [-] davidw|13 years ago|reply
Might be a fun excuse to play around with an Erlang port:-)
[+] [-] pbiggar|13 years ago|reply
[+] [-] elisee|13 years ago|reply
[+] [-] andrewljohnson|13 years ago|reply
[+] [-] elisee|13 years ago|reply
I hope to do something more serious with it in the coming months. If anyone cares to be updated, you can follow me on Twitter at http://twitter.com/elisee
[+] [-] siliconc0w|13 years ago|reply
[+] [-] pastylegs|13 years ago|reply
[+] [-] creativename|13 years ago|reply
[+] [-] elisee|13 years ago|reply
[+] [-] BHSPitMonkey|13 years ago|reply
[+] [-] elisee|13 years ago|reply
[+] [-] sekm|13 years ago|reply
[+] [-] elisee|13 years ago|reply
Over the last few weeks I wrote a Web player with Three.js / Lua.js to be released with the Beta of my cooperative game-making platform (next week) - http://craftstud.io/, and last year I wrote a Google Wave-like thing with Socket.io.
[+] [-] ssabev|13 years ago|reply
[+] [-] sunnybunny|13 years ago|reply
[+] [-] akimc|13 years ago|reply
-sequel
A.
[+] [-] elisee|13 years ago|reply
[+] [-] colemorrison|13 years ago|reply
[+] [-] hydralist|13 years ago|reply