Here's an update on my previously-known bugs:
- Simple List:
Not fixed, critical: No weapon of any type can fire faster than once per frame and will deal no additional damage from owning more of the weapon. Beams in particular suffer from this, since they often fire every frame by default. Asteroids appear to take proper damage from any combination of any type of beam weapon. Nova relevance: Ion Cannons, Bio-Relay Lasers, Hail Chainguns.
Not fixed, trivial: Swivel-turrets and turrets with blind spots will determine whether they can fire at a target based on the target's direction from the ship center. If a weapon exit point is far enough from the ship center, a turret can fire in the direction of its blind spots (ie. backward) if the target is in the correct direction from the ship center, but the wrong direction from the weapon exit point. Nova relevance: minor.
Not fixed, unknown importance: Weapon reload rates seem to be based on a 1/30 second timer, while weapon durations (and maximum firing rate) are based on FPS. Beams are cosmetically affected because their duration cannot be matched to their firing rate. Damage per second for rapid-fire weapons may be affected by a particular computer's speed, changing gameplay balance between different machines. Nova relevance: fast-firing weapons, actual importance in practice is yet to be determined.
Fixed: Ships which unfold-to-fire would refold before a long-duration beam has ended.
Fixed: PD turrets of any type would ignore the reload field, firing as rapidly as possible until a burst reload happens.
- Verbose List:
Critical: Beams which would fire faster than every frame do not deal more damage
Status: Reported lots, still not fixed!
Importance/Nova scenario relevance: Very important, significant impact on Nova scenario.
Description: In Nova, as far as I know nothing can happen faster than the framerate. That means that if a ship has enough of a weapon, projectile or beam, such that it would fire faster than every frame, it won't. This isn't as big a deal for projectile weapons (and in Nova, for the most part, only Hail Chainguns are affected).
However, beam weapons commonly are implemented in such a way that they will fire every frame with just 1x of the weapon, to act like a constant beam. Such beams exist in the stock Nova scenario: Ion Cannons and Bio-Relay Lasers in particular. That means that this bug presents a significant problem to beam weaponry! That Manticore's fearsome ring of 8 Ion Cannons deals no more damage than a Fed Close-Quarters-variant Patrol Boat's 2, or a Pirate Valkyrie Class-IV-variant's 4 - in fact, none of them deal more damage than just 1.
Enabling simultaneous fire for such weapons will work-around the bug, but introduces the problem that, for example, 8 beams firing every frame simultaneously can slow down a computer rather significantly, plus will look different since they will emit from multiple weapon exit points as opposed to just one.
Solution: I have tested and found that in MacNova 1.0.8, beams deal damage to asteroids correctly in any situation. How hard could it be to apply this apparently working scheme to vs. ship damage?
To spell out a solution scheme, however, it would go something like this: detect whether a beam (or, frankly any weapon) would fire faster than once a frame, and double or triple the damage for every Nth shot as appropriate. Alternately, increase the damage dealt by every shot fractionally as appropriate, to give the correct average rate of damage.
Trivia: A rudimentary version of this solution may have been the cause of the exponential beam damage bug - by multiplying the damage by the number of the weapon owned, correct damage would be applied if the weapon didn't fire any faster. The problem is, what happens if the beam would fire faster, that is, if it didn't by default fire every frame? Both damage and rate of fire would be multiplied by the number of the weapon owned, giving exponentially increasing damage.
Trivial: Turret blind spots ignore direction from weapon exit point
Status: Reported before 1.0.9, not fixed.
Importance/Nova scenario relevance: Unimportant, little impact on Nova scenario.
Description: If a ship has a weapon exit point that is rather far from the ship's center, it becomes apparent that the Nova engine figures out whether a target is out of a weapon's firing arc from ship center to ship center; for example, a front-swivel turret, or a normal turret with side and rear blind spots, can fire backwards from its weapon exit point if the target is behind the weapon exit point but in front of the firing ship.
Solution: Check where the shot is really coming from to determine whether it can target or not.
Important but difficult: Some statistics are based on FPS, some on a 1/30 of a second timer
Status: Reported before 1.0.9, not fixed.
Importance/Nova scenario relevance: Between important and unimportant, hard to tell: depends on real-world differences in FPS between different computers.
Description: Certain statistics in Nova are based on the current framerate, while others are based on a timer ticking at a rate of 1/30 of a second. The problem comes when related functions use differing timers. The specific example I found is that weapon reload depends on the 1/30 timer, while weapon and beam durations depend on the framerate.
For projectiles, this is less of a problem since speed is also dependent on frames and so weapons will always travel the same distance; for beams, this presents a more obvious problem. For example, a beam set to 14 reload and 15 count should appear like a constant beam if fired continually. In practice, on my computer which averages at 47 FPS, there is a very noticeable gap in between beam durations - essentially, the beam's 15 frames of life ends before the 14+1 timer ticks elapse for the weapon reload rate. This can go the other way; by intentionally running an abnormally demanding situation in Nova to slow my framerate, I would be able to make the beam last longer than the reload timing.
This specification may blur a bit at extremely fast firing rates; I couldn't positively see a gap in firing a beam any faster than reload 2 count 3.
This isn't just a cosmetic bug; since no weapon can fire faster than once every frame, slower computers will be able to deal less damage per second than faster computers with some weaponry, such as Ion Cannons, Bio-Relay Lasers, and Hail Chainguns. I do not know for sure, but if shield recharge rates and ship movements are based on seconds rather than FPS (and I believe they are), this would upset the gameplay balance depending on a computer's speed.
Solution: Rewrite of how Nova handles timing. Probably not feasible.
Fixed! Unfolds-to-fire ignored beam duration
Status: Fixed in MacNova 1.0.9.
Importance/Nova scenario relevance: Nice for developers, no impact on Nova scenario.
Description: In MacNova 1.0.8, if a ship unfolded to fire and had a beam with a long duration, the ship would refold before the beam finished firing. This went against the behavior of a ship's weapon glow, which would remain present until the beam finished firing.
Fixed! Point-defense weaponry ignored reload count
Status: Fixed in MacNova 1.0.9.
Importance/Nova scenario relevance: Moderately important, minor impact on Nova scenario.
Description: In MacNova 1.0.8, beam or projectile point defense weaponry would ignore the value of the reload field and would simply fire as fast as they could. They would, however, respect the BurstCount and BurstReload fields.
This post has been edited by Weepul 884 : 21 December 2005 - 10:10 PM