Astrokill cover
Astrokill screenshot
Genre: Shooter, Simulator, Indie

Astrokill

Update 0.9.9.1 - Modernized and restyled UI

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++

Update 0.9.8.1 - Engine upgrade, redesigned HUD, optimized core, joystick fixes

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

Patch 0.9.7.1 - Ultrawide support, display fixes, gamepad fixes, and UE 4.21.2 upgrade

General


- 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

Core


- Upgraded engine from 4.18.2 to 4.18.3