Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aaron1011/beamwars
A multiplayer in-browser game, based off of the Mac game BeamWars
https://github.com/aaron1011/beamwars
Last synced: about 1 month ago
JSON representation
A multiplayer in-browser game, based off of the Mac game BeamWars
- Host: GitHub
- URL: https://github.com/aaron1011/beamwars
- Owner: Aaron1011
- License: agpl-3.0
- Created: 2013-09-29T14:04:59.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-06-08T14:19:01.000Z (over 10 years ago)
- Last Synced: 2024-11-06T13:53:27.510Z (3 months ago)
- Language: JavaScript
- Homepage: beamwars.com
- Size: 1.25 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Beamwars
A real-time multiplayer game written in JavaScript.
## Scenarios
Due to newtork latency, a given player may receive a turn event for another player far in the future.
This causes a turn to be inserted retroactively into the player's view of other players.This scenario shows a simple game, where a retroactive turn is inserted for Player1's view of Player0.
Time 0.1Time 0.1Time 0.2Time 0.3Time 0.4Player0: Server: Player1:
The following scenario is a more complicated case. Due to network latency, Player0 retroactively inserts a turn for Player2, which appears to cause a collision.
However, Player0 had no idea that Player2 had turned until the turn information arrives. It's unfair to create a collision, because from Player0's perspective, he did nothing wrong.Time 0.1Time 0.2Time 0.3Time 0.45Time 0.6Time 0.75Time 0.8Player0: Player2:
This final scenario is the opposite of the above scenario. From Player0's perspective, Player0 has collided with Player3. However, Player3 had turned earlier, causing the collision to be avoided.
Player0 had the necessary information to avoid a collision, but did not. So, even though from the perspective of all of the other players, no collision occured, Player0 will broadcast a collision event.Time 0.1Time 0.2Time 0.3Time 0.55Time 0.7Time 0.75Player0: Player3: