1. Ravenfield
  2. News

Ravenfield News

EA27 - Story Mission Update

Hey hey everyone, EA27 is finally here! Holy smokes this took a long time...

So what's new? Basically I have been working on getting story missions to work with the game. On top of creating a story mission I have spent a lot of time refactoring the underlying game tech so that it works with both the original instant action style sandbox gameplay and the new designed style of the story campaign. You can see the results of this in the new story mission available in the instant action menu. This mission is a part of the story campaign I announced a while back, and while it is still a work in progress (this is Ravenfield after all...) it is still playable from start to finish. In this mission, you're tasked with assaulting the Citadel and sabotaging the enemy air capabilities. It even opens with a cutscene featuring shiny new fully-animated characters :O



The idea behind this mission is to bring together parts of both Spec Ops and Battle gameplay, so you will play as both Talon and your standard Eagle grunt in the same mission. All game logic that drives this mission has been designed using the new Trigger System - a set of logic components that can be connected together using signals in the RF Mod Tools for Unity. The point of this system is to make story mission map design much more approachable for modders. One of the primary goals for the Citadel mission was to design the Trigger System itself along with the mission, making sure that similar missions can be created using only Triggers - zero coding required!

This Trigger System is not limited to story missions, however. You can attach Trigger System components to any modded GameObject, meaning it can be used to drive game logic on your modded maps, vehicles, weapons, projectiles, etc. While the Trigger System can be viewed as an alternative to Ravenscript, more complex logic are usually easier to design using Ravenscript, but the choice is left entirely to the modder. The two systems are completely interoperable as you can send and receive Trigger System signals from a Ravenscript ScriptedBehavior component. Along with the Trigger System, there are other mission-related components that can be used to manually set up AI paths, detect player entering triggers, trigger cutscenes and more.



On top of the new game systems, you will probably notice that the AI has been streamlined quite a bit, and that the game plays a lot better than it did in EA26. This is due to the numerous AI changes that had to be made in order to accomodate the new trigger system and custom game mode tech. You should see the AI using their weapons in a more sane way, and utilizing cover better. The game HUD has also received a much-needed makeover, and now has a more modern and clear style. Additionally, the new HUD is modular, so custom HUDs can override specific parts of the official HUD as needed.



Now that this update is out, what's next? Most of the very time-consuming task of redoing the game infrastructure to support story missions and the Trigger System is now done. This means that you can expect much more frequent updates in the future, mainly focused on adding more official story missions and eventually becoming the story campaign. These tools are also being made available to modders right away, so modders will be able to create playable custom game modes or story missions inside level files. Eventually, modders will be able to create fully fledged custom game modes playable on any map, but we are not quite there yet, maybe for EA28 :D!


[h3]Full Change Log[/h3]

