Forts - [DEV] Blammo


G'day Forts Fans!

Well, it's been a long year, with a lot of bullets fired, and many a fort coming tumbling down. We hope you have enjoyed all the extra features and functionalty we have brought you, and all the great output from the modding community.

The EarthWork Games team will be taking a break for a couple of weeks to recharge. We have big plans for next year, but in the meantime we're bringing you the last fixes of the year, along with a sprinkle of festive spirit to the game...



Release 2018-12-23a
Add: button to download featured replays, instead of automatically at start
Add: video card model and driver version to log
Add: message box when uploads are still in progress on exit
Add: in-game message box to query player about desync report upload
Add: notification and progress bars when crash or desync uploads are in progress on exit

Optimise: don't calculate checksum twice when writing a replay keyframe

Fix: some players have a black screen on start
- Add a checkbox to enable refresh rate selection
- Add a message box the first time a display mode with frequency is set
Fix: crash in Node::AddToChecksum when team projectile types are not even
Fix: replay desync when placing ropes
Fix: BreakStructure can destroy nodes when close to the ground
Fix: translation not provided if mainmenu has no strings table for the current language
Fix: application VSync option is not used (was always on)
Fix: crash when pressing Edit with no map selected
Fix: disconnected close ranked matches are always given to Team1
Fix: fires not extinguished for victors in TDM
Fix: when all items in a HUD tab have been maxed out, an item in another tab can be selected
Fix: when a device is selected which can't be built, it's not possible to select structure
Fix: the lobby chat edit box can overflow
Fix: players can spam the chat, causing performance issues and disconnection for others
Fix: desync/crash when a player replaces a material adjacent to where another player is placing a device
Fix: weapons can fire after being disconnected due to latency
Fix: tick profiling is inaccurate
Fix: seams are visible in HUD background
Fix: desync files are not considered to be uploading during the 5s delay
Fix: hung workshop downloads cause a loop which spams log, network and CPU
Fix: chat history workshop download buttons sometimes reappear

Remove: obsolete colour depth display/selection from options screen

Happy Holidays!
EWG
Dec 6, 2018
Forts - [DEV] BeeMan


G'day Forts fans! We're happy to announce a massive update to the game. We've been slogging away in the background making many improvements to the experience. A long list of fixes address common issues, and we've added some new features for modders to take advantage of.

Headline items:
  • Greatly improved performance
  • Fast initial battle loading
  • Multi-monitor support
  • Monitor refresh rate support
  • Overhauled windowed mode
  • Featured replays
  • In-game crash and desync reporting
  • Automatic deletion of old files

We'll be using the featured replays to highlight competitive or otherwise entertaining battles. New players are encouraged to watch these to get useful tips on how to up their game. If you want to submit a replay for consideration, contact us at the Official Forts Discord server.

As with any update there may be some teething issues. Let us know if you come across any problems. The Discord is the best way to talk to us, or post in the bugs discussion.

Special thanks go to Romerolagus, Ximsa, 42 scientist, BoberetoGaming, Joepocalypse, KingBenjai, Endo, and General Miau for their invaluable assistance in testing this update.

Build 2018-12-06a Changelist
Add: target monitor can be selected (primary by default)
Add: moveable, resizeable windowed mode
Add: preload textures in background to reduce initial load period
Add: refresh rate selection included in resolution list
Add: featured replays are downloaded automatically, with notification on main menu
Add: options to automatically delete old files (default to 4 weeks)
Add: allow reflection to be modified on a material per projectile basis
Add: hide news items if the 'start campaign to learn' tip is visible to avoid overwhelming new players
Add: DamageMultiplier applies between projectiles in air-to-air collisions
Add: resume button to campaign instant replay
Add: a weapon script ProjectileAngle function for predictable angle offsets
Add: Replace WeaponRequiresSpotter and WeaponIsSpotter with dynamic queries to automatically handle new weapons
Add: SmallArmsPrioritiesExclude and HeavyArmsPrioritiesExclude to prevent some weapons being targeted by AI (e.g. sandbags and derrick)
Add: save window position into settings (save config on exit to retain this)
Add: checkbox to center window on start
Add: non-sequential tab stops can be used to support lists
Add: invisible and disabled tab stops are skipped to support duplicate ids on different tabs
Add: tab stops for resolution, key binding, language and keyboard list items
Add: allow difficulty levels to be set in the mission script:
AIDifficulty = { Easy = 0.1, Normal = 0.4, Hard = 0.8 }
Add: HUD buttons to force weapon placement left, right, or auto
Add: update Fmod version to 1.10.09
Add: DeflectedByTerrain for projectiles and beams to reflect off terrain
affected by VariationFactor and SpeedLossFactor
Add: allow a projectile to execute an action on reflecting from a specific terrain/material surface
if the reflection fails then return a value and perform damage and impact effect instead
Add: allow beams and projectiles to trigger EMP on intersecting doors and devices, including when EMP radius is 0
Add: support EMP beams disabling missile guidance
Add: support projectiles having a preferred up (FlipSpriteFacingLeft flag)
Add: allow projectiles to survive under the world bounds
Add: crash files can be send to devs from within the game
Add: dynamic main menu for news, links and featured YouTube videos
Add: enable edge scrolling in windowed mode when Direct Input is in use
Add: lasers blocked by shields open doors at the reflected angle
Add: hotkeys for weapon facing (Ctrl + Q, Ctrl + W, Ctrl + E)
Add: performance stats after game: fps, tick time, physics time, AI time, checksum time
Visibility can be controlled with Performance.LogLevel in db/constants.lua
Add: ReflectDamage factor to allow projectiles to impart damage to structure upon reflection
Add: uncomplied commander.lua scripts to ease modding of commanders
Add: Mods.VerboseLogging constant to allow modders to see what files are being searched for
Add: AI.DebugLevel to control when AI shows config and detailed logging from constants
Add: Performance.LogLevel to control where to log profiling to
Add: AntiAir damage multiplier for beams to adjust damage applied to projectiles

