1. Ravenfield
  2. News

Ravenfield News

The Ravenfield Release Plan

Hey everyone! I want to share some news about my plans for finally finishing Ravenfield 1.0. This is a bit of a wall of text but it hopefully shines some light on what you can expect from the game's development moving forward.

But let's start at the beginning:

[h2]The Ravenfield Prototype[/h2]
The development of Ravenfield started back in 2015, originally as a prototype game to try out active ragdoll physics as inspired by games like Overgrowth and A New Zero. After adding bots and other gameplay elements to the prototype I decided to release a free version in the summer of 2016, which became quite popular.

The Steam version of Ravenfield was released in May 18 2017, meaning the game is closing in on its 8th anniversary on Steam - holy crap! If you're one of the players who tried out the game back in 2017: I'm so sorry about the all the bugs back then, it was wayyy worse than even the buggiest of beta branch updates nowadays :D. But seriously, thank you so much for sticking with the game for so long! It's been quite a journey from the humble beginnings on Island and Dustbowl to where we are today, both for the game and for me as a developer.

MFW the terrain textures on island haven't changed since 2015

[h2]The Release Plan[/h2]
Here's the deal: In 2025 Ravenfield will pass 10 years of development and I think it's high time to figure out how to wrap the game up for a 1.0 release. Updates EA26 to EA30 fixed a ton of old issues, many of which have been in the game from day 1. Even though the game plays quite nicely at the moment, there is still plenty of room to continue ironing out issues with Ravenfield's gameplay and its modding support for a final release. I also need to overhaul some of the really old vanilla content that's still in the game. In the end, I want to ensure that I'm spending my development time directly on improving Ravenfield's biggest strength, the customizable sandbox shooter at the heart of the game.

Unfortunately, this has become harder for me to do as Ravenfield has grown over the years, which I think has been evident in EA updates being released further apart in the last couple of years. Much of my time has been spent ensuring all of Ravenfield's systems play nicely with each other AND supports the hundreds of corner cases that pop up due to almost every aspect of the game being moddable. This was especially frustrating in the EA26 update where I updated the game engine version, resulting in almost a years worth of constant bugfixing. While fixing bugs can definitely be a slow and frustrating and process (especially when dealing with fundamental issues in the game engine itself), in retrospect I think this was time well spent as I feel like the game both runs and plays really well at the moment.

Now that the game's systems are in a relatively stable place, I want to focus my efforts on maximizing the fun of the game. This means I want to fully commit to continue improving the core gameplay and updating some quite outdated official content (looking at you, 76 eagle :D). It is also time to add those missing reload audio clips I've been negelecting for a couple of years at this point! Naturally I want to keep pushing the game's mod support even further to include custom game modes and custom campaigns. However, in order to fully commit to this plan and be able to release Ravenfield 1.0 in the forseeable future, I have realized that I need to cut parts of the game. For that reason, I have decided to cancel any further development of the official story campaign. I'll explain this decision in detail below.

I'm hoping that focusing directly on the core sandbox experience will help me iron out the remaining pain points with Ravenfield's gameplay, and ultimately leads to the best possible game once the 1.0 version is out. I also think that this shift allows me to better plan for upcoming features and manage my time, which I hope results in a more stable flow of EA updates. With this approach, I intend to get Ravenfield out of early access in 2026.

[h3]Why Cancel the Story Campaign[/h3]
Inspired by early modded maps with intro cutscenes and setpieces, the original idea behind the story campaign was to extend Ravenfield's gameplay into an optional story-driven direction. Of course, Ravenfield originally had no mod support for cutscenes or the like, so mappers had to get creative and use various hacks to get around the game's limitations. While this worked, most of these maps would eventually break due to game updates. Producing the story campaign's citadel mission allowed me to create the tools needed for the game to properly support a story-driven experience. These tools have now become an integral part of the game in the form of the Trigger system, which can be used to create entirely new missions using the RF modding tools. Other game features that stem from the story mission development include better squad ordering, scripted paths, sound mixing improvements, proper ingame cinematics, video support and more.