Game changes
- Added WIP story mission that takes place on the Citadel map
- New HUD design!
- Added hangar area to the Citadel map
- Navmesh generator now fully support terrain holes
- Forced navmesh generator to use highest detail representation of terrain while generating.
- Optimized the germanic house models used on Citadel map, drastically reducing the drawcalls
- Fixed a bug where alt weapons would not animate correctly after getting up from ragdoll
- Added checks to prevent option menu values like mouse sensitivity and FOV from randomly changing while playing the game.
- Added support for moving platforms such as elevators!
- You can now stand on top of vehicles without being rammed (Basically allowing you to ride on top of tanks and stuff lol). This works up to a speed threshold of 20 m/s
- Added support for custom game modes bundled inside maps
- Fixed a bug where weapons using patched animations (due to them not being EA26+ compatible) would sometimes spam error messages.
- Made soldier animation culling more robust, should fix a rare bug where animations would sometimes be culled when they shouldn't.
- Improvement to player third person lean animation transitions.
- Improvements to soldier animation state machine transitions so animations between different stances flow better and faster.
- The capture state of the flag the player is capturing will now be updated every frame, meaning that the flag capture progress will look smoother.
- The kill cam will now move slightly when the direct path between the player and the killer bot is obscured.
- Fixed a bug where maps with multiple identical flag pairs in the neighbor manager would not start.
- Added slight spread to Rhino MG
- Cassowary missile tracking/lock sounds will now play in bomb sight.
- Fixed a bug where bots could sometimes shoot through walls
- At very short ranges (< 1m) Players cannot deal friendly fire, this mitigates the issue where friendly bots run in front of you just as you fire your weapon.
- Fixed a bug where flag capture volumes sometimes would not initialize correctly at the start of a map
- Added follower invisibility system to the citadel mission (Copying over the functionality from spec-ops where your squadmates will be invisible to enemy detection while following you). This system is now completely modular and is exposed to the trigger system and eventually to RS.
- Added Detection Groups, where multiple AI squads will alert each other whenever one of them spots the enemy. These components can also send trigger signals whenever a group is alerted.
- Doubled suppressed Patriot projectile falloff range so it's more effective at longer ranges.
- Fixed some spawns at the Coastline flag Cliff that were previously under the terrain
- Refactored the vehicle HUD system to be more robust when changing cameras
- Added support to compeltely disable the player's game input, which is useful for cutscenes etc.
- Fixed a bug where the player could sometimes end up on the wrong team in the scoreboard UI
- Improved suspension values on Jeep and Quadbike so they should be a little less bouncy
- Reduced friction on ground vehicle hitbox colliders so they don't get stuck quite as hard when running into stuff
- Refactored the audio system to make it easier to control audio mixing from Ravenscript/Trigger system
- Master AudioMixer is no longer affected by filtering on audio events such as deafening and being inside enclosed vehicles, so you can use this group to play unfiltered audio even when using filters on all other ingame audio.
- Ingame audio will now fade in when starting a match
- Updated lightmaps on Temple and Citadel maps.
- Updated to Unity engine 2020.3.48f1

Custom Game Modes
- Added support for custom game modes, at the moment custom game modes can only be bundled inside maps, but eventually it will be possible to also use custom game modes on any level.
- Added lots of new systems that allow for story missions to be played.
- Added support for freezing the game during cutscenes, etc.
- Added support for loading/saving data between level restarts. This is currently limited to checkpoint data, but will be expanded in future updates. It will also be possible to save this data between game sessions for persistent data loading and saving for mutators and custom campaigns.
- Added WIP Citadel story mission that can be played via the instant action menu. This mission is entirely designed using the new Trigger system!

AI Changes
- Squadmates following their leader will now try to move in a way so they can always have direct line of sight to the squad leader, meaning squads stick closer together in areas with lots of cover.
- Fixed a bug where the AI sometimes would pick really bad cover points while defending a flag
- The AI will now prefer to spread out more when picking a cover point.
- Fixed a bug where the AI would not fire mortar style weapons correctly
- Improved AI weapon switching, so now they should be way more consistent and not switch out their weapon all the time.
- Fixed AI crouching/leaning while using cover points.
- When using slow fire rate weapons like snipers, bots will now wait a little after taking a shot before crouching when behind cover.
- Bots with skill level veteran or higher will now lean while checking corners in close quarters areas.
- Fixed a bug where bots would sometimes walk through geometry when getting a new path while traversing a pathfinding link.
- Fixed multiple bugs where bots would get corrupted paths when walking to capture points after being ragdolled/strafing a target.
- When walking around a corner, bots that lean will now lean more or less depending on their look direction. This should result in smoother looking leans and prevent weird leaning behaviour when aiming backwards, etc.
- Bots will no longer play emote animations while targeting an enemy or reloading.
- Fixed a bug where bots would sometimes look at the ground when approaching the end of their current walking path.
- Bots now go to walkable navmesh nodes inside of the capture range/volume when attacking a flag, this should prevent edge cases where attacking squads think they are attacking a flag when in reality they are standing outside of the capture zone.
- AI can no longer deal friendly fire while using normal projectiles. They can still deal friendly fire by splash damage, however. Previously, AI could deal friendly fire damage when hitting a target 100 meters or futher away
- After firing their weapon, bots will not be able to look around for one second (unless they spot another target to fire at). This fixes an issue where bots would sometimes fire at an enemy, but then look in a completely other direction and continue holding their fire input for a split second, randomly firing projectiles across the level.
- Lots of other small tweaks and improvements to the AI

