Ideas from Zero-K

Discussion in 'Planetary Annihilation General Discussion' started by GoogleFrog, August 19, 2012.

  1. GoogleFrog

    GoogleFrog Active Member

    Messages:
    670
    Likes Received:
    215
    Firstly I may as well introduce myself. I'm GoogleFrog, a core developer for Zero-K (a TA inspired open source rts which I doubt many people have heard of) and I also won a few Achron tournaments (that time travel rts which I think fewer people have heard of). I've backed PA with $100 basically because I have wanted this game to exist for a long time and I like alpha testing rts.

    I'm posting this here because I was a bit disappointed that the UI in SupComm wasn't powerful enough, not enough was improved since TA. At this time the precursor to Zero-K already had a UI that was in many ways more powerful. I'm trying to head off this outcome for PA with a slew of suggestions which are basically 'copy X from ZK'. Of course the easiest way to absorb this feature request would be to play the game for a bit and use the UI (it's not shameless plug because I would make an awful marketer). Anyway here are some things in ZK which I think could benefit PA.

    This also might be a bit premature (although the kickstarter is going really well) but I want to post on the forums and then these ideas would just end up spread around all over the place anyway. Better if I make a central post right now.

    Area Commands
    In TA and supcomm how do you reclaim a large wreck field? You have to set up patrol commands that cover the entire field and then hope that no damaged units wander through and distract your constructors. Area commands give you a much better way to do this.[​IMG]

    Simply select the command, click in the middle of the field and drag a large circle. Constructors then reclaim everything within. Off the top of my head ZK has area selection commands for reclaim, repair, resurrect, attack, load, unload and mex. I don't see why PA shouldn't be able to do this as well. Yes, this has been extended to mexes. Constructing them is just another area command because clicking on each spot in a large area is tedious.[​IMG]
    (btw the cursor isn't showing up in these screenshots.)

    Custom Formations
    This is the ability to create free form formations on the fly to fit to the current situation. The solution in ZK is very simple; right click somewhere and drag the mouse to draw a line then release the mouse to have your units moves towards that line.[​IMG]
    It sounds unwieldy but I find myself giving most group move orders as custom formations orders. To cover a front with AA units just draw along the front. To make a firing arc just draw the arc. To spread units out just make the line a bit wiggly. To scatter just draw a circle. Custom formations drawing can also be supported for patrol, fight (aka a-move) and attack ground.

    There might be a bit of a conflict with SupComm's ability to move command waypoints. One solution would be to associate the orders given by each custom formations order and then make these groups of orders movable as a group. If PA is extremely 'strategic' it may turn out that custom formations is not needed at all.

    To be really advanced custom as well as ordinary formations could be merged. For example artillery could be placed behind assault units along the custom formation line.

    Construction Priority
    Here is the situation; you just scouted your opponent's nuke and need to get anti-nuke ASAP. But, being a good player, you are running your economy at 0 metal by spending as fast as your production. To divert as many resources as possible to your anti-nuke you have to go through many of your constructors and factories and pause or cancel their construction projects.

    Even in less extreme circumstances you may want to work on a project with a larger fraction of your income. The only way I could see to do this in supcomm was to fiddle with pause or add more constructors such that overall you drain much more than you produce.

    Construction priorities is a simple state toggle for every nanoframe and constructor. There are 3 settings; low, normal (default) and high. Constructors with high priority get first dibs on your incoming resources. When all high constructors are constructing at full capacity the leftover resources filter down to the normal priority constructors and once they are fully constructing the remainder filter down to low priority. Nanoframes with high or low priority temporarily set their constructors to high or low respectively.

    With this system you can implement your economic intentions with as few clicks are possible. No more tedious pause economy management. I'd like to point out you can replicate priority behaviour with infinite pause/unpause micro but it is infeasible, I don't see why players should have artificially limited control over their economy.

    A-Move++ (smart unit fighting)
    A-move (or fight, patrol, whatever you call it, I call it 'fight') tends to have the same basic functionality; move towards the enemy and when you are in range stop to shoot it. If this is to be an rts which is low on tedious micro then I think units should be smarter than that. Units which out-ranges their targets should automatically kite when told to (probably with some kind of state toggle). If there are slow projectiles then it should attempt to dodge (this is quite hard though so I'd cut back on the slow projectiles).

    I see the potential for a bit of an argument over this one and how much automation is always up for debate. My implementation is a bit worse than human management (remember the humans are using custom formations) but I find it makes light ranged units scale well into late game across multiple fronts. It also lowers the apm barrier of entry by providing a baseline unit effectiveness at a simple task which I think it always good.

    Design Stuff
    That's as many core UI things I could be bothered writing up for now. Below are some things which I have found work in ZK but don't necessarily fit in PA. By no means do I want them to be the same game. ZK really goes for a large set of really diverse units that somehow end up balanced. PA could have quite a lean unit set (much like supcomm) and focus on the large scale army movement and planet mechanics.

    Uniform Constructor Drain
    In ZK a constructor will always drain as much metal as it drains energy. When it is working at full capacity it always drains the same amount. This is because everything has Metal Cost = Energy Cost = Build Power Cost. Basically the costs in TA look like they were hit by a random number generator. There are some themes such as high energy aircraft and high metal ships but there is also a lot of noise. Anyway uniform drain makes economy planing a lot easier for what I think was a fairly minute loss in depth. I think it is worthwhile considering for PA. If the distinction is really important there could at least be a few classes of drain ratios. Maybe PA will do away with construction assisting all together, I don't know.

    No Armour Classes
    This is a really situational design feature so I'm not even sure if it belongs here. I'm just pointing out that it is entirely possible to have every unit deal the same amount of damage to every other unit. But if you want units interaction to be somewhat abstracted (instead of physics based) then armour classes are a fine way to do that.

    Flat Tech Tree
    Again might be entirely irrelevant to PA (actually probably is). I'm just pointing out that it is possible for a TA-like game to have very little in the way of tech progression while still having heavy units. Basically the way this works is that every constructor can build every structure which makes the UI a bit simpler. I think it creates more strategic diversity (eg what happens if I porc and fly to the moon really early) but I see that many people like 'epic tech progressions'. Also there is definitely something to be said for sudden tech jumps that shake up the game. ZK does this a bit as you add more factory types.

    --------------------------------------------------------------------------------------------------
    Edit 24 August, Extra stuff added
    --------------------------------------------------------------------------------------------------

    Some people on the ZK forums said I missed a lot andI have a bit of spare time so here are some more ZK features I think would work for PA. I'm not that familiar with supcomm so while I will try to avoid mentioning things which overlap with supcom I will not always succeed.

    To try to keep things brief I'll just describe the mechanics of the feature in ZK. I'm not trying to prescribe exactly how things should be done for PA (anyway I have no hope of doing so). This is just a brief way to describe the idea. Many of these are minor UI or control things that could be added by players if there is decent local modding.

    Economy Breakdown
    A popup appears when mousing over the metal bar which tells you where your metal comes from and where it is going. The implementation in the image tracks your economy as a player and as part of a team. The same thing exists for the energy bar.
    [​IMG]

    Drawing on terrain
    Players can draw and place markers on the terrain to coordinate. Each player has their own colour. Drawing mode is enabled when a key is held down. In ZK left click drag is draw, double left click places a text marker, middle click places an empty marker and right click erases.
    [​IMG]

    Movement independent attack command
    This is a command which is independent of the rest of the command queue. Units do not move in response to this command, it only controls their weapon target. This lets you control unit target priority and movement at the same time. There is a command to set target and a command to cancel target but they can be a bit unwieldy.

    Of course the normal attack command would still be present. A smoother way to use this command is to automatically add it if you give units a move command while they have an attack command. The attack command is then replaced by this independent target command. There are also more images (some are superfluous but people love images).

    The image shows attack ground, of course it can be used on units as well.
    [​IMG]

    Factory Queue Insert
    Queuing a unit in a factory with Alt held inserts the unit at the start of the queue. If the factory is set to repeat inserting means you only want one unit, it is not added to the repeat queue. The inserted command is put at the head of the queue if repeat is disabled and the current construction cancelled, this is mainly for "oh **** I need unit X right now" moments.

    Seems arbitrary but it actually works quite well. The usual Shift = 5x and Ctrl = 20x modifiers apply.
    [​IMG]

    Command Insert
    Hold Shift+Space to cause given orders to be inserted in the middle of an order queue. The command is inserted such that the added length of the queue is minimised. Holding Space by itself inserts the order at the very start of the queue. Works for all orders.
    [​IMG]

    Build ETA
    Display the expected construction time somewhere above each construction. This simply projects the completion time based on it's current work speed.
    [​IMG]

    Configurable Initial States
    This would let you configure the state (movestate, firestate, cloak?, priority?, activation?) of each unit type when it is constructed. This requires some sort of menu and is probably best done while not in a battle.

    Multiple Building Placement
    The 'Building Buildings' section of this page. I can't explain it better and don't want to copy it all here. Basically it lets you queue squares, lines and boxes of buildings and set the spacing between them.

    Radar Drawn On Terrain
    Radar is drawn on the terrain along with LOS, this view can be toggled. Two ways to visualise this are shown in the image. The filled in radar is a bit more visible when zoomed out but the edge based radar is less intrusive and clearly visible when zoomed a bit further in. Ideally people would get to choose the one that suites them.
    [​IMG]

    Retreat Zones
    This is a lightweight implementation of units that retreat when damaged. Units have a toggleable state for their repair level, when their health goes below that level they retreat to nearby repair zones which the player places. Constructors near the zones automatically repair the units and when fully repaired the units go back to do whatever they were doing.

    Weapon Spread and AoE Drawer
    When the attack command is selected this draws the AoE of the unit's main weapon and projected hit area based on inaccuracy. I think it is a really good way to teach people the characteristics of unit weaponry and it helps when placing nukes.
    [​IMG]

    Persistent Scouting
    Structures which have been scouted but can no longer be seen are drawn as semi-transparent ghosts. This preserves information from scouting. The ghosts are removed when the building's position is visible.
    [​IMG]

    Defence Range Visualiser
    Turrets generally don't move about (I assume) so once an opponent's turret is scouted the range of that turret is drawn on the terrain. This makes them easy to avoid, the range is also drawn for ghosts. This works for every static thing with range such as heavy artillery and anti-nukes.
    [​IMG]

    Smart Radar Dot Shooting
    There are quite a few assumptions of other features here. If there is radar AND radar wobble AND there are perfectly accurate weapons with no aoe THEN it would be nice to be able to tell them not to shoot at radar dots. This would be a toggle because sometimes their shots do not have to be saved.
    Last edited: August 24, 2012
  2. ghargoil

    ghargoil New Member

    Messages:
    312
    Likes Received:
    8
    Cool post!

    I love the UI suggestions and the construction prioritization (though maybe this could be further tweaked by having priority #s or having constructors set default priorities to what they make, etc...)

    I'm for tech levels though, and I think burntcustard's argument is pretty compelling.
  3. nii236

    nii236 New Member

    Messages:
    20
    Likes Received:
    0
    Great post GoogleFrog, I love Zero-K! Its what I play exclusively out of the TA-esque games out today. I followed development of ZK since a few years ago when it had about 500 commits per week and it was insane trying to keep up with the latest version xD

    Some Spring/ZK features that I like that would be good in PA that aren't mentioned by GoogleFrog already:

    Spectators jumping in-game at any point
    Rejoining disconnected games (saving isn't supported I think but that would be nice too)
    Click drag buildings to build multiple buildings. The cool part is controlling the space between each building:
    - By pressing z to increase the space between each building
    - By pressing x to decrease the space between each building

    Now that I think about it, GoogleFrog has already covered the UI stuff that I love about ZK. Ah well. The aforementioned fight command which lets raiders zigzag everywhere, and ranged skirmishers kite back as enemies approach is really cool and not seen in any other RTS I've played.

    The lack of any tech levels/tiers in ZK works surprisingly well. Advanced units cost a ridiculous amount so a beginner player won't be able to manage an economy well enough to pump out heavy tanks, but at least the advanced player is given the option of getting them early without tier upgrades in the way. Instead its just a choice of building an adv. vehicle factory instead of a normal one.
  4. ftsf

    ftsf New Member

    Messages:
    12
    Likes Received:
    1
    I'm a long time Spring fan, I love Custom Formations and Area Commands. Some of the best features from Spring.

    I really hope PA uses those.

    For "Construction Priority" I'd like to see a list in the UI of all active constructions and their progress and be able to adjust the flow resources going into each, or perhaps order them in priority. Similar to the interface in Homeworld 2.
  5. jabbawocky

    jabbawocky New Member

    Messages:
    15
    Likes Received:
    1
    These are all excellent ideas! I know from playing vanilla TA, having to clear out wreckages so my units could get to the enemy was always a pain - especially on 'over crude water'. I usually ended up opting for the D-Cannon clearing approach :S.
  6. qwerty3w

    qwerty3w Active Member

    Messages:
    490
    Likes Received:
    43
    Perhaps the developers of the PA would doubt that some of these suggestions would complicate the UI too much, but I must say the UI in Zero-K works excellently, If a newbie don't understand what the most UI features do, he can just ignore them.
  7. KNight

    KNight Post Master General

    Messages:
    7,657
    Likes Received:
    3,186
    That's not a good thing. If something can't be used by a player because it's confusing or complex that needs to be fixed.

    Mike
  8. qwerty3w

    qwerty3w Active Member

    Messages:
    490
    Likes Received:
    43
    I didn't know pressing the shift could queue commands when I first played Total Annihilation, but that doesn't hinder me from enjoy the game.

    And more advanced UI features doesn't necessary make the UI confusing, you just need to add some proper descriptions to them.
  9. KNight

    KNight Post Master General

    Messages:
    7,657
    Likes Received:
    3,186
    I never said adding more made it confusing or complex, I said IF something was confusing or complex it should be fixed so that it wasn't.

    Your example with shift queuing doesn't fit, because it's something you didn't know about, I'm talking about things where you know about it, but can't get it to work because it was explained properly or implemented poorly.

    Mike
  10. qwerty3w

    qwerty3w Active Member

    Messages:
    490
    Likes Received:
    43
    Whether a UI feature is complex is a bit subjective, a newbie to RTS might think that the fire state or the move state is hard to comprehend.

    And even if all features are explained properly and implemented properly, having more of them would still make the UI harder to fully understand.

    But I think it worth the cost, one of the reasons that Total Annihilation and Dark Reign are honored by RTS fans is that their UI are more complex and advanced than most RTSs at that time.
    Last edited: August 20, 2012
  11. coldboot

    coldboot Active Member

    Messages:
    416
    Likes Received:
    69
    For area commands it would be great to have two shortcut keys: one that lets you draw an oval, the other that lets you draw a rectangle. Those two shapes should cover most of the areas that you would need, and would only cost one more shortcut key than what's already been proposed.
  12. KarottenRambo

    KarottenRambo Member

    Messages:
    79
    Likes Received:
    1
    The spring engine has really some cool UI features and I would like to see some of them in PA, for example the one where you drag a line and your units align on it.

    However, the spring UI is not the nonplusultra of rts gaming. It really feels unpolished and some things are completly unintuitive, it's not the perfect example of "How your UI should look like".
    TheAnnihilator likes this.
  13. qwerty3w

    qwerty3w Active Member

    Messages:
    490
    Likes Received:
    43
    Games or mods of spring doesn't all use the same UI, so it might be not fair to generalize them.
    But I agree that there are some UI features that are not intuitive or polished, although none of them are listed in Googlefrog's suggestions.
  14. luckywaldo7

    luckywaldo7 New Member

    Messages:
    16
    Likes Received:
    2
    As to be completely expected of an open source project, there are no artists or designers, so the programmers become their own artists and designers. Still, take the feature ideas for what they are worth.

    Another nice feature that doesn't seem to be mentioned yet is Auto Retreat. You can set repair zones and then specify on units a hp threshold. When their hp drops below, they will automatically retreat to the nearest repair zone and any constructors or nanos in the zone will automatically repair.
    Grimseff likes this.
  15. GoogleFrog

    GoogleFrog Active Member

    Messages:
    670
    Likes Received:
    215
    I don't think any of these suggestions are particularly confusing or complex (I know from experience). I think what qwert3w meant is that if a newbie doesn't realise that a feature exists then it won't hinder them much. Sure, optimally they would discover it eventually and there should be guides to support this. But the existence of the feature doesn't harm them as long as the feature does not intrude on their game and confuse them.

    For example area commands are fairly intuitive if you accidentally discover them by dragging the mouse. Other than they they don't intrude. Of course in a competitive setting not knowing a feature puts them at a disadvantage but that is why there should be guides for when people want to maximise their use of the UI.

    I think an example from supcomm is the building template system.
  16. rick104547

    rick104547 Member

    Messages:
    308
    Likes Received:
    17
    The best thing about these ui features is that you dont have to know them to play the game. When i started playing zero i didnt know about them but i could still play the game.

    Its something that benefits advanced players alot since it saves so much micro so you can focus more on other important things. Area commands are really easy to use and if i would show them to someone ingame he would understand that quickly.
  17. qwerty3w

    qwerty3w Active Member

    Messages:
    490
    Likes Received:
    43
    A complex and nerdish UI doesn't necessary hinder or scare away non-hardcore players, all you need is to make sure all features that are necessary for playing the game such like camera control, move, attack, construction are simple and clear to them.

    Zero-K may has some flaws, but it does has the best UI I have seen for an rts game, hope the developers of PA won't look down it just because it is a niche free game.
  18. doctorzuber

    doctorzuber New Member

    Messages:
    252
    Likes Received:
    0
    I have to say, there's some very good stuff in this post. I particularly like the are select for easy salvaging (or potentially other activities). The one thing I don't really agree with is your method for Formations.

    Now, I like the idea of being able to make formations. I'm just not too keen on this method. If you are not already familiar with it I would recommend taking a close look at the Total War series for an example of how formations can be quick and easy to manage as well as being fairly intuitive.

    In the context of Planetary Annihilation I would want something like this as an option, not as the only way things can be done, because naturally you are going to want loose disorganized skirmish formations in some cases just as much as you might want cleaner rank and file style pushes.
  19. qwerty3w

    qwerty3w Active Member

    Messages:
    490
    Likes Received:
    43
    You can get a disorganized formation simply by doodling.
    And unless the player is using ctrl+move, units in zero-K doesn't tune their speed while moving.
    And their paths would be interfered by terrains, trees and other units etc.
    So they usually don't have clean ranks and files before they reach the destinations.
  20. rick104547

    rick104547 Member

    Messages:
    308
    Likes Received:
    17
    A video showing off all the features would be nice.

Share This Page