Balance: increase Firebeam aiming arc
Balance: reduce build cost of 20mm from 650/4500 to 600/4000
Balance: some additions and reordering of AI targeting priorities
Balance: decrease stddev of cannon by 30% and remove drag of cannon and 20mm cannon
Balance: remove splash damage of repair station
Balance: reduce running cost of repair station by 20% (20 -> 16)

Optimise: calculation of min and max fire radius
Optimise: remove temporary string parameters from GetProjectileBlueprint*
Optimise: remove redundant GetType calls from Device::GetCentre*
Optimise: PhysicsManager::IntersectBeam only needs to do PointInGround test for first segment
Optimise: Vector3D::DistTo and DistSq ignores z coordinates
Optimise: TerrainManager::PointInGroundGroup does circle test first
Optimise: don't update bracing plate sprite in PhysicsManager::DrawNode
Optimise: coarse bounding circle test for projectiles intersecting with beams
Optimise: cache AimingDisruptionMax rule for Weapon::GetMinFireRadius and Weapon::GetMaxFireRadius
Optimise: only preload ambient environment effect on World start
Optimise: DeviceEditor::AimSlave avoids unnecessary call to IsAbleToFace if the slave is facing the same direction as master
Optimise: AimWeapon doesn't recalculate can face left/right if noPanning is true
Optimise: Weapon::FindDoor operates progressively, storing state in FindDoor
Optimise: Weapon::FindDoor uses LinkFilter team to limit the search
Optimise: added mMaterialReplacement to avoid searching for standin link to discover new material in PhysicsManager::DrawCladding
Optimise: removed checksum on fire segment temperature
Optimise: reduce outer loop of ReactorsClaimForts::Apply when looking for ground device needing conversion
Optimise: combine search for specific team and any closest device in ReactorsClaimForts::WithinRangeOfMarkedGroundDevice
Optimise: avoid recalculating up and right vectors in SpriteEdging::Draw
Optimise: DeviceManager::PreviewStructureOverlapInBackground and PhysicsManager::RecessOverlappingStructure intersects with other teams
Optimise: build lists for each structure/material to streamline rendering of struts, cladding and fire
Optimise: CladFoundations enumerates links of fromNode instead of testing every node
Optimise: remove unnecessary calls to UpdateCladBothSides
Optimise: DeviceManager::AddDeviceObstructions only needs to add edges facing the source
Optimise: TerrainManager::AddTerrainObstructions only needs to add edges facing the source
Optimise: PhysicsManager::GetVisibleAngles uses mPrimary flag instead of mVisited to add struts only once
Optimise: PhysicsManager::AddObstruction exits early if there are no angle brackets
Optimise: DeviceManager::DeviceInGround detects intersection with specific ground block before testing it in detail
Optimise: remove Device::mPositionGraphical from simple data area
Optimise: TerrainManager::DoesCollisionBoxIntersectWithGround remove PointInGround center point test
Optimise: TerrainManager::DoesLineSegIntersectWithGround remove PointInGroundGroup test
Optimise: bake IsLineSegOutsideExtents epsilon addition into extents, and pass in block reference
Optimise: bake static ground filling and edging into display lists
Optimise: don't calculate teamIndex in DeviceManager::DrawDevices unless necessary
Optimise: build lists of fixed and dynamic nodes, and use in DrawNodes to simplify inner loop
Optimise: minor improvements to DrawNodes and DrawNode
Optimise: minor improvement to DrawCladding
Optimise: spotters in Weapon::UpdateSpotter() aren't updated for AI or when spotter efficiency is 100% already
Optimise: multi-threaded physics, structures and projectile updates are dispatched to cores as work completes
Optimise: move mMicroStepForce into complex data, as it doesn't need to be serialised
Optimise: move projectile oversamples into the inner loop to reduce cache misses
Optimise: remove over sampling from projectile physics
Optimise: remove mGravity from PNode, no longer necessary
Optimise: UpdateTemporaryBraces uses HasRealLinks instead of RealLinkCount
Optimise: UpdateCladBothSides can use mPrimary flag instead of clearing/setting visited flag
Optimise: PaintStructures and UpdateStructureState can be called after AI update to avoid extra call to UpdateStructureStruts
Optimise: PhysicsManager::UpdateLinkState and UpdateDoors can use mPrimary flag instead of mVisited
Optimise: reduce the number of ray casts from missiles to turn
Optimise: PhysicsManager::DrawLink doesn't need to look up native material in most cases
Optimise: calculate checksum progressively (except first one to quickly flag data desyncs)
Optimise: use Hash instead PrimeHash for game state checksum
Optimise: SnapLink can use structure bounds to disregard many links
Optimise: SnapLink tests platform angle before PassesLinkFilter for faster device placement testing
Optimise: SnapToNode uses circle/rectangle test against structures
Optimise: use MarkStructureBreadthFirst for marking structures instead of DFS MarkStructure
Optimise: MarkStructureBreadthFirst can defer search for parallel link
Optimise: MarkStructureBreadthFirst can avoid calls to GetAttachedDevice
Optimise: FindDevicePlatform can reject nodes that aren't of the correct team
Optimise: FindDevicePlatform doesn't need to use GetAttachedDevice
Optimise: SnapDevices reject non-matching teams early
Optimise: UpdateNodeMass caches table pointers, defers getting parallel link until necessary uses HasRealLinks
Optimise: DumpWorld drag and door state