Ingame Map Editor
- Fixed some map editor props not generating navmesh correctly.
- Fixed skeleton hat missing mesh
- Fixed missing colliders on snowy arch and house stilts

Modding
- Added displayName field for weapons, this is the name that shows up in the new UI.
- Dropped support of the legacy animation component. This component will no longer load from mods. Please use the new animator controller component instead!
- Added component for animated vehicles to drive engine audio from their current speed, this is really useful for cutscenes where the vehicle movement is pre-animated such as the breaching APC in the citadel mission.

Trigger system
- Added ScriptedPathGroups which can be used to manually design paths for bots to follow.
- Added several dozens of logic components that can be used to contorol game flow

Ravenscript
- Added a killCredit property to weapons which is automatically set to whoever equips a weapon, but can be overridden through this value. This value can also be used to set whoever should get the kill from scripted weapons such as automatic turrets, etc.
- Renamed Projectile.source to Projectile.killCredit to match weapon naming convention. Accessing .source will still work, meaning mods using the older name will still work fine.
- Fixed a bug where weapons could not fire projectiles through the Shoot() function unless they were first equipped by an actor. This means that weapons can now be fired via scripts without having to be picked up.
- Exposed functions that can be used to hide individual elements of the new ingame UI. This is great if you're making a custom HUD and only want to replace parts of the vanilla UI.
- Exposed PlayerHud.playerOrderState to RS, which can be used to drive player squad status labels in your custom HUDs
- Added Actor functions to more easily access actor skinned mesh renderers
- Exposed fonts to Ravenscript and DataContainer component
- Various Ravenscript bugfixes


Coming up, I'm goin to finish up the citadel story mission and improve the support for custom game modes for EA28. In the meantime, I hope you'll enjoy this update!

/Johan (SteelRaven7)

June EA26 Mini-update

Hey, here's a quick mini-update with some fixes and additions to the game. As this isn't large enough to release as it's own major EA update, I figured I'd release a mini-update to EA26.

Change log:

- Updated the engine version to Unity 2020.3.34f1
- Added Big Head mutator (Your head grows as you get a higher kill-streak)
- Exposed bone scaling to RS via Actor.SetHumanoidBoneScale()
- Exposed Actor.SetWeaponParentScale() and Actor.SetWeaponParentApproximateWorldScale()
- Fixed AI sprinting behaviour, squad leaders will now sprint most of the time when moving towards an objective, but will stop sprinting when an enemy is spotted. Squad members will follow the leader and sprint to catch up.
- Rebaked occlusion data on coastline
- Fixed a bug where cover points would not be placed on the terrain on ingame map maker maps. (Navmesh needs to be rebaked for this to take effect on existing levels)
- Disabled collisions between first person layer and Players/Actors. This should prevent weird player movement issues from occuring when using weapons with attached colliders (which is used by some modded weapons such as shields etc.).

Improvements to commanding squadmates:
- When assigning a move order (or attack/defend flag order), bots will no longer stop and get into cover or stop to take down faraway targets until they have arrived at their destination.
- When bots are following, and are >15 meters away, they will no longer stop to get into cover or stop to shoot at faraway targets. They will still use cover as normal when within 15 meters of their desired formation position.
- Tweaked some code to make AI way more likely to target the currently assigned squad target. (The one you assign by aiming down sights and holding the squad order button)

See you again after summer!

/Johan

Engine Update - Early Access Build 26

