Project: Starfighter - News
Project: Starfighter 1.5 Released
Item posted by Layla Marchant <onpon4> on Tue 12 Jan 2016 03:27:55 AM UTC.
Another year, another Project: Starfighter update! Version 1.5 is now available for download. As usual, you can find it here:
http://starfighter.nongnu.org/
This was at first going to be a small bugfix release, but ended up including a lot more than that. Here is the list of major changes:
- Removed preservation of permissions when doing a "make install", which could make the installation not work for other users in some cases.
- Added a fix to a mouse cursor position bug when in fullscreen mode provided by Guus Sliepen.
- Removed a broken event from the Odeon mission that was supposed to impose a time limit on the mission. As it was in version 1.4, it at least on some occasions caused a random ship to be "immortal" (preventing you from destroying it) and unmoving, but this event never worked in any release of Project: Starfighter. In fact, the C source code isn't even set up to count Ursula leaving the sector as a failure condition, so it would have resulted in the mission necessarily remaining in limbo forever if it had been formed correctly.
- Almost everything in the "data" directory has been removed and replaced with definitions in the C source code. These data files were filled with magic numbers and extremely difficult to read (this was the cause of the aforementioned bug in Odeon which was undetected ever since... well, the creation of the Odeon mission, apparently), and there wasn't any good reason to have them. The only files left in the "data" directory now are the intro text and the credits text.
- "Original" difficulty has been renamed to "Classic", and it is now much closer to the original. Of particular note, the prices of missiles and plasma ammo are now the same as in the original, the Urusor missions has been given back its missile boats and dual-fighters, and a bug from Starfighter 1.1 which caused powerups to degrade the Supercharge has been implemented as a feature.
- The logo and title screen menu have been repositioned. This is to avoid problems with smaller resolutions (which I intend to add support for in a later release).
- Fixed the bug that caused mobile rays to shoot 5-bullet concentrated green shots. This was caused by code that always assumed the primary weapon to be a bullet weapon. So why were the bullets green? Because the ray weapon didn't have a bullet image defined, it was defaulting to 0, and the green bullet happened to be the image assigned at index 0. Since this bug didn't exist in version 1.1, I'm guessing that somewhere between version 1.1 and 1.2, someone saw that the chance of a mobile ray firing its primary weapon (which was set to the ray) was 0, thought that odd, and "corrected" it, unaware of the naivety of the code handling primary weapons.
- Radio messages no longer suppress the "Target" text on the arrow of the current target. This might be a leftover from when the target arrow was positioned at the top of the screen and just pointed in the general direction of the target. With the arrows on the edges of the screen, there was no reason for it.
- Target arrows are now positioned in a more primitive way. The previous way adjusted their position based on how far away from the screen the target was, which was a neat effect (it caused a ship that was really far away to appear in the center of the screen), but it was also annoying; it made it more difficult to aim at and avoid things that were off-screen.
- Target arrows pointing to friendly ships are now green, with transparent slits in the middle (to make them distinguishable for colorblind and color deficient people, and to make red arrows beneath green arrows visible).
- Sid, Phoebe, Ursula, and Kline now have special text next to their target arrows. Additionally, when one of them is the target, their name is displayed next to their shield indicator, rather than "Target". (For technical reasons, this currently doesn't apply to the brainwashed Ursula in the Odeon mission.)
- Some minor changes to the dialog have been made.
- Except in Classic difficulty, plasma and rocket ammo is now only $1. The reason for this is to prevent a player's decision to use rockets or powered up plasma weapons from being a financial burden. The primary function of the ammo limitation is now to restrict how much you can use the weapons within the context of the mission. As a result, missiles are now a viable and even useful option for most of the game.
- Fixed being able to hurt after a mission was over. Some of the cases making this possible were just a lack of checks, and one case was actually a check that was backwards; in fact, that check was making it possible to take damage after a mission was over even if the "no damage" cheat was enabled.
- The target in the Poswic mission is now Sid, not the executive transport. It didn't make sense for the executive transport to be the target. You weren't tasked with attacking it; Sid had that task, and your task was to protect Sid. Sid being the target is therefore much more useful; it allows you to see Sid's shield.
- You no longer briefly stop moving at the end of the Ellesh mission. This was just an unnecessary break of flow. The Ellesh mission now ends about the same way the Mars mission does.
- The executive transport's AI has been changed to "evasive", which means it's more likely to run off to a point far away from the player than it is to fly toward the player.
- Except in Classic difficulty, Kline is now able to drop mines in all of his appearances, not just his first appearance.
- Except in Classic difficulty, Kline's weapons in the Venus mission have been tweaked. In the first phase, his weapons are the same as elsewhere, where he has micro missiles and switches between a concentrated 3-shot and an aimed shot. In the second phase, the concentrated 3-shot is replaced with a spread 3-shot, and he fires missiles more often. In the third phase, the micro missiles are replaced with shockwave missiles. In the fourth phase, the shockwave missiles are replaced with micro homing missiles, and he gains the ability to cloak. This new progression keeps Kline's basic fighting style consistent, and it removes the appearance that Kline was not taking the fight all that seriously.
- Except in Classic difficulty, the experimental fighter's likeliness of running away when hit is now based on the damage the weapon inflicted. This change is to eliminate an effect where the charge cannon could easily be used to eliminate the fighter in only one go. A fully-charged charge cannon is now certain to cause the experimental fighter to run away due to the amount of damage it inflicts.
- The "Comms" screen has been renamed to "Missions" (to make its purpose more obvious), and it has had some visual tweaks to simplify the design and lessen the learning curve of the game.
- You no longer instantly teleport to your destination planet in Spirit. Travel in Spirit is now exactly the same as in other systems, and except in Classic difficulty, there is a small chance of being intercepted by a group of dual-fighters (the same ships you encounter in the interception at the beginning of the game). The reason for this change is consistency: it's an unnecessary whiplash to introduce the player to one interface in the first system, and then use a different interface in the second and subsequent systems. I also felt that it was silly for the story to claim that travel in Spirit was perfectly safe to travel when the very first mission was an interception by a WEAPCO patrol.
- If there is no chance of an interception occurring (i.e. in Spirit under Classic difficulty, or after you finish the Earth mission), travel between planets now happens quickly (as if the planets were right next to each other), regardless of the distance between them.
- The old save format, which was really nothing more than a struct dump, has now been replaced with a plain text save format. The old saves can still be loaded for now, but the new format is always used for new saves and saves in the old format are always ignored if there is a save in the new format available in the same slot. There are two reasons I made this change: first, since the old save format depended on a struct being exactly the same as the struct that was dumped, any change to the Game struct tended to automatically break save files. Second, being a dump of a struct meant that the exact format was dependent on how the architecture being ran on stores its numbers. For example, it was not portable between systems with different bit-endianness (like x86 and ARM), and there was a chance of it not being portable between systems with different word sizes (like x86 and x86-64). The new save format avoids both of these problems.
- The config directory has been moved from "~/.parallelrealities/starfighter" to "~/.config/starfighter". As a result, old saves will not be found; if you wish to preserve them, you can move the config files from the old directory to the new directory.
- The Status screen has been tweaked, mostly to remove useless or confusing information. Not incidentally, this useless information is not kept in the new save format, either.
- Sounds that are played now have their volume adjusted based on how far away they are from the camera. Previously, only the horizontal distance was paid attention to, and this was only used to adjust the positioning of the sound playback between stereo speakers. This change has made it possible to hear mine explosions that happen off-camera; these explosions were previously silenced.
- Of course, much more code cleanup has happened.
Powered by Savane 3.14-8aba.
Corresponding source code