Fix: AI getting stuck on some missions: 205, 208, 305 (remapped nodes)
Fix: Some campaign mission replays desync (removed ropes)
Fix: Escape then resume during campaign replay desyncs
Fix: pressing esc doesn't bring up the pause menu during intro cutscene
Fix: Hurricane build speed nerf not applied to weapons
Fix: Player's faction is incorrect in campaign third part
Fix: time limited games don't show the duration exactly when timed out (4 seconds short)
Fix: extrusion tip shows frequently when building rope
Fix: teams can get out of sync
Fix: player can be ready on return if they were toggling ready before start
Fix: changing team just before joining can cause a crash
Fix: Hurricane, Firebird and Warthog weapon mods not applied correctly
Fix: unnecessary init.dat missing error
Fix: standalone device costs are out (ap sniper, swarm)
Fix: going to map selection screen while host starts game breaks loading
Fix: client can rejoin when host quits, and gets stuck waiting
Fix: don't execute UpdateWeaponCursorScaling when using windows mouse
Fix: UpdateAutofire uses different angles to open doors and fire
Fix: crash when colliding non-projectile nodes
Fix: target painting inconsistent when cursor is in front of and behind the terrain
Fix: missiles can target own structure and devices if the last chance spotter targets them
Fix: paint target fights when two players are trying to use the same spotter
Fix: don't allow allied spotters to be used to paint targets in TDM
Fix: some console logging is hidden at start
Fix: terrain join command doesn't work
Fix: weapons make hurt effect and break out of repair when hit by a zero-damage projectile
Fix: main menu in 4:3 aspect ratios is not centered vertically
Fix: mousewheel zooms view when cursor is outside of window
Fix: cursor doesn't slow down when inside an aiming arc
Fix: two cursors show at top of window
Fix: Canyon background cloud tiles clipped in 4:3 aspect ratios
Fix: some screen resolutions missing due to frequency filtering
Fix: enumerate screen resolutions for current monitor
Fix: campaign screens not centered vertically (4:3)
Fix: Swap mouse buttons, LMB + RMB to repair, lift RMB, then LMB -> stuck in pan mode
Fix: host can resume finished game after they have paused, increasing chance of problems
Fix: crash when mission scripts List value is invalid (now shows error)
Fix: always enable pause menu when showing result, and prevent disabling afterwards
Fix: mTrailEffect disappears if projectile velocity is zero
Fix: a laser won't reflect off the same shield twice
Fix: memory leak in Monitor::Update (clobbered std::string)
Fix: secondary beam damage vs materials is not modified
Fix: client is able to hide pause menu if they bring it up before the host
Fix: config not saved after dismissing the 'start campaign to learn' tip on main menu
Fix: add extra slots to the lobby to compensate for Steam leaking slots
Fix: lobby.dat can be deleted while network connectivity is lost
Fix: crash in DeviceManager::CanTypesBeGrouped when types are invalid
Fix: lobby is not left before clearing in Multiplayer::OnSteamServersDisconnected
Fix: CompositeSprite & operator= was not performing a deep copy of mRoot Node
Fix: ProjectileParams setup and use can corrupt CompositeSprite
Fix: Explosion::SparksEffect::Update strcat_s could crash if string was too long
Fix: DetonateOnExpiry team passed to SpawnEffect is invalid, causes crash
Fix: DetonateOnExpiry does not have inter-frame precision
Fix: Esc doesn't bring up menu when watching a replay in campaign
Fix: minigun damage multiplier vs bracing and laser overwritten by weapon_pack mod
Fix: AI can build through player's structure
Fix: reactor health must be rounded down in the stats panel
Fix: cycle HUD item effects and other sounds not triggering
Fix: crash when a weapon or projectile action can't find a projectile type
Fix: replay desyncs due to use of GetLocalTeamId in mission scripts for disabling weapons, etc.
Fix: weapon_pack projectile_list.lua shows error 'damagedmissile2 missing' if skirmish mod not active
Fix: if there are no replays the open replay in explorer button is still visible and crashes when pressed
Fix: weapon reloading and HUD item cycle sounds are audible when sounds muted
Fix: length of space character is incorrect around string substitutions
Fix: tip show, hid and lobby alert sounds played when fx is muted
Fix: AI FindTarget only falls back to structure targeting for heavy weapons
Fix: AlienFX is disabled the next time around if it fails to initialise
Fix: ai.lua exception when a new weapon is added and not included in some tables
Fix: new (unknown) devices which are not added to SmallArmsPriorities and HeavyArmsPriorities are not targeted by the AI
Fix: move data.AttackHintMaterialPreference into static data for keyframe efficiency
Fix: In DeviceEditor::AimSlave, if slave can't face either direction it doesn't aim at all
Fix: unbinding a key isn't permanent after restarting
Fix: duplicate actions (e.g. FireWeapon) give warnings for their key after rebinding one
Fix: duplicate actions warning colouring unecessarily applied (e.g. FireWeapon)
Fix: key navigation is enabled when binding the key
Fix: tab stop is centered on the control, not the bottom left
Fix: Weapon::FindDoor only finds doors at weapon's horizontal angle
Fix: door/background preview glitches briefly when cycling weapon previews in place
Fix: ApplyMod doesn't allow mods of mods to mod original files if the file wasn't found in the mod
E.g. to mod new weapons for a commander
Use path such as mods\sandbags_large\mods\commander-bpo-scattershot\mods\sandbags_large\devices\sandbags_large.lua
Fix: Negative mass devices cause instability when linking
Fix: AI can connect to neutral joints that are falling, preventing further progress
Fix: step/long forts have ropes that fail to connect on Wingman 4v4
Fix: script exception when creating a flaming version of a projectile with WeaponDamageBonus not set
Fix: temporarily braced nodes can float indefinitely if they are attached to a node deleted by PhysicsManager::DeleteNode
Fix: shrapnel can penetrate terrain at close range to flak detonation
Fix: can't build neutral structure close to player teams in map editor
Fix: map editor node preview doesn't obey ownership and support rules when nothing selected
Fix: Different players, including AI, can connect to a neutral structure at the same time as player
Fix: some foundation cladding is missing
Fix: foundation cladding can cross from one side of a tunnel to the other
Fix: temp braced node left floating after break
Fix: remove debug message from Warthog
Fix: Sleep(8) in Main::Execute is unnecessary and can reduce performance
Fix: classic forts are being selected, matchAllForts was true
Fix: valid TDM forts are being missed
Fix: AI-TDM test doesn't run with TDM teams on side 2
Fix: missing sprite console error; load ui arrow sprites before initialising the console
Fix: extrusion can snap to the same node, causing a node to link to itself
Fix: being out of focus when the game starts may freeze the game and cause replays to freeze during seeking
Fix: AI closes doors on weapons too soon
Fix: invalid enum passed to texture mag filter
Fix: negative values passed to scissor test
Fix: Debug object could possible enter critical section and never leave it
Fix: crash or physics explosion when loading out of date campaign fgs
Fix: crash or physics explosion when pasting out of date structure clipboard
Fix: beams don't respect the DeflectedByShield flag
Fix: disabled doors make open/close sounds
Fix: some out of date maps cause errors for using dofile
Fix: damaging an ignited missile or igniting a damaged missile extends its lifetime
add KeepLifespan flag to limit created projectiles' lifespan to that of their parent
Fix: screen shaking with world extents that are wider than they are tall
Fix: slaves on sloping platforms have incorrect aim when refired
Fix: Workshop mods can be of different versions, causing desyncs
Fix: Workshop item downloads can get stuck
Fix: replacing a device platform with armour attempts to use backbracing
Fix: visible angles drawn out the back of a weapon when facing wrong direction
Fix: visible angles are not drawn through existing doors when previewing a weapon
Fix: laser is not blocked by self when reflected
Fix: laser shoots through self when reflected
Fix: explore replay file button visible without a selection
Fix: mission 104 doesn't have terrain skirt on the left side
Fix: spelling of amendment in Black Gold campaign
Fix: mortar power text shrinks relative to aiming arc when zoomed out
Fix: Mission completion achievement can fail to be awarded
Fix: Mission 308 “Hydra” able to get “top or bottom” fort achievement by destroying middle fort
Fix: fog and line width OpenGL errors
Fix: tab stops/list key navigation broken on options screen key ListBoxes
Fix: list key navigation doesn't support two simultaneously visible ListBoxes
Fix: key navigation in editor menu, replay select, map select, and multiselect
Fix: strut replacement can be used to overlap struts sharing a joint
Fix: world dump of ropes shows link progress as inf
Fix: preloading textures to different degrees causes desyncs
Fix: Catacombs has blank terrain surfaces
Fix: solar panel splits in half at full length
Fix: crash if there is no impact effect for projectile
Fix: shield states get out of sync when an emp hits when in warmup
Fix: when a weapon recesses a FG strut, the next time it's replaced the strut is permeable to projectiles
Fix: letterbox shows in replay of resumed linear missions
Fix: replacing the material starting struts allows projectiles to pass and shows holes