This was supposed to be a 2 week update. It only took 9 months..........

EA26 is finally out! This update focuses heavily on improving upon the base game experience by heavily improving performance and compatibility with modern systems (thanks to updating to a new Unity Engine version, 2020.3). The update also features lots of quality-of-life improvements and bugfixes.

One of the major improvements in EA26 is the increased framerates and reductions in frame jitter. The framerate should now scale way better with the bot count, allowing you to play with more bots than ever before. You can also run a benchmark to easily compare your performance to others. A default benchmark is available from the launch menu in Steam (launching the game with 60 bots on Island without mods loaded) but you can also use the launch option "-benchmark *bot count*" to launch a benchmark on any map, with mods enabled.



Another major new feature is full support for Steam Input. This means that you can connect any gamepad or joystick to the game through the Steam Input system, and create controller binds that you can share with other players. The game has full action map support, meaning that you can easily create separate binds for infantry, vehicle, aircraft use, etc. Additionally, the game will display key/mouse/controller input prompts based on your binds while ingame. If you're planning on playing the game with a controller, please bind all inputs through Steam Input instead of the built-in input options menu. That way, you can take advantage of the Steam Input features. I have created an official controller binds for the Dualshock 4 controller, which should automatically work for other controller types as well.

EA26 improves upon the vehicle picking system, allowing mods to easily bundle vehicle variants that appear in the vehicle selection screen. When picking a vehicle, the game will now display a list of vehicles complete with images to make it easy to find exactly the vehicle you're looking for. Additionally, you can select "Show All Vehicles", allowing you to pick a vehicle regardless of type. This means you can for example replace all aircraft with cars, or vice versa.



I want to extend a big thank you to Ravenfield's modding and beta testing community for the patience and help with getting this update out. Due to compatibility issues between older mods/maps and the new Unity engine version, tons of mods have had to be patched or updated to be compatible with EA26. You can find all mods that are verified compatible with EA26 under the EA26 Compatible tag on the workshop. However, thanks to a lot of trial and error and a little bit of hacking, most older mods should now also be playable on EA26, even though there might be some hiccups here and there.

If you want to play a mod that straight up does not work on EA26, you can switch to the Ravenfield legacy branch (Go to your steam library, right click Ravenfield -> Properties -> Betas and select the legacy-ea25 branch). This branch will downgrade your game version to EA25, which should be compatible with all older mods. When you want to return to EA26 to play new mods, just pick the None option in the beta dropdown.



Full change log

