Dead Calm - 3D Battle Royale

Introducing Dead Calm — an Offline 3D Battle Royale Built Around Evolving AI

Hey everyone,

I recently moved my project, Dead Calm, to GDevelop and wanted to properly introduce the game rather than just post a list of systems I’ve been working on.

Dead Calm is a 3D offline battle royale being developed by Anchorlight Games. The core idea is to build a battle royale that doesn’t rely on having a live population of human players. Instead, matches are filled with bots that are intended to develop different tendencies, relationships, and playstyles over time.

Some bots might become aggressive and constantly look for fights. Others might prefer holding positions, avoiding unnecessary combat, third-partying weakened teams, or playing more cautiously as the match progresses. In team modes, the goal is for bots to eventually make decisions about who they prefer playing with, communicate with teammates, and behave more like individual players rather than identical AI units with different names.

The game is planned around three main battle royale modes:

Solos
Duos
Squads

The current target player counts are roughly 85 players in Solos, 100 in Duos, and 148 in Squads.

Matches are intended to be relatively compact compared with some traditional battle royales, with Solos targeting roughly 15–20 minutes, Duos around 20–25 minutes, and Squads around 25–30 minutes.

One of the systems that makes Dead Calm a little different is how the match begins.

Instead of a single indestructible transport flying across the map, there are two aircraft entering from different directions.

Each plane has its own randomly generated failure timer.

At some point between roughly 10 seconds and one minute, that aircraft can be destroyed.

So staying aboard too long is a gamble.

You can jump early and choose your landing location, or stay aboard hoping for a better route—but if the aircraft goes down while you’re still inside, that can be the end of the match before you ever reach the ground.

The storm is another major part of the game’s identity.

The center of the safe area represents the eye of the storm, where conditions are relatively calm.

As you move toward the storm boundary, the environment becomes increasingly violent.

The plan includes stronger wind, worsening visibility, more aggressive weather effects, and potentially dangerous lightning strikes near the edge.

Outside of the playable circle, the storm isn’t intended to be something you casually survive with healing items. Leaving the safe area is meant to be extremely dangerous, with the outer storm ultimately acting as a lethal boundary.

There are no traditional medkits planned.

Health regenerates automatically after avoiding damage for a period of time, while armor must be manually restored using plates.

The current armor design uses two equipped plates, with partial plates supported. If you have one damaged plate and use another plate, the damaged plate is repaired before a new plate is added.

Plating can also be interrupted. Taking damage or firing your weapon cancels the plating action, and movement is slowed while plating.

Weapon inventory is planned around three slots:

Primary weapon
Primary weapon
Sidearm

The two primary slots are unrestricted, so if you want to carry two sniper rifles, that is technically allowed.

The third slot is always a sidearm selected before the match.

Sidearm ammunition is finite and is not intended to be endlessly replenished during a match.

Weapon categories currently include:

Assault rifles
SMGs
LMGs
Shotguns
Sniper rifles
Pistols
Special Weapons

Weapons found around the map also have rarity tiers.

The interesting part is that rarity is tied into the player’s saved weapon builds.

A player can create several builds for each weapon with up to five attachments. When that weapon is found during a match, its rarity determines how many random attachments are pulled from the player’s active build.

For example:

Grey   → 2 attachments
Blue   → 3 attachments
Purple → 4 attachments
Gold   → all 5

So finding a higher-rarity weapon doesn’t necessarily give you a completely random developer-created setup—it increasingly resembles the weapon you personally configured.

There are also perks scattered around the map rather than selected before the match.

Players can carry up to three perks and replace them when they find something they prefer.

Throwables work similarly: grenades, smoke grenades, explosives, and other equipment are intended to be found during the match rather than unlocked as permanent loadout equipment.

Vehicles are being kept relatively grounded:

Cars
Motorcycles
Boats

There are no plans for tanks, attack helicopters, jets, or vehicle-mounted super weapons. Vehicles are supposed to help with rotations and positioning without becoming the dominant combat system.

Team modes also have a more involved revive concept.

Being downed is separate from being completely eliminated.

A downed teammate can still be revived normally, but recovering somebody after full death involves activating a sequence of relay locations around the map.

Those relay locations become visible and change state as the team progresses through them.

The entire sequence has to be completed within a limited window, and completing a revive can force surviving teammates to expose themselves while operating the relay system.

The goal is to make bringing someone back feel like a risky team objective rather than simply spending currency at a menu.

The first map is currently planned around a fictionalized California setting inspired partly by Fresno and the surrounding area.

The pre-drop presentation is planned to describe the location only as:

Somewhere over California...

with the map itself identified as:

Unknown – CA

Visually, Dead Calm is planned around a deliberately low-poly aesthetic inspired by the PS1 era.

That choice is partly stylistic and partly practical. I want the game to have a recognizable identity while keeping environments, characters, weapons, and AI-heavy matches achievable for a small development team.

And that brings me to GDevelop.

I originally started developing the project in another engine, but eventually reached a point where the 3D movement and collision systems were becoming more difficult to work around than I was comfortable building the rest of the game on.

Rather than continuing to stack systems onto an unstable foundation, I moved the production version to GDevelop and started again from a blank project.

I specifically did not want to start from an FPS template because I want to understand how the game works from the ground up.

So far the GDevelop production build already has:

  • PhysicsCharacter3D-based movement

  • first-person mouse look

  • sprinting

  • jumping

  • landing recovery to reduce bunny-hop spam

  • smooth crouching

  • a crouch collider that physically changes size

  • 3D headroom checks so the player cannot stand beneath low ceilings

  • sliding

  • committed slide trajectories

  • slight lateral slide correction

  • smooth slide momentum decay

  • movement-state and speed debugging tools

The next major system is mantling.

The mantle system is being designed to inspect the obstacle rather than blindly move the player over everything.

For example, if the player mantles a broad loading platform, the game should recognize that there is usable surface behind the ledge and place the player on top.

If the player mantles a narrow wall, the system should detect that the top surface ends quickly and vault the player completely over it—assuming there is safe space to land on the other side.

The plan is to build that using 3D spatial checks so environment objects do not each require their own custom mantle code.

There is still a huge amount of game left to build, especially the AI systems, combat, weapons, inventory, storm, aircraft, vehicles, bots, match flow, and UI.

But I’m treating this GDevelop project as the actual production version of Dead Calm, not a disposable prototype.

I’m learning GDevelop while building it, so I’ll probably be asking a lot of questions as I get deeper into the engine.

Looking forward to sharing progress and learning from everyone here.

-– Trenton
Anchorlight Games

This sounds pretty cool, especially being a PUBG player myself. I am excited to see the finished game!

Hello and welcome @TKidder :waving_hand: :grinning_face_with_smiling_eyes:

So far from what you have written the game looks awesome! Finally a game with bots not multiplayer.

You can always ask questions in the forum, many people here are always ready to help.

Looking forward to seeing the screenshots of the game. Keep us posted and I hope GDevelop proves to be the right engine for your project.