Remove: map editor Copy tab (collapsed into Edit tab)
Remove: various console spam

Release 2018-12-12a hotfix Changelist
Add: RefreshRateSelection to settings.lua to allow disabling of refresh rate feature
Fix: crash on startup for some video cards (glGenerateMipmaps missing)
Fix: some players appear to have their refresh rate incorrectly selected
Fix: desync when igniting projectiles with firebeam
Fix: material gets replaced when selecting adjacent nodes
Fix: shield background doesn't show during construction or destruction
Fix: infinite loop when deleting the middle node of a three node structure in the editor
Fix: infinite loop when deleting a node connected to another node in editor, both temp-braced
Fix: if a weapon becomes neutral autofire will continue to work, without costing resources
Fix: swarm missile can be reloaded instantly by disconnecting it mid-launch
Fix: HUD items sometimes move such that the selected item isn't visible
Fix: weapon player name text too small or not visible
Fix: start sound cutting out sometimes
Fix: TDM fort ownership indicator effects can get out of sync
Fix: A Workshop mod can't mod other Workshop mods, including for specific commanders
Fix: scroll speed of HUD item list is too slow
Fix: releasing the HUD item list scroll left/right buttons does not stop the scrolling
Fix: all mods are unsubscribed on Linux/Proton
Fix: shield can be turned on near instantly by deleting then undoing
Fix: spawning game_start.lua and tdm_highlight.lua on the first frame can cause timing issues
Forts - [DEV] BeeMan
G'day Forts fans! We've become aware of a cheat being used to gain an advantage over other players. This update will now cause a Data desync if this is used, or other modifications are made to your local data files. If you experience a Data desync immediately upon entering a multiplayer battle, follow this procedure:

