What I didn't understand is why it would disconnect me sometimes out of nowhere and reconnect me into another realm. It happened twice or thrice when I was on the leaderboard.
What dev stack did you use? Do you have a blog post with your math models for growing, speed, zoom, etc?
I've already answered somewhere in here what it's written in.
I didn't write any math model, I just wrote whatever felt right.
See my reply to madeofpalk for the other 2 answers.
There was no information on where to send a check, but I certainly would prefer that option over anything ad-supported.
Also like everyone else I get connection errors. It's actually quite interesting. It appears this game is load balanced between three or four servers. The script makes a request to http://m.agar.io/?_=<timestamp> which returns the IP of a server used to initiate a websocket. It changes each time you refresh it.
I swear I'll never send the server anything dishonest, like say owning a billion dollars. :)
Client-side computing exists, but only to present a fake state which doesn't affect the game mechanics but only servers a cosmetic function to bridge the time until the server updates the client with the actual data (on which any essential game mechanics are based).
Games typically just send keyboard input to the server, simulate the game as best they can, and receive the state of the game as it 'really' is. Just like you can't change your money on your bank account, but you can send instructions to send money (keyboard input), and your client-side app will likely immediately update your balance even if it's not fully processed yet by the server.
Beyond that, computing vectors of a few players isn't really a big deal for a server, with 20 players you're really running a relatively simple simulation without any rendering.
Data on the network is the bottleneck. And it's far more efficient to send e.g. a 'player pressed Forward' on second 0, and 'player released Forward' on second 8. That's two messages, as opposed to a 30-60 frames per second update on the player's position.
So for security and performance, it's usually not that great of an idea for clients to do all that much computing. One day we might even see rendering happen serverside, too, OnLive got it to work pretty well at low-res but it was far from optimal. (they shut down btw)
It's a real-time game; it needs that much input data (but nothing else).
There are at least 12 servers at the moment, but they're divided between several regions so you're probably only seeing the IPs of the servers in your region. Each server also has several instances of the game, it creates more as demand rises. The most used resource on the servers is CPU.
Also Googled and found, thanks to TJjokerR on steamcommunity forums, that the list is in "main_out.js" in the source code.
2ch.hk, 4chan, 8ch, 9gag, argentina, australia, austria, ayy lmao, bait, bangladesh, belarus, belgium, bosnia, botswana, brazil, bulgaria, byzantium, cambodia, canada, chile, china, cia, confederate, croatia, denmark, doge, ea, earth, estonia, european union, facepunch, feminism, finland, france, german empire, germany, greece, hitler, hong kong, hungary, imperial japan, india, indiana, indonesia, iran, iraq, ireland, isis, italy, jamaica, japan, kc, kingdom of france, latvia, lithuania, luxembourg, maldivas, mars, matriarchy, mexico, moon, nasa, nazi, netherlands, nigeria, north korea, norway, origin, pakistan, patriarchy, peru, pewdiepie, piccolo, pokerface, poland, portugal, prodota, prussia, qing dynasty, quebec, reddit, romania, russia, sanik, satanist, scotland, sealand, sir, somalia, south korea, spain, stalin, steam, stussy, sweden, switzerland, taiwan, texas, thailand, tsarist russia, tumblr, turkey, ukraine, united kingdom, usa, ussr, vinesauce, wojak, yaranaika
Order in which skins were added:
poland, usa, china, russia, canada, australia, spain, brazil, germany, ukraine, france, sweden, hitler, north korea, south korea, japan, united kingdom, earth, greece, latvia, lithuania, estonia, finland, norway, cia, maldivas, austria, nigeria, reddit, yaranaika, confederate, 9gag, indiana, 4chan, italy, ussr, pewdiepie, bulgaria, tumblr, 2ch.hk, hong kong, portugal, jamaica, german empire, mexico, sanik, switzerland, croatia, chile, indonesia, bangladesh, thailand, iran, iraq, peru, moon, botswana, bosnia, netherlands, european union, taiwan, pakistan, hungary, satanist, qing dynasty, nazi, matriarchy, patriarchy, feminism, ireland, texas, facepunch, prodota, cambodia, steam, piccolo, ea, india, kc, denmark, quebec, ayy lmao, sealand, bait, tsarist russia, origin, vinesauce, stalin, belgium, luxembourg, stussy, prussia, 8ch, argentina, scotland, sir, romania, belarus, wojak, isis, doge, nasa, byzantium, imperial japan, kingdom of france, somalia, turkey, mars, pokerface
P.S. This game is going to be huge!
If you're looking for a more in-depth experience, check out Osmos , the single-player game that probably inspired this.
Seems like there were no asteroids.
The "MMO" features were fake. All the other ships flying around were bots; the game ran locally on your computer. Disconnecting from the network broke the illusion, as the game continued to run normally.
If you want a tree that does perform well and is similarly easy to understand, a dynamic AABB tree is much better.
If you have 16 cells, your big ones can also eat the green things and grow, instead of getting split up.
* visible world borders
I logged in this morning again for a quick game, and it appears you've considerably shrank the "worlds" into smaller spaces. The game has changed completely for me, as it's about 50/50 that I will survive the first 20 seconds. It's gotten extremely tight in there and there's no more room to maneuver. If you're a big cell, it's almost impossible to die, as there is now always a stream of little guys that get trapped, then sucked in.
I really had a lot of fun "exploring" the worlds and occasionally bumping into another cell, or just crossing paths yesterday. I could go on long chases that would last a few minutes, which was a lot of fun. As of now (I tried the 4 regions), it's basically a reflex game. Splitting in half to "attack" I think is the cornerstone of this game (if you want to get big, you have to risk a bit), but it's so crowded now that it's prohibitively expensive/risky to do so, which sucks.
A small thing to consider for user retention: if I've carefully built up my cell to a respectable size, I will try to play smart and not leave my computer, grab water, go to the washroom, because I'm invested. If I die every 3 minutes, it's easy for me to drop it, forget about it and move on. I spent 60-90 minutes in a single game yesterday, and didn't want to "lose my work", if you see what I mean.
Awesome work (I think the small upgrades on the theme, names, etc. is awesome), keep iterating - but I think I'm going to get back to productive stuff now, because the game has lost most of its appeal to me.
Start-ups are small in size, more agile and can navigate/pivot more easily. Big companies generally take time to pivot and ignore smaller opportunities to grow unlike the small companies. They also have the potential to gobble down small companies.
I wonder what's the most appropriate analog for the spiky cells.
Guess I'll have to get some work done today after all
Why can't there be more types of dangers? Like, being big or ginormous for too long would attract viruses, it could be a spawned player who will become one, and you have to divide yourself to smaller cells, so that the infection wouldn't be too quick.
Taunts would be nice, too.
Round time would explain blob resets for everyone, like: this round duration is 2 hours.
After the round ends, player's score is then added to the global leaderboard.
Right now, I cant play because on Europe theres a HUGE russian blob that even freezes my i7 16GB RAM for being so big.
Either way, I think it would be cool to let people donate something like $2 to remove ads and make your cell move a bit faster.
Also, please get in touch if you want some help porting this to iOS.
People are asking you to add features to the game that make it more fun or more easy to play.
Please don't make the game easier, by adding borders/powerups/double speed/ etc.
However please do make it more fun by adding chat/inviting friends/score on leaderboard/more colors etc.
Came up with a similar game a while back that also had a CTF-type element to it. Great job!
Also are there plans to allow for choosing colors?
And my nerves.
I like how being huge vs the split strategy relates to the innovator problem
So if for instance your page makes a CORS request and the MySql server is away. Your app framework catches the error and renders the 500 message, but it doesn't automatically set the CORS.
Now your page receives a response that just gets flat out rejected, you can't even inspect it in the network tab.
The easiest solution is probably to set the CORS headers in NGINX.
Science has proven: cells that block ads are less likely to survive.
Also it freezes a lot for me. Locking the mouse would be nice.
I like it this way. It's a nice sense of satisfaction when you figure it out how to play and the tricks.
To be clear, the ridiculous names people are using are offensive. Game was fun until the children showed up.
Or maybe it's just me.