Giter VIP home page Giter VIP logo

amalgamengine's People

Contributors

nerdthened avatar net5f avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

amalgamengine's Issues

Windows message dropping above certain client count

On localhost windows, we only seem to be able to hit ~65 clients before the server stops receiving messages from the first connections. Things work fine with the remote linux server, so I haven't looked into it any further.

Crash when attempting to reconnect after timing out

Steps to reproduce

Not sure if 100%, but it occurred after the following steps:

  1. Press "connect" on client
  2. Be disconnected due to timing out (turn off internet and turn it back on, for example)
  3. Try to connect again
  4. Observe crash

Log

        Tick 0: Detected a request for multiple Sim update calls in the same frame. Update was delayed by: 0.08108s.
        Tick 0: Detected a request for multiple Sim update calls in the same frame. Update was delayed by: 0.04775s.
        Tick 0: Sim update missed its ideal call time. Update was delayed by 0.01442s.
        Tick 0: Detected a request for multiple UserInterface update calls in the same frame. Update was delayed by: 2.38201s.
        Tick 0: Detected a request for multiple Network update calls in the same frame. Update was delayed by: 2.38202s.
        Tick 0: Detected a request for multiple Renderer update calls in the same frame. Update was delayed by: 2.39762s.
        Tick 0: Received connection response. ID: 1048577, tick: 6568890, pos: (1060.0000, 1788.0000)
        Tick 0: Setting map size to: (4, 4)ch.
        Error at file: ..\Libraries\AmalgamEngine\Source\ClientLib\Simulation\Private\NpcMovementSystem.cpp, line: 233, during tick: 6568895
        Received update for invalid entity: 4194306. Message tick: 6568770

Not clear in log but the ID 4194306 was not the original ID given to the peer on first connection. Not sure if it was the ID given on attempted reconnection.

CMakePresets Support

CMakeSettings.json is a VS only tool.
CMakePresets is the official CMake solution to the same problem based on CMakeSettings.json.

CMakePresets has a few advantages over CMakeSettings:

  1. Can be used everywhere that CMake can (does not require VS)
  2. Supports multiple presets so different configurations for different build environments can all have easy defaults
  3. Supports preset inheritance
  4. Can be overridden by CMakeUserPresets.json so users can overwrite your settings with their own without editing a file that is checked into version control (CMakeUserPresets.json should be in gitignire)

We need a public feature board

Before I work on the next major feature, I think it's time to take my private feature lists and start a public board. It'll essentially be the same as the roadmap at worlds.place, but with more detail and all of the little things included.

I'm familiar with trello so I'm going to start there, but if anyone has a strong preference for another site feel free to suggest it.

License might need to be reworked

I want a license that's like "You have to open source any engine modifications, but you can do whatever you want with your project code."

How should the engine and project code be licensed?

This engine is currently AGPL licensed because I'm worried about a future where some studio takes this engine, dumps more money than anyone else into closed-source development on it, then releases a high-quality world that vacuums up all the players. This type of monopolizing is, in my opinion, the cause of the current stagnation in virtual worlds. I would hate to see my work used as such. The downside of this is that it effectively restricts the engine to use by hobbyists (not the worst thing in the world).

I've recently started opening up to the idea of a more permissive license, but I require more opinions and conversation before making a choice. Maybe the presence of the engine would facilitate enough competition that the monopolization that I'm worried about isn't likely. I could be convinced, in that case, to switch to something like an MIT license.

Please use this issue to discuss this topic.

Need to add MSVC support

Currently we only support MInGW builds on Windows. There have been attempts to add MSVC support, but it's a real bear. We should probably do it though, I assume people will want it.

Linux packaging script is fragile

The PackageEngine.sh script includes logic to detect the dependencies that the binaries need and to copy them into the package. This works decently if the stars align, but it seems really fragile. Is there a better way to do this?

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.