1) Right click on Forts in Steam
2) Select properties, then go to the local files tab
3) Select Verify integrity of game files

Any changes to your files will be reverted.

Note: this will not remove files that have been added. The game preloads all scripts in the effects folder, including those of active mods. So adding any will still cause a Data deysnc. If this happens, delete the extra scripts, or delete all scripts and then verify the game files to get a new, unpolluted copy. If you are still having trouble, delete the data folder and then verify, or re-install Forts.

HOTFIX 2018-09-17a
Add: DebugPixelFormat option to avoid DescribePixelFormat, potential cause of crash for a user
Balance: Firebeam penetrates at least 90 after armour (reduced from 120)
Optimise: only preload ambient environment effect on World start
Fix: scripts and images can be edited to expose hidden information (now causes Data desync)
Fix: link initial hitpoints not updated when backgrounding a strut
Fix: ExplosionCache::LoadExplosion adds effects even if they're already loaded
Fix: EMP is triggered when ignited by Firebeam
Fix: flaming warheads turn into damaged warheads when hit, not damaged flaming warheads
Fix: crash when sending files during a desync report

HOTFIX 2018-09-18a
Fix: some mods cause Data desyncs
Forts - [DEV] Nozehed

A huge congrats goes to our latest tournament winner Ximsa! It was an awesome tournament showing some wicked Forts skills. The final was particularly exciting. Here's the final results...

First: Ximsa
Second: Toulck
Third: Joepocalypse

The top 3 finalists also won a key to Airships: Conquer the Skies

The bracket can be viewed here.

The awesomely supportive Smash Gaming and
Project Incursus once again joined [DEV] Nozehed as co-hosts and you can watch the edited video of the tournament here...

https://youtu.be/QUWkRWdNvCw
Thanks for watching and hope to see you at the next FORTS Tournament!

EWG
Forts - [DEV] Nozehed

G'day FORTS Fans!

Qualifying for the FORTS Tournament XIII is now closed. Players will have to be ranked in the top 50 of the FORTS 1v1 leaderboard to enter.

If you are in this list, you have qualified! Here’s how to enter the tournament...
  • Join the FORTS Discord
  • Send a direct message on Discord to [DEV] Nozehed saying you want to enter the tournament.
  • Your name on Discord and Steam have to match.
  • No long, obscure or offensive names allowed.
  • At this stage you will be entered into the tournament bracket as a competitor.

WHEN
  • Tournament starts August 18th 4pm EDT
