Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Q: What technologies are used #1

Open
xtuc opened this issue Aug 22, 2017 · 0 comments
Open

Q: What technologies are used #1

xtuc opened this issue Aug 22, 2017 · 0 comments
Labels

Comments

@xtuc
Copy link
Member

xtuc commented Aug 22, 2017

We used mainly Golang for performance reasons.

  • All the backends (git infrastructure, game engine, game scheduling, ...) are written in Golang.
    • The game engine includes collisions detections, agent physics, visualization rendering, projectiles, ...
  • We have our own message broker system written in Nodejs (which suffer from performance issues). We are planning to re-write it in Golang or use a solution like Apache Kafka.
  • The visualization of the arena in 3D is made with BabylonJS and written in TypeScript.
  • We use HAProxy extensively to handle all the traffic from the outside as well as internal inter-service communications, TLS termination, load balancing and security.
  • All the services are running in Docker containers and deployment/orchestration is done using Ansible.
  • The website is written in PHP, we used the Symfony framework.
  • GraphQL is used internally to exchange data between services.
  • We use telegraf, influxdb and Grafana for the monitoring of our platform.
@xtuc xtuc added the question label Aug 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant