Skip to content
/ MyRTS Public

Multiplayer RTS game prototype written in Java using LibGDX

Notifications You must be signed in to change notification settings

Jarzka/MyRTS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

MyRTS

NOTE: This project is old. It was created mainly for fun and learning purposes. If I wrote this project today, I would do some things differently. Still, the code works (for the most part), so hopefully you find it useful if you are interested in creating your own multiplayer RTS game.

MyRTS is a multi player Real Time Strategy game prototype written in Java using libgdx library. The game is currently in very early stage but some core features have been implemented already like giving simple commands to units and synchronizing the game over network.

The game uses the same architecture style that was used in Age of Empires: every player is running individual simulation and these simulations are completely deterministic. Only player inputs are sent to other players over the network. Inputs are synced using so called "communication turns" (SimTick). Finally, all players compute md5 hash from their game state every second and send it to the server. The server checks that all simulations are in sync by using the given hash values.

The implemented engine is partly based on these articles:

One of the biggest change is that this engine does not use peer-to-peer connections, but client-server model.

The game engine uses variable physics in singleplayer mode for smooth animations and fixed physics (30fps) in multiplayer mode to keep the simulations in sync.

Gameplay demo: https://www.youtube.com/watch?v=OEy6PhbeE_Y

Releases

No releases published

Packages

No packages published

Languages