However, producing content for the story campaign is a huge timesink, way more so than I initially expected. From the very beginning of the story campaign pre-production until now I have been working together with multiple talented artists who have helped produce character/scenario concepts, models and level design for the story campaign. While this has helped immensly with the production, as a solo developer I am ultimately responsible for putting all the production assets together into an actual playable campaign, and I vastly underestimated the time it takes to produce even a single working story mission. To only scratch the surface, creating story mission involves designing and integrating story beats, mission logic, level design, cutscenes, tons of QA testing as well as maintenance of the underlying technical systems that make it all tick. I have found that producing the story campaign just about doubles my workload relative to the base game. It is essentially like producing two games at once, Ravenfield the sandbox shooter and Ravenfield the story campaign. Unfortunately, this just not feasible in the long run as I am forced to split my development effort between the two, negatively affecting the original game experience. That is why I have decided to cancel the story campaign.

In practice, this means that while the game will not ship with the official story campaign, modded content such as custom story campaigns will still be able to be made and played in Ravenfield. The modding systems developed for the story campaign such as the trigger system and custom game modes will also continue to be supported and improved. I also intend on finishing up the existing Citadel mission as a one-off story mission available when the game leaves early access, although this will probably be one of the last things I add before the 1.0 release.

I know many of you were excited to play more of the story. To make up for the cancellation, I'm planning on releasing the story campaign production assets to the modding community after Ravenfield leaves early access. I am also planning on releasing a brand new instant action map that was originally designed as a mission in the story campaign. This map will feature a new setting not previously seen in the official maps with lots of new props available for the ingame level editor.

Fun fact: The Citadel mission logic is made 100% using Trigger system components, meaning the entire mission can be recreated in the modding tools using without any coding whatsoever!

[h3]Future EA Update Schedule[/h3]
Going forward I want to release EA updates more often, with the goal being a new EA update releasing every 4-6 weeks just like the original EA update schedule. These EA updates will typically contain polished-up vanilla content such as adding missing weapons sounds, tweaks to levels, vehicles and AI behaviour etc. You can expect these EA updates to be smaller, but also come out more frequently.

On top of the improvements to the base game, there are a couple of large game features planned such as support for custom game modes, custom campaigns, and a recreation of the conquest mode with built in mod support. These features will be developed and tested exclusively on the beta branch, and will make it into the stable branch only once they are deemed final. In the past some half-finished new features have snuck into EA updates, which has caused confusion in regards to mods breaking from not running on the expected game version, this is something I want to avoid in the future. I will be announcing when new features are available for testing on the beta branch in the EA update posts.


[h2]Ravenfield 1.0 Roadmap[/h2]
To summarize, here are the major feature plans for finishing up the 1.0 version of the game:
  • Overhaul the official content
    Some of the official content is ancient at this point and in desperate need of a facelift. I also want to add missing sound effects, fix weird particle effects, balance weapons etc so that the official content is ready for a 1.0 release.
  • Custom Game Modes
    This gives modders the ability to to create their own game modes that are selectable from the instant action menu.
  • Custom Campaigns
    Want to create a series of story missions? You can do that! Want to implement your own version of conquest? Totally doable! Do you want to create your own game inside of Ravenfield? Yep even that is possible!
  • Recreate Conquest as a custom campaign
    Conquest will be recreated from scratch as a modded campaign and the Scenes/Triggers/Ravenscript made available to the modding community. This gives modders a platform for creating their own conquest variations. The recreated Conquest mode will also be compatible with modded weapons and vehicles.
  • Release a new official map
    This map has been in the work for some time already! Oh and there will be plenty of new prefabs inside the ingame editor to play around with...
  • Finish up Citadel mission
    While the originally planned official story missions won't make it into the 1.0 release, I still intend on finishing up the citadel mission cutscenes and doing some general gameplay improvements to spice up the mission.


I'm sure I don't need to point out that designing a game is notoriously time consuming and difficult to plan, but I may need to change parts of this roadmap as the development progresses. I'll try my best to be transparent about the progress and communicate any changes to the 1.0 release plans outlined in this post!

Finally, I want to extend a massive thank you to the Steam/Discord moderators and the modding community - without you Ravenfield as we know it simply would not exist. It is always so much fun to try out cool new mods, especially the ones that are breaking new ground of what should be possible within the game. It is incredibly rewarding to see the modding tools being put into use. I am very excited to see what the modding community has in store next, be it vehicle/weapon mods, story missions or game modes

I'm hoping many of you also venture into the world of designing your own games - it's one hell of a learning experience for sure!

/Johan (SteelRaven7)

EA30 Patch 1

Here's a patch for EA30 with bugfixes and a couple of fun extra additions to the game:

Game improvements:
- Tank and APC towers will now pop off when destroyed
- Tank tracks are deactivated when destroyed
- Improved stuck detection for AI cars and boats, this should make them react quicker to getting stuck, and be able to resolve the situation more reliably
- The player can now walk slowly while getting up from ragdoll
- Minor improvements to third person camera while ragdolling
- Generated new high quality lightmaps on all scenes with lightmaps
- Improvements to bot boat piloting, especially how they handle a top speed value. Boat patrols on spec ops should no longer be going full speed everywhere and crashing into everything
- Reduced saturation of particle systems with ambient color component, this makes particles such as the smoke grenade appear in more realistic colors in scenes with highly saturated ambient lighting conditions.
- Added best guess shader functionality to shader reloading on mac and linux. If a shader isn't able to be resolved due to the modder using custom shaders that are not included by the game, the game now attempts a best guess at replacing that shader with a built in one. This is based on very limited information so don't expect this to look great, but it should replace all pink materials with something halfway decent.

Bugfixes:
- Fixed a bug where bots would sometimes get stuck in a ragdolled state
- Fixed a visual bug where actors would sometimes hover slightly above the ground when getting up from a ragdolled state.
- Fixed a bug where a phantom player with a parachute would appear in spectator mode
- Fixed a bug with projector component whitelisting, it should now be whitelisted and load correctly
- Fixed a bug where destructible splash damage would show a hitmarker even though the damage dealt was 0
- Fixed a bug where turrets that had been destroyed and repaired would not be valid target for missile lock on
- Fixed a bug where the player character controller would be enabled when dying inside a vehicle
- Fixed a bug with squad order point resolving which would generate errors in spec ops mode

Ravenscript/Trigger updates:
- Fixed misspelling in Player.nightVisionEnabled - the misspelled verison will continue to work so no need to edit old scripts.
- Made Player.nightVisionEnabled writable
- Added keybinds support to TriggerOnKey component

Patch 2 - December 6
- Fixed an issue where shaders would sometimes incorrectly be replaced on windows machines. This would sometimes break modded dual render scopes and similar effects.

EA30 - Driving & Piloting update

EA30 is a general game improvement update that solves some of the oldest issues with AI vehicle usage in the game, and getting the AI closer to being ready for the game's 1.0 release. The main focus of this update has been to fix two problematic AI behaviours:
- AI drivers crashing their cars into other vehicles
- AI transport helicopter pilots just hovering over an objective while it is being captured

One of the recurring issues with Ravenfield's gameplay has been the AI's inability to see other vehicles while driving, which would usually result in vehicle pileups at level chokepoints. EA30 adds local avoidance for AI drivers, allowing them to detect and swerve around nearby vehicles. This new system detects potential collisions, and finds the closest path to drive past the vehicle. While this doesn't solve all the pileup issues, it is a massive improvement from before.



The other issue is more straightforward: Having AI helicopter pilots just hover above a flag while it is being captured makes them sitting ducks for anti air weapons, and is just not a very fun behaviour. To solve this, bots will now land by other squads that are travelling on foot and pick them up, ferrying them to their destination. This new behaviour makes for some interesting new tactics on Dustbowl and Archipelago!

Along with these two system improvements, there are plenty of new systems for modders to play around with, including controlling changing team names/colors, more control over AI movement and the ability to disable built in game features such as hit impacts/blood droplets in order to replace them with modded systems!



Full change log

Game improvements:
- AI drivers will now swerve to avoid hitting other cars/boats/landed aircraft, this should result in vehicles being stuck way less.
- Transport helicopter AI can now ferry multiple squads to their destination. After dropping off passengers, transport helicopters may pick up other squads on the battlefield and drop them at their current attack target.
- Added official killfeed mutator
- Added official team color mutator
- Added new helicopter landing zone system which generates possible landing zones across the entire map
- Added ImpactOnly option to blood particle settings in options menu. This option will only show the actor hit particle effect without spawning blood droplets. Setting this option to off will now turn off both particle effects and blood droplets.
- All built in game mode UIs are now color coded based on current team colors.
- Fixed a bug where skins would not be applied correctly to player FP models
- Fixed a bug where car downforce would apply an upwards force while reversing (Oops!)
- Tweaked AI helicopter approach while landing so the helicopter approach slightly off to one side. This makes for a more natural looking landing.
- While landing/landed on a helicopter landing zone, the landing zone is claimed by the squad, preventing other helicopters from also attempting landing at the same spot.
- Fixed a bug where explosion ranges were miscategorized by the game. This resulted in the AI erroneously not using explosive weapons as they thought they would damage nearby teammates.

