ZeroK: Zero-K – November UI work

Learning from GDS, I have been focusing on the user interface this month. The current default looks like a disparate collection of panels arranged in a convention-breaking way and is probably the source of much confusion. Most of the work was spent on making the panels support enough skinning to make them look like they fit together. Another large part of the work was the complete rewrite of two of the widgets. Too many changes needed to be made and the widgets were unmaintainable spaghetti code from at least five years ago.

A not-insignificant amount of effort was expended on keeping the rewrites and new layout options compatible with the old defaults. Maintaining compatibility with the varied way people use and modify their UI probably increased the workload by at least 3x. Some compatibility options were missing over the month but they are probably all present by now. You can try out the latest work in Settings/Hud Presets with “New UI Minimap Left” or “New UI Minimap Right”.

Balance

  • Duck torpedoes are slightly better at homing.
  • Completely submerged units can no longer cloak.
  • Fixed Commander surface visibility and vulnerability. They should now be visible exactly when they can be damaged by weapons with no AoE.
  • Buffed Support Commander’s ability to shoot at things very close to it. In other words, added a workaround for its poorly thought out gun length as compared to its height.

Unit AI

  • Added Global Build Command. It is currently disabled but can be toggled through Game/Worker AI.
  • Added overkill prevention for Ravens against structures.
  • Fixed Raven diving insufficiently low against Commanders with speed modules.
  • Fixed jumpjet activation when retreating.

Interface

Rewrote the command menu:

  • Command menu hides itself if no units are selected.
  • Bound Priority to Ctrl+Q and Repeat to Ctrl+R.
  • Added consistency between clicking and hotkeys. Grid hotkey display is now consistent.
  • Reorganized factory production tab to group units by role and ease of use.
  • Added a command to clear the factory build queue.
  • Fixed Aspis icon border. It used to be bordered as if it were armed.
  • Added an option to make factory queue Alt insert put the new command behind the current construction instead of canceling it when repeat is not enabled. Repeat already has this behaviour.
  • Added an option to make Ctrl disable grid hotkeys while held.
  • Space+Click on command buttons now shows the command hotkey configuration menu.

Rewrote quick unit selector:

  • Factory selection can now be bound to hotkeys. They are unbound by default, I am experimenting with Alt+Q for my first factory, Alt+W for my second factory etc..
  • Selector panel can now be aligned vertically.
  • Fixed some really stupid things related to quick selection positioning itself.
  • Fixed flash upon switching between teams while spectating.
  • Selector supports spacing, padding etc..
  • Selector can now be skinned.

Economy panel:

  • Added warnings for metal excess and energy stall.
  • Changed the metal storage mechanics to make the resource bar actually full when you are excessing metal.
  • Fixed incorrect reporting of energy reclaim.

Reorganized main menu panel:

  • Removed tweak mode, FPS and game flag.
  • Made the menu behave properly when resized, removing or squishing its options.
  • Made the menu able to reduce to 32 pixels high to save space.
  • Rebound widget selector from F11 to Ctrl+F11
  • Removed binding to hide the menu. Esc now opens the menu identically to F10. Hiding the menu can still be bound with hotkeys.
  • Added a button to switch to the lobby, for Chobby users.

Chat:

  • Added an option to disable the backlog arrow when not chatting.
  • Added an option to show the backlog arrow on the left.

Terraform:

  • Build height selection used to queue a terraform command and later queue a construction, based on your ping. Now terraform is properly queuable so both construction and terraform commands are sent simultaneously. This allows for much faster and bug-free structure placement.
  • Improved persistent build height visuals.
  • Persistent build height now works well when constructing floating structures.
  • Each type of terraform now has its own mouse cursor and queue icon.
  • Terraform now split builds, if you tell a spread out line of constructors to make a wall they will each work on their closest block.
  • Added a widget to replace the buttons underneath the minimap.
  • Fixed lasso terraform UI interaction with water.

Misc:

  • Non-Mex structures can no longer be placed on metal spots. This isn’t quite a mere interface change because it is enforced in game mechanics.
  • Fixed docking API position remembering for non-docking widgets and added an option to only dock with the screen edge, not other widgets. Commander upgrade windows now remember their position.
  • Removed Stop and Repeat commands from units that have no use for them (such as Solar Collectors).
  • Added an option to toggle whether the mouse cursor is confined to the game window.
  • Fixed nuke launch warning location.
  • Tooltip healthbar display now updates instantly when a new unit is moused over.
  • Trees are no longer reclaimed by basic area reclaim. To reclaim them with area reclaim either hold Ctrl while giving the order or give the order with a tree at the center (left click and drag on a tree).
  • Fixed Space+Click being non-functional on anything underwater.
  • Fixed floating structure placement (Spring change, thanks ILrankhokomoko).
  • Recon Commander replaces old Strike Commander on the Commander Selection icon.

Graphics

  • Grid outlines now merge instead of adding their transparency on overlap.
  • Added HDR rendering widget. It is not fully featured so the HDR option is disabled and marked as experimental. Try it on in Settings/Graphics/HDR (experimental).
  • Claw ghosts are now much easier to see.