Game changes:
- Updated to Unity Engine 2020.3.32f1
- Updated post processing version to 3.1.1
- Changed AO implementation which fixes various shadow artifacts
- Removed AO quality levels from the options menu as the new implementation doesn't have quality levels
- Replaced limit framerate option with VSync
- Loadout screen no longer extends beyond the screen on ultrawide monitors
- Increased max FOV value to 180 degrees
- Added -resetresolution launch option which forces the game into a 1280*720 window
- Added optional Vulkan graphics API to Windows and Linux platforms, use launch option "-force-vulkan" to enable.
- Added OpenGL Core graphics API as fallback on all platforms. Linux uses this graphics API by default.
- Added benchmark mode which can be used to benchmark game performance. You can run a benchmark either from the game's launch menu options, or by using the command line argument "-benchmark *optional botcount*".
- "-map *path*" launch option now accepts .rfld or .rfl paths as argument.
- Bots and vehicles now use interpolated rigidbody movement which results in less jittery movement.
- Added blood decal options in the options menu.
- Reworked the Vehicle Switch screen.
- Added Vehicle picker screen that shows vehicle icon and title.
- Toggle "Show All Vehicles" in the vehicle picker to access all vehicles, regardless of type.
- Added cool loading screens!
- Improved spec ops intro, Eyes is now only introduced in the first spec ops game you play each session.
- Removed fog rendering from HUD shaders.
- Increased audio DSP buffer size, which should reduce crackling and other audio issues.
- Improved terrain geometry and house positions on Citadel near west eagle spawn.
- Fixed a bug where weapons with multiple muzzles would not fire when their ammo was set to infinite.
- Refactored Actor damage code to make it easier to integrate with Ravenscript
- Capped the maximum vehicle mass force gain based imparted on infantry when rammed by a vehicle
- Reduced camera jitter when getting up from ragdoll.
- When exiting a vehicle seat, the game will now do raycasts to determine where the exiting actor ends up. This prevents actors from ending up inside geometry or under the terrain after exiting a vehicle.
- Various improvements to UI scaling and visibility, especially noticable 4k resolutions.
- Fixed a bug where LUA errors would sometimes cause the Lua VM to run out of memory and overflow. Also added debug values to the console to help monitor the VM memory state.
- Suppressed warning logs from builds, these weren't useful anyway and would just clog the log file.
- Suppressed stack trace when logging info messages.
- You can no longer swap to the seat you're already in.
- Ragdolls that are moving faster than 20 meters per second will now automatically use continuous collision detection, which should prevent ragdolls tunneling through the terrain or other static geometry.
- Updated physics settings to speed up the game and provide more stable physics simulation (reduced risk of the spaghetti man appearing!)
- Fixed a bug where bots would sometimes tunnel through the level geometry when deploying their parachute very close to ground level.
- Added one progress bar per content mod worker in the mod loading screen. This allows you to monitor the progress of loading each mod. The point of this is to more easily debug the cases where modding unexpectedly hangs, as it's now possible to see what mod is being loaded when everything breaks.
- Added a -strictmodversion launch option. When this launch option is used, the game will only load mods created with the same major unity version. That is, EA26 will only load mods built with 2020.3.XX versions of Unity.
- Fixed car pathfinding on the coastline cliff ruins flag (finally lol)
- Updated navmeshes on Coastline and Archipelago
- Made water deeper around attack boats on Twin Island, and also rotated the attack boat spawns 90 degrees
- Fixed an issue where APC lock on sounds were not affected by sound volume settings
- Added -resetresolution launch option that will force reset the game to run in a 1280*720 window
- Removed box men option, replaced with box men actor skin that's available in the actor skin dropdown menu (it's called Ravenfield 2016).
- Added kick foot model for box man skin
- Major improvements to transport helicopter landing AI, it happens much faster and more reliably now
- Improved spec ops detection system so it's easier to escape detection
- Replaced visibility test randomness with a deterministic system when bots are detecting you in spec ops. This should make the detection system easier to understand.
- Fixed a bug where bots would not detect you if they didn't have a weapon that was effective against you.
- Added helicopter patrol to Spec Ops. A transport helicopter carrying high-level enemies will be called in if you're spotted and the defenders manage to fire a flare.
- Laser sight dots are now scaled based on distance to the player camera
- Filled up a hole in the citadel mesh


Input changes:
- Added support for Steam Input to the game. This control system completely bypasses the options menu keybindings, and allows you to set up pretty much any gamepad/joystick/other controller through the Steam Input UI.
- Added default Steam Input bindings for Dualshock 4 controllers.
- Added sprint toggle option.
- Added bindable seat keys (defaults to F1 -> F7)
- Added keybind visualizer system, which will be exposed to RS later.
- The game keeps track of the active input type (Unity default or Steam Input). This is used when deciding which control glyph to render.
- Added Controller Hint option toggle. Disabling it stops the game from displaying the default control hints. Control prompts such as Press F to plant timed explosive in spec ops are still shown regardless of the setting.


