Post news RSS Strid 1.0

Strid is finally releasing on Steam, here is a detailed description of what this game is.

Posted by on

Strid is written from scratch in C++, with a few external libraries, it doesn't use an existing game engine. It started as a one-man full-time project for almost one year, and then went on as a hobby for what is now one and a half years, greatly reducing development speed to just a few hours per week, now it has finally come to a finished state after about 2.5 years.

The graphics engine uses OpenGL 4.3 with glew (similar to DirectX 11), the audio engine was written using the Portaudio library. Window handling is done with SDL (Create window, set full-screen et.c.). The network engine is written using Windows Winsock2, which is kind of a shame because it is the only thing that really ties the system to Windows. Textures for graphics are all PNG, and loaded using libPNG. glm is used for mathematics.

Most of the game will be free, but people who really like the game will have the ability to download the "full" version, which includes functionality to login to an account that will save score gained from matches. Gathering score will enable unlocking of further weaponry not available from start. There are seven different kits to choose from, available to everyone from the start, however, every kit has an alternative that can be unlocked if playing with an account. These alternative kits may replace one or a few of the items in the original kit, and a choice is made by the player at spawn-time whether to use the original or alternative kit, if unlocked.

Summary of Game-play

  • Vehicles - Use vehicles such as tanks and helicopters to destroy the enemy.
  • Modifiable terrain - Construct or destroy terrain to your advantage.
  • Fog of war - Out-maneuver your enemy by utilizing the fog of war.
  • Unlocks - Each kit has a variation with some new items that can be unlocked. Expand your arsenal by unlocking new weapons with increasing experience. (Requires full version DLC)
  • Squads - Invite some friends and play as a squad in intense battles.
  • Online or LAN - Host or join games on LAN or online.
  • Bots - Play with humans or bots.
  • Kits - Choose between 7 different kits, each holding 5 unique items with varying tactical purposes.
  • Conquest - Capture flags and reduce the enemy team's tickets to zero to win the battle.
  • Tactical Items - Use smoke-grenades and flash-bangs to distract enemies in close quarters firefights. Call in air strikes using laser target designation and radio.



Terrain composed of sand can be destroyed with most weapons, though items like shovels are more efficient than others. Every type of bullet has a specific amount of sand terrain penetration. The other type of terrain, rock, cannot be destroyed.
Sand can also be built using the engineer sand gun or sandbags equipped by the assault class.

Terrain affects the fog of war, the player simply cannot see through it. Some objects like trees and spawn-points will be rendered even if within fog of war to make it easier to navigate the play-field.


Each standard kit is available to everyone from the start. But every kit has an unlockable alternative that can be made available if playing with a Strid account with the full version DLC. When playing on an account, points from any game is saved and will be used as progress for new unlocks. At certain intervals of points, new unlocks become available and it is up to the player to select which kit alternative to unlock.

Below each kit is displayed their unlockable alternative kit. (Requires full version DLC).

Assault class
Automatic rifle, under-barrel grenade launcher for explosive rounds and smoke, flash-bang (briefly blinds anyone near explosion), sandbags (constructs sand terrain at dropped position).
Unlocked alternative uses a higher damage rifle with less ammo and more recoil, has under-barrel shotgun and smoke, a disposable light anti-armor rocket replaces sandbags.

Ranger class
Deployable sniper rifle, sub-machine-gun, hand grenade, laser target designator (bombs can be requested at lazed position by officer radio).
Unlocked alternative uses a lower damage rifle with higher rate of fire, also has fully-automatic mode when not deployed.

Machine-gunner class
Deployable machine gun, pistol, shovel (efficiently destroys sand terrain), flare gun (efficiently burns through sand terrain).
Unlocked alternative uses a lower damage machine gun with longer view-distance, also replaces pistol with a sub-machine-gun.

Medic class
Burst fire-mode rifle, fully automatic pistol, medical kit (heals target player), smoke grenade (deploys smoke barrier on explosion), syringe (increases max HP for target player).
Unlocked alternative uses a lower damage rifle with a higher rate of fire.

Engineer class
Burst fire-mode rifle, sand gun (constructs terrain at target location), welder (repairs target vehicle), plastic explosive (explodes when detonated), remote (triggers placed explosives).
Unlocked alternative uses a lower damage automatic shotgun with a higher rate of fire.

Officer class
Shotgun, riot-shield (blocks small-arms fire, has limited HP), extra ammunition (re-supplies target player ammo), scope (enables very long view-distance, thermal imaging and can place target lasers), radio (can call in airstrikes on friendly lazed targets).
Unlocked alternative uses an automatic rifle.

Anti-armor class
Grenade launcher with high explosive and armor piercing shells, revolver, disposable anti-tank missile, disposable anti-air missile.
Unlocked alternative uses an automatic sniper rifle with armor-piercing rounds, a lower damage pistol, and anti-air missile is replaced by a light anti-tank missile.

