Agar.io Bots Github

0 views
Skip to first unread message

Giovanni Sealy

unread,
Aug 5, 2024, 7:23:48 AM8/5/24
to brokimdoca
Iam surrounded with "success stories". But very few new projects (or startups if you want) succeed. According to the different sources, it is less than 10%, I more believe sources which say that it is even less than 1%.

Of course, it dramatically depends on which stage startup was accounted for this statistics... But this story is not about it. I just feel that I should write "story of NOT success", just to dilute all that success stories with other fairy tale.


That all sounds just casual. There was no mind-blowing idea which could quickly attract some folk. But that is not so important and, to be honest, it is just too rare case when a completely new idea arrives to this world. Basic approach is either usage of different ideas combination which were not combined yet, or usage of some established idea with new elements. So I didn't throw this idea at early stage.


So, basic tools were selected and I started implementation. And very first mistake was already made at this stage. I created two repositories, for client and backend parts. Scale of the project was too small at that point, and I could not early feel problems with chosen solution.


Basic mechanics with absorption, border conditions, visualizations and client-server interaction went relatively fast. Few evenings and I had agar.io parody (yeah, parody, I meant that). Then was statistics, leaderboard, UI, etc. Everything is simple, without real graphics:


Then I started to implement interactions in zones. Attraction and orbiting zones were also implemented like a charm. But implementation of gravity assist zone was long, painful and buggy. I spent too much time polishing it and making it decent. Spoiler: It still works bad, at least worse then everything else in the game.


The size of packages exchanged between server and client was too big. I made it hundred times smaller by optimizing amount of data (by sending only user related data) and by using binary format (lib -msgpack-parser was pretty handy).


Game was crystalizing, and I started to care about better UI, deploying it somewhere for public access, or at least for testing by small group of people, updating process and all other not so interesting things.


I noticed that client rendering was not smooth enough. This issue was fixed very quickly by optimizing assets (images). I didn't think that size of images could affect anything except page load time, but I was wrong. Finally I achieved 60 fps on almost all devices except of few extremely low-end.


After some experiments I figured out that performance can be slightly improved on such kind of devices by using canvas instead of WebGL. But that was not always true, and I didn't find a reliable pattern when WebGL should be disabled. So I quickly added a checkbox so user could disable WebGL just in case.


I created a new repository for bots (forth one, third was for deploy system, bend your fingers ;) ). For bots I wanted to make same rules as for real players. So they are in the same sandbox, connected to server in same way and so on.


Now I understood that I already implemented low-level client which synchronised backend data and stored it in local objects. So, what? Right, I extracted it to the fifth repository. So, I had physical boundaries, no way to mess dependencies and blah blah blah. Also I needed to spread out every change in dependent library among all dependers, and only then perform integration testing. And that was not fun at all. So now I think you got an idea why "first mistake" was really a mistake.


I don't want to make you tired with explanation of first algorithms (I would do if they were right, I swear ;)). Will only say that I tried to find intersections on the possible movement directions, then sort this directions by maximizing reward (object to absorb) and minimizing risk to be absorbed by bigger object.


After a month of unsuccessful tryings, I remembered about agar.io and googled something like "agario bots" and went to the porngithub to find inspiration. And I found it! I read few repos for maybe half an hour and found an awesome and simple idea.


Bot should just select closest target, then move to it. Once it sees danger, it changes direction to 90 degrees, travels some time and then repeats the loop. Simple as that and it worked glorious! I added some small random dispersion to 90 degrees, just to avoid rare "looping" and make it look more real. And for it I spent one evening after wasting almost a month!


With bots I quickly estimated how many users online server was capable to handle reliably. So I added connections limit (40 users) to backend and self balancing system for bots. They randomly populate the world, but once real user logins, some of bots disconnect accordingly to free up place for humans. (So far they obey me ;) )


2. Realize efforts to implement an idea and don't set too ambitious goals. This was only my second game, but problem was not even that. Problem was that implementation and decent support of such online game was not possible for pet project with 10 development hours per week.


To understand what was planned, just check trello board of the project: -wars. I somehow finished MVP after 6 months of dev time, but implementing the rest of features requires at least one year. And that doesn't include development of scalability to handle more than 40 users (except simplest variant of random user distribution by nginx on the batch of unconnected nodes). To make it 100% production ready, one more sophisticated feature is required - network latency toleration. And that is also difficult to achieve within that time... And Android version with its own control system... I think you got an idea.


3. Think more about game idea and mechanics. Implementation has to be after planning and sketches. That will not only save tons of time, but also will just make game better. Do not waste time on features which are almost invisible for users or are not important.


1. Free Unity Course -with-code. After finishing it, you will be able to build your games with Unity. Not too sophisticated, but I think it is very decent for indie game dev. Example of what I did just to check that I mastered the course: =sXL2hECK8KQ


We started with the bottom boards, then added the top boards. We made sure that these 4 boards were nailed into studs and well, we nailed the hell out of them. We wanted to make sure that the weight of the 10 foot board was not going anywhere.


I have a wall in my dining room that is painted a dark chocolate brown. My dining table is not centered to the wall, so I am having a hard time committing to a piece of artwork for the wall (do I center artwork to the table or the wall????). Anyways, I really like your paneled accent wall, and it gives me some ideas for my space!

Thanks


There are various folks that may prefer to succeed with secrets and hackers we will must reveal, My

business is one.

agar.io hack bot github,agar.io cheats ios,agar.io cheats for ipad mini,agario cheats,agario cheats reddit,agar.io skins mode,agario hack bot no survey,agar.io cheats cydia,agario cheats without download,agar.io hack bot tampermonkey,agar.io skins mobile recently posted..agar.io hack bot github,agar.io cheats ios,agar.io cheats for ipad mini,agario cheats,agario cheats reddit,agar.io skins mode,agario hack bot no survey,agar.io cheats cydia,agario cheats without download,agar.io hack bot tampermonkey,agar.io skins mobile version,agar.io cheats youtube,agar.io skins phone,agar.io hack cydia,agario free hack,agario free hack no survey,agario skins list,agar.io hack,agario skins list app,agario download unblocked,agario download free,agar.io hack bot online,agario cheats youtube,agario skins list ios,agar io unlimited mass,agar.io skins mod download,agar io skins ,agar io hack,agario skins list iphone,agario hack ios,agar.io skins fnaf,agar.io skins presidents,agario hack bot chrome,agario download skins,agario hack online no download,agario skins list june 2015,agar.io hack android,agar.io cheats android,agar io free hack,agar.io hacked server ip,agar.io hack ios no jailbreak,agar.io skins mod ios,agar.io hack ios download,agar.io hack android root,agario hack bot,agar.io cheats mobile,agar.io hacked server,agario hack android no survey,agar.io cheats for ipad,agar.io hack ios no survey


In June 2009, my husband and I signed a contract on to-be-built home. As the neighborhood grew around us, we jokingly referred to our home as the lil house that could, since it is the smallest model in the community. We know, we know, it is not small by any means.... read more.

3a8082e126
Reply all
Reply to author
Forward
0 new messages