Diep.io

is a 2D MMO game. The player controls a simple Tank that can shoot Bullets, Drones, or Traps (depending on the tank used) at Polygons and other tanks to level up and upgrade their tank.
==Controls==
===Movement===
*Move Up: W or [↑]
*Move Left: A or [←]
*Move Down: S or [↓]
*Move Right: D or [→]
*Auto Spin: Press C to turn on Auto Spin - the tank will spin slowly, no matter what one's mouse is doing. Press C again to turn Auto Spin-off.
===Attacking===
*Aiming: Cursor - the tank will point toward the player's cursor.
*Shooting (or Directing Drones, depending on the tank.): Left click, or press the space bar. You can alternatively hold the keys/buttons down. The player can press “E” to enable Auto Fire, which makes your tank automatically shoot. Drones from the Overseer and its upgrades will be directed to the player's cursor.
*Repelling Drones: Right-click or Shift - drones from the Overseer, Overlord, Manager, and Necromancer will move away from the mouse). For the drones from the Factory, they will either move away from the mouse or collapse to the position of the mouse, depending on their position to the mouse. Some other tanks have other interactions when you Right-click or Shift. For more info on this, see the section about Right-click in Controls.
===Miscellaneous===
*Upgrade stat: Either click the “+” button next to the stat the player wants to upgrade with the cursor or press the number key shown next to the upgrade stat.
*Maximize Stat: Holding M and a number key will automatically place upgrade points as they become available into the stat corresponding to the number. Pressing M alone will cancel maximization.
*Queue Upgrades: Holding U while upgrading without and upgrade points can queue your upgrades, which will be automatically be upgraded in the order you queued. Pressing U twice without upgrading will empty the queue.
*Full screen: Press F2 or F11. If either of these keys are mapped to another function (like lowering brightness or volume), hold the FN key (which should be right next to the left control key on most keyboards) when pressing F2 or F11.
*Open class tree: Hold Y to show the entire class tree (all the classes, and the path to get them). After the player finishes looking at it, they may release the Y key to avoid lag.
*Take control of Dominator: After the player’s team has captured the Dominator, they can press H to take control of it (without spamming it). The controls stay the same, except the player cannot move.
*Releasing control of Dominator: Press H to release control. If the player spams the H button wanting to take control of the Dominator, they will end up killing themselves and not taking control of the tank.
===Sandbox===
These controls can only be used in Sandbox.
*Self-destruction: Press O to instantly destroy your tank.
*Instant level up: Press K to instantly level up your tank. It works best if you hold the key down.
*Switch class: Press [\] to switch between a predetermined list of playable tanks in the order they were added in reverse. (The Basic Tank, arguably the oldest tank in the game, is at the back of the list. The Rocketeer, the newest tank in the game, is at the front of the list.)
*God Mode: Press [;] to become invulnerable. This only works if the Sandbox server you are in has only one player, which is most likely you.
==Game Modes==
There are a total of 8 Game Modes that suits a wide range of play styles.
*Free For All: Every player for themselves. You can kill anyone and anyone can kill you.
*Maze: Similar to Free For All, but with walls that force players to take paths.
*Survival: 10 players compete to be the last one alive.
*2 Teams & 4 Teams: Teams of different colors compete to dominate the leaderboard. These modes were formerly part of the same gamemode, known as Team Deathmatch.
*Domination: 2 teams compete to take over 4 Dominators on different sides of the map.
*Tag: 4 teams try to convert players on opposing teams to their own. Last team remaining wins.
*Sandbox: Players can test out different tanks and play with friends.
===Legacy Game Modes===
There are two legacy game modes that are no longer playable.
*Team Deathmatch: Also abbreviated as Team DM, it is identical to 2 Teams and 4 Teams, except for the fact that you couldn't choose how many teams there are. Each server would have either 2 or 4 teams, meaning you would have to continue reloading the page until you ended up in the server you wanted. This Game Mode was later split into 2 Teams and 4 Teams.
*Mothership: The goal in this Game Mode is to destroy the other team's Mothership. This Game Mode was replaced with Maze. Recently, in a response to a recent question asked to Addicting Games on the game's subreddit about the status of the Survival and Tag modes, Nicholas_Kissel (A developer for Addicting Games) responded by saying that he wanted to rotate Mothership with Tag and Survival, hinting that the Mothership game mode could be brought back. https://reddit.com/r/Diepio/comments/w4dmap/questions_for_addicting_games/ih2me9i/
==Classes==
In Diep.io, you control a tank, which can be upgraded at Levels 15, 30, and 45. The player starts as a normal Tank with a single Cannon which shoots a single Bullet and begins to work their way up from there. Every 15 levels, they may choose to step up to the next available Tier, which is an organization of classes. Tiers, in turn, are sorted in the class tree, shown on the right.
Sometimes, in the case of the Smasher (an upgrade from the Basic Tank) and the Sprayer (an upgrade from the Machine Gun), there may be tanks that require you to skip a level and continue playing as the previous tank until reaching the level required to upgrade to them. (The Smasher requires you to get to Level 30 as the Basic Tank, and the Sprayer requires you to get to Level 45 as a Machine Gun)
Below is an expanded table of tanks, sorted by Tier and by availability: 
==Stats==
When one levels up, they also gain points that can be put towards upgrading the Stats of their tank, which boosts certain characteristics:
*Health Regen - Allows the tank to regenerate health faster
*Max Health - Increases the amount of health the tank has
*Body Damage - Increases the damage done by body collisions
*Bullet Speed - Increases the ammunition velocity
*Bullet Penetration - Increases bullet health and hence its penetration
*Bullet Damage - Increases the damage done by ammunition
*Reload - Increases the rate of fire
*Movement Speed - Increases the tank's speed of movement
After every level up through 2-28 the player gets an upgrade point to upgrade one of those stats from a menu like the one seen here. Then, every 3 levels from 30-45 they get an upgrade point.
==Bosses==
In Diep.io, as well as opponents, the player can fight powerful, AI-controlled Bosses every 10-23 minutes the server is online. They will grant one a lot of experience (30,000, enough to get a level 1 tank beyond the required experience needed for level 45) for the assailant. To be fair to new users, bosses will not target players under level 15 unless provoked. There are a total of 5 different bosses to battle: 
==Achievements==
Achievements are rewards in Diep.io. A player can obtain them through reaching specific requirements, shown on the achievement; some are harder than others, while some are extremely easy. There are 50 achievements in the game as of March 4th, 2017. The player can see all achievements, with earned ones in color, by moving their mouse to the right side of the screen. They are purely for bragging rights and do not change how the game works.
==Trivia==
*Many believe that .io is a game tag for multiplayer games. It is a domain in the British Indian Ocean Territory, where the British and the Chagossians take some of the profit from the people who use the .io domain. Since no Chagossians are living in the area, and the British soon denied the profits from the domain, .io is a free domain.
*Each server can harbor a maximum of 80 players (not including AI).
*The game came out from an old browser game that creator and former Developer M28 (commonly known as "Zeach") made called “Diepix”.https://news.ycombinator.com/item?id=13268012
*There is a diep.io port on Scratch made by Griffpatch.
==Bugs==
 
==Footnotes==