Smoke and Thermals

Some items can provide a smoke barrier, these barriers affect the fog of war similar to the terrain. The difference between fog caused by terrain and smoke is that the smoke can still be seen through if a player uses thermal imaging. This is available in most armored vehicles and with the scope used by the officer class.

This tank is equipped with thermal vision. By toggling this on with the default key 'T', a vehicle can be spotted through the smoke.

Blur and Flash

Being close to explosions or flying bullets will cause a temporarily more or less blurred vision.

Flash-bangs will temporarily severely impact vision.

Ammunition types

There are different types of ammo, such as standard bullets, high explosive and armor piercing.
High explosive ammo will create a blast that damages nearby players or vehicles. Armor piercing ammo will create a relatively small blast but will in general have higher damage and spawn additional projectiles on hit.

Some bullet types contain tracers where for example every third round is a tracer lighting up the path of the bullet.
All projectiles that are not rocket-propelled will slowly drop towards the ground due to gravity.

High explosive ammo will create an explosion on impact that is very damaging to infantry but not very efficient against armored vehicles.

Anti-air missiles will explode when in proximity of a vehicle and spread projectiles in a cone.

Anti-tank missiles will focus additional armor piercing projectiles in a straight line on impact.


Vehicles in general have very high damage and are invulnerable to low caliber ammunition. In general, medium armored vehicles and up can only be destroyed by high caliber ammo, anti-tank missiles and explosives placed by the engineer.

Vehicles can have a simultaneous crew of up to four players. In general, vehicles have one specific weapon per seat, such as the main gun. Some seats are not within the vehicle itself and may give the players ability to use their entire inventory while being openly transported by the vehicle.

A vehicle will become immobile if reaching a low amount of HP. If the vehicle is not repaired it will slowly burn up and be destroyed.
Vehicles re-spawn at spawn points when they have been destroyed for a period of time.

Tank - A main battle tank, very high damage, armor piercing shells, very high armor.
Crew (3) - Driver and main gunner, machine gunner, spotter.

IFV - Infantry Fighting Vehicle, high damage, 40mm armor piercing rounds, anti-tank missile, high armor.
Crew (3) - Driver and main gunner, machine gunner, guided anti-tank missile operator.

LVV90 - LuftVärnsVagn 90 (Anti-Air-Vehicle), medium damage, anti-air missiles, machine guns, medium armor. Crew is automatically re-supplied and healed.
Crew (4) - Driver and main gunner, open roof machine gunner, two hatch gunners.

APC - Armored Personnel Carrier, medium damage, 20mm main gun, machine guns, medium armor. Crew is automatically re-supplied and healed.
Crew (4) - Driver and main gunner, three hatch gunners on the side.

Artillery - very high damage, airburst shells, roof machine gun, medium armor.
Crew (2) - Driver and main gunner, open roof machine gunner.

AV100 - Armored Vehicle 100, low damage, mini-gun, laser designation, radio, low armor.
Crew (3) - Driver and main gunner, laser operator, radio operator.

HKP2000 - Helikopter 2000, medium damage, 12.7mm machine gun, mini-gun, low armor.
Crew (2) - Pilot and main gunner, side mini-gunner.

AH17, Attack Helicopter 17, medium damage, high explosive rockets, main 20mm gun, two side mini-guns, low armor.
Crew (4) - Pilot and rocket gunner, main gunner, two side mini-gunners.

Bike, very low armor, passengers can use weapons from their inventory.
Crew (3) - Driver, two passengers.

SAA - Stationary Anti-Air, 40mm anti-aircraft rounds, low armor.
Crew (1) - Gunner.

.50cal - .50 caliber machine gun, low armor.
Crew (1) - Gunner.

Vehicles that use wheels may have them blown off. If this occurs the vehicle will have a reduced movement speed depending on the ratio of lost to maximum number of wheels. If the remaining wheels are not balanced the vehicle will remain tilted to a certain angle. If all wheels are lost the vehicle will instantly be destroyed. Wheels have low armor and can thus be damaged by non-armor-piercing blasts or bullets.

Vehicles may lose wheels, causing reduced speed and a permanent tilt.


A team is composed of a number of squads. The player can choose to be in no squad at all, to be a squad leader or to be a squad member.

Player decides to join squad 1, the squad leader role will be given automatically (yellow and asterisk by name) since the squad only contains bots, the player clicks again to become just a squad member (green).

A spawn point is a captured flag, team members may spawn here as long as it is not contested by an enemy.

Squad members can spawn on squad leaders like regular spawn points as long as the leader is alive. The helmet of your squad leader will always be yellow, and helmets of squad members will be beige.

Game Mode

Each team starts with a number of tickets defined by the server and map. The map contains a number of spawn points, the team in control of the least amount of spawn points will continuously lose tickets at a rate consistent with the difference in spawn points between the teams. If teams control an equal amount of spawn points they will both lose one ticket per time interval. When a team member is killed, a ticket is lost for that team. When a team has zero tickets it has lost the game.

