Hacker News new | comments | show | ask | jobs | submit login
Show HN: 2D multiplayer battle royale game (surviv.io)
163 points by rnl 5 months ago | hide | past | web | favorite | 40 comments

I enjoyed this. One suggestion: scopes currently are over-powered in an uninteresting way. One thing that works well for top-down games is to not have the view purely centered on the player, but to have it move in the direction of the mouse pointer. That way, I see more in the direction I'm looking and less "behind" me, which is realistic. A scope then allows me to see even further in the direction I'm looking, but hence less behind me. This seems like the right balance and requires more skill to handle the trade-off properly. You can even go further and have, when the mouse is aimed sufficiently far from the player, for the screen far from the mouse to black out. Thereby allowing a "sniper scope" effect.

Does anyone here remember BaboViolent 2? All of these suggestions were done in that, particularly for the sniper rifle weapon (my personal favorite). In that game, it was important to balance your mouse pointer at a "kinda far" distance with the sniper rifle that wasn't so far that the screen blacked out and hence you still had peripheral vision but still got an increased field of view.

I liked your thoughts/suggestions. It’s possible to expand even further on the realism of FOV in 2D games, see this example [1]. It changes the gameplay mechanics significantly, of course.

[1] https://www.youtube.com/watch?v=SfG9MTFbEZ8

How does the network code to only transmit positions of players in your view work? Right now I imagine a simple quad tree is sufficient. Or it just broadcasts all the players to everyone all the time.

Nicely done! Safe to say that I think you beat many people (including me) to the punch. I think this is the perfect representation of the battle royale genre for browsers and I think many of the mechanics were inventive (such as the scope attachments increasing your FOV).

Considering I could jump in at any time and find a game, it seems quite popular. One mild criticism, and maybe it's a result of my apparent lack of skill, is that I've played three games so far and have come across ammo in none of them. I'm assuming the ammo was taken by my opponents, but it would be nice if it were a little more abundant. Great work!

I found ammo in boxes next to the guns. But I didn't at first see it as ammo, I thought it was some kind of barrier and moved on. So maybe it's a matter of making that more obviously ammo looking ? Like a stack of bullets ?

Seconded. It took me a while until I noticed that the small colored squares are ammo - I only realized it after I noticed a label popping up and disappearing as I moved over them.

Man this is really, really good. I've built a lot of these games with better graphics, maps and weapon variety etc, but the battle royale mechanic works awesome. It's a lot more fun than anything I've ever built, and one of the better 2d shooter experiences I've had in 1-2 decades. Well done!

Hope to see this evolve!

Ha, didn't realize it was FFA. I thought everyone with a blue helmet was an ally until I was rudely killed.

Looks nice, but it's only playable with a qwerty keyboard. Could you allow reconfiguring keys, particularly AWSD?

Great work. Might be more interesting and survival'y with real line of sight.

Like check out the game Nox. First result for "Nox multiplayer gameplay": https://www.youtube.com/watch?v=KGbJvbDMEf8

It seems in firefox 57 (linux) that firefox is auto searching when hitting wasd keys. I've not had this issue when airma.sh was presented on HN. I'm assuming a preventdefault or autocomplete=off tag is missing somewhere.

Besides that minor issue, so far quite entertaining!

Would like some info, like a blog post, about stack etc. How long did it take ?

Does this game use bots at all? The magic of paper.io disappeared when I found out that I wasn't playing against any human players.

How am I supposed to walk an pick things up with the same finger?!

More generally, I want to be able to change the controls.

I am playing on a laptop and when I use the movement keys it stops updates from my touchpad, so I can't look around while I'm running around. Is this a bug in the game or with my laptop/touchpad driver? Any ideas?

It's a feature in your touchpad driver. You should be able to disable it. It's palm rejection to prevent you to move the mouse while typing text.

Very cool! One bit of feedback its a pain to have to whitelist all the IP addresses for the game server. Can you associate a DNS and connect by name, this will make it easier with selective js filtering by domain?

Is the source code available?

Pretty fun. My favorite feature so far is bullets bouncing off metal buildings.

The server-side movement is unfortunate, but understandable.

At first I thought the brown crates were just barriers, but I learned pretty quickly.

I've built '.io' games of my own and by far the toughest part was the client-server communication, state management, and client-side interpolation. In my experience, the person with the lowest latency has the best experience overall while those with ping >=100 tend to suffer quite a bit more than you'd expect. I'm not well-versed enough in networking to make this statement confidently, so take it with a grain of salt, but I believe the lack of UDP for browser games greatly limits how smooth the experience can be for everyone. It might just be a matter of being enough of an expert to hide the issue though. Hopefully one day I'll figure that out myself!

It's not a UDP or TCP problem. Some of these games are highly latency sensitive, typically you die if you failed to move within a quarter of a second. They will be unplayable on any mobile or poor wifi connection.

Is it server-side? Feels snappy to me. Too snappy to not use prediction actually.

This is fantastic! Hope to see updates, I expect this will remain in my bookmarks for a long time to come.

This is surprisingly fun to play. Lots to be done here that could make this truly addictive.

I’ll check it out on my desktop but when visiting the site on iPhone it’s kind of a mess.

Your 2d version is a great way to prototype and test game strategies for actual 3d pubg.

Extremely choppy on Firefox 57/Win10, quad core Ryzen with 16GB and a GTX 1060 (not that the GPU should matter). This is on a 100Mbit cable connection. It was worst when I got zerg rushed, but even just roaming around the map was too choppy to be playable.

wasd for movement versus f for picking up things is very hard to use.

Well, it's a ubiquitous convention in gaming.

I think E is the convention.

Both E and F are used in this game for common actions.

The point was probably that WASD is unplayable on a non American keyboard.

It's F in PUBG, which this game is based on.

Why does this connect to multiple raw IP addresses with no domain names?

No real point in routing it through DNS except to entertain a few nerds looking at the network tab.

or, like in my case, when you've got umatrix running.


I am not the developer, nor am I associated with the project in any way, but I've seen other games similar to this do the same thing when servers are created on demand. I'm sure it's just spinning up instances of the game server as demand rises and connecting clients to the raw IP instead of having them all behind a load balancer or similar routing node with a dedicated domain name. Might just be due to the project being relatively young. Also, I could be completely wrong. This is just my best guess.

how can I shoot? left clicking doesn't

Do you have ammo? does left-click punch when you spawn?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact