Devblog 7

Our last Dev-blog was focussed on the aftermath of the 0.2 release and showed some of the work that is already released and a sneak-peak at what vehicles are going to be in Reality Mod. In this Devblog we will glance over what is on patch ALPHA 0.3 and get a bit more in-depth on how Reality Mod is being made.

Stability

One of the reasons this patch took so long to get out was the persistent issues with clients’ UI crashing during the round or immediately after a round switch. This patch has deployed a variety of fixes and optimizations.

  • Updated PixiJS
  • Moved all map related images to a single spritesheet
  • Reduced events sent to the UI, more on that later.

Overall crashes still do happen from time to time, but the number of UI issues should be drastically reduced. Offering a better experience for longer. We will continue to investigate if more improvements can be made.

Another thing that might help for people still experiencing issues is deleting the following folders:

  • C:\Users\YOU\AppData\Local\VeniceUnleashed\webui_cache
  • C:\Users\YOU\AppData\Local\VeniceUnleashed\mods\realitymod

BMP-2 and LAV25

Teased for a while now, but they are finally here. The BMP-2 and LAV25. Lots of hard work went into these vehicles and Desertshadow is here to explain what and how:

Unique weapons:

Vehicles have unique weapon containers but point to the same firing logic. So if you open the LAV HE cannon and modify its firing logic, it will apply to all IFV HE cannons. To get around this we cloned the firing logic, modified the clone, and then attached the clone to the weapon container.

This became a problem because firing logic loaded in different order depending on the map, which made the cloning cause server crashes. Jassent pointed us in the right direction from here.

First attempt involved WaitForInstances to wait till the particular logic loaded, and then run our changes once. The good: Changes worked and no more server crashes. The bad: The changes would be destroyed when switching to a map without that vehicle. AKA we’d be stuck with vanilla weapons.

Next attempt involved waiting until Level:RegisterEntityResources event (every time level loads), and then running changes. If the vehicle doesn’t exist on that map then we skip the changes. This works every time so problem solved. Thanks Jassent!

Weapon stats

Here is the starting point for BMP-2 and LAV25. Balancing will happen with feedback.

Both vehicles take 2 sec to equip cannon and 0.5 sec to equip coax.

BMP fires at 250rpm, loses accuracy at 5th shot, and overheats in 4 seconds with 17 consecutive shots. LAV fires at 200rpm, loses accuracy at 9th shot, and overheats in 6.5 seconds with 22 consecutive shots.

Coax fires at 550RPM in both cases, losing accuracy in ~1.5sec, overheating in 5.5sec.

AP rounds LAV TTK at 10m: ~4.5s (auto) AP rounds BMP TTK at 10m: ~3.5s (auto)

AP rounds BMP TTK at 750m: ~15 seconds (4 shots, wait 2 sec) AP rounds LAV TTK at 750m: ~11 seconds (8 shots, wait 1 sec)

Vehicle seats

Driver (SEAT 1): Vehicle player slots are defined by things called PlayerEntryComponent or SoldierEntryComponent. Drivers’ PlayerEntryComponents are located at the root of the vehicle. There is usually one in the turret as well, but its excluded property is set to true. If we change it to false, voila: split driver/gunner controls.

Next we add a camera to the driver and a viewport mesh from the passenger. Lots of trial and error moving those around, but it looks okay now.

To counter soloing vehicles, Ori made the screen black for all occupants unless someone is in the driver seat.

Gunner (SEAT 2): Our gunner was initially in seat 1, to make the HUD direction indicators work properly.

Everything looked good until vehicle movement; the entire HUD ghosts, or seems to have 2 HUDs with 1 trying to catch up to vehicle position. Very disorienting.

The closest examples of split driver/gunner were the AAV and the commander seat 50cals. Those have a property called lockMeshToRenderView set to true. So we tried that. It micro-stutters but is better than ghosting. So what’s the problem?

Cannons in BF3 are dynamic; they respond to vehicle orientation (pitch/roll). The HUDs account for the dynamic cannons: The entire frame, screen, and reticles move depending on the vehicle’s orientation (Pitch, Roll).

A locked mesh is static (does not move), and therefore cannot account for the dynamic cannon. So it’ll aim properly in only one condition.

We shifted the mesh around to make the reticle at least match for flat terrain, and compromised by locking normal view.

Normal view: locked to remove ghosting but sacrifice accuracy. Vehicle will just so happen to show where it’s truly aiming, but only on perfectly flat ground. Zoomed view: unlocked to prioritize accuracy but has ghosting. Vehicle will show where its truly aiming, on any pitch/roll.

After having gone down this rabbit hole, the solution to the ghosting was to undo our HUD indicator fix. Gunner goes back to seat 2 and aiming is perfect in all situations. No locking nonsense to deal with.