Infantry (Any player not in a vehicle)

Infantry can walk, sprint, crouch and hover/fly.
Hovering can be done continuously for a few seconds, energy must afterwards be regenerated by not hovering for a period of time.
Crouching increases the current maximum view-distance and greatly reduces recoil, if the extra view-distance is used the image will become slightly zoomed in.
Some weapons such as deployed sniper rifle and machine gun will greatly reduce the movement speed of the player.
Some weapons like anti-tank missiles will fire with extreme inaccuracy if used while sprinting or moving.
Infantry and vehicles are able to slowly dig themselves through sand without using weapons.


Weapons have a recoil and a spread. The spread is affected by weapon stats, movement of the player and how continuously the weapon is fired. Firing in short bursts will cause less spread than continuous firing.
Weapons used as infantry have recoil that will more or less push the crosshair upwards depending on weapon stats and player movement. The crosshair will not automatically re-position itself, this is up to the player to do.
Each weapon has a limited maximum view-distance.


Using mouse and keyboard as input devices is recommended, but it is possible to use game controllers that use Xinput (Xbox 360 controllers). It is possible to configure controller stick sensitivity and keyboard bindings but not the key bindings of a handcontroller. If it turns out a lot of people want to use controllers and change bindings, this could be added in the future.

Playing a game with 64 active players as a client will require approximately 400kbit/s download and 8kbit/s upload speed.
Hosting a game with 64 active human players will in theory require approximately 512kbit/s download and 25Mbit/s upload speed.

Hosting a public online game requires port forwarding of TCP port 17113 and UDP port 17112 if behind a router!
Sorry for this, implementing NAT-hole-punching would be time consuming and has not been prioritized. So for now, to host an online game, you must manually forward the ports or use virtual LAN like in the good old days. Note that this is not required for joining a game or hosting a LAN game.

Every game is hosted in a separate server process, even playing against bots locally in a non-public game will start a server process. This is started automatically when hosting a game from the in-game menus. If you started a server process, it is stopped automatically when leaving the game. The server runs with a command line interface and can be interacted with by simply alt-tabbing to it in windows. The CLI can be used to alter game values such as number of bots and tickets, instantly run the next map, restart the current map, ban specific players and so on.

Thanks to everyone who tested the game and gave feedback! It has helped me tremendously with fixing bugs and crashes and with how to design the game overall. And thanks to everyone expressing they actually enjoyed playing the game, I know it is not for everyone, but there seems to be literally a dozen of you.

Reactorcore - - 644 comments

If this game had collaborative coop, where either a single operative or a small team attack an enemy fortress, where each map, each fortress and each vehicle spawn/enemy spawn in randomized, then tied into a disposable campaign of 10 of such game sessions, which in turns ties into an infinite metagame of conquering the planet one tiny location at a time, then I would play this game and it would be a huge hit.

Old competition-based game structures, such as DM, TM, CTF and similar are dead and cause a game to kill itself (this explains it: and they also lack meaning to have interest in playing the game long term.

I used to play Soldat for 11 years and I absolutely LOVE this type of 2D combat game, especially how this one adds vehicles, dynamic terrain, ammo types, armor types and other tactical gear. But I refuse to do PvP ever again, which really makes me feel sad and torn to see this game fall into the same trap as a lot of games do. Even battle royale games will eventually collapse and self-destruct due to their competition-driven core.

Coop/Collab modes against AI opponents combined with even simple procgen plus a meaningful yet infinite metagame is going to be the future.

Reply Good karma Bad karma+1 vote
kelkka Author
kelkka - - 9 comments

Thank you for your feedback, this is an interesting perspective. I would like to add a dedicated co-op game mode, but it has not been prioritized. It is possible to play co-op against AI, for example X humans vs Y bots, but only in the same conquest-type game mode.

Reply Good karma+2 votes
Reactorcore - - 644 comments

Thank you. Its important to highlight that simply the ability to play in co-op is not sufficient, because the human needs for meaning, surprise and growth will not be satisfied.

In respective order, those things will require the following:
*Meaning can be fulfilled with a an infinite overarching goal, from which finite campaigns can be derived from, narrative wise.
*Surprise can be fulfilled with randomization of ingame elements, be it maps, equipment, environmental conditions and hazards and enemy composition (how many there are and how are they outfitted).
*Growth can be fulfilled with a persistent logging screen that permanently records all achievements of a player, without grading or rating them. For example, each randomized campaign could have its own randomly generated name, which upon completion or failure would be logged to the player's growth screen or personal diary.

I'll keep the game bookmarked and follow its development occasionally. I just wanted to let you know what I would personally want to see to be truly excited to download and play it seriously.

Reply Good karma Bad karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.