Skip to content

marcinbiegun/elixir-tanks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tanks

This is an experiment to test how ECS architecture works in a real life scenario.

Gameplay video

Project state is pretty much work in progress. It needs more more game features and rebalancing to make the game enjoyable. After that I'm going to improve the performance and make a general refactoring.

Asset packs used

Implementation details

Processes

  • Components
  • Registers
  • Servers
  • Cache

System design

  • Components are registered with their own processes
  • Entities are only groups of components, they don't have their own processes, but they are registered
  • Systems are required to register their component type usage, e.g. [Position, Momentum]
  • Events, Queues and EventProcessors are used to manage when events happen, e.g. input system collets input events and processes them at the beginning of a tick
  • Caches are used to gather state from components and keep them in a single process.

Mix tasks

  • mix generate_dugeon use for prevewing procedural map generation

About

Multiplayer game built with Elixir nad JavaScript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published