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.
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!
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!
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?
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?
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.
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.
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.
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.