
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
Phobos Down 0.0.11 alpha released
It's time for another Phobos Down alpha update!
The most noticeable addition in this update is the procedurally generated plant clusters. They are purely decorative but together with one new large tentacle plant type, they add much needed visual variation to the mission sites. I have made some improvements to the site generation too. For example, it is now guaranteed to place at least some elements with dynamic lights in every site. This avoids generating bland-looking sites with no dynamic lights at all.
Another significant change is that the explosive plants no longer harm the player at all and their damage radius has been increased considerably. This makes them a lot more useful.
After long consideration, I decided to add an all-time high score table for the unique random game runs too. To make the maximum possible score less dependent on the procedural generation I set the total number of enemy waves constant. The waves are randomly spread over 6-8 missions. In practice, this shortens the average game run length a little.
If things go according to the plan, Phobos Down will be in Early Access on Steam early next year.
Here is the full change log since version 0.0.10:
- Added a bit more details to walker leg models.
- Enabled debanding post processing filter.
- Show a warning pop-up when the game can't fetch challenges from the server.
- Fixed showing high scores for challenges incompatible with current game version.
- Added all-time high score challenge game type.
- Improved site obstacle placement logic.
- Added tentacle plant variant.
- Increased explosive plant damage range.
- Prevented explosive plants from damaging the player.
- Fixed connected gamepad causing jerky movement in keyboard controls.
- Improved right stick deadzone handling for smoother aiming.
- Added three types of clustered plants as terrain decorations.
- Made sure that every mission site has some obstacles with dynamic lights.
- Made total number enemy waves independent of the mission count.
- Shortened average game run a little.
- Fixed hidden mouse cursor in high score name entry.
- Made fast crawling enemies only a little bit faster than the player.
- Allow menu navigation using gamepad left trigger too.
- Only deliver GodotSteam libraries with the Steam version of the game.
- Show blinking health bar already at 50% health.
All feedback is again welcome! You can contact me through the contact form here or leave a comment on Itch.io page.
Posted on 2024-12-16
Phobos Down 0.0.10 alpha released
A new Phobos Down alpha update is here! The change list is a bit shorter than usual but this update still brings many important improvements and some new content. This version should also be ready for the Steam Deck compatibility verification.
There are many new weapon modifiers like reflective and explosive projectiles. Existing modifiers have been fine-tuned to make them more balanced by adding secondary effects (usually damage) to the otherwise less useful modifiers.
There is one new device drop pod: Sentry missile system. That is basically a missile launcher variant of the classic sentry gun.
Here is the full change log since version 0.0.10:
- Made some projectile damage and sniper modifiers increase shoot sound pitch.
- Fixed random shadow flickering while player moves around.
- Show "continue game" menu after successful mission completion.
- Added drop markers on ground to indicate incoming drop pods.
- Increased initial fire rate for the rifle.
- Show warning message when damaging containers.
- Added device/controller specific button icons.
- Trigger Steam gamepad text entry for menu text items on Steam Deck.
- Use Steam persona name as default high score name when available.
- Made large walker enemies keep more distance to each other.
- Fixed some particles not properly facing camera.
- Added explosive projectiles modifier for the rifle.
- Added reflective projectiles modifier.
- Made time-limited projectiles break into dim fragments on expiration.
- Added secondary effects to some of the less useful modifiers.
- Added a missile launcher sentry gun variant.
- Added explosion stun modifier for the launcher.
- Prevent diggers from burrowing while stunned.
- Lowered ballistic fire rates for the eight-legged walkers.
Let me know what yout think! You can contact me through the contact form here or leave a comment on Itch.io page.
Downloads are available on Itch.io:
Posted on 2024-10-14
Phobos Down 0.0.9 alpha released
It's time for another Phobos Down alpha update!
I had a very loose plan for the content of this update. Some changes are based on tester feedback, others are random things from my task list and as usual, there are changes I never planned at all. Despite the lack of planning, this update brings many significant improvements.
Score items dropped from killed enemies are now always automatically picked up, so there's no need to go collect them manually.
There is a completely new enemy type called "tank" with differently sized variants. It's a quite rare boss type enemy with special weak points that can be destroyed in order to deal huge amount of damage and to slow down the enemy.
Another noticeable addition is data storage devices fallen from the wreckage that contain confidential data and can be destroyed for additional score reward. These devices also reveal tiny bits of backstory as text excerpts.
You'll also notice that drop pods have changed. They have a new model and instead of exploding on ground they now return to the support ship in orbit. This makes more sense than having an infinite supply of drop pods on the small ship. The devices delivered by the drop pods have different models now to make it easier to tell them apart.
Weapon management UI has also changed a bit. It now shows the total change in weapon properties when assigning a modifier to a weapon, taking into account the original modifier that will be replaced.
Here is the full change log since version 0.0.8:
- Made the "free" mouse aiming mode the default.
- Properly capture mouse cursor in photo mode when using "free" mouse aiming mode.
- Fixed small error in distance calculation when applying damage from explosions.
- Increased score item attract distance to cover whole mission site.
- Improved enemy shoot recoil handling.
- Adjusted enemy gib size and count to better scale with enemy size.
- Fixed explosions with origin inside an enemy body not causing damage.
- Added two variants of a new rare "tank" enemy type.
- Show total modifier effect on weapon properties in weapon UI.
- Force walkers to step their feet if they stretch too long.
- Fixed first walkers sometimes spawning without legs.
- Added a new evasive floater enemy variant.
- Removed score cost from all devices.
- Added separate sound effect for score penalty.
- Use the normal terminal sound when displaying score messages in-game.
- Updated models for drop pods and all devices.
- Refactored droppod and device handling to make adding new devices easier in future.
- Fixed artifacts at edges of device and modifies icons.
- New much better device destruction sounds.
- Added data storage devices that can be destroyed for score bonus.
- Fixed screen edge indicators not getting drawn in priority order.
- Drop third medical station device if player's health falls below 25%.
- Show screen edge indicators for medical station devices already below 50% health.
- Fixed melee enemies not always getting close enough to player to attack.
- Emit smoke particles from damaged containers.
- Improved thruster plume shader.
- Fixed broken dust particle placement inside explosion volume.
- Fixed drop pods spawning in front of camera with low FOV setting.
- Made orbital strike device indicator show the time to missiles hitting the ground.
- Fade out world grid as the camera zooms in at mission start.
- Fixed camera FOV setting affecting sound volume level.
- Hide device icons and time indicators in photo mode.
- Replaced directional camera push from explosions with more traditional shake.
- Added a subtle camera push on player weapons firing.
- Added menu setting for strength of camera shake effects.
- Removed camera FOV setting from menu.
- Improved gamepad vibration effects.
- Play heartbeat sound when health is critically low.
- Fixed menu move sound playing everytime the game starts.
- Prevent undodgeable enemy ballistic attacks at very close range.
- Prevent enemies spawning directly under obstacles or characters.
- Delay failed mission info box a little after player's death.
- Lower the damage applied to the player when already badly hurt.
- Scale enemy projectile size based on the size of the shooting enemy.
As usual, all feedback is welcome! You can contact me through the contact form here or leave a comment on Itch.io page.
Downloads are available on Itch.io:
Posted on 2024-07-31