Optimization:
- Forced all terrains to use a default material
- Terrains now use instanced rendering on high terrain quality, reducing CPU rendering overhead on modern systems.
- Replaced Ingame Map Editor level generator code, which runs faster and produces more detailed results.
- Ingame Map Editor levels now use Unity's built in mesh baker, significantly reducing the CPU overhead when rendering the level. On busy levels, this can lead to more than twice the frame rate!
- The game now uses GPU skinning to offload the CPU.
- The game now uses graphics jobs, which should multi-thread parts of the rendering work.
- Added deferred squad spawning, meaning the game will spawn at most one squad every frame by default. This reduces frame spikes when spawning lots of bots at once.
- Reworked the minimap code and rendering, significantly boosting overall game performance.
- Tweaked a physics property to prevent the engine from doing unnecessary synchronization of physics transforms.
- Disabled graphics raycasting on some game UI elements that didn't need them.
- Airplane ailerons now move correctly according to roll input (they were reversed before)
- Actor animator now internally uses precalculated parameter hashes instead of strings
- Optimized name tags mutator, it now uses the new PlayerHud element tracking.
- Deferred lua console updates to happen max once per frame.


Various tweaks to AI weapon usage to reduce rocket spam towards helicopters/airplanes and similar long range shots:
- Added weapon target difficulty value, for example targeting a helicopter with the dagger is considered a Hard shot.
- Added bot skill level value. Bots will only take shots that are within their skill level ability.
- Bots that haven't engaged any targets in a while can attempt harder shots.
- Weapon difficulty values can be set manually using the new mod tools pack, but will be automatically set by matching the weapon to a weapon architype such as machine gun, pistol, rocket launcher etc.


Various improvements to mod content loading:
- Added multi-threading to mod loading, allowing the game to load multiple mods at once.
- Shader reloading is run on all platforms when loading a content mod that was built with an Unity editor version that doesn't match the game's current engine version.
- Auto-upgrading of deprecated Plane component class to Airplane.
- Added fallback shader lookup for legacy shaders resolving.
- Added "-verbose" launch option, which logs shader resolving results. If you're experiencing pink error materials, you can find out which shader failed to resolve using this feature.
- Mod content such as weapon entries, skins, mutators etc are now sorted by source mod.
- Added source mod title grouping in the weapon picker UI.
- Added support for vehicle content variants, allowing modders to package multiple vehicles of the same type in their vehicle content mods.
- Added retargeting system for actor skins, allowing the game to load and retarget skins made in engine version 5.6 and 2020.3 (and any future versions)
- When resolving material shaders, the game will now keep the material's render queue value (previously the game would change it to the shader's default render queue value).
- Attempted to fix 5.6 maps terrain tree instances colliding with player. This is done by assuming that only capsule colliders should be solid (as these the collider types that are typically used for tree trunks, etc). All other collider types are assumed to be Ai Vision blockers.