Commander (SEAT 3): We have for now “removed” the 50cal gun for the commander. We hid the visual model and set the ammo to 0. Then we tweaked the zoomed FOV and sensitivity so it’s more comfortable to pan the camera. We also added a smoke launcher weapon to the commander seat: Fire with “X”, and reload with “R”. That might come in handy when HAT lockons arrive in the future.

Another Map, Bandar Desert

While not completely finished yet, the Skirmish layer for this map is done. One of the bigger maps in BF3 and certainly the biggest map so far in Reality Mod. Bandar Desert Skirmish will feature US and RU forces who fight over Bandar Village located in the center of the map. Scenic beach walk is a must, that is of course until the bullets start flying. For AAS and other gamemodes using the full map, the forces will fight over military camps, villages, construction sites and desert, lots of desert. In the future you can also expect the long awaited Helicopters and eventually jets. We are really excited and are working hard to bring the first 4x4km map to Reality Mod! Here are some pictures of the Skirmish area, while we keep developing the rest of the map.

Stamina, Suppression, Weapon Handling and Ballistics

Ballistics

Let’s start with ballistics. This one was on the need to change list for way too long. And honestly after working on this, we now know why. First, what was the ballistics system before this patch? Well, all the functionality was there, but it didn’t function when we made bullet speed match real-life values. The slower bullet speeds don’t really matter in vanilla BF3 because the maps are substantially more compact. At distance in Reality Mod though, you would be able to literally side step and avoid the bullet. Bumping the initial speed of the bullets resulted in pretty flat shooting guns even at distances beyond 300 meters. Gravity just couldn’t get a hold of the bullet and in BF3 there is no such thing as wind resistance or a bullet drag coefficient. Desertshadow spent hours upon hours researching options to make bullets behave as realistic as we can. He made a test range in MapEditor with targets every 50m. He changed gravity, initial directions, and initial speeds of bullets. After an all-nighter tweaking numbers and noticing the changes on the range sucked, He realized he should stop avoiding the math. So he made an excel doc with basic kinematic equations, couple graphs and tables; the starting point of ballistics changes.

Once he figured out the math behind it and created a cheat sheet, it was time to pass this issue over to Bloodhound. He also spent a lot too much time fine tuning the ballistics system and made it as close as possible to real life. Matching scopes to bullet trajectories was the last painful hurdle, but we now have bullet drop and the zoomed scopes have accurate indicators up to 600 meters out. This unfortunately means that we have to leave the true sight pictures for the optics. Reticles will look slightly different than their real-life counterparts. All sights are zeroed for 100 meters. Currently there is no option to zero for a different distance. For more info check out the community guide:

https://wiki.bf3reality.com/en/guides/community-guide#the-basic-in-game-player-mechanics

Stamina

In the bottom right of your screen you will find the stamina bar. This indicator shows you how much stamina is left. Previously stamina felt pretty infinite, but as we move further away from alpha 0.1, infantry gameplay changes were needed. So far we have increased the top sprint from 17 kph to 20 kph. Out of stamina sprint speed has stayed the same at 10 kph. So with a full stamina bar you will start sprinting 20kph and as your stamina runs out you will gradually slow down to 10kph. Walking speed has been reduced from 10 kph to 6 kph. These values bring you capabilities more in-line with what you can realistically expect from humans.

Speed is not the only thing that is affected by the status of your stamina. Recoil, breath control and sway control are now all tied to stamina. Increasing the need to plan your movements and disencouraging running and gunning. The lower you are on stamina the more recoil you will experience. Your stance also influences your recoil so crouching and going prone might help you get off consecutive shots on target. The increased sway on low stamina is only vertical. This simulates you, the player breathing heavily. You can compensate for the sway with mouse movement and also it lowers on stance. Crouching and going prone reduces the sway. The last thing tied to stamina is the Hold breath/stabilize function (default key: L. Shift if zoomed). The lower you are on stamina the shorter the time will be that you can hold breath to stabilize your aim.

Suppression

Another aspect of the gunplay in Reality Mod that we gave another look is the suppression effect. Suppression has been increased but it will take more incoming rounds to set in. It will also be reduced faster to balance things out. So overall getting suppressed feels more intense while not being ridiculous and using your LMG, MMG to suppress enemy targets is a more viable strategy now.

Minimap Changes

Some of you have tested this with us on the playtests, for those who don’t know: you are no longer able to see all friendly players on the minimap. You will see your squadmates and SL, other SL’s, dead and downed friendlies and friendlies that are in vehicles. The reasoning behind this has two sides. On the one side and the main reason why we did this, is the simple fact that we can reduce the events we send to the UI by an average of 30%. This becomes higher the more people there are on the server. And this applies 4 times per second! On the other side there is the gameplay aspect. Less info on the minimap increases the fog of war. The need to stick with your Squad in order for the team to somewhat know your position and not accidentally dropping arty on your head. This change requires more teamwork, more coordination and be sure to ID your target before you shoot. It could be a friendly wandering around.

