
Phobos Down 0.0.14 alpha released
Another alpha update to Phobos Down is out! A lot has changed under the hood and there are some significant visible changes as well.
The input handling and weapon UI implementations have gone through major refactoring. This should not cause many visible changes but makes further development easier and enables touch input for a mobile version. The weapon wheel UI now uses more traditional point-and-click style interaction when playing with mouse.
A lot of the work since the last alpha update has gone into adding support for ballistic weapons and aim assist that makes hitting moving targets with them possible. The old "laser sight" weapon feature has been changed into a "trajectory display" that can visualize ballistic trajectories as well. The result of all this is a new "grenade launcher" modifier for the launcher weapon.
Another addition is a "fragmenting explosive" device. It is similar to the existing timed explosive device but shoots directed fragments at nearby enemies, dealing extra damage and extending the area of effect.
To add more ways to earn extra score, I have added hit streak bonuses. Extra score is rewarded for continuously shooting enemies with the rifle or shotgun without missing any shots. This can be combined with the usual termination streak score bonuses.
A couple of weeks ago I took my Phobos Down arcade cabinet to a local IGDA gathering and got a lot of useful feedback. Some minor issues were also found and most of them have already been fixed in this update.
Here are the changes since version 0.0.13:
- Major input handling refactoring to allow touch input later on.
- Always capture mouse cursor while in-game.
- Use traditional point & click mouse interaction with weapon UI.
- Reimplemented "constrained" mouse control mode with adjustable range.
- Improved modifier info box scaling.
- Added constant screen edge indicators showing off-screen container locations.
- Fixed auto-aim lock reticle not dimming when line of fire is blocked.
- Replaced laser sights with new trajectory display that supports ballistic trajectories.
- Properly hide all message texts in photo mode.
- Added grenade launcher modifier.
- Renamed "missile guidance" modifier to "target homing" now that it applies to grenades too.
- Default to gamepad controller mode on Steam Deck.
- Spawn all three medical station devices already at mission start.
- Blink medical device lights and screen edge indicators while player is badly hurt.
- Apply pending kill streak score bonus when player dies.
- Give score rewards for hit streaks without missed shots using projectile weapons.
This update is now available on Itch.io and Steam.
Posted on 2025-05-19
Phobos Down 0.0.13 alpha released
Next alpha update to Phobos Down is out!
This time the change log is a little shorter than usual but I wanted to get this update out sooner to fix some minor issues found in Steam review. There is a good amount of other improvements and additions too.
Two new weapon modifiers have been added. Gliding projectiles modifier makes projectiles glide along the ground instead of hitting it, making it possible to shoot enemies while hiding behind hills. Directed explosion fragments modifier makes missile explosions launch a number of projectiles aimed towards nearby enemies and cause extra damage:
Weapon modifier stats display logic has been changed to handle additive properties better. Previously the change percentages felt too random. Now 100% always means the value added by one maximum quality modifier for that property:
Here are the changes since version 0.0.12:
- Smooth enemy burrowing sound loop pitch and volume changes.
- Added additional enemy unburrowing sound.
- Prevent the player and the crawling enemies from climbing too steep slopes.
- Fixed planet mesh not always rotating behind mission menu.
- Added gliding projectiles weapon modifier.
- Improved weapon property change display when installing a modifier.
- Added new splash screen at start.
- Fixed spawner enemy children not inherting their parent's target.
- Open menu to pause the game when a controller is disconnected while playing.
- Pause game if Steam overlay is activated.
- Properly handle possible weapon modifier removal in version upgrade.
- Added directed explosion fragments modifier for the launcher weapon.
This update is now available on Itch.io and Steam.
Posted on 2025-03-17
Phobos Down on Steam Early Access
The time has come. Phobos Down is now available on Steam Early Access too! The game has been designed with Steam Deck in mind from the start so it's really good to finally have a version officially installable through Steam.
The current build on Steam is identical to the latest version 0.0.12 on Itch.io with added minimal Steam API integration. From here on, I plan to release updates to both versions simultaneously.
Now that I had to set a price (5.99€) for the game on Steam I have also enabled payments on Itch.io and set the default price to match the price on Steam. Itch.io purchases do not include Steam keys because there is no support for setting a minimum price for the keys.
You can now get the game on both Itch.io and Steam:
Posted on 2025-03-03
Phobos Down 0.0.12 alpha released
Another alpha update to Phobos Down is here!
Many of the items in the change log are fixes and improvements based on the feedback I got from people playing the Phobos Down arcade cabinet. For example, the extract zone appearing at end of mission is now delayed because most new players forgot to pick up their rewards and just ran to the extract zone when they all appeared at the same time. Also, medical devices are now spawned in the direction of player's movement so that the player is more likely to notice them.
Another issue that I have long known is that new players tend to unintentionally destroy their first weapon modifiers because the trash button is located at the center of UI and is conveniently selected when the joystick is centered. I have tried all kinds of double click requirements and confirmation steps but the problem with those is that they become unnecessary hindrance after the player learns what the button does. The new solution is very simple: The game now shows a warning message if the player tries to destroy a weapon modifier while there are no modifiers installed yet. It stops nagging once the player successfully installs the first modifier.
I have spent a lot of time digging through Godot source code. I finally managed to fix the long-standing issue where missiles bounce off targets without exploding. This required changes in Godot engine physics contact handling code.
My trusty custom particle system was originally written in GDScript and it has long been a major CPU performance bottle neck. Even with a very performant CPU, the worst case particle system update took well over 6 ms per frame. Since I already have to build my own version of the engine, re-implementing the particle system as a native C++ module was the logical solution. The peak update time dropped to 0.15 ms. So far it is a direct port to C++ without any optimizations that are now possible. In practice, this should fix the stuttering when there are a lot of particles flying around, especially on slower CPUs.
The game now keeps track of statistics over multiple game runs. So far this information is only used to control the appearance of confidential document fragments in the data storage devices. The documents in the first few games runs are mostly useful tips about the environment and lifeforms. As more runs are completed, more documents with backstory details start appearing.
Here's the full change log since version 0.0.11:
- Fixed missiles sometimes bouncing off targets without exploding.
- Flash plant light intensity too on damage.
- Adjust plant light position according to deflection.
- Made orbital strike missiles explode slightly above ground.
- Doubled orbital strike missile damage.
- Added varying level of predictive aiming to some enemies.
- Spawn new medical devices in direction of player's movement.
- Show indicators for burrowed off-screen enemies too.
- Made off-screen container damage indicators more visible.
- Delay extract zone appearing after dropping wave rewards.
- Don't drop wave rewards after the last wave of last mission.
- Fixed auto-aim picking targets from behind player too.
- Reimplemented the custom particle system as C++ module.
- Fixed some particles not properly facing camera in photo mode.
- Show a text hint about the modifier slots if player tries to destroy the first modifier.
- Made a more natural looking idle standing pose for player's legs.
- Added more confidential documents to destroy.
- Limit some of the confidential documents based on number of successful game runs.
- Updated game completion and failure messages.
- Added a stun device that lures lifeforms.
- Added a tick sound and blinking emissive details to devices during timer countdown.
Download the game on Itch.io right now or wishlist it on Steam!
Posted on 2025-02-03
Phobos Down arcade cabinet
Years ago I built a bar-top arcade cabinet for my older local multiplayer game called Hyper Ultra Astronautics. I have been in the process of transforming the cabinet into Phobos Down cabinet and now the work is mostly done.
The hardware inside is mostly the same. I only changed the WiFi adapter to a newer one compatible with 5GHz networks. I initially thought that I would have to upgrade the GPU because the game ran only at about 40 fps which is definitely not acceptable. After upgrading to a modern Linux distribution and installing proprietary NVidia drivers, it was able to run steadily at well above 100 fps. The display has refresh rate of only 60Hz, so this is more than enough.
On the outside, there are two changes. I built a new control panel with two analog sticks with buttons and only one other button for accessing the game menu. That's about as minimal as I can get. Obviously I also needed a new marquee with the new game's logo on it. When I originally built the cabinet, I had already ordered duplicate parts for the control panel MDF board and the acrylic/polycarbonate pieces for the marquee.
Behind the control panel, there is an Arduino Micro microcontroller reading the four analog axis measurements from the sticks and three digital input signals from the buttons. The Arduino is connected to an USB port on the PC. I wrote a simple software that reads the inputs and appears as a gamepad HID device to the PC. There's a hidden button underneath the panel for entering a calibration mode which records minimum and maximum values for each analog axis and then uses those to calibrate the stick axis readings later.
Last week I took the cabinet for the first test run at a local IGDA gathering. A lot of people played the game and most of them seemed to really enjoy it. There were some frame rate drops and stuttering during the most hectic gameplay but this is something I have to address on the software side. I likely have already fixed the worst ones.
One thing with the cabinet that still bothers me is that the control panel soldering is really embarrassingly bad. Both because lack of skill and crappy equipment. The latter has improved since then, so I'm tempted to resolder all the wires back there. Otherwise I'll have to constantly worry that a soldering fails and renders the whole cabinet unplayable.
Despite this cabinet building project, Phobos Down is still primarily a PC game. You can download an alpha test version right now on Itch.io or wishlist it on Steam:
Posted on 2025-01-23