Modding changes:
- Exposed WeaponEntry.uiSprite to Ravenscript
- Added weapon target difficulty value
- Added AnimationCurves, Color and Gradient to the data container component
- Added a warning when custom weapon CullInThirdPerson values would cull the third person transform. This also prevents the third person transform being culled.
- Removed support for CustomActorSkin in custom maps as it was using an outdated actor skin system that was incompatible with Unity 2020.3
- Added actor skin retargeting to DataContainers, which should make it so actor skins loaded from data containers should be retargeted correctly.
- Added HUD Unlit shader variant
- HUD Light material now uses alpha blending (identical to EA24 and earlier releases). Use HUD Additive for additive blending.
- Exposed variout requested featured to common classes such as SpawnUI, Player, Actor, Weapon, Projectile, Minimap, AiActorController and Vehicle classes.
- Added PlayerHud class that can be used to automatically track world objects on a 2d canvas.
- Exposed player loadout to RS
- Exposed OnAnimatorIK to RS
- Exposed VideoPlayer/VideoClip to RS
- Various improvements to navmesh generation which should improve the generated navmesh shapes.
- The last error logged in the console will now automatically stack. This should prevent the entire console from being clogged when the same error is thrown every frame.
- Added .patch file support. Patch files contain extra data that can be used to recover old, outdated mods to be compatible with new Ravenfield builds. This is currently used to recover animations that appear broken on EA26 due to a compatibility bug inside the Unity engine.
- The game now tries to log the source directory of ScriptedBehaviours. This should help debug issues with RS from log files.
- Fixed Vehicles.GetTrackingMissiles() throwing clr type cast errors.
- Exposed various projectile types to RS. The API of all projectiles are currently identical, but they will be populated with type specific properties in future updates.
- References to destroyed GameObjects/Components will now evaluate to nil in RS, creating parity with the official Unity API.
- Exposed DamageInfo, HitInfo and ExplosionInfo structs to RS, which simplifies the RS API when interacting with damage values and events, etc.
- Added various damage/explosion events using the DamageInfo and ExplosionInfo data structs.
- Exposed ExplosionConfiguration to RS.
- Exposed ActorManager.Explode() that can be used to trigger an explosion from RS.
- Added Weapon.GenerateWeaponRoleFromStats() which generates a weapon role based on the weapon stats. Can be useful for classifying weapons.
- Added OnVehicleDisabled and OnVehicleExtinguish events in RS
- Exposed PlayableDirector to RS
- Made it possible to disable stabilization for each axis on MountedStabilizedTurrets. This will be made available through a future RF mod tools update.
- Debug gizmos triggered from RS (Debug.DrawLine etc) are now visible through geometry
- When running the game in test content mod mode while in the test game mode, the game draws the path of your squadmates.


Known issues with this update
- Many mods made in Unity Editor 5.6 have broken animations in this update. This is a bug in the Unity engine itself and isn't fixable from the game code. I have however generated patch files for some older, unmaintained mods to get around this. It is recommended that mods suffering from this bug is re-exported using Unity 2020.3 and the 2020.3-compatible Ravenfield modding tools. Alternatively, It is sometimes possible to solve this issue in the Unity 5.6 tools by making sure the "Resample Curves" option is checked inside the animation import settings of a model, and then re-exporting the mod.

- Some maps made in Unity Editor 5.6 have broken collisions on trees and other detail objects. The game tries to solve this by assuming that only capsule colliders are solid, and any other colliders should only block bot vision. This runtime patch is only applied on 5.6-made maps, and does not affect fully compatible maps created in Unity Editor 2020.3.xx.

Trouble running the update?
If you're having problems running this update, please make sure that your system drivers are up to date, and that your system passes the minimum requirements of the game. You can always access the previous update EA25 by changing to the legacy-ea25 branch by following these instructions:
  1. Go to your Steam Library page
  2. Right click Ravenfield, click Properties
  3. Select the Betas tab and in the dropdown, choose the legacy-ea25 branch. (No need to enter any access code)
  4. Click OK and wait for the game to update.


I hope this update works well for you and that you are looking forward to the story campaign content that I will be working on next!

/Johan (SteelRaven7)

Attention Modders: EA26 mod compatibility info!

Hey, I'm back with another news post about EA26, let's get right into it!

The EA26 update is now mostly done, and is playable on Ravenfield's beta branch. I originally wanted to release EA26 before leaving on my winter break, but there are still a few issues that I want to tackle before making it available to everyone. I expect EA26 to launch in February.

Also, as I mentioned in my previous post there are unfortunately many compatibility issues with older mods in EA26, most of which are outside my control. To aid with the transition to EA26, I have created a guide for modders on how to update mods to be compatible with EA26, which you can find here!

I have also added an EA26 Compatible tag on the workshop, where mods that are compatible with EA26 can be found. It is up to the modders themselves to verify and mark their mods as compatible with EA26, and you can find a guide on how to do this in the guide posted above. In most cases, it's as easy as downloading the latest mod tools, changing a few asset options and re-uploading the mod.

Other than the mod compatibility issues, EA26 plays pretty well so if you're interested in trying out the improvements to AI and performance, you should definitely switch to the beta branch! Unsure how to switch to the beta branch? Here's how!

