This update modernizes all menus and UI-elements within them (buttons, text-boxes, drop-downs, etc.). The UI in Astrokill has largely remained unchanged for years, since gameplay has received the most attention. Previously, the UI was mostly implemented in Blueprints. I've nativized the UI (converted to C++) and added the ability to customize colors globally. Now, when you choose a different color-theme, the entire UI changes colors to match the in-game HUD!
HUD
Minimap now has double-lined border and a transparent inner region
Reduced saturation of blue-tinted cockpit/HUD-elements
Reverse "x" icon is now a "friendly" color instead of red
UI
Modernized menus by "ironing out" buttons and other widgets
Increased transparency on all UI-elements to improved readability
Buttons now support 3 different behaviors internally (normal, toggle, or slider)
Redesigned sliders to be more readable and easier to click-and-drag
Nativized key-selectors (found in controls-menu)
Nativized text-fields (found in joystick-menu)
Colors on drop-downs now match rest of UI (previously white and difficult to read)
FPS-display in graphics-menu now fades to red when low and always shows 1 fractional digit
Renamed color-themes to Classic, Fabulous, and Mono
Audio
Reduced default music-volume by ~30%
Added UI-sounds for combo-box-selections, slider-releases, and text-field-commits
Core
Changed capture-mode to 'Capture Permanently Including Initial Mouse Down'
Changed lock-mode to 'Lock on Capture'
Mouse is now always captured on launch (bCaptureMouseOnLaunch in DefaultInput.ini)
Eliminated the need for several UI-related interfaces to reduce architectural complexity
UI-elements now leverage delegates (instead of interfaces) to share information related to theme-changes, press-events, key-down events, etc.
Upgraded font-assets to eliminate all font-related warnings from build
Controls
Mouse-cursor can now click via the Space Bar (allows one-handed operation from the keyboard)
Bugs
Fixed issue with default camera-perspective not being saved if selected from main-menu
Update 0.9.9.0 - Upgrade to UE4.27, new Beltor fighter, new asteroids, and more
This update brings ASTROKILL into the modern age with the latest UE4 version (upgraded 4 versions from 4.23 to 4.27). An upgrade to UE5 will happen in the next major update! In the meantime, this update leverages the latest atmospheric lighting features from UE4 to add planetary atmospheres and improved stellar (literally) effects. I've replaced all asteroids and fragments in the game with higher resolution geometry and textures suitable for 4k gaming rigs. There's also a new heavy fighter that's playable in the Snare level. This fighter comes equipped with 3 turrets of a new variety. It has more of a Star Wars-y visual style compared to the other fighters. More fighters and frigates matching this style are coming (unless it's not well received).
The next update will take full advantage of the Chaos physics system, Lumen, and Nanite in UE5. With Nanite, I'll be able to eliminate most LODs. And, with Chaos, dynamic destruction of asteroids and ships will finally be possible. That means you'll be able to turn ships into a hundred bits of hot metal or carve out holes in asteroids with continuous gunfire. Cool stuff. Anyways, happy Easter!
Environments
Nearby stars are now rendered using Unreal's atmospheric lighting system
Added planetary atmospheres to nearby planets and moons (realistic, dynamic atmospheric lighting not seen before in AK)
Planets now have more spherical geometry (higher resolution)
Performed a lighting pass on all levels resulting in a generally brighter environment more suitable for space
Replaced all asteroids and fragments with higher resolution geometry and textures
Color-balanced all skyboxes to achieve a more space-y look (blacks are black and whites are white)
Gameplay
Added a new Beltor fighter (called the Goliath) that comes equipped with 3 new turrets
Created a new double-barreled, fighter-mounted turret (internally named the Weasel)
Changed the playable fighter in the Snare level to the Goliath
Adjusted the placement of static asteroids in all levels
Graphics & UI
Brightened and adjusted HUD-colors to appear more emissive
Shading-quality can now be adjusted from the graphics-menu
Added a thin circle to the center of the reticle to assist with aiming
Prograde and retrograde reticles are now smaller and no longer look like targeting reticles
Reticles and billboards will now blend additively when they overlap and no longer fade in/out
Missile-reticles are now thinner and smaller
Motion-blur is now auto-disabled when the in-game menu is shown (prevents menu from smearing)
Controls
Created a special actor to visually preview and debug joystick-mappings - features a crosshair mapped to pitch/yaw (should be centered in the circle), a 'thrust' bar mapped to forward/backward movement, a 'strafe' bar mapped to left/right movement, a 'lift' bar mapped to up/down movement, and finally a 'roll' bar mapped to the roll-axis
Reduced adjustable deadzone-range to an overly large deadzone
Core
Upgraded the Unreal engine from 4.23 to 4.27 (4 versions!)
Reduced size of Windows build from 2.6GB to 1.8GB (almost a gig smaller for both Windows and Linux builds)
Global post-processing is now easier to adjust on a per-level basis
Cockpits are now auto-spawned without needing to be manually placed
Improved and expanded upon the random-number library
Eliminated many unnecessary BP-interfaces
Update 0.9.8.2 - Fixes to Steam-achievements, reticles, and more
This update improves reticle-recognition and fixes a long-standing issue with Steam stats and achievements not being updated properly. In addition to various stats, like kills and deaths, I'm now recording spawns as well. With regards to reticles, a solid line is now drawn from the target to the leading reticle. I've thickened the outline and scaled down most reticles to make aiming more intuitive and reduce visual clutter. The next update will have an upgraded engine and a live preview in the joystick-menu to make calibration much easier.
UI
Added a solid line drawn from target to leading reticle
Doubled line-thickness on most reticles
Leading reticle is now smaller and bolder (makes aiming more accurate)
Re-animated leading reticle to make visually distinguishing it easier
Fixed a scaling-issue causing reticles to be oversized when camera is zoomed in
Fixed an issue with reticles not facing the camera exactly when near edge of screen
Reduced size of missile-reticles and narrowed visibility-range
Progression
Fixed an issue causing stats to not update on Steam, thereby making most achievements impossible
Added a '9 Lives' achievement that is earned after spawning 9 times
Added Steam-stat to record number of spawns
Audio
Added a slider to control dialog-volume
Fixed an issue causing some door-sounds to continue playing after ship was destroyed
Core
Added support for additional teams (previously only OBA and DOM were allowed)
Alliances between teams can now be changed on the fly from the level-script (OBA and DOM are hostile by default)
Added option to scale billboards along the YZ plane only (makes the solid 'line' to the leading reticle possible)
Billboards and reticles (which are billboards) are now fully implemented in C++
This update marks a fundamental shift in how the game works under the hood. There are a slew of improvements that increase performance, improve joystick & controller support, optimize HUD space, and future-proof the game. Besides a beefed up architecture, the HUD has been redesigned to improve the 3rd person experience and minimize on-screen clutter. I did a visual polish on all the environments to depict a harsher, brighter atmosphere. A new fixed turret-system is now present in several missions. I'm very happy with the visual style of this new asset and want it to carry over into a new, playable faction.
HUD
Thinned out many reticles and gauges to reduce visual clutter & obstructions
Rearranged gauges so that no gauge is obscured in 3rd person
Implemented an animated leading crosshair to emphasize the location to aim at
Added a flashing dot that is placed on the origin of the selected target
Fixed the orientation of holograms displayed for the selected target
Fixed an issue with target-reticles becoming gimbal-locked
Graphics
Increased the brightness of star-light in all levels to better match a real space-environment
Added a post-processing effect to over-expose highlights
Optimized how skyboxes are drawn
Fixed an issue with tracers being far too oversized at long distances
Modeled and textured the new Phalanx turret-system
Overhauled the "3D asset studio" accessible from the Graphics menu (assets are now only loaded one at a time and camera-controls are more intuitive)
Gameplay
Replaced many static turrets with a new "Phalanx" turret that is mounted on a floating platform (older turrets were mounted on broken debris)
Moved the 3rd person camera back significantly on all fighters to reduce the screen space taken by the player's ship
Reduced the difficulty of some particularly hard levels
Overhauled the objective-system to make level-scripting much more streamlined
Joysticks
Overhauled the entire system that feeds joystick-input to the player's ship
Mapping-presets are now read-only, while the "custom" mapping is always writable
Replaced the "bypass" option with a "none" option in the mapping-dropdown
Added a mapping for the Thrustermaster Airbus Sidestick
Fixed an issue with some fields not being writable
Offsets are now zero in most cases and multipliers are usually 1 or -1 (inverted)
IO
Added a mouse-sensitivity slider to control the speed of the menu-cursor without affecting gameplay
Wrote a new axis-input system to manage simultaneous input from multiple controllers (may have PTSD from this one)
Eliminated a slight lag from all controllers (keyboard, mice, joysticks, gamepads)
Rewrote/simplified internal timers responsible for mouse-movement and processing input in general (game should "feel" the same even at 500 fps!)
Tested VR with the Oculus Rift S (rather glorious)
Tested the Logitech F310 gamepad and the Thrustmaster Hotas X joystick
Core
Upgraded to UE4.22 (still behind, but I can get it caught up to 4.27 quickly)
Replaced many, many Blueprints with C++
Faster overall load-times (both running the game and opening levels)
Internal objects are now initialized in the correct order and destroyed when no longer needed
Level-bounds can now be defined as any combination of spheres, boxes, and cylinders
Added support for altering level-bounds as gameplay-conditions change
Added support for prohibited zones within valid level-bounds (a restricted area)
UI
Menus are now placed in front of the camera in a much more reliable & accurate way
Improved accuracy of cursor-alignment with buttons & dropdowns
- Ultrawide resolutions are now supported
- Numerous display-issues have been fixed (vsync, windowed mode, etc.)
- Gamepad support is greatly improved
- Upgraded to UE 4.21.2 (from 4.21.1)
Graphics
- All graphics-settings are now saved using UE4's game-user-settings
- Anti-aliasing is now off by default (on first-run)
- Anti-aliasing setting is now saved properly between runs
- Graphics-settings are no longer applied when opening the graphics-menu
- Most scalability-settings (low, medium, high, epic) now use engine-defaults (cleaned up years of clutter in DefaultScalability.ini)
UI
- Menus now auto-adjust to ultrawide resolutions
- Cursor is now activated and centered when menus are opened
- "Apply Display Settings" button is now larger and grayed out when not display-settings match current settings
- Moved resolution-scale slider under Display in the Graphics-menu
Display
- Vertical sync now works appropriately (framerate no longer smoothed)
- Framerates are now uncapped when vertical sync is off (can result in >500 fps in some cases)
- Fixed issue with game not starting in windowed mode
- Resolution, v-sync, windowed mode, and resolution-scale are now applied only when the "Apply Display Settings" button is pressed
Core
- Cursor, ship-controls, and spectator-cameras no longer slow down when the fps increases
- Created a new flight-control-input system that applies input more efficiently and compensates for large fps fluctuations, including exceedingly high fps
Controls
- Gamepad-sticks are now mapped using the axis instead of the stick-state
- Removed all hard-coded gamepad-mappings to allow full customization
- Removed "left-handed roll" option from Controls menu (no longer applicable)
- Modifier keys can no longer be mapped with gamepad-buttons
- Gamepad now works correctly in the 3D-asset-studio
- Inverted controls now work correctly in the 3D-asset-studio
Gameplay
- Gunships now rotate slightly slower
VR
- FOV-readout on HUD no longer changes when FOV-changes are attempted (FOV is fixed in VR)
- HMD is no longer locked to the camera in the 3D-asset-studio
Bugs
- Fixed lockup that occurred when lowering effects-quality to low or medium
- Fixed issue with yaw and roll-input not adjusting with camera-zoom
- Fixed issue with yaw-input being less sensitive in 1st-person
- Fine movement (SHIFT key) works again (applicable to spectators)
- Player-input is now correctly disabled when menus are open in the 3D-asset-studio
Patch 0.9.7 - MASSIVE update (I'm back)
General
- Upgraded to Unreal 4.21.1
- Redesigned entire HUD with customizable colors
- Replaced all existing asteroids and debris with new meshes and textures (more varied and realistic)
- Mission load-times reduced significantly
- Added color-themes that affect the entire HUD and some menus
- 4K displays are now properly supported (HUD-resolution scales up/down accordingly)
- Desktop resolution is now used by default on first startup
Gameplay
- Created a new objective-system that displays major and minor objectives (and their progress) on the HUD
- Relative movement is now shown in the center of the HUD with a colorized moving reticle
- Added several more objectives to each mission
- Rebalanced all missions and updated difficulty levels
- Damaged frigates now display accurate hull-damage
- Players are now warned as they near the edge of the playable area
- Health-icons are now shown near hangar-bays
- Squad-members now arrange in a dynamically adjusted formation behind the squad-leader
- Increased squad-member spacing to greatly reduce the chance of ship-collisions
HUD
- Redesigned entire HUD for a more realistic look and greater practicality
- Reticles now fade and change size to reduce on-screen clutter
- Dotted lines are now drawn to leading reticles
- Reticles are now shown for missiles and mines
- Created a new radar-ball that shows the relative location of targets more clearly (can be zoomed in/out via CTRL+mouse wheel)
- Reticles are now rendered using the custom depth buffer
- Replaced existing 2D-billboards with a new 3D-billboard system (works better with VR)
- Radio-icons are now colorized based on friendly/hostile origin
- Opponents of different types are now displayed with different reticle-shapes
- Created a new instrument-system that allows for each instrument to operate independently (significantly increases overall cockpit performance)
- On-screen status messages are now more user-friendly (cryptic opponent codes no longer used)
- Distance and relative motion to target are now displayed on the target-panel in a single readout
Graphics
- Tracers are now rendered using a new technique that takes into account both absolute and relative movement (much more realistic appearance)
- Projectile-impact flashes and light-beacons are now rendered using a sphere instead of a 2D-billboard (improves impact visibility)
- Lasers are now rendered using a 3D-mesh instead of a particle-system
Scenery
- Rearranged asteroids and debris in all missions (very tedious)
- Created a new debris-system that allows for larger moveable fragments and raining debris (seen in some missions like Firefight)
- Created icy asteroids and debris for "cold" levels
- Created destructible, glowing embers for "fiery" levels
UI
- Added live scenery behind main-menu (dropships and fighters attack each other)
- Cursor is now controllable in VR and non-VR modes by all controllers
- Hardware cursor is no longer used (blue/flashy cursor now used in all modes)
- Stats in various menus are now colorized to indicate "good" or "bad" numbers
- Stylized AK and Doomsday logos
- Mission-buttons are now disabled on locked missions (lock-icons are no longer shown)
- Last played mission (or next campaign mission) is now displayed by default in the Missions menu
- Updated all mission splashes and descriptions
AI
- AI is now capable of targeting frigates (if they have any weapons that can damage them)
- AI now detect missiles and mines (and share the information to teammates)
Input
- Modifier keys can now be used when creating key-mappings (ctrl, alt, shift, etc.)
Audio
- Increased radius of debris-explosion sounds
- Master volume is now limited to a minimum of 5%
- Added new "super laser" muzzle-sound (more intimidating)
Bugs
- Fixed issue with game-over menu not displaying in rare cases (spectator-camera would become misaligned if target was destroyed)
- Current resolution is now correctly shown in the Graphics menu
- Fixed null-spawn warning that occurred when missiles were fired
- Fixed some preset resolution-strings with incorrect characters
- Eliminated invalid-object-type warning
- Fixed issue with laser-beams becoming misaligned with ship
Patch 0.9.6.1 - Increased VR resolution, re-textured Holliman frigate, and new achievements
Visuals
- Re-textured Holliman frigate and turrets (as seen in Snare mission)
- Re-modeled lateral thrusters on Holliman engine (increased detail)
VR
- Added resolution-selection to VR-menu (sets proper resolution-scale for selected headset)
UI
- Increased resolution-scale range to 140% in graphics-menu
- Resolution-scale slider no longer updates while sliding (only after sliding)
- Restart-button is now selectable after beating a campaign-mission
- Updated Snare mission splash-image
Steam
- Added a "Colonizer" achievement for beating the Colonists mission
- Added a "Firefighter" achievement for beating the Firefight mission
Patch 0.9.6 - New fighter skins, improved VR, and faster load times
Gameplay
- Added a new fighter variant (Sabre Quad)
- Added a unique Sabre Medic skin (as shown below)
- Decreased all level load-times and initial game load-time
- Fundamentally changed VR support to improve playability and decrease motion sickness
Visuals
- Created a new Sabre model with 4 machine guns
- Added "cinematic" quality to all quality-options
- Added "low" option to shadow-qualities
- Texture-quality now defaults to cinematic
- Framerate now maxes out at 90 to reduce issues with excessively high framerates
Core
- Now using PAK files instead of loose files to reduce file count
- Debug-files no longer included
VR
- Motion controllers are no longer used/required
- Added "experimental" warning to VR-menu
- VR-cursor now resets to center when menu is shown
- VR-cursor can now be controlled with the mouse, keyboard (WASD), or gamepad
Steam
- Fixed issue with "flawless" Steam-stat not registering in Maki Pursuit, Guardians, Colonists, and Firefight
- Added new "victory" Steam-stat that increments with each mission-victory
Patch 0.9.5.1 - Larger fighters and improved joystick configuration
Gameplay
- Increased size of fighters and interceptors by 50%
- Decreased objective-capture time to 20s
- Reduced difficulty of Menace mission and improved its level-scripting
- Smoothed out automatic speed-limit braking
- Lowered thruster-acceleration on interceptors
- Raised thruster-acceleration on gunships
- Equalized camera-orbit distance amongst all fighters (to give accurate sense of scale when selecting ships)
Visuals
- Removed visible black-seams from all fighters and waystations (regenerated ambient occlusion textures)
- Ragdolls now collide with other ragdolls
- Increased max draw-distance for fighters and small DOM-turrets
- Added additional, small rear-thrusters to Scythe interceptor
AI
- Pre-determined line-traces now used in path-finding instead of random vectors (often improves chosen paths)
UI
- Added a dedicated joystick menu accessible from the controls menu
- Added configurable offsets and multiplies for each joystick-mapping
- Added a live numerical readout for each joystick-mapping (actual value used in-game)
- All menus can now be escaped using keyboard-shortcuts (Esc key)
Bugs
- Multiple controllers can no longer be used simultaneously to increase thruster-acceleration
- Added missing hitboxes to the base of 120mm flak-turrets and slug-turrets
- Objectives no longer "beep" when a player enters an overwhelmingly hostile territory
Core
- Upgraded Linux build from UE 4.18.2 to 4.18.3
Patch 0.9.5 - New missions, improved AI, and many gameplay fixes
Gameplay
- Added new mission Fury to end of Dominion campaign
- Added new mission Guardians to beginning of Outer Belt campaign (replaces mission Maki Transit)
- Added "rearm" squad-command (squad-members can be directed to rearm)
- Added a laser super weapon (available in the Fury mission)
- Most missions now have clearly marked objectives
- Homing missiles will now change targets in mid-flight (if a better target presents itself)
- Dead pilots can now be shot multiple times before being vaporized
- Less damage is taken from collisions with ships, asteroids, etc.
- Increased muzzle-velocity of flak-projectiles
- Increased homing-velocity of missiles
- Decreased laser-ammo capacity in all interceptors
- Rebalanced all missions to reflect their difficulty level
- Improved placement and variety of initial ship-selection in all missions
- Enemies are smarter in many different ways (see AI section)
AI
- Added "hunting" behavior to AI (will seek and destroy in direction of enemy fire if source is unknown)
- Laser-fire now contributes to AI-suppression
- Pathfinding-obstacles are now navigated more closely by AI (size of obstacles taken into account)
- AI skill-levels are now more pronounced (especially with regards to weapon usage)
- Rearming in hangar-bays is now performed much faster
- Speed-limits are now properly adhered to by AI
- AI now moves on an intercept-path when chasing targets (less likely to orbit a target)
- Squad-leader now handles waypoint-movement exclusively while squad-members follow (squad-formations maintained more often)
- Squad-members will no longer follow a rearming squad-leader
- AI will no longer flee in the middle of a fight (unless it is entirely out of ammo)
- AI will now attack eachother even while out-of-bounds
- Turrets without LOS are no longer be targeted by fighters
- Fighters engaged in a dogfight are now much less likely to collectively accelerate off-map
- AI will lead targets a bit more to compensate for their brain-wave interval
Visuals
- Tracer fire is now visible from much longer distances
- Damage and kills to dead pilots are now shown on the cockpit-crosshair
- Added blood-spray effect for non-lethal damage to dead pilots
- Smoothed out movement of leading crosshair
Audio
- Added sound-effects for capturing and losing objectives
- Improved playlists to increase musical variety
UI
- Added "stats" button and menu that displays global stats
- Added joystick-dropdown that loads presets for specific joysticks (very limited list right now)
- Added an arrow that visually correlates the joystick-axis fields with the joystick-axis readouts
- Gameover-menu can now be closed by pressing Esc
Bugs
- Fixed issue with hangar-waypoints that caused AI to stop in the middle of hangar-bays
- Friendly-fire no longer contributes to accuracy-stat
- Fixed targeting issue in turrets that caused turrets to rarely attack other turrets
- Fixed issue with Boreas frigate not detecting hostiles (improperly sized proximity-sphere)
- Corrected erroneous distance to hostile-targets (caused illogical AI decisions)
- Fixed issue that allowed rejected sound-effects to linger without being destroyed