1. Home
  2. News
  3. Steam
  4. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Search Users
  5. Social Media
    1. Discord
    2. YouTube
    3. Twitter
    4. IndieDB
  6. Support
  • Login
  • Search
Devblog
  • Everywhere
  • Devblog
  • Articles
  • Pages
  • More Options
  1. Tanks2.DE
  2. Articles
  3. Devblog

Devblog: The big rewrite

  • Armynator
  • May 21, 2020 at 7:53 PM
  • 6,464 Views
  • 1 Comment
New registrations have been disabled temporarily, as the game server are currently down.

The next update is a big step for the game. Almost every feature gets rewritten from scratch, also including the outdated server backend. In this article we will take a deeper look at the benefits of this decision.

Yes, such a rewrite is a lot of work. And yes, it takes a lot of time that could be used on other features. But let me explain what the current architecture looks like, and how much better the new approach is.

Currently there is only a single game server, handling the garage, logins and all running battles. This was designed with the idea in mind that no expensive calculations or physics simulations are needed on the server side, as the game was originally made to run in browsers.

The last update introduced server-side physics however, which increased the server requirements to a point where simple multithreading isn’t enough anymore. In fact, the game currently could handle about 50 concurrent players only before totally lagging out.

This is unacceptable of course, and gets replaced with a modern, scalable approach in update 0.2.0.

The new design separates the login/garage server from the battle servers, which allows the game to spawn (in theory) unlimited battles, on any external game server in the world. (Yes, this also allows multiple regions! (US server confirmed?! :o))

The game servers calculate the actual battles with all their cool physics effects, while the login server keeps track of global functions like chat, friends, stats and your garage. Decentralized, fast, scalable.

But not only the backend receives a rewrite. The whole game itself is affected, so I took the chance to directly implement an important new core feature: modular tanks.

Yes, that means that tanks will receive modules. (and skins) For now, 5 module types are planned: gun, engine, tracks, radio, and turret, where the turret is split into a second subtype called gun mantlet, which replaces the turret for tank destroyers completely.

I don’t want to reveal too much about them (or the new research system) yet, so I let this early preview screenshot speak for itself instead:

a8nea61.png%E2%80%8B

And while we are at it already, the UI gets reworked directly as well. As you can see on the screenshot, the rounded edges have been removed from buttons and other elements. This style should look more modern, and has been optimized for mobile devices as well. (just in case the game gets an Android version at some point)

Here is another early preview screenshot, this time of the new garage UI:

wYATc0g.png%E2%80%8B

Maybe this doesn’t look like much at this point, but please keep in mind that the whole game code had to be rewritten for all of this to work, and there still is a lot left to do. The clan system needs some love, the AI is missing its I, the map generator is bad and new features are often coming too short. I will work hard in the coming weeks to get this update done properly, so stay tuned for more devblogs!

Please note that the shown changes are not final yet. They may still get reworked or completely abandoned at any time without further notice. The Devblog series is here to inform you about the latest development plans for the game.

  • devblog
  • Previous Article Devblog: Vision System and Scouting
  • Next Article Devblog: Map Editor

Comments 1

zxcqwe
July 3, 2020 at 12:08 PM

Ооо круто!

Categories

  1. Events 1
  2. Updates 13
  3. Devblog 8
  4. News 5
  5. Patchnotes 1
  6. Reset Filter
  1. Legal Notice
  2. Privacy Policy
  3. Terms of Service
  4. Cookie Policy
  5. EULA
  6. Project Rules
  7. Contact
Powered by WoltLab Suite™