Coder Social home page Coder Social logo

accel-turn-poc's People

Contributors

raitobezarius avatar

Watchers

 avatar  avatar  avatar

accel-turn-poc's Issues

Database support

I won't implement auth mechanism.

But a bit of database serialization would be cool though.
Just for position, skin, player ID and player name.

I feel bad to auto-generate them at server runtime. :///

Entity interpolation

Currently, there is no such mechanism implemented.

And in order to achieve the Accel Turn (TM), we'll need it because movements are going to be highly unpredictable and different.

Position desync

Sometimes, it seems like that two clients can be desynchronized.

To understand easily, the result is we got that during a playing session:
Here a screenshot

There is one unit of difference between them.
The issue seems to arise when you move one of the player very quickly.

My feeling on that is that I should check the client prediction system which is not limited to local player only, whereas it should.

Map bound check

If you spam a lot moves to go outside of the map, you will actually go outside of the map.

... Because, between doing a pre-check of your position and doing the real check, there is two world of difference. :c

Anyway. That's it.

Slow map loading

I don't know why but it's taking a lot of time to load a 30 x 20 tile map.

I'm sure that it isn't due to the JSON stuff (loading big JSON blob isn't a real issue and it is a fast operation).

But, I don't understand why 10 400 iterations seems to be a issue for Python.

for x, y, tx, ty in structured_data['map']:
    variations = [(0, 0), (0, 1), (1, 1), (1, 0)]
    for delta_index, delta_pos in enumerate(variations):
        dx, dy = delta_pos
        self.tileMap[index + delta_index].position = sf.Vector2((x + dx) * self.tileSize, (y + dy) * self.tileSize)
        self.tileMap[index + delta_index].tex_coords = sf.Vector2((tx + dx) * self.tileSize, (ty + dy) * self.tileSize)

    index += 4

I should look where can I optimize those.
Maybe by pre-computing some stuff. I could down this loop to 2 600 iterations.

Server bad simulation

As said in 96be65b, it seems like that the server does bad things on his side to simulate the world state.

Going to investigate that, as it could be the key to a nearly perfect client prediction.

Lag compensation

Whenever #3 is implemented, we'll naturally need this one.

If I implement some melee or attack system, attacking someone which is in Accel Turn (TM) will be impossible without lag compensation.

Fix loading screen

The client's loading screen isn't working

Let's add some stuff to make it nicer :)

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.