Modding improvements:
- Added TextMeshPro components to whitelist
- Added VehicleAvoidanceObject component. AI will swerve around this object while it is active, which can be useful for dynamically spawned objects with colliders.
- Added "Helicopter Land At Attack Target" prefab to RFTools/Prefabs/Ravenscript - place this prefab as a child object to your transport helicopter to make it land when dropping of passengers (instead of them dropping by parachute).
- Moved HMG weapon to a new Support weapon tag, so this is the new go-to tag for putting custom machine-gun style weapons.

Ravenscript:
- Exposed LayoutRebuilder that can be used to force rebuild UI layout group.
- Exposed Actor.ForceChangeStance()
- Exposed GameManager.isNightMode
- Exposed HelicopterLandingZone querying, claiming and landing systems
- Exposed Weapon.GetProjectilePrefab()
- Exposed change team colors through ColorScheme.SetTeamColor()
- Exposed change team names through GameManager.SetTeamName()
- Exposed ExplodingProjectile explosion configuration
- Added Player.movementInputEnabled flag
- Added onPointerEnter/Exit/Click events to UI elements
- Added onTakeDamage and onDeath events to destructibles
- Added onIssueOrderMovement event to squads
- Added BuiltInFeatures class that can be used to toggle features such as blood droplets, etc.
- Added Extensions.Get() which can be used to query for game extensions EG RavenM or other DLL mods
- Added ColorScheme.GetInterfaceColor() which can be used to get UI element colors based on team colors. This replaces a few previously available functions in the ColorScheme class. Any previous functions will continue to work, but I'd recommend switching over to GetInterfaceColor() for better control over colors.
- When requesting an interface color, you can specify Default, Bright or Dark variants. Bright colors should work nicely on dark backgrounds and vice versa. Use default if you want to use a color close to 50% brightness.

Trigger System:
- Added trigger component for UI button clicks
- Added TriggerChangeStance component
- Added IsNight condition to TriggerCondition compopnent
- Added TriggerOnKey component that sends a signal whenever a key is pressed

Coming Up
For EA31, I'm planning on introducing full support for custom game modes. If you're a modder who wants to try out making your own game mode, please keep an eye at the game's beta branch where I regularly post updates, sometimes even multiple times a week. Do however keep in mind that the beta branch tends to be quite buggy at times :)

As always, you can always see what I'm working on as soon as it happens on the official Discord server

I hope you'll enjoy this update!

/Johan (SteelRaven7)

EA29 Patch 1

Here are the patch notes for this first EA29 patch:

- Fixed a bug where vehicles would sometimes crash into the player collider, resulting in issues like aircrafts colliding with an invisible collider while taking off.
- The game now uses '.' as the decimal point character across all regions/languages. This change solves multiple bugs related to configuration of mutators and ingame map editor values not being interpreted the same on different player computers.
- Fixed a bug where mutators saved using ',' decimal point would not load properly. Now these values will load correctly and when saved, will be converted to a '.'

EA29 - Game Fixes & Modding Groundwork

EA29 is finally here! While a lot of my time since the last update has been spent working on campaign assets (which are not quite ready to be shown yet), I have been polishing up the base game with quality-of-life fixes and improving Ravenscript and the Trigger System. This should get the two scripting systems ready for the planned addition of custom game modes which I hope to get working very soon.

IMPORTANT: If you're running into any weird main menu or ingame bugs that prevents you from playing the game after updating to EA29, make sure you remove any mods that modify the original game files such as RavenM.

One of the new features in EA29 is an enhanced instant action preview screen, where the background will change based on the metadata tags of the map that is currently selected. Map metadata could previously only be changed via the RF modding tools for Unity, but is now also available through the ingame map editor (via Level Details -> Metadata). In addition to tagging levels, metadata also allows map makers to control other map information such as display name and recommended bot count.



