Giter Club home page Giter Club logo

Comments (2)

pkaminsky avatar pkaminsky commented on July 19, 2024 1

I would definitely look at the server rather than say how the food is drawn. I think everything on the server is done without any knowledge of data structures or algorithmic complexity. For example there's an update loop which iterates through each player, and then calls movePlayer which is yet another O(n^2) nested loops, resulting in 3 nested loops per update. I don't even know what it's doing but that's not going to work. That's supposed to be the easy part, collision detection is supposed to be the bottleneck. I think it's reasonable to start over from scratch (that's what I did), there's nothing in this project that really strikes me as valuable for re-use. It's a good learning example of how to do canvas and websockets, but the game logic itself would need to be redone. If you want to use this I would profile the speed of each different component, such as moving players, populating cells, and doing collision detection, see which one scales the worst.

from agar.io-clone.

pkaminsky avatar pkaminsky commented on July 19, 2024 1

I should clarify that in my case my ultimate goal was to make a completely different game. If your goal is to make Agar.io I think starting with this project and fixing piece-by-piece by benchmarking each piece, is a good strategy rather than starting over. I am in-progress making a shooting-based multiplayer game. I'm not that far in but I have multiplayer movement and shooting. This project was useful for me to see what other people did, especially on the client side. However my game's performance requirements are even higher and the logic is all different. I am using golang on the backend.

from agar.io-clone.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.