Max. Player Count

Yeah, we are not excited about this one but for now the max player is reduced from 80 to 64. At least for now. With the current content 64 players is still more than enough to have an enjoyable experience. We have made some other changes to accommodate for it as well. Max. Squad size has been reduced and the kit limitations have had a look over too. Most notably the medic which is now limited to 1 per squad instead of 2. To get the latest info check out the community guide on the wiki:

https://wiki.bf3reality.com/en/guides/community-guide#joining-a-game

FOB Construction and Destruction

Although in the pipeline for some time, we finally got around and completed the first iteration of modular construction. When an FOB is placed it will no longer just plop be there. It will gradually build up. Foundation first, walls second, then the camonet and last the radio beacon which completes the FOB and makes it spawnable for the team. To place a FOB you will need 2 squadmates and the Squadleader with less than 40 players on the server. You will need 3 Squadmates and SL with 40 and more players on the server. Friendly presence is required to finish construction! Good thing to know, you have 2 minutes and 50 seconds to finish construction otherwise the FOB is considered lost and will be deleted. You can still overrun an FOB like you normally would. However, enemies now need to outnumber or equal the number of friendlies in a given radius to trigger the overrun. Stay on it for 2 minutes, 30 seconds and the FOB will start to deconstruct. Once deconstruction starts there is no way to save the FOB, so make sure you get there before the overrun is complete. Another new way to get rid of an enemy FOB is to blow it up! To do so, you place 3x C4 on or very near the radio beacon inside the FOB. Again once the radio beacon is blown up the deconstruction starts. Good thing to know the radio beacon keeps beeping when an FOB is overrun so make sure you control it when trying to overrun it.

Kit Change on FOB

With the construction fixed we also managed to get another nice feature for the FOBs in. You can now inside an FOB access your Tac-Rose and change your kit. Kit limitations still apply and you can only change your kit every 2 and 30 seconds. Situation change on the battlefield? Wrong kit after revive? You now have a way to solve your kit issues with ease!

Beyond 0.3.0

The roadmap has been long gone and abandoned and we need to update it again soon. But here is an overview of some of the issues you can expect us to work on next.

FOB Mechanics

With the first iteration of FOB construction implemented it is time to experiment expanding it. The first focus will be constructable/placeable cover. Think sandbags, razor wire and hesco blocks. Ori-buhbut already started experimenting with this and results are promising! A hint of his progress is already visible in the Tac-Rose. Something also high on the priority list is bringing back the ammo resupply back to the FOBs. To do so we are also looking into bringing a first iteration for logistics, construction and ammo points. With this we can limit the amount of emplacements and ammunition in a natural way while also providing the team with incentive to actively care for the FOBs.

Below this on our to do list are of course the weapon emplacements. This is going to require some research. Not only are we dependent on bundles but also we need to convert the actual weapons into emplacements. A tough task but with promising results so far.

Second Vehicle iteration

With the release of the IFVs and all the transport options we have entered the vehicle territory, or rather dipped our toes in. After this patch we are going to expand multi-crew vehicles. With the following being planned first:

  • BTR 90
  • AAV
  • Littlebird scout helicopter
  • Z11 scout helicopter

With these new helicopters also comes the need for counter-measures, already teased in the leaks but the Scout helicopter release is coupled with the release of the Anti-Air kit. Both teams will have access to a shoulder fired guided missile to counter the deadly potential of these scout helicopters.

While it is nice to not have to worry about crewing vehicles with special kits, we are going to move away from that by introducing Squadtypes. These Squadtypes will determine what vehicles you can crew and what kits you will have access to. Some of you might have seen the MP7 tease for the US pilot kit. There are 3 Squadtypes planned: Armor, Air and Infantry. - The Armor squads will be able to crew IFVs and in the future tanks and other wheeled or tracked vehicles with weapons.

  • The Air squads will be able to operate the Helicopters and Jets
  • The Infantry squads will be able to operate Jeeps, Buggies and the other smaller transport vehicles.

All these squads will be able to hop in the passenger seats of all vehicles.

Maps

With the introduction of Bandar Desert Skirmish, the first step in unlocking the potential of the full map has been set. Next is expanding the playable area far and beyond the vanilla map area. New POI have already been created outside the skirmish area but there is still lots of room to improve and dress-up the map.

Another map that is in the pipeline is ‘Alborz Mountains’. Teased before and initially scheduled to be released with 0.3, this map needed a lot more work because of some missing collision. Luckily we have revamped the Ministry of Forestation and trees are being planted as we speak. While we are redoing the trees, we also are beautifying the existing POI with some props, objects and other stuff.

