Show HN: My first Ludum Dare entry, online multiplayer game Hide-n-Stab
54.244.244.60
54.244.244.60
In Hide-n-Stab, everyone looks alike, but some characters are harmless NPCs while others are fellow players like yourself. Your goal is to find other players and kill them by stabbing them in the back, but whenever you attack, you'll be revealed as a player for a short time.
You can play in your browser, and I'd love to hear your feedback: http://54.244.244.60
The game was created with Haxe, using the HaxePunk game engine, which I'm a contributor to.
Both the client and server are written in Haxe, which is compiled to Flash (for the client) and Neko VM bytecode (for the server).
Haxe and Unity also do this, but I would hesitate to call Flash a dead platform - it's just not the flavor of the month right now.
This seems to maybe not be happening any more though. Maybe you fixed it? Or maybe it was just due to traffic.
Also, the highest score I've gotten is 22, though that streak started with only 6 other players (and ended with 10 or 12).
22 is great! My record is somewhere in the 30's, and I've been playing for a week :)
Isn't working for me.
As a fellow developer I wrote a quick article on your game (http://www.uppskattat.se/articles/hide-n-stab). I hope you'll get some visitors.
You should think of having some domain, I think most non-IT people are suspicious against ip-addresses. Hit me up if you want me to add some credits for you or if you change the hostname to something else.
You are almost invulnerable running around constantly attacking and when someone decides to kill you in this mode it is very random who dies, usually best connection wins. This could be easily fixed not by improving the lag, but by improving the gameplay.
I think you shouldn't be able to attack again until the reveled mode ends. Otherwise, once revealed, the game become run and attack.
Edit: It is so frustrating. I stand at exactly (pixel-perfect) the same height as someone else. I stab him so that my knife ends directly in the middle of the other player. It does nothing. I try again, this time going to the right a bit (so move to the right, then look to the left so that I stab towards him). This time the knife ends around where his sprite begins. At the same time he does one stab and I die. Why do I die and never someone else? Is this lag or something and has he stabbed me ten seconds ago? Is anyone getting scores of over 1 or 2?
Edit: yes that's it
I managed to play for a while yesterday before it got HN'd (can we say that now instead of slashdotted?) and was looking for a temporary diversion but it does not seem to be functioning properly any more.
How do you compile this?
* spinehaxe: github.com/bendmorris/spinehaxe
* SpinePunk: github.com/bendmorris/SpinePunk
* my fork of HaxePunk: github.com/bendmorris/HaxePunk (use the "all" branch) which has modifications not accepted into the main version yet
To install spinehaxe and SpinePunk, clone the repository, enter that directory, and run the command "haxelib dev <library name> src". For HaxePunk, clone my fork, check out the "all" branch, and run "haxelib dev HaxePunk path/to/haxepunk"
Hopefully installing those should be enough to get it working.
EDIT: Got to a score of 7 then the game froze. I think it's a bit unbalanced at the moment... there's just too much advantage for revealing yourself: you get to run very fast, and you can easily maneuver behind people. Also, there are a lot of netcode issues such as entities showing up that aren't actually there. It's pretty fun though!
EDIT2: Yeah, there's some kind of freeze (infinite loop) bug on Firefox that sometimes triggers after killing someone. Makes it hard to play...
I think this game has a lot of potential. You should put in a leaderboard to see who has the highest score.
EDIT3: Managed to trigger the "can't move" bug on Firefox, so it looks like it's not browser-specific. Then I triggered the freeze bug after pressing Z, so it looks like it doesn't matter whether or not you've killed someone for triggering the freeze.
- Running command: haxe bin/linux64/cpp/haxe/release.hxml -D HXCPP_M64
src-client/hidenstab/Client.hx:66: characters 8-21 : sys.net.Socket has no field endian
src-client/hidenstab/Client.hx:83: characters 15-36 : sys.net.Socket has no field bytesAvailable
src-client/hidenstab/Client.hx:84: characters 15-36 : sys.net.Socket has no field bytesAvailable
src-client/hidenstab/Client.hx:89: characters 30-45 : sys.net.Socket has no field readByte
src-client/hidenstab/Client.hx:90: characters 30-45 : sys.net.Socket has no field readByte
src-client/hidenstab/Client.hx:98: characters 20-36 : sys.net.Socket has no field readBytes
src-client/hidenstab/Client.hx:102: characters 20-36 : sys.net.Socket has no field readBytes
src-client/hidenstab/Client.hx:106: characters 33-54 : sys.net.Socket has no field bytesAvailable
make: *** [linux] Error 1
Edit: So it's not `make linux` it seems, `make flash` seems to do something... Let's try making the server or something...Edit2: ./server:
[...]
Called from flash/Lib.hx line 191
Called from /usr/lib/haxe/std/neko/Lib.hx line 30
Uncaught exception - load.c(237) : Failed to load library : lime.ndll (lime.ndll: cannot open shared object file: No such file or directory)
Edit3: Found lime.ndll in some bin folder somewhere. Copied it over to where ./server is. Now it seems to try to bind to 54.244.244.60 (your server's IP) which of course doesn't work. Server.n is a binary format, that can't be the config file, hmm...Edit4: Oh there are replies that HN doesn't show in edit mode. Okay. Gonna try this!
Before building, modify src/hidenstab/Defs.hx to change the host and port.
edit because I can't reply to your comment: yes, the client also uses the values in Defs.hx. It's likely a Flash security issue due to running it locally. Try adding "-Dnetwork-sandbox" to the command in the Makefile which builds the flash client.