By popular demand, I have added a Maps - Mod Tools tag to the workshop. All maps created using the mod tools (IE ones not made using the ingame editor) are available under both the Maps and the Maps - Mod Tools tags. This makes it possible to filter maps based on which tool they were created with. Please make sure you have the latest mod tools installed when uploading a map for it to be tagged correctly!

Finally, I want to wish you all Happy Holidays, I'll see you next year!

/Johan (SteelRaven7)

Ravenfield EA26 Status Report

Hey!

It's been a while since the game last recieved an Early Access update, I just wanted to let everyone know what I'm working on and why it has taken a while!

Game engine update
Since its Steam release in 2017, Ravenfield has run on a now-outdated version of Unity (Unity 5.6). While this engine version has worked fairly well throughout the years, it is no longer officially supported by Unity which leads to compatibility issues with more modern hardware. Also, Unity 5.6 has not been receieving bugfixes since early 2019 which isn't ideal.

In June this year, I experimented with updating the game engine to the latest stable release of Unity, 2020.3. The initial experiments seemed promising and apart from some bugs the game even ran faster than before. That's why I decided to update the game to the 2020.3 engine version for EA26. After I released EA25 I took a few weeks off, and then started working on EA26 in september.

So that's what I've been working on since september, but unfortunately the task of updating from 5.6 to 2020.3 has taken a lot longer than expected due to hundreds of compatibility-related bugs. For the last two weeks or so the game has run pretty well on the new engine version, with the following improvements over EA25:
  • Significantly increased frame rates (Many users have reported an increase of 20-30% or even more!)
  • Major performance improvements to levels made with the ingame map editor.
  • Reduction of frame jitter, making the frame rate more stable.
  • Proper V-sync implementation.
  • This Unity engine version should now fully support the latest graphics card drivers and vice-versa.
  • You can optionally run the game using Vulkan on Windows and Linux.
  • Support for new engine features such as terrain holes, etc.


On top of the benefits from the updated engine version, I've also implemented the following things in the upcoming EA26 update:
  • Multi-threaded mod loading, reducing mod load times.
  • Optimization work for framerates and reduced frame jittering.
  • Improvements to bot movement code, making their movement smoother.
  • Benchmark mode to easily measure game performance.
  • Full Steam Input support


However, there are some inevitable downsides to the engine update in EA26, such as:
  • Dropped compatibility for some old GPU hardware and OS versions. I have updated the minimum requirements on the game's store page accordingly so please check them out if you're concerned about this.
  • Animation compatibility issues affecting some weapon/vehicle mods made in the Unity 5.6 mod tools. This is an issue with the internal game engine which I have no control over :(


When EA26 is officially released, I will set up a compatibility branch for the game running EA25 (and the old engine version). If you're experiencing any issues related to EA26, you will be able to run this compatibility branch instead. Please note that this branch will not be receiving future updates to the game.

Testing the EA26 beta
I'm still working close with the modding community to iron out the last bugs related to the engine upgrade, so I'm not sure exactly when EA26 will be ready, but you can try it out right now by opting into Ravenfield's beta branch by following these steps:
  1. Go to your Steam Library page
  2. Right click Ravenfield -> Properties
  3. Click the Betas tab and select the Beta branch in the dropdown (No need to enter an access code as the beta is publicly available)


Story Campaign status
Unfortunately I haven't had time to implement a working campaign story mission yet. I originally intended to release a story mission from the campaign in EA26, but there just hasn't been enough time to update game engine version and design the story mission for this update, so I'm pushing the mission back to EA27.

It's not all bad news though, I have recently completed the first draft of the Ravenfield campaign story. This means that the overall story is in place and gives me a good overview of what still needs to be added to the game for the story to play out. I plan on working together with a 3d artist and a level designer to speed up the campaign development.


Even though it's taking a while, I hope you're looking forward to the release of EA26 and what's to come after!

/Johan (SteelRaven7)