RULES
  • 1v1 Ranked
  • Single Elimination
  • 15 minute battle time limit
  • Ton of Guns enabled
  • Commanders enabled
  • Draws decided by total damage inflicted
  • 16 competitors max
  • No suicides
  • Late or missing players instantly forfeit
  • Finals match is best of 3

STREAMS
EarthWork Games Twitch Channel
EarthWork Games YouTube Channel
EarthWork Games Mixer Channel
Smash Gaming Twitch Channel
Project Incursus Youtube Channel
xRayz3n's Twitch Channel (French)

THE BATTLEFIELDS
(chosen randomly during the tournament (the list may change)

Abyss


Arctic Span


Balls


Boxed In


Catacomb


Hang Time


Hillfort


Ice Cave


Ledge Grab


Moorings


Outstretch


Penguin


Pillars


Skylands


Tundra


Vanilla



note: Earthwork Games reserves the right to make changes to this event as needed
Forts - [DEV] Nozehed

G'day FORTS Fans!

We're still coming down from the excitement of the last tournament, but we're turning up the heat again with our first 1v1 ranked tournament! Competitors will have to be ranked in the top 50 of the FORTS 1v1 leaderboard to qualify.

WHEN
  • Sign up for qualifying competitors will be opened August 12th 8pm EDT.
  • Tournament starts August 18th 4pm EDT
RULES
  • 1v1 Ranked
  • Single Elimination
  • 15 minute battle time limit
  • Ton of Guns enabled
  • Commanders enabled
  • Draws decided by total damage inflicted
  • 16 competitors max
  • No suicides
  • Finals match is best of 3

STREAMS
EarthWork Games Twitch Channel
EarthWork Games YouTube Channel
EarthWork Games Mixer Channel
Smash Gaming Twitch Channel
Project Incursus Youtube Channel
xRayz3n's Twitch Channel (French)

THE BATTLEFIELDS
(chosen randomly during the tournament (the list may change)

Abyss


Arctic Span


Balls


Boxed In


Catacomb


Hang Time


Hillfort


Ice Cave


Ledge Grab


Moorings


Outstretch


Penguin


Pillars


Skylands


Tundra


Vanilla



note: Earthwork Games reserves the right to make changes to this event as needed
Forts - [DEV] Nozehed


Huge congrats to our new 2v2 ranked champions Sgitixix_ represented by Inixix Rudess and Sgitkene!

It was another exciting tournament full of action, skill, and controversy. Here are the top 3 results...

1st Sgitixix_ (Inixix Rudess and Sgitkene)
2nd Failure Guaranteed (Quxzcover and xRayzen)
3rd The 4(-2) Horsemen (Joepocalypse and Romerolagus)

Full results can be viewed here.

Check out our edited video of the full tournament hosted by Project incursus , Smash Gaming and [DEV] Nozehed...

https://youtu.be/J2WEPr5bYvI
Huge thanks to our hosts and competitors for putting on a great show. Stay tuned for the announcement of our next tournament.

As always, have fun playing FORTS!

EWG
Forts - [DEV] Nozehed


G'day FORTS Fans, just a quick reminder that the FORTS Tournament XII is on today! Streams are listed below. Hope to see you there!

TOURNAMENT BRACKET
Check out the live tournament bracket on The FORTS Challonge page.

WHEN
The tournament will take place July 14th at the following times…
  • 4pm Eastern Daylight Time (USA)
  • 1pm Pacific Daylight Time (USA)
  • 9pm British Summer Time (GBR)
  • 6am - July 15th - Australian Eastern Standard Time (AUS)

RULES
  • 2v2 Ranked Team Co-op
  • Single Elimination
  • 15 minute battle time limit
  • Ton of Guns enabled
  • Commanders enabled
  • Draws decided by total damage inflicted
  • 16 Teams max.

STREAMS
EarthWork Games Twitch Channel
EarthWork Games YouTube Channel
EarthWork Games Mixer Channel
Smash Gaming Twitch Channel
Project Incursus Youtube Channel
xRayz3n's Twitch Channel (French)

THE BATTLEFIELDS
(chosen randomly during the tournament)

Balls 2v2


Hillfort 1v1


Ledge Grab 1v1


Vanilla Large 2v2


Stalactites 2v2


Wingman 2v2


Snow Leopards 2v2


Caverns 2v2


Abyss


Boxed In


Catacomb


Skylands 2v2


Up On Down



note: Earthwork Games reserves the right to make changes to this event as needed
Forts - [DEV] Nozehed


G’day Forts Fans, the FORTS Tournament XII qualifiers are now closed. The following players have qualified…

  • 1 Zyler Kempo 1,407
  • 2 Спасибо, айс даун, пошел на хуй 1,325
  • 3 Falk 1,322
  • 4 Jorge-Stoom 1,320
  • 5 Beez 1,316
  • 6 potap619 1,306
  • 7 Mandra 1,298
  • 8 jack tea$e 1,285
  • 9 Inixix_ 1,281
  • 10 Trekjeft 1,279
  • 11 zeus7900 1,253
  • 12 xRayz3n 1,218
  • 13 Viktomus 1,211
  • 14 KingBenjai 1,210
  • 15 mnmwert 1,188
  • 16 Jordi El Niño Polla 1,173
  • 17 Bigmo 1,173
  • 18 Zylion 1,167
  • 19 SChocorencis 1,167
  • 20 Pyro 1,165
  • 21 Zune 1,160
  • 22 Nox_57 1,156
  • 23 sgitkene 1,156
  • 24 Romerolagus 1,136
  • 25 Savimbi 1,132
  • 26 Veltro 1,132
  • 27 danos1992 1,128
  • 28 [Sablière™] Histos 1,119
  • 29 Cardinal 1,118
  • 30 JLo 1,112
  • 31 Kiddash 1,111
  • 32 Nals 1,111
  • 33 XANH 1,110
  • 34 Darkrayne 1,109
  • 35 NLDroog 1,108
  • 36 Billy 1,107
  • 37 Utopia_Amaury 1,107
  • 38 christopher4010 1,104
  • 39 Herr V. Orragend 1,100
  • 40 ssb_radio 1,100
  • 41 TristessePower 1,099
  • 42 TonyChopper 1,099
  • 43 dabbbelju 1,099
  • 44 Ziox 1,098
  • 45 Nefael 1,098
  • 46 Raaaage Alert 1,097
  • 47 Shy Guy 1,096
  • 48 eLeCtrOssSnake 1,095
  • 49 ... 1,095
  • 50 WarManFR 1,094

If you are in this list, you have qualified! Here’s how to enter the tournament...
  • Join the FORTS Discord
  • Send a direct message on Discord to [DEV] Nozehed saying you want to enter the tournament.
  • Provide who your teammate is (they must be on discord too)
  • Provide a team name. (keep them short)
  • At this stage you will be entered into the tournament bracket as a competitor.

WHEN
The tournament will take place July 14th at the following times…
  • 4pm Eastern Daylight Time (USA)
  • 1pm Pacific Daylight Time (USA)
  • 9pm British Summer Time (GBR)
  • 6am - July 15th - Australian Eastern Standard Time (AUS)

RULES
  • 2v2 Ranked Team Co-op
  • Single Elimination
  • 15 minute battle time limit
  • Ton of Guns enabled
  • Commanders enabled
  • Draws decided by total damage inflicted
  • 16 Teams max.

STREAMS
EarthWork Games Twitch Channel
EarthWork Games YouTube Channel
EarthWork Games Mixer Channel
Smash Gaming Twitch Channel
Project Incursus Youtube Channel
xRayz3n's Twitch Channel (French)

THE BATTLEFIELDS
(chosen randomly during the tournament)

Balls 2v2


Hillfort 1v1


Ledge Grab 1v1


Vanilla Large 2v2


Stalactites 2v2


Wingman 2v2


Snow Leopards 2v2


Caverns 2v2


Abyss


Boxed In


Catacomb


Skylands 2v2


Up On Down



note: Earthwork Games reserves the right to make changes to this event as needed
Forts - [DEV] BeeMan

G'day Forts Fans! In preparation for next week's 2v2 tournament , we are bringing you a balance update, some post battle stats, and for the map makers out there, some procedural shape tools.

Balance Changes
Firebeam: Travels up to 160 units through bracing only, vs 120 with armour first.
Repair Station: Repair is 50% faster close to station.
20mm Cannon: Added extra shot (8 -> 9). Increased effectiveness against sandbags (20% -> 60% normal damage).
Minigun: Reduced build cost (200 -> 125 metal).
Turbines: Reduced upgrade build time (30s -> 15s).
Swarm Missiles:: Reduce damage (-8%).
Hurricane: Reduced build buff (20% -> 10%).
Scattershot: Small amount of variation added to mg, miniguns and 20mm during Scattershot active (10% of normal).

Post Battle Stats
Now, at the end of a battle, players will be presented with stats showing:
- Battle duration.
- Reactor health.
- Damage inflicted.



Map Editor Shape Tools
Inspired by Forts community member Ximsa, we have added procedural shape tools to the map editor. To get started, run the editor and type \terraform scripts/shapes.lua Help().



Build 2018/07/07a Changelist
Add: \terraform map editor console command
- First parameter is a script filepath
- Remainder is script to execute within that LuaState
Add: scripts/shapes.lua to be used with \terraform command:
- Help function, use: \terraform scripts/shapes.lua Help()
- Rectangle, Circle, Ellipse, Star, Polygon and Cog shape
- Sine, stepped, and teeth waves
- Translate, Scale and Rotate functions
Add: set edges of all selected blocks
Add: reset all overridden edges when setting the edge set of an entire block, except blank ones
Add: blank edges are always overridden, so they are not removed when setting the block surface
Add: apply flag and owner changes to all selected blocks
Add: show stats for online games (game duration, reactor health, damage received)
Add: shift ranked search bracket down if player is new (down by 150)
Balance: firebeam travels up to 230 units through bracing only, vs 120 with armour first (hotfixed, see below)
Balance: Firebird's firebeam goes for 3.2s (up from 2.5s)
Balance: Firebird's firebeam travels up to 30 units deeper in bracing
Balance: repairs 50% faster close to repair station
Balance: add an extra shot to the 20mm (8 -> 9)
Balance: 20mm more effective against sandbags (20% -> 60% normal damage)
Balance: reduce Hurricane build buff from 20% to 10%
Balance: miniguns cheaper (200 -> 125 metal)
Balance: upgraded turbines faster to build (30s -> 15s)
Balance: add a small amount of variation to mg and miniguns during Scattershot active (10% of normal)
Balance: slightly reduce swarm missile damage (by 8%)
Balance: give the sniper a lower view floor in A Bridge Too Far and in Sitting on a bomb
Balance: increase firebird max Firebeam penetration by 30
Optimise: course radius test in PhysicsManager::UpdateProjectiles doesn't factor in time step
Fix: use Windows mouse by default
Fix: can't select an edge set when there is no block selected
Fix: surface item is still highlighted when returning to tab
Fix: going from props tab to surfaces tab, terrain tab is also highlighted
Fix: incorrect vertex snapping when moving multiple blocks
Fix: crash when selecting a device with an upgrade that doesn't exist
Fix: messages from old sessions can be acted on and cause problems
Fix: crash in FileSelect::AddItem when overlay texture name isn't found
Fix: anti-air collisions are missed in some circumstances
Fix: replay desync in 'That sinking feeling', WMD and other missions
Fix: crash in CommandInterpreter handling client_team message when client is not found
Fix: client connected via LAN not removed when timed out
Fix: LAN clients don't time out
Fix: long display and item names cause buffer overflow crash in Multiplayer::SendSystemChat
Fix: unable to press mouse buttons or keys if game is not in focus during launch
Fix: ClientDatabase::HandleClientStatusMessage creates a client if an operation arrives on an invalid client
Fix: desync when client toggles ready status or team immediately before start
Fix: prioritise almost full lobbies in lobby search over ones with many
Fix: tips can be shown in TDM after player is defeated
Fix: subscribed Workshop items don’t appear correctly if SteamLibrary path includes non-ANSI characters (better Unicode support)
Fix: teams can get out of sync
Fix: changing team just before joining can cause a crash
Fix: Hurricane, Firebird and Warthog weapon mods not applied correctly
Remove: intro movie, now uses static image to avoid compatibility issues
Remove: disable infinite loop test to leave lobby (handled well enough by lobby filtering)
Remove: force use of windows mouse until changed to DirectInput

HOTFIX 2018-07-09a
Balance: reduce Firebeam penetration depth from 230 to 160
Balance: reduce Firebird's Firebeam penetration from 260 to 180
Balance: allow laser to rotate twice as fast and still damage/ignite backbracing
Fix: mAchievements is invalidated when deleted from script (Motherlode completion crash)
Fix: What are tiers ? mod causes stack corruption; increase maximum number of materials to 100
Fix: unable to get oil drop in Underbelly
Fix: oil drop animations slightly offset from Achievements panel
Fix: unnecessary init.dat missing error in log file
Fix: standalone device costs are out (e.g. ap sniper, swarm)
Fix: going to map selection screen while host starts game breaks loading
Fix: client can rejoin when host quits, and gets stuck waiting

HOTFIX 2018-07-09a (updated 2018-07-18)
Add: Sal Vaux link to Tournament video
Add: GetBlockCount() to let terraform scripts query all blocks
Fix: can't fire missile group if first missile is reloading
Fix: can run out of resources if building neutral structures in map editor
Fix: crash when script GetBlockSelection() receives an invalid index

HOTFIX 2018-07-09a (updated 2018-08-07)
Add: Sav Vaux link to Tournament XIII info and Workshop campaigns
Add: Don't show news if player hasn't started campaign
Fix: Lobby appears full in browser but actually has free slots
Fix: Lobby may not be exited correctly in case of network interruption

HOTFIX 2018-07-09a (updated 2018-08-13)
Add: Sav Vaux link to Tournament XIII info and Workshop campaigns
Fix: memory corruption and related crashes in projectile sprite set up

HOTFIX 2018-07-09a (updated 2018-09-04)
Fix: language selection screen contains no text
Fix: crash when a weapon or projectile action can't find a projectile type
Fix: console sometimes gets stuck in dropped position
- Make cross on console reset inactivepos to zero
Fix: ilLoadImage can fail to load PNG files for some users
- Fall back to loading all image types as a lump

Tournament XII
On July 14th we will be hosting a 2v2 tournament. Qualifying ends this weekend! Click
here to find out more!



Thanks for playing Forts. You can help us increase our player base by leaving a positive review on the game's Steam page. We'd really appreciate it.

Cheers,
EWG
...