Hello! This update has taken a lot longer than I planned. In hindsight, I should have released a new build after finishing the map controls, as that build would have included a couple nice features on its own such as the pre-flight loadout menu in Arena. However once I got started on the campaign UI, one thing led to another, and now the game has the full campaign framework the 1.0 final game will need. [h2]Campaign[/h2] [img]https://i.imgur.com/g2ivJXM.png[/img] The "Arena Demo" button has been replaced with the proper "Arena Campaigns" menu option. Campaigns are a string of missions, each with their own objectives. Missions are unlocked as you progress through the campaign, either by completing a previous mission, or achieving a total number of stars across the campaign. Stars are awarded by completing objectives, with secondary objectives awarding bonus stars. As mentioned in [url=https://store.steampowered.com/news/app/1347550/view/5032215335985456872]the roadmap post[/url], campaigns are one of the big features required before the game can be considered 1.0. [img]https://i.imgur.com/yXjlhOL.png[/img] At the moment, the only campaign available is a quick one I threw together to test that the progression and saving functionality works. This is a very critical function that is difficult to debug or fix once it goes live. I've done a lot of testing myself on the system. Finding and fixing errors that could put the persistent progress into a weird state has been where a lot of the delay and development time went. However, I didn't want to push this build to main branch until enough people have had time to bang on it that I can be reasonably sure it'll work. If all else fails, I've added a button to clear the persistent data in the syste settings. [img]https://i.imgur.com/ECsysFG.png[/img] The old Arena Demo mission can still be found under a separate campaign. It may still get used for testing future features in isolation, but will be removed eventually. A pseudo-tutorial/introductory campaign will be the first released, and will be released in parts. [h2]Map Camera[/h2] [previewyoutube=lKa_Xtp5uAw;full][/previewyoutube] Also [url=https://store.steampowered.com/news/app/1347550/view/5032215335985456872]on the roadmap post[/url] is improvements to the Arena map screen. The first step of this is a proper RTS style camera, the camera type that was always intended for this screen. WASD can be used to pan the camera, or the mouse can be dragged while the right mouse button is held. This is only the first of many improvements to the map screen. [h2]Selectable Loadouts for Instant Action[/h2] [previewyoutube=4FiRSk_TFwM;full][/previewyoutube] A small change, but a welcome one. Loadouts are now selectable before a flight in both the Arena map screen, and the instant action screen. This allows for more intuitive loadout selection in Arena, and the ability to use the loadouts you want in Instant Action rather than the ones hardcoded to the mission type. I frequently use this to test and practice with different weapon types. [h2]Missile Lofting[/h2] [previewyoutube=pn3Cjr1N7so;full][/previewyoutube] After getting pretty burned out by the campaign work, I wanted to do something quick and fun that I had been meaning to get around to for a while. A new navigation mode for missiles has been added, currently in use by the anti-tank missile AGM-65D. After launch, the missile will try to gain a little bit of altitude before coming down on the target. This extends the range slightly, and also gives a higher trajectory to help fly over terrain and other obstacles. [h2]Cheat Codes[/h2] [img]https://i.imgur.com/mFWUT2w.png[/img] A couple cheat codes have been added to the game. Cheat codes are meant for easier debugging of issues. Typical video game cheat codes like unlimited ammo and invincibility are simply gameplay options, and have been available for some time. [img]https://clan.cloudflare.steamstatic.com/images//40742388/7f55a7a0691b9c203cb7359b7768caa572a02ec1.gif[/img] One of the cheat codes allows for all AI aircraft to be selectable through the updated loadout dialogs. This is [b]not[/b] an officially supported feature. As the name applies, AI aircraft were not meant to be flyable by the player so they will be janky and/or strange. Flying the AI planes is something I often did to test various features of the game, and this was one of the most commonly modded features of the game, so I figure I can get two birds with one stone by making this easily accessible for those that are looking for it. [h2]Changelog[/h2] [code]New Features: - Aim time variation added (again) + Vehicles will take a minimum amount of time looking at the target before they can fire (typically ~1 second) + This value has a spread (e.g. 1-3 seconds) so that vehicles don't all fire synchronously at a target - Loadout screen can be accessed in the Arena map - Mouse driven camera for the map view + WASD by default to pan camera + Hold right mouse button to pan camera + Scroll wheel and QE can be used to zoom the camera in/out + Bindings can be adjusted in the bindings screen - Pre-flight loadout screen now supports selection of aircraft if >1 aircraft is defined as playable - Loadout info now displays selected aircraft - When an aircraft has no cockpit, the camera near clip plane adjusts to show third person cockpit - "Arena Demo" replaced with "Arena Campaigns" + Mission selector for arena campaigns + Dynamic text for start time, pilots, and selectable aircraft shown in mission description + Campaigns are a string of Arena missions + Completion of a mission + clearing objective earns stars + Arena missions unlocked throughout a campaign through either unlocking missions or earning stars + Locked missions show their pre-requisites when selected + Campaign progress persistently saved on Steam Cloud - Added button to clear campaign save data to system settings (nuclear debug option...) - Map category added to input binding screen - Lofting navigation type for missiles (currently used by AGM-65D) - Loadout screen now available in the arena map menu, and in the instant action menu - In instant action, player spawns with the loadout specified by the loadout dialog - Added cheat code system + "onlytheharrier" : Allows all AI aircraft to be selectable in the loadout dialogs + "surrenderbelisarius" : Unlocked all missions in all campaigns for the current play session Improvements: - Decreased muzzle velocity variation to decrease longitudinal spread of flak - Mouse sensitivity slider range changed from (0.1-0.8) -> (1-32) to work better at higher resolutions - Continuous mouse mode sensitivity now defaults to 10 (equivalent to old 1.0) - Clouds are hidden when in map view - Strategic info billboards when in map view instead of facing the camera (prevents awkward rotations) - Whether tickets are used as a mechanic or not is set by scenario (defaults to off) - Initial camera position in Arena is now defined by the scenario - Updated UI borders to be more consistent with each other - More verbose logging for Steam Cloud functionality - Main menu buttons are reactive in size - Modal dialog is a bit wider - Updated Rewired 1.1.38.3 -> 1.1.44.U2020 - Tweaks to the quick mission builder visuals - Campaign/mission loader will check subfolders of their respective directories Bugfixes: - When non-aircraft are destroyed mysterious, they are now "destroyed" rather than "crashed" - Selecting previous weapon on the map screen no longer causes NRE - Adjusted spawn offsets/rotations for all AI aircraft - Fixed mission and map loaders not correctly reporting as loaded - Button sounds can no longer be heard if the player is not in control of an aircraft (e.g. menus) - Removed legacy press build stuff (no visible changes) - Pre-flight loadout menu (e.g. as seen on map) shows correct store counts Balance: - AV8B roll rate increased 100 -> 140 - AV8B slightly more responsive to input (AngularDrag 120k -> 150k) - MiG-23/F-4 are more durable 120 -> 200 usable HP - MiG-21/F-5 are slightly less durable 175 -> 150 usable HP - Destroyable aircraft part HPs generally made tougher to ensure loss of essential parts (e.g. entire wing) results in loss of plane[/code]