Finally A Tank Simulator(Inspired By War Thunder)

Hi everyone,

Over the last few months, I have been working on this Tank Simulator on Web.

Demo: https://tank-simulator-web.onrender.com/

Why did I build it?

I spent a lot of time exploring the projects featured in the Three.js showcase and community. While there are many incredible demos and experiences, I couldn’t find a tank simulator that focused on fun gameplay and stress relief. So I decided to build one myself.

This project is a tank simulator built with Three.js and Rapier Physics, featuring a custom editable track system, tank customization, physics-based combat, and a battlefield where players can create and fight with their own tanks.

As a computer science student nearing graduation, this project represents many months of learning, experimentation, optimization, and problem-solving. Working with Three.js has genuinely been one of the most enjoyable development experiences I’ve had.

I would love for the admins to take a look at it, and if possible, I’d be honored to have it considered for the official Three.js showcase. If not, that’s completely fine as well—I’m still grateful for everything I’ve learned from this community.

I’d also love to hear your thoughts and feedback:

  • What do you think about the custom tank track system?
  • What features would you like to see added?
  • Would a multiplayer 8v8 Team Deathmatch mode be something you’d be interested in playing?

Thank you for checking out my project!

I will add more tanks in near future…:smiley: .

Special Thanks to @manthrax ,@phil_crowther .

8 Likes

This is sick. the dynamics and sound are really good..

Is there a way to get daytime lighting? I like the fog but its a bit hard to make out details…
I think.. this would be some of the biggest bang for the buck… A nice environment map + sky + sun could really bring out some of the detail on the tanks! The dark environment doesn’t show off the detail in the simulation very well..

It wasn’t obvious how to control the turret either? I finally figured out shift key… :smiley:

Could Esc key take you to a pause screen with keyboard/controls instructions… and maybe menu with settings page there.. so I can flip Up/Down on the camera :smiley:

The tank configuration is crazy detailed, but overwhelming for the home screen.. maybe that can be a little > collapsible menu, so the main thing you see is the start button, and game controls info at the startup!

This is really nicely executed.

multiplayer 8v8 Team Deathmatch would be siick.

But even some single player scenarios like.. “Make your way to the village/depot” or “patrol the front line” with waypoints you have to hit.. or caches you have to pick up… maybe it could just put you in a random scenario as a first time visitor.

Lots of ways this could go.

Very cool!

5 Likes

An excellent simulation.

For battles, I would suggest that players have access to the terrain map so that they can work out tactics. From the many hours I spent playing tanks on War Thunder, I quickly learned the risks and benefits of various types of terrain. If you are an attacker, you like hilly terrain because you can use valleys, or the far side of hills to hide your progress. Conversely, sitting on top of a hill or blindly climbing over the top of a hill is dangerous because it can expose you to the enemy.

Team Deathmatch would be interesting. You might have to add an objective on the enemy side of the map to prevent teams from just sitting in place and waiting for the other side to attack.

1 Like

Oh I miss my War Thunder days…that’s a really fun project you’ve made! I love how immersive the sound effects are.

For me, I would love to see a more interesting environment/terrain like adding more ruins and rocks. And it would be a better UX if there’s somewhere evident(maybe a popup?) to show a tutorial on how to control the tank e.g. I was figuring out if there’s a way to adjust the polar angle of the cannon and how to rotate the screen initially.

1 Like


Thanks a lot for the detailed feedback! I’ve already adjusted the renderer.setClearColor(), lighting colors, fog, and directional light to improve visibility and make the tank details stand out more. I’m also planning to add different maps, missions, and gameplay scenarios in future updates. Your suggestions about the controls, pause menu, and overall UI/UX are really helpful and are definitely something I’ll be looking into. Thanks for taking the time to play and share your thoughts!

1 Like

Thank you sir! That’s a really good point. Terrain plays a huge role in tank combat, and adding a tactical map would help players plan routes and use cover more effectively.In the future when i will add the multiplyer mode, there should be objectives or capture points to encourage movement and teamwork rather than having both teams camp in one position. I appreciate you sharing your experience and suggestions!

1 Like

Thanks for trying it out and for the feedback! The control information is actually available in the top-right corner of the screen, but if it wasn’t immediately noticeable, that’s something I should improve. For reference, the controls are:

W / S — Drive (Gear Change)
A / D — Steer
Shift — Toggle Aim
LMB — Fire
RMB + Mouse Drag — Orbit Control
MMB — Target Lock
Double RMB — Toggle Scope
E (Hold) — Laser Range Finder
1 / 2 / 3 / 4 — Weapon Slots
B — Physics Debug

I’m also planning to upload a video tomorrow or the day after that demonstrates the full tank assembly workflow. One of the goals of this project is to let users create their own custom tanks. You can model a tank in Blender or other 3d editor however you like, or download one from platforms such as Sketchfab or ArtStation. The only required parts are a hull, turret, barrel gun, and a few empty nodes for gun and machine-gun empty nodes.

After importing the model, you can generate your own track system, whether it uses interleaved wheels, bogie wheels, or other layouts.

One of the biggest technical challenges I wanted to solve was creating a generalized track system that works across different tank designs. To help with performance, I also implemented simplified instanced wheels for road wheels, idlers, and sprockets using low-polygon meshes.

Thanks again for the suggestions regarding the environment and onboarding experience. I’ll continue improving both :smiley: .

2 Likes

some clips of the game first press “shift key” to toggle the turret , now if you move the mouse the both barrelgun and the turret will move according to your target , some tanks may not be rotate the turret according to the min and max limit (ex: karl gerat) , now if your right click on the screen and drag , the camera will rotate according to the tank orbit.Now you can simply press left click to shoot at the target .You can simply predict the target path and shoot other wise double click to open your scope and press and hold “E” key to find the projectile range LRF while targeting on the enemy and try to match the RNG on the right bottom value which is been calculating according to the barrel’s pitch and simply shoot .Note if your target is far away and targeting on the enemy and firing may not hit if you are not using LRF and measuring the range. And if you press 2 in the keyboard the MG will be selected by pressing left mouse button or holding it it will keep firing in automatic mode .Most of the MG has a yaw limit so try to face your tank a bit to the enemy while firing and MG cannot fire to the far distance because it has a raycast fixed range :grin: .

And the one thing I tried hard to maintain was the FPS by optimizing everything. I have an HP Victus laptop with 16 GB of RAM and an RTX 3050, and the game was averaging around 100–120 FPS. I hope it runs well on your PC too.

1 Like

This is great, thanks! Sadly, my first thought was “but where are the drones?”. I need to stop reading the news.

2 Likes

Haha :grinning_face_with_smiling_eyes:, I will definitely add drones in the next update. Currently, I am working on the game maps.

I will definitely add drones in the next update

That doesn’t seem fair. :smiley: scope creep!

1 Like

They had drones in WW2?

1 Like

I am not dead man :),
I finshed the tank physics in everyway possible to make it look realistic along with optimized, and also i have improved the game map using shaderbased animated grass and trees , also I have added some capture points , now you have to capture and hold those positions , I have completed the User vs AI , the only thing is to do is to extend it User vs User for make it a multiplayer , atleast 5v5

I am guessing to follow the server authorative architecture , but this will not free probably , otherwise if you can give me some other ideas i will be glad to know.

2 Likes