Coder Social home page Coder Social logo

combatnode's People

Contributors

twistedtail avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

combatnode's Issues

[TODO] Use try-catch when deserializing a grid

We shouldn't really trust the string given by the server, there's the scenario where it might be corrupted for any reason, which will produce an error on the C# layer. Instead, we should run this code inside a try-catch sentence and just push a false bool to the Lua stack if it failed.

[TODO] Add JSON encoding and decoding for grids

The server should be able to request CNode a JSON from a specific grid in the case it requires to save it. In the same way, CNode should be able to create a grid by decoding a JSON given by the server.

[TODO] Add cost multipliers to node connections

For the moment, node connections only store the distance between the foot position of both nodes. This is just the base move cost between these two nodes. There can be another factors, detected within Gmod, that should affect this value (slope, ground material, crouching, swimming, walking on water, etc). This information could be stored inside the connection's Sides object.

[TODO] Allow support for multiple grids

For the moment, everything's hard-coded to use human sized nodes. It could be changed in the future to allow people to have multiple grids with different node sizes.

[!!!] [TODO] Server gets hung on shutdown

If the grid is loaded, the server seems to be incapable of shutting down properly and sits at around 1GB of memory consumption. Using the module's Unload method to clear everything could work, maybe the garbage collection is having trouble when trying to get rid of all that stuff.

[!!!] [TODO] Optimize memory resources

Generating and saving a grid has a really high impact on the server memory. I'm using gm_fork for testing and a single complete grid will consume nearly 2.4GB of RAM. Despite the 64x server doesn't really care about this, it's something that must be done.

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.