Fixes

  • Fixed a lups error.
  • Lightning spark effects now form a circle, not a square.
  • Debris is now more consistent in inheriting unit momentum, it no longer drops vertically.
  • Fixed old Reef naming conflict.
  • Fixed invisible Crane wreck.
  • Fixed edge extension with water level modoption.
  • Fixed initial queue mex positions with water level modoption.
  • Added/fixed start boxes for Flooded Valley v2 and Onyx Cauldron 1.7.
  • Removed the little flags that sometimes appear in the top left corner of the map.
  • Removed some deprecated unit tags.

ZeroK: Zero-K v1.4.11.0 – Overpowered Raven Update

What this update lacks in balance changes it more than makes up for in stealth balance changes. These stealth changes are in the form of unit AI improvements and so, thanks to our motto ‘That which can be destroyed by widgets should be’, can be implemented without as much forethought as would be applied to real balance changes. We tend to even go further and implement unit AI directly into the game logic when it is merely possible (and often technically infeasible) for such a widget to exist.

Perhaps the most significant change is to Ravens. Now they only dive as low as they need to in order to reliably hit their target. This should make them much better against large, slow units (such as Reef) while leaving them unchanged against small units (such as Skeeter).

These notes also include changes from v1.4.10.0 to v1.4.10.2.

Balance

Advanced Radar no longer reduces radar wobble. The mechanic broke with an engine update, is barely used, and only existed due to legacy.

Removed Reef antinuke. Lets see how it goes.

Bantha can now shoot its Tachyon Accelerator at planes.

Commander Balance

Lightning Gun:

  • Damage – 256/640 -> 220/550 (EMP with flux 960 -> 825)
  • Reload Time – 1.83 -> 1.66

This has two main effects:

  • Bandit no longer 1-shot
  • Common units around 800 health (eg LLT, Warrior, Banshee) no longer stunned on the first shot

Derived stats:

  • DPS 140/350 -> 132/330
  • stun uptime 55% -> 60% (duration is 1s)

Also, fixed the Flux Amplifier upgrade accidentally reducing Lightning Gun’s accuracy.

Unit AI

Raven is now conservative about diving, carefully considering the size and maximum speed of its target and only diving as low as required to (almost) guarantee a hit. Previously it would dive as low as it could go against all targets.

Burst beam lasers (HLT, Penetrator etc..) now aim better against fast targets. Previously they would aim such that the unit would be hit in the middle of their beam time. This caused them to lead fast targets to a ridiculous extent and allow them to dodge and escape damage.

Buoy, Impaler, Rogue, Thug, Hermit, Rocko, Reef and Detriment (missile) now have overkill prevention against structures. Their in-flight projectiles project an aura of doom towards their target and cause potential assailants from thinking twice about increasing the doom further than necessary. This is basically an extension of the same change for missiles from the Overpowered Missile Update. Hammer, Ravager, Reaper, Crabe and Goliath (main gun) missed out for technical reasons but should gain the same overkill prevention in the future.

Units with slow moving projectiles now de-prioritize fast moving targets based on their current speed. For example, Hermits may now shoot stunned Glaives before unstunned Glaives just because they are much more likely to kill a stationary target. Scalpels are more likely to shoot at slow aircraft than fast aircraft.

User Interface

We’ve had a few interface improvements. Mostly to bombers and transports.

  • Alt+r is now a hotkey for Repeat.
  • Cleaned up the selection key hotkey menu and added a few more options.
  • Double pressing L with a mixed selection of transports and units now causes the selected transports to pick up the units and, if the units have orders, ferry them to their destination.
  • Bombers now set themselves to Fire at Will or Hold Fire depending on whether they have an Attack Move or Patrol command.
  • Bombers with a single Attack Move command will fire at the first target they come across and not return after reloading. Set bombers to retreat, patrol or queue multiple commands to override this behaviour. The aim of the change is to make Attack Move for bombers behave a bit more like Attack.
  • I was surprised to discovered that Air Repair Pads can have a command queue, like factories, which are applied to aircraft when they are let go. I remember implementing this and apparently did so eight months ago yet completely forgot.

Fixes

Removed almost all of the weapons from Zero-K (around 6400) to significantly improve load times. Also, removed about 400 units.

  • Reduced Firewalker and Racketeer firing and impact sound volume.
  • Fixed Recon commander breaking if Personal SHield and Disruptor Bomb are equipped.
  • Cloaked Warlord no longer gives its position away with wakes.
  • Fixed some wreck values and names.
  • Fixed Claws incorrectly being set to hold fire when cloaked.

ZeroK: Zero-K v1.4.7.0 (and earlier)

Three weeks ago we released several small versions, mostly to keep up with engine fixes. However, some features got into these releases and many of the Interfaces features are from this period and I have not written a complete list. The two balance change are from v1.4.7.0.

Spring 102.0 has been released (sort of) and it is well tested so we should be able to stick with it. This comes with a lobby update which allows Spring 102.0 to be downloaded so make sure to update.

The screenshot is showing off the line of sight and radar improvements since Spring 100.0. The LoS and radar updates faster, has higher resolution and is much better at finding cliffs. The interior colour can be set through Settings/Interface/Map/Radar Color.