We are (still) Recruiting

Reality Mod is nowhere without contributors to the project and we are pretty much always open to new people. We are looking for:

  • Community Manager
  • Project RIME (C# and experience with WPF, knowledge of DirectX would be a plus)
  • Requirements Engineer / Business Analyst
  • Game / Backend Developer (Lua / Java)
  • UI / Web Developer (TS/JS/Vue)
  • Discord Bot Developer (Discord API, TS/JS, Postgres)
  • Level Designer
  • Visual Environmental Designer
  • Lead Quality Assurance
  • Quality Assurance Member
  • Game Marketing Expert
  • Content Manager

If you think you fit any of the above titles, please make sure to fill out this application and a team member will be with you shortly. Please do not reach out to a team member directly unless there is no response within a week. https://forms.gle/6ewSyXZDCD5Vax7VA

Full Changelog:

UI:

  • Implemented tips and tricks to Loading screen and Player menu
  • Mines will be auto-marked on the map for friendlies. SLs should still delete these markers.
  • Limited the number of updates from the UI by a very large amount. You will notice that on the Mini map you can only see squad members, other squad leaders, and vehicles. You can no longer see other team members unless they are wounded. Not only will this improve stability for the UI, it will also require Teams to communicate better on their positions and needs from others. We are aware that this will take some time for players to get used to and will lead to more Team Kills. Think before you shoot! Visually confirm that the player you are about to shoot is in fact an enemy,Ask your Squadleader if he knows about friendlies in the area, Stick with your Squadleader, to avoid getting shot by friendly fire.
  • Lots of other fixes and optimizing to the UI including resizing those huge vehicle images and adding Quad and Dirt bike images.

Vehicles:

  • Implemented modified multi crew LAV.
  • Implemented modified multi crew BMP.
  • Implemented modified Dirt Bike.
  • Implemented modified Quad Bike.
  • Venom has been tweaked.
  • Disabled vehicle suppression for IFV crew.
  • Humvee and Vodnik passengers will now be protected from explosions.
  • Disabled IFV hit markers.

Maps:

  • Added Scrap Metal Skirmish.
  • Added Donya Fortress Skirmish.
  • Added Ziba Tower Skirmish.
  • Added Bandar Desert Skirmish
  • Added Alt AAS Layouts to Gulf of Oman, Sabalan Pipeline, and Armored Shield.
  • Added new VE presets for Azadi Palace, Ziba Tower, Donya Fortress, and Scrap Metal
  • Fixed a Culling issue on Scrap Metal.
  • Updated Karkand Apartments, more entry points and other surprises.
  • Implement training game mode

Gameplay:

  • Implemented Rifleman AP kit.
  • Implemented a backblast for LAT.
  • Added a min arm distance to LAT and GL.
  • Score system overhaul
  • RPK buff to match M249 SAW
  • Ballistics for bullets has been added
  • All weapon-sights are zeroed at a 100m, indicators up to 600m
  • Created backblast for rocket launchers
  • Stamina and Movement Overhaul
  • Suppression overhaul
  • Fix Auto-team switch on round end
  • FOBs will now be constructed/Demolished over time.
  • FOBs will now require squad members for construction.
  • FOBs will now be overrun or have construction prevented when enemies outnumber or equal the friendlies in a given radius.
  • FOBs will now require 3 c4s placed on the radio beacon to destroy
  • Squad members need to stay in the fob radius to construct it. Enemies need to stay in the radius until its destroyed
  • Max players have been reduced from 80 to 64 for maximum stability.
  • Max players per squad is now 6 instead of 8.
  • All kits have been re-balanced for these new player number changes. Most notably the medic which is now limited to 1 per squad instead of 2.
  • Players can now change their kit at a FOB (Use the Tac-Rose while in FOB).
  • AT Mines and Claymores will now affect everyone regardless of team.
  • Vehicle explosions are now more deadly to surrounding players.
  • Started collecting player stats

Other Fixes:

  • Fixed an issue where players could lose all their weapons and gadgets if they swapped kits too many times.
  • Fixed an issue with not being able to pick up all the claymores the player placed down.
  • Fixed an issue where players could sometimes reload gadgets more than the intended amount.
  • Fix Riverside Skirmish capture logic
  • Fix spawn radius on XP2 maps
  • Fix issue with Smoke grenades
  • Fix explosion effect from impacts that are below TimeToArm distance
  • Fix gadgets resupply more than the amount in the kit definition.
  • Fix an issue with calculating the number of players within a certain distance from a FOB and overall improvement to overrun logic.
  • Fix issue with VOIP position not updating

Known Issues:

  • Venom Flares cause choppy flight. Possibly due to supply sphere logic