The game was initially developed and published by [insert developer/publisher name here], with the exact details sometimes shrouded in mystery due to the common practice of game development studios operating under different names or pseudonyms. Over time, DDTank gained a significant following, with its peak popularity leading to numerous fan sites, forums, and communities dedicated to strategies, game guides, and, for some, diving into the game’s source code.
Disclaimer: Distributing copyrighted source code without permission is illegal in most jurisdictions. The following is for educational and archival purposes only.
If you are a developer looking to study or revive the game, here is the typical workflow:
If you were playing online browser games between 2010 and 2015, chances are you either played or at least saw DDTank (often called Angry Birds meets Worms). Developed by Zqgame, this turn-based artillery game became a cult classic, especially in Asia and South America.
Recently, I spent some time digging through leaked and publicly archived DDTank source code. Here’s what makes it interesting from a technical and game-dev perspective.
The original DDTank source code relies on Flash. However, projects like Ruffle (a Flash emulator in Rust) and CheerpX can run compiled SWFs in modern browsers. Some developers are porting the ActionScript logic to JavaScript by hand — but that requires reverse engineering every class.
Alternatively, the 3D successor DDTank 3 uses Unity, but its source code has not leaked. For purists, the original 2D source code remains the only way to experience the game's true physics.
Common pitfalls: Port forwarding (TCP 843, 9900+), firewall blocking, and missing DLLs (e.g., SmartFoxServer.dll).
If you manage to get your hands on a legitimate ddtank source code archive (usually a 500MB to 2GB zip file), here is what you will typically find:
Inside the source, you will find the holy grail of DDTank:
// Simplified from leaked ActionScript
function GetShotTrajectory(angle:int, power:int, wind:Number):Point
var radAngle:Number = angle * Math.PI / 180;
var vx:Number = Math.cos(radAngle) * power;
var vy:Number = Math.sin(radAngle) * power;
// Wind affects horizontal velocity
vx += wind * 0.1;
// Gravity pull
vy -= 0.5;
return new Point(vx, vy);
The source uses a BitmapData copy-and-replace method. When a shell hits:
// Server-side terrain sync (C#)
public void DeformTerrain(int x, int y, int radius)
for (int i = -radius; i <= radius; i++)
for (int j = -radius; j <= radius; j++)
if (i*i + j*j <= radius*radius)
terrain.SetPixel(x+i, y+j, transparentColor);
The client then redraws the damaged terrain. Cleverly, the server only stores a low-res version of the terrain for validation (to prevent cheating).
The game was initially developed and published by [insert developer/publisher name here], with the exact details sometimes shrouded in mystery due to the common practice of game development studios operating under different names or pseudonyms. Over time, DDTank gained a significant following, with its peak popularity leading to numerous fan sites, forums, and communities dedicated to strategies, game guides, and, for some, diving into the game’s source code.
Disclaimer: Distributing copyrighted source code without permission is illegal in most jurisdictions. The following is for educational and archival purposes only.
If you are a developer looking to study or revive the game, here is the typical workflow:
If you were playing online browser games between 2010 and 2015, chances are you either played or at least saw DDTank (often called Angry Birds meets Worms). Developed by Zqgame, this turn-based artillery game became a cult classic, especially in Asia and South America. ddtank source code
Recently, I spent some time digging through leaked and publicly archived DDTank source code. Here’s what makes it interesting from a technical and game-dev perspective.
The original DDTank source code relies on Flash. However, projects like Ruffle (a Flash emulator in Rust) and CheerpX can run compiled SWFs in modern browsers. Some developers are porting the ActionScript logic to JavaScript by hand — but that requires reverse engineering every class.
Alternatively, the 3D successor DDTank 3 uses Unity, but its source code has not leaked. For purists, the original 2D source code remains the only way to experience the game's true physics. The game was initially developed and published by
Common pitfalls: Port forwarding (TCP 843, 9900+), firewall blocking, and missing DLLs (e.g., SmartFoxServer.dll).
If you manage to get your hands on a legitimate ddtank source code archive (usually a 500MB to 2GB zip file), here is what you will typically find:
Inside the source, you will find the holy grail of DDTank: The source uses a BitmapData copy-and-replace method
// Simplified from leaked ActionScript
function GetShotTrajectory(angle:int, power:int, wind:Number):Point
var radAngle:Number = angle * Math.PI / 180;
var vx:Number = Math.cos(radAngle) * power;
var vy:Number = Math.sin(radAngle) * power;
// Wind affects horizontal velocity
vx += wind * 0.1;
// Gravity pull
vy -= 0.5;
return new Point(vx, vy);
The source uses a BitmapData copy-and-replace method. When a shell hits:
// Server-side terrain sync (C#)
public void DeformTerrain(int x, int y, int radius)
for (int i = -radius; i <= radius; i++)
for (int j = -radius; j <= radius; j++)
if (i*i + j*j <= radius*radius)
terrain.SetPixel(x+i, y+j, transparentColor);
The client then redraws the damaged terrain. Cleverly, the server only stores a low-res version of the terrain for validation (to prevent cheating).
FT1209/FT1509/FT1512
FT1209/FT1509/FT1512
SINAJET is India's leading machine provider with
machines operating nationwide. Renowned for their durability and high quality, SINAJET machines ensure superior performance and reliability. Experience top-tier industrial machinery with SINAJET.
Distributor india