danilko / topdown-2d-multiplayer

top - down 2D multiplayer base on godot
MIT License
26 stars 7 forks source link

Introduce better player experience #6

Closed danilko closed 3 years ago

danilko commented 3 years ago

Game Screen

Initial Screen/Server Screen/Join Screen

danilko commented 3 years ago

Work on As a player, I want to able display both weapon system status more cleanly

This involved better UI and a more manageable inventory system

Inventory System

danilko commented 3 years ago

Work on

Start to work on initial inventory system UI. User can trigger through "B" key while in game to trigger inventory

danilko commented 3 years ago

With latest commits, complete following across network sync

The high level design is following:

When an action is trigger on client side, will send the action steps, currently cover following:

To Server, server then base on logic and process:

The reason second step is important is it is possible the client may miss an update in past, and so cause this transaction to fail, so use this opportunity to "force" the setup

However, it does produce more network load especially during lot of agent creation steps. Create a defect to track it https://github.com/danilko/topdown-2d-multiplayer/issues/8

danilko commented 3 years ago

There is also still some problem with inventory drop/usage.

Sometime clients are not sync up with server:

danilko commented 3 years ago

This is fixed in latest commits:

However, for the health not recover issue, it seem it did recover, but just always not propagate fast enough depend on network situation, so will category under this issue https://github.com/danilko/topdown-2d-multiplayer/issues/8

danilko commented 3 years ago

Following are fixed in the latest commit Usage of item did not reflect health -> Fix As a player, I want better way to indicate which user I join as part of start/join server instead of current numeric team representation -> Fix now with team name indication and team color As an admin, I want a way to control map's team setup (initial amounts etc.) during server setup Demo https://www.youtube.com/watch?v=DLI8xl845ag

This wrap up this round of initial implementation