Balance

Racketeer is a bit of a problematic unit so we’ve reduced its ability to keep two units disarmed. Two raiders fighting a Racketeer tended to be ridiculous.

  • Rackteer reload time 5s -> 6s

The Plasma Artillery for Battle Commander was not just working out so it has been removed. Massive earlygame health and a Leveler sidearm remove the usual counterplay to artillery.

  • Removed Commander plasma artillery weapon.

Interface

Newton launcher widget:

  • Increased accuracy of impact location with interpolation between the impact step and previous step.
  • Applied impact prediction to all units launched by Newtons. Not just those affected by firezones.
  • Added transport drop location prediction.
  • Added menu options for controlling when either type of prediction is displayed.

Other features:

  • Added a new Skydust UI. Press B to toggle height mode. C and V change height (much like Z and X change spacing in normal mode). The height selected in height mode is persistent per-unit type. Height does not work with line build.
  • Zenith now obeys fire stats. Defaults to Hold Fire for new players. Defaults to Fire At Will for current players.
  • Added an option to make clicking on construction tabs activate their hotkeys.
  • Added an option to disable Ping and CPU display on Deluxe Player List.
  • Added an option to show decloak ranges of units. Configure through Settings/Interface/Decloak Ranges.
  • Ferry and Set Retreat Zone now appear as a minimap button. Not on the command menu.

Fixes

  • Terraform cost tooltip now shows its estimated cost.
  • Fixed a Build ETA bug which can appear while spectating and using /specfullview.
  • Energy and metal income graphs now include reclaim.
  • Fixed Cloak State hotkey and tooltip.
  • Restored marker placement hotkey for German keyboards (dev engine).

ZeroK: Zero-K v1.4.6.0

With this release the old 1faction branch of CA fullfils one of its major goals, a mere 6 years after creation. Each factory now has a unique constructor, something we wanted to do and never got around to. The Gunship Plant now as Wasp as its constructor. Wasps are slower and more expensive than Cranes but come with much increased build power and more health.

In other news, contrived constructor connotations continue with a newly conforming Constable, err, Freaker. The old name always lacked descriptiveness whereas Constable matches Moderator and the slowbeam theme.

Balance

Gunships now have their own constructor: Wasp. Crane is unchanged and is now restricted to Planes. It compares the Crane as follows:

  • Cost 220 › 300
  • Speed 180 › 93 elmo/s [?]
  • Build Power 4 › 7.5 M/s
  • Health 240 › 600

This change fixes the inconsistency dual-factory nature of Crane and is also is meant as a nerf to earlygame Gunships. The new constructor is slower and bulkier so is a better fit to the theme of its factory.

Claws (Wolverine mines) now spawn if their Wolverine died before impact. Previously they did not.

Target Behaviour

There are a lot of target behaviour improvements/fixes in this version so we’ve given them their own section.

  • Heatrays now have a significant preference for nearby targets. They previously had a preference but it was weaker than most other factors. Heatrays still target armed units before unarmed ones.
  • Gravity guns no longer target nanoframes. Gravity guns never affected nanoframes so this is a fix. Note that gravity guns have never targeted structures, regardless of whether the structure is a nanoframe.
  • All weapons now prioritize identified radar dots as if they were a full health unit of their type. Previously all radar dots were given uniform priority.
  • Spectre, Annihilator, Penetrator and Impaler now have an additional priority penalty to target radar dots of mobile units.
  • Outlaws move closer to their target when firing.
  • Slashers now target everything with a fight order. This is to make them stop and fire at things which other units consider not worth stopping for (Razor, Solar and Dirtbag).

Interface

  • Tooltips now have an option to make them larger, for larger screen resolutions.
  • Many menu categories and subcategories now have icons.
  • All menus have a consistent size, left justified category text.
  • Changed HUD Skin and Gesture Menu paths.

Misc

  • Freaker is now called Constable.
  • Improved Crane, Rapier and Vindicator wingtrail and jet effects.
  • Fixed CAI artillery production.
  • Added startbox to Seth’s Ravine.
  • Fixed ATI error with map edge extension.
  • Fixed aircraft constructors turning around when construction is initiated.

Highlights from v1.4.5.0

We missed the release notes from the previous version so here are some highlights:

  • Swifts now pull up near the end of their strafing run. This is a buff against low ranged ground units, especially those with AoE weapons.
  • Smoothing weapons (Quake, Big Bertha etc..) now have smoother terrain at the edge of their smooth radius. This makes tanks more likely to be able to climb a Quake ramp. In addition, Quake impacts now jiggle units and can cause them to fall off cliffs.
  • Double pressing ‘L’ with a mixed selection of transports and units will cause the transports to load the units. This command is an action which can be rebound through ‘Game/Command Hotkeys’.
  • Right clicking a geothermal vent with only constructors selected will queue a Geothermal Plant.
  • Geothermal vents now have a tooltip.
  • Added a toggle to make cloaked units (exept Gremlin and Spectre) automatically hold fire when cloaked. [?]
  • Endgame graphs now have a toggle between individual players and entire teams.
  • Commander initial unit state now works for priority.