Git Product home page Git Product logo

engine's People

Contributors

kitskub avatar wolf480pl avatar waterpicker avatar dredhorse avatar olliestanley avatar

Stargazers

Baran OZCAN avatar Ryan W avatar  avatar Jeremy D. Miller avatar Niji avatar Ian Macalinao avatar  avatar  avatar Brennan avatar  avatar

Watchers

 avatar Moritz Schmale avatar James Cloos avatar Aleksi Sapon avatar  avatar  avatar  avatar Carl avatar Brennan avatar Baran OZCAN avatar

engine's Issues

Fix snapshots/rendering

Right now, FPS is very low (compared to Client). This is caused by two things:

  1. We're generating/displaying a lot more chunks than Client.
  2. Many chunks are missing neighbors when meshing, so extra faces are generated.

2 is probably caused by the snapshot system.
We need to make sure that the order of everything is:
(Load/gen chunks -> snapshot) all chunks in visible range -> mesh

Although, we would still have to worry about what happens when we move: chunks are (should be) remeshed when a neighbor updates. However, this should not cause the chunk itself to "update."

Simplify WorldGenerator

Right now, WorldGenerator is really a pain to work with. Exactly what will be generating is hidden behind getBase() and getSize(). I think we can clean this up a little bit to make it a little more straightforward what is generating.

This might mean having multiple calls to WorldGenerator#generate() for one "generate" call from RegionGenerator.

Revisit Point, getBase(), etc.

So, obviously, the idea of getBase() would be to be the position in the world by blocks. And this does make sense, to a point. It is kind of hard to work with (for example, if all you have is the base of a chunk, to get the chunk position, you have to do bit shifting.)

I'm thinking we need to rethink how we use Point and getBase().

Don't hide React behind a Physics API (Discussion)

Ok, so this is up for discussion: @DDoS @Wolf480pl

So, in Spout, the idea was to hide the physics implementation behind a generic physics API. This was supposed to allow for the physics implementation to change at will. However, there is a reason for version control: we don't have to update to a new React unless we want to. (React is under version control, right @DDoS). And, by exposing React, we allow for so many more possiblities than with a physics API which will probably lag behind.

Consider using events for engine core instead of explicit method calls

If we used events for core events (EngineStart, EngineStop, etc.?) then we could remove duplicate stuff in FlowSingleplayerImpl.

Upsides:

  • Modularization
  • Perhaps cleaner code

Downsides:

  • Events are slightly slower (isn't a real problem because enginestart/stop only happens once
  • Will need to still have a way to register the events

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.