The dynamic instant action preview screen may seem like a superfluous feature at first, but the data that drives the preview screen will be exposed to Ravenscript in a future update. This will allow modders to find maps with specific tags (City, Desert, Airport, Coastline, etc) and load them - essentially allowing modders to create custom campaigns spanning all maps that are currently subscribed (moddable conquest mode on custom maps, anyone?). For this reason, I highly recommend that you tag your custom maps using the new metadata features.



I would also like to highlight one of the new Ravenscript/Trigger features, the addition of named trigger signals. Named signals are sent from a sender component to a receiver component just like regular Trigger System signals, but the modder does not need to directly connect the sender to the receiver inside the map tools. Instead, the modder assigns a name to the sent signal, and any receivers that are listening to signals of the same name will receive the signal. Named signals can be sent between maps/game modes/vehicles/weapons loaded from different files, including different mods, allowing for easy inter-mod logic. Before this addition, this type of communication was difficult to do inside Ravenfield.



Finally, you can check out a few improvements to the citadel story mission such as a more detailed destroyed hangar area. This in an example of the power of the trigger system, where you can dynamically change areas of a map based on story events. Unfortunately I have not been able to implement the remaining cutscenes for the citadel mission yet, which is something I was planning on doing for EA29. Expect these to come in the next one or two updates, finishing up the first story mission in the official campaign.


-- Full change log --

Game improvements:
- Added camera smoothing to player movement while on foot. This should prevent jittering when running close to bots or when playing the game at high refresh rate displays
- Various updates to level geometry in the citadel mission.
- Data container component preprocessing, will now only run once per data container asset at load time instead of once for every instance in Awake().
- Non-actor-collision layer will now produce impact decals correctly
- Objective indicator now fades in/out based on what you're currently aiming at.
- Target seeking missiles now have a grace period of one second after thruster ignition, during this time period the missile can never lose tracking of the target. This allows target seeking missiles to track targets that are behind them on some custom vehicles.
- Vehicles can now be assigned a driver halt strategy, which allows the driver to stop when a passenger is engaging a target according to the passenger weapon's halt strategy configuration.
- Squad leaders can now halt when engaging preferred targets.
- Razorback MG will now halt when engaging preferred targets with the turret
- Prowler quadbike will now halt when the passenger is engaging a preferred target
- Some slight terrain updates to dustbowl near Raven controlled airport to make it easier to get up onto the tarmac for bots.
- Updated occlusion culling data on dustbowl to fix some props turning invisible when standing inside certain areas
- In spec ops mode, the bot count will set the number of teammates directly when the balance slider is set fully to the player team.
- When leaning to the right while standing, the camera will now move slightly less to better align the camera to the third person animation.
- Sped up third person stance changing animations slightly
- Added spawn point offset values to vehicles. This value can be used for large vehicle to offset the spawn position to prevent the vehicle from clipping into the ground.

Bugfixes:
- Fixed a bug where changing a missile target via RS would not cause the targeted vehicle to register the new missile (and thus not warning the pilot)
- Fixed bug with custom skins selected from the instant action menu would sometimes not be applied to the first person arms
- Fixed a bug where TriggerVolumes would sometimes not initialize correctly, and not be able to detect actors.
- Fixed game mode "no flag config" value not having any effect.
- Fixed a bug where bots would sometimes get stuck when following scripted path groups. This bug typically happened on the citadel mission where teammates would sometimes get stuck near the gate.
- Fixed a bug where spec ops mode would not end when the exfiltration helicopter could not fit all teammates as passengers.
- It is no longer possible to lean while dead
- Fixed a bug where bots would get stuck when trying to go to a ScriptedPathGroup. This would sometimes make the bots get stuck outside the citadel gate in the citadel story mission.
- Various misc AI improvements and fixes

Map metadata updates:
- Added biome/terrain/decorator values to map metadata. These values are used to display a custom configuration background in instant action mode. Additionally, these values will be available for modders to query inside custom campaigns in the future.
- Map metadata now contains information about the precense of ground/naval/air vehicles in maps, this will be made available to custom campaign modding in the future.
- It is now recommended to always generate map metadata and set up map type and theme so the exported map can be categorized correctly. Therefore, the mod tool will warn you if you export a map that doesn't have metadata and instruct you how to create metadata for your map.
- Map biome/terrain/decorator metadata values can be automatically fetched from steam workshop tags for maps that do not have them assigned.
- Added metadata editor to ingame map editor.

Ravenscript:
- Exposed LandHelicopterAtPosition(), CancelLanding(), TakeOff() and related landing status bools to the Squad class. This makes bot helicopter landing controllable from RS
- Exposed Player.allowAutoWaveRespawn, set to false to stop player from being able to spawn in the automatic wave respawn system used by most game modes.
- Exposed GameManager.sceneName and GameManager.mapDisplayName that can be used to get names of the current scene/map.
- Exposed Time.systemTime fields
- Exposed ConfigurableJoint
- Exposed ReflectionProbe
- Exposed Rigidbody interpolation/collision detection values
- Exposed MountedStabilizedTurretClamp to RS
- Exposed new Actor values to RS: hasHeroArmor, isInvulnerable, canBeTargeted and attackersIgnoreRulesOfEngagement
- Added Random.RangeInteger() to RS to randomize integer values (previously only floats were available)
- Added OnDestroy RS callback to ScriptedComponent
- Exposed global named signal sending from using TriggerScriptedSignal.SendGlobalNamedSignal("my cool signal")
- Cleaned up API for MountedWeapons and MountedStabilizedTurret which previously contained lots of unneccesary functions and properties
- Updated the online Ravenfield documentation categories, the API reference is now split up into Ravenfield and Unity type categories, which should make it easier to navigate
- Updated the online Ravenfield documentation's auto-generated links to the Unity documentation for Unity types so they are no longer 404

Trigger system:
- Added TriggerDamageVehicle component
- Added TriggerShowInputPrompt component
- Added TriggerOnVehicleDestroyed component
- Added TriggerNamedSignalSender and TriggerNamedSignalReceiver components. These allow sending named signals to all child receivers of a gameobject, without having to explicitly set a destination trigger component. Named signals can optionally be sent/received globally.
- Added TriggerDebugMessage component that can be used to display a console message from the trigger system along with an activation counter and the signal context.
- Added CancelLanding to TriggerLandHelicopter component
- Added "pick random squad from team" and team filtering to squad references
- Added optional actor credit to TriggerKillActor
- Added total actor count greater/equal condition to TriggerCondition
- TriggerSpawnVehicle can now use TurretSpawners.
- TurretSpawners can now be set to Scripted spawn mode, which allows them to be controlled from Ravenscript/The trigger system instead of their default behaviour
- TriggerSpawnPrefab signal propagation to the prefab instance can now optionally use a named signal in the same way as TriggerNamedSignalSender.
- Renamed TriggerScriptedSignalSender and TriggerScriptedFunction to TriggerRavenscriptSignalSender and TriggerRavenscriptFunctionCall in order to differentiate them from the named signals. This is just a visual change in the mod tools inspector. The Ravenscript class name is kept the same as before, so no need to update any existing code!
- Added per-signal context documentation to trigger components. This can be used to see what parts of the signal context a trigger component sets.
- Fixed default paramters values for TriggerSpawnSquad/TriggerSpawnPlayer components
- Fixed a bug where the player would sometimes not get the correct weapon arm skin when spawning from triggers.
- Fixed OnActorEnterSeat LeaveSeat signal not being sent
- Fixed an issue where OnActorDeath trigger squad filtering did not work as intended
- Fixed an issue where squad conditions would sometimes return fale positives.

Dialog system improvements:
- Added rich text support for the ingame dialog system. Rich text supports Unity's built in rich text tags such as , , and the following custom tags:

- Prints the player's steam username
- Prints the map's display name
- Changes the icon actor pose to something else
- Changes the grain amount on the dialog portrait
- Pauses for duration seconds
- Changes the print speed of the dialog text, default is 1.0
- Stops the actor mouth animation and prevents blip sounds from playing
- colors text using the team color
- Prints the team name

Valid team parameters are:
team0 - Team 0, default Eagle
team1 - Team 1, default Raven
teamf - Friendly Team (same as player)
teame - Enemy Team


I hope you'll enjoy this update!

/Johan (SteelRaven7)