The best kittens, technology, and video games blog in the world.

Wednesday, December 25, 2013

Improve your life by thinking marginally

my kitty....... by * K A Z Z I E * from flickr (CC-ND)
Try to answer the following two questions as honestly as you can:
  • If you found yourself with an extra hour a week of free time - what would you do more of?
  • And if you found yourself with an hour a week less of free time - what would you do less of?
If your answers to these questions differ, then you're not doing a good job managing your life, and you should just go ahead and replace things from your second answer with things from your first answer.

The same logic applies to money, energy, and all your other resources. It's easy to fall to status quo bias and other delusions, but according to accepted laws of economics, if your answers are different, it's a really good bet you're either prioritizing a lower value activity (second answer) over a higher value activity (first answer) or you're not honest with yourself about your real priorities.

Exceptions are possible - some things are really all-or-nothing and you can't do "a bit less" or "a bit more" of them, or maybe you're doing something precisely as much of something as you find valuable but every additional minute of that would be a total waste. But most of the time people just don't do a very good job managing limited resources life gives them.

Hopefully this post helped a bit, without taking much of your highly valuable time.

Thursday, December 19, 2013

XCOM: Roguelike

Mochi meow by The Scott from flickr (CC-NC)
OK, so here's an idea I got. I probably won't have time to make it happen, so I'll just write this design draft. Maybe I'll do it someday if I accidentally get a lot of unexpected free time, or maybe it will inspire someone else. So here it goes...

If you take the new XCOM game, remove all strategic element, and just leave it as a sequence of battles, then what you've got is pretty much a roguelike:
  • Random maps - not in XCOM right now, but the game would be a lot better if it had it
  • Permadeath - already there
  • Turn-based - already there
  • Grid-based - already there
  • Non-modal - what I want to streamline away
  • Complexity - already there to an extent, can add more while streamlining campaign mode away
  • Resource management - already there
  • Hack'n'slash / player-vs-world - already there
  • Exploration and discovery - sort of already there, training roulette will be big here as well
And as for "low value factors":
  • Single player character - definitely not, you'll be leading a squad (but not the entire XCOM project)
  • Monsters are similar to players - sort of true already (and definitely true with EXALT)
  • Tactical challenge - definitely so
  • ASCII display - I don't think that's really viable any more, most roguelikes moved beyond that already, some kind of simple and mostly symbolic 2D is modern equivalent of that
  • Dungeons - sort of borderline true already if you use very broad definition of "dungeon"
  • Numbers - already there, the few missing numbers (mobility, XP) need to be added, as some XCOM mods do

Game concept

So here's my idea - you start with a squad of 4 soldiers and face aliens in a battle. After (or maybe during) the battle the soldiers get level ups, new items and so on - and the survivors are up for another battle.

I think a major element of the game needs to be training roulette and going more or less classless. All roles - not just sniper/assault/heavy/support (medic), but also engineer/scientist, and things you get from foundry upgrades, research, gene mods, officer training school will need to be reduced to either items or abilities for training roulette pool.

I see two possible "storylines". Either you're doing a alien base / mothership assault, and you have a classic dungeon with multiple levels - or you're just fighting one open world battle after another.

One of the best things about XCOM is how in-battle challenges integrate with long term goals. Missions are not just about killing the aliens and making sure your soldiers survive - minor objectives like capturing aliens, capturing alien weapons, racing to get the meld, chosen mission rewards, not destroying alien computers/engines etc. make everything a lot more interesting. Details of that need to be redesigned, but some kind of extra rewards should be kept.

Game engine

The most obvious engine for a game like that would probably be a web browser with HTML5 stack. That would also be phone-compatible.

This kind of game doesn't really need keyboard, and would work with touch-based interface just fine.

It's important to have both tile-based cover and edge-based cover, and that wouldn't really be possible with ASCII interface.

I'm not sure if it's better to keep the game simple and 2D, or to have fully 3D maps. 2D might be an acceptable compromise to keep the engine simple (especially since it might be a lot simpler to do AI in 2D).

I'm not sure if there are any sensible cross-platform alternatives to going HTML5.

Minor random issues

  • I feel it should be possible to get new soldiers to your squad as a reward, probably already somewhat leveled-up.
  • I don't really care all that much about details of XCOM universe, their monster types etc. They're perfectly fine, but the game will probably end up remixing many other sources as well.
  • Advanced weapons should generally come from capturing alien artifacts. Money, alien alloys, elerium, and weapon fragments all feel like unnecessary complexity.
  • N-use-per-battle items would probably work better if they simply had cooldowns.
  • Cover and overwatch mechanics are the key to everything and should be expanded upon.
  • Visibility mechanic might need a bit of redesign, especially if it's for a relatively closed spaces of alien base/mothership.
  • It would be great if it was possible to avoid all funny stuff related to triggering alien pods and just have aliens behave like your soldiers.
  • I'd hate it if the best strategy turned out to be really slow turtling with overwatch and triggering one pod at a time, like in most vanilla XCOM: Enemy Unknown maps.
  • The game should be designed to be fair but pretty much unwinnable. I'm sure someone will end up beating it anyway, but that should be a big deal.

Wednesday, December 18, 2013

First Beeminder failure retrospective

Sand cat walking towards me by Tambako the Jaguar from flickr (CC-ND)
So it happened, and after a few months of beeminding I finally derailed on blogging commitment, costing me $5, or some tiny fraction of a bitcoin ;-p

I don't feel it was really akrasia-related in any way - just a lot of things happened that made it more difficult - each one individually was totally possible to overcome, but together they just made it too hard. I didn't adjust my commitment levels downwards early enough, so these levels which were originally fairly conservative became fairly optimistic, and one of the commitments failed.

For that matter I don't even thing there was anything wrong with my commitment level in the long term view, just that it was somewhat risky short term, and that's why it failed.

It's technically a legitimate fail, but it doesn't feel like a vindication of Beeminder's akrasia-centered model at all. Maybe just tracking the goals is more useful than putting money on the line.

Saturday, December 14, 2013

Holiday announcements

Fiodor Extreme by stella_gonzales2003 from flickr (CC-BY)
I'll be in Poland until a bit after the New Year, mostly in Legnica-Wrocław area. If anybody wants to meet during, email me.

taw.chaosforge.org server which I used to dump all kinds of stuff is going down. Since most of this stuff was for my Open Source projects which now live on github, I'm in the process of migrating the pages to taw.github.io, with any major binaries going to Dropbox - except of course there's less need for tarballs, since Dropbox generates these automatically on request.

The process is going to take a while, since there's something like 200 links to fix just between this blog and the pages, and I want to apply some minimal styling to it at least.

I don't really have any major vision of what all that should be like. I guess I might write some short explanations of what all my other projects on github are, and add kind of some index more sensible than alphabetical listing, but that's about all.

That still leaves a few things without obvious home. There's my MTG sealed app (which I maintained from Avacyn Restored to Gatecrash), which I probably shouldn't put on github since it contains a lot of pictures of Magic cards. If you're interested, contact me. There's also my Perl programming course's website from years ago, which might be worth archiving, but doesn't really fit github. And there's a few even more random things.

Anyway, happy holidays!

Saturday, December 07, 2013

XCOM: Optimal character build or How to design skill trees


XCOM: Enemy Unknown is an amazing game, and this post is about how to choose optimal skill tree for various character classes in XCOM, but really it's just using that as a game design exercise. I'll be explaining what they did right and what they did wrong in designing skill trees, and then I'll summarize design points at the end of the point. It's just much easier to discuss this with a concrete example than on purely theoretical terms.

XCOM character progression

First, the basics in case you never played it. You get a bunch of 0xp soldiers, who don't even have character classes. Then as they get XP they get levels, and on each level they get HP, Aim, and Will bonuses, plus one skill, either mandatory or one of two to choose from.
  • Rookie - no class
  • Squaddie - character gets their randomly assigned class, one class-defining skill
  • Corporal - two skills to choose from
  • Sergeant - two skills to choose from
  • Lieutenant - two skills to choose from
  • Captain - two skills to choose from
  • Major - one skill
  • Colonel - two skills to choose from
All levels also get attribute bonuses depending on class, and they're a bit higher on squaddie and colonel than on other levels.

Even before seeing individual class trees, there's a lot of very interesting design going on here.

Random classes

First - you can't choose class your rookies are going to get, so pushes the player towards a balanced team. It's even more interesting, since classes are random with same chances, except your first four rookies will always all get different classes (if it was left completely up to chance, you'd most likely get some duplicates only 9.375% would be all-different).

Later in the game if you really want to have all-Heavy team you definitely can - either by hiring and training a lot of rookies until you get all the Heavies, or buying an officer school upgrade that makes all new recruits start at squaddie (with a class you want already).

But early game the path of least resistance most new players will take is a balanced team - which happens to be pretty decent strategy (not obvious, in a lot of strategy games spamming one or two unit types is optimal, and some are clearly awful), and get the player to enjoy more game elements than if they had full choice.

This random assignment can also increase frustration. If your only soldier of a class you need gets killed or wounded (and will require long hospital stay), you won't have any replacement easily available. You have ways to deal with this frustration - by training more rookies, or investing in Officers Training School, or going for missions where you get a higher level soldier as a reward, and slightly unbalanced team can still deal with most missions - but this random assignment just keeps on giving.

Fortunately they didn't overdo it - since there are only 4 classes and you have enough outs, you'll eventually be able to get the kind of squad you want. Random game elements are a

Skill trees

Another really neat design gem is with xp levels. Some levels are much more valuable than others - especially getting a Squaddie matters since then the soldier gets their class - and then depending on class different levels might have more or less important skills to choose from. Soldiers mostly get xp for participating in missions and killing aliens - and the way it's tweaked is that one mission participation (60xp) plus one alien killed (30xp, more for some high level aliens) is exactly the amount (90xp) needed to get that first promotion. This makes it really important to get rookies on the front lines, not just keep them behind farming mission participation xp while high level soldiers do all the work - but even without much luck all rookies will get their promotion on the second mission.

And there's a reason why some levels don't give you a choice. Some skills are class-defining - you have to pick them, or other skills dependent on them won't work (see Heavy class for details of that). And some skills are basically must-haves - so powerful it would be stupid to take anything else over them. Unfortunately here XCOM doesn't do a very good job (see Sniper class for details).

Sniper

I feel Sniper has by far the worst designed skill tree of all classes, so let's start with it.

The difference between Sniper and other classes is that Sniper uses Sniper Rifle (or one of its upgrades based on alien technology) and can't fire it after moving. They can still fire a pistol, but that's a pretty miserable choice.

Skills for the first two levels are:
  • Squaddie - Headshot - fires shot with +30% critical hit and extra damage, 2 turn cooldown
  • Corporal - Snap Shot - can fire after moving with -20 aim penalty
  • Corporal - Squadsight - can fire at anything any ally sees (if there are no walls in the way)
This is just awful. Headshot is a nice to have, not a big deal, so it shouldn't go into mandatory slot.

Squadsight on the other hand is absolutely critical for any Sniper - since you can't shoot anything after moving and you are relatively weak, as a Sniper you should stay behind on high grounds with unblocked view of most of the battlefield and shoot aliens the rest of your squad finds.

Now Snap Shot would be interesting choice, but since Squadsight is a must have, Snap Shot never sees any action! What's worse - Squadsight and Snap Shot have interesting interactions. Sniper with both could move to flank a newly discovered alien, and then shoot it from a direction where they are not covered (low cover gives -20, high cover -40 to aim, so it might be worth Snap Shot penalty - and shooting alien completely in the open also gives huge critical hit %). But of course they're mutually exclusive so that never happens.

What this trees should instead look like is:
  • Squaddie - Squadsight - it's a must-have skill and a class-defining ability
  • Corporal - Snap Shot - nice to have
  • Corporal - Headshot - nice to have (or even more it much further down the skill tree, and put something else here)
In Enemy Within they reduced Snap Shot penalty and nerfed Squadsight a bit - but that still doesn't change the fundamental fact that Squadsight is still a must-have. Reordering these skills would be the only right thing to do, not tweaking stats.

And on top of all the problems with this - Squaddie Sniper with neither Squadsight nor Snap Shot is usually weaker than Rookie in a fight, since they need to stay close to aliens, but can't move then shoot to flank them while staying covered.

Anyway, let's pretend close combat Sniper (Snap Shot instead of Squadsight) is a thing in further discussion, since the skill tree was clearly designed with this assumption in mind, even though that never actually happens in real games.

The tree doesn't get any better later on:
  • Sergeant - Gunslinger - +2 bonus with pistols
  • Sergeant - Damn Good Ground - +10 aim and +10 defence against enemies at lower elevation, in addition to the usual elevation bonuses
Gunslinger is just really awkward here. If you go for Squadsight sniper as you should, you will find yourself using pistols in desperate situations sometimes (when a wall blocks your shot, and someone absolutely has to shoot the enemy this turn), but such situations are hopefully rare, while you'll be at high elevation most of the time. So it's a weak bonus vs strong bonus.

And even if you go for Snap Shot Sniper for some crazy reason - Gunslinger just does almost nothing since you can shoot your sniper rifle after moving just fine. And Damn Good Ground also does almost nothing since you'll mostly be facing nearby aliens at similar elevation. So it's very weak bonus vs weak bonus.

Either way, Gunslinger is always a bad pick.
  • Lieutenant - Disabling Shot - can fire a shot that causes target's primary weapon to malfunction until reloaded, but can't critical hit, 2 turns cooldown.  
  • Lieutenant - Battle Scanner - can throw scanning device that extends your vision for 2 turns, 2 uses per battle
Disabling Shot is just fairly weak - Snipers have high chance of critical hits against most aliens, and if you hit something you usually want to finish it same turn, not let it wander around and fire. There are some aliens who can't be killed in one shot, but this only affects primary weapon, and such aliens often have secondary weapons like grenades or melee attacks. Overall, a very weak skill.

For Squadsight Sniper you usually want to stay behind in safe elevated position, so you can't throw a battle scanner as far as you'd like. For Snap Shot Sniper, I don't even know if they could shoot at aliens revealed by battle scanner since they can't see them directly.

Battle scanners would be awesome for your close combat troops - since you know where aliens are, but they can't see you, why not ambush them? Except that won't really work since the moment you move within their range aliens get a free move to run to cover.

So maybe this should be redesigned by moving battle scanners to Support class instead, and making aliens seen this way not able to run for cover when triggered? For now even awkward battle scanners are still a lot better than nearly useless disabling shot.
  • Captain - Executioner - +10 aim against targets with less than 50% health
  • Captain - Opportunist - eliminates aim penalty for overwatch shots, and allows them to cause critical hits
This is probably the closest Sniper gets to actual skill choice, everything else being autopick. I'd say Opportunist is significantly stronger than Executioner, but Executioner is still a very nice bonus, if it was somewhere else. If this bonus was +20 aim or +10 aim and +10% critical hit, that would be a serious consideration.
  • Major - Low Profile - makes partial cover count as full
And this gets to be a forced pick? For a Squadsight Sniper this is fairly close to completely worthless. Your cover is being too far behind for aliens to be able to see you - and if they somehow ambushed you, you might just as easily have no cover whatsoever rather than partial cover.

For Snap Shot Snipers I can imagine this having some value, but not terribly much.

But you know for whom this bonus would be absolutely awesome? Assault class. Or any class other than Sniper.
  • Colonel - In The Zone - killing a flanked or uncovered target with sniper rifle does not cost an action
  • Colonel - Double Tap - can use both actions for shooting (including Heatshot and Disabling Shot), 1 turn cooldown
This is a Double Tap autopick, but for interesting reasons. Double Tap is a high reward low variance pick - you get to shoot 3 times / 2 turns instead of 2 times / 2 turns - greatly increasing your damage output no matter what.

In The Zone sounds like it could potentially shoot a lot more times than two, but this will rarely happen. Triggered aliens run straight to cover, and they tend to stay in cover - and you can't move to flank them. Melee aliens tend to avoid cover, but they tend to be hard to kill in one shot.

There are some uses - if there's a pack of multiple aliens one of your soldiers could throw a grenade at them, weakening them and destroying their cover. Then an In The Zone Sniper could finish them all off without using an action. I'm sure this happened sometimes, but as a player you should generally go for solid low variance choices (Double Tap) over choices which can occasionally be amazing but most of the time do nothing (In The Zone).

Now this isn't the worst part of the tree, since many players find high variance exciting - check "Timmy" player archetype in this article.

Heavy

For a much better design let's take a look at Heavy.
  • Squaddie - Fire Rocket - fires a rocket using rocket launcher, cannot be used after moving, can be used once per battle
This is what mandatory skills should be like. Heavies have rocket launcher as a class characteristic, and many skills further down the road enhance either rocket launcher, or all area effects (and that's the only one you have here).
  • Corporal - Bullet Swarm - can use both actions to fire primary weapon
  • Corporal - Holo-Targeting - shooting at or suppressing enemy gives allies +10 aim against that enemy
Anything that doubles damage output is great, especially with no cooldown. The problem here is how fast you'll run out of ammo here. So it looks like they're both viable choices. But once you perform a Muton autopsy and get Ammo Conservation in a Foundry, your ammo will double, and this problem will go away, moving bullet swarm from about as good as Holo-Targeting to way better.
  • Sergeant - Shredder Rocket - fire a rocket that causes all enemies to take +33% damage from all sources for next 4 turns, but has weaker blast
  • Sergeant - Suppression - special shot that makes target suffer -30 aim, and grants free reaction fire against it (and also uses a lot of ammunition)
So many interesting things about this level. Suppression is the only ability that's available for multiple classes - Support Lieutenants also get it - and it's mostly useful for trying to capture aliens. In case you never tried it, the way it usually works is that your Heavy will suppress an alien, your Assaults (with Lightning Reflexes and maybe Resilience to protect against enemy fire) or Supports (with Sprinter for faster movement) will move towards it, and then maybe a Support will throw a Smoke Grenade to give your approaching and exposed soldiers some extra cover. Suppressed alien is likely to just stay under cover and often doesn't even try shooting, since AI prefers to save ammo rather than try shots with very low chance of succeeding.

And Shredder Rocket ability shows why Fire Rocket had to be mandatory. If Fire Rocket was optional, then if you didn't take it then, you couldn't take Shredder Rocket now.

Overall, Suppression is much better here. It's extremely useful for capturing aliens alive, it's somewhat useful in regular battle, and its main downside of going though a lot of ammo goes away with Ammo Conservation. But once you've captured all the aliens you'll ever want, Shredder Rocket is a serious consideration.
  • Lieutenant - HEAT Ammo - +100% damage against robots (nerfed to +50% in Enemy Within)
  • Lieutenant - Rapid Reaction - second reaction shot on overwatch if first one was a hit
Since most of your nastiest enemies are robots - HEAT Ammo is a really really good choice. Interestingly it also combos with a rocket not just primary weapon. After the nerf it's not as clear what's the better choice.

Rapid Reaction is not as good as it sounds early game, since Heavies go through a lot of ammo, and if 
you don't have enough ammo to shoot twice it won't work. Late game you'll have Ammo Conservation, but then you'll also have Cyberdisks and Sectopods trying to murder you.

HEAT Ammo was an interesting design as a safety valve. Balancing everything about the game is pretty much impossible, but you can put some elements like that in it instead. If robotic aliens end up being too powerful, players will pick HEAT Ammo more often making robots less menacing. On the other hand if robotic aliens end up being relatively weak (relative to what player has at that point of the game, other aliens etc.), players will tend to pick Rapid Reaction, and that will make robots stronger in relative terms.

Since robots turned out to be really powerful, HEAT ammo is the way to go.
  • Captain - Grenadier - can carry 2nd grenade in inventory slot
  • Captain - Danger Zone - increases area of effect of rocket attacks and suppression by 2 tiles
From design point of view Grenadier requires specific inventory item to be useful - and that means you won't be carrying any of the alternatives like SCOPE, or Chitin Plating. How good it is depends on how good you think grenades are, and that very strongly depends on difficulty level, aliens you face at that point of the game etc. 

Danger Zone depends on having either rockets (which are mandatory) or suppression (which is a very good pick), so it has synergies with both. I'd usually prefer Danger Zone and SCOPEs on heavies over Grenadier and grenades, but neither choice is an autopick.
  • Major - Will to Survive - reduces normal damage taken by 2 if in cover and not flanked
This is an amazingly useful skill, and I'm happy they made that mandatory. It's a bit funny whenever late game you face early alien types (like in some council missions which occur in random order). Aliens can then hit your Heavy as many times they want and do precisely 0 damage. Unfortunately when they miss they can destroy Heavy's cover, so missing alien is worse than a hitting one.
  • Colonel - Rocketeer - 1 additional rocket per battle
  • Colonel - Mayhem - additional damage for suppression and all area-effects
This shows one thing I really dislike about XCOM. Unlikely most other games XCOM doesn't show you research tree, possible future enemies, possible skills picks past current level etc. This makes sense from story point of view - at least the first time you play, the second time not so much - but it makes it very frustrating to play optimally.

Rocketeer synergizes very nicely with Shredder Rocket, HEAT Ammo, and Danger Zone - but you have to choose those early skills before the game reveals that this late skill exists.

Mayhem is nice, but one thing it synergizes most with is, well, Rocketeer. That is not a great design.

Value of rocket skills (HEAT Ammo, Danger Zone, Rocketeer, and Shredder Rocket too - but that last one is not as great) depends primarily on you having Slingshot DLC installed or not. WTF you're asking? All weapon types can be upgraded, but the only way to upgrade rocket launcher (to something ridiculously overpowered) is to capture an alien battleship and research Fusion Core.  The problem is that without Slingshot DLC you won't see Battleships until very late in the game - in fact you're more likely than not to finish the game before any Battleship mission, since they have the same prerequisite (upgraded aircraft). But with the Slingshot DLC you can capture one quite early, making your Heavies completely overpowered mid game. Either way, I'd pick Rocketeer.

Overall, I'd say Heavy's skill tree is quite well designed, and the only changes I'd make would be some rebalancing. The choice to hide skill tree is probably bad for mechanics, but it makes sense from storyline point of view.

And it might be a good idea to add some mid-game rocket launcher upgrade, since overpowered DLCs are not good for any game.

Assault

Assaults are also pretty nicely designed.
  • Squaddie - Run & Gun - allows firing or using overwatch after using both actions for moves, 2 turn cooldown.
This is a class-defining ability for Assaults, and it's extremely good, so it's good that it's mandatory.
  • Corporal - Tactical Sense - +5 defence per enemy is sight (max +20)
  • Corporal - Aggression - +10% critical hit chance per enemy in sight (max +30%)
Both of these are relatively minor bonuses, and I'd normally pick Tactical Sense since when there are enough aliens to worry about them your priority is probably not getting killed.
  • Sergeant - Lightning Reflexes - first reaction shot against the unit always misses
  • Sergeant - Close and Personal - +30% critical shot chance against adjacent targets, bonus declines with distance
Lightning Reflexes is a much better pick since it helps the entire team. You can run in front of overwatching alien with your Assault - possibly Run & Gunning quite far - and the alien will try to shoot and miss, making the movement safe for the entire team. It doesn't work that great if there are multiple aliens on overwatch close to each other.

Close and Personal is a nice bonus for situations where you're already winning and it's safe to get very close to the alien, but in more difficult situations you just don't want to do that.
  • Lieutenant - Flush - fires a shot that causes enemy to run out of cover, it's easier to hit but causes less damage
  • Lieutenant - Rapid Fire - can fire two shots against single target with -15 aim penalty
This is not even close. Flush might or might not be useful sometimes, but Rapid Fire is a must-have since it pretty much doubles your soldier's firepower - and actually increases hit chance since you have two chances to hit not one. Higher ammo use is a concern, but Assaults don't go through their ammo as quickly as Heavies, and you'll get Ammo Conservation eventually.

3 out of 4 classes have some way to shoot twice. Rapid Fire has benefit of taking just one action (unlike Bullet Swarm and Double Tap), so you can fire and shoot twice. With Run&Gun and Rapid Fire you even get to move twice and shoot twice in just one turn. What's better - unlike Double Tap, Rapid fire has no cooldown, and unlike Bullet Swarm Assaults don't run out of ammo that fast. It's pretty amazing. There's rarely any reason to use regular fire once you get Rapid Fire.
  • Captain - Close Combat Specialist - free reaction shot against any enemy which moves within 4 tiles, does not depend on overwatch
  • Captain - Bring 'Em On - 1 damage to critical hits for each enemy the squad can see (up to 5)
Assault will usually be closest to the enemy of all your soldiers, and Close Combat Specialist can fire multiple times a turn, so it's potentially extremely powerful. Bring 'Em On on the other hand is pretty underwhelming.

The only downside of Close Combat Specialist is that there's no way to disable it, so sometimes you'll kill an alien you were hoping to capture. That's a risk I'm willing to live with.
  • Major - Extra Conditioning - health bonus depending on type of armor equipped
  • Colonel - Resilience - immunity to critical hits
  • Colonel - Killer Instinct - activating Run & Gun gives +50% critical damage for the rest of turn
Extra Conditioning is sure nice, but it sounds like something Heavy should be getting. There are good reasons to give Assaults medium armor with high mobility like Skeleton Armor or Ghost Armor rather than heaviest armor possible.

Resilience would be useful on all classes, but Assaults need it the most since they're taking most risk.

From design point of view I'd make Resilience a mandatory pick, and make Colonel level choose between Extra Conditioning (if you want a more heavy Assault) or Killer Instinct (if you want a more mobile Assault). Still, it's a decently designed skill tree with a bit extra rebalancing.

Support

Support class has a very different skill tree - either you go for Field Medic and pick all medic-related abilities, or don't and pick all overwatch/suppression related ones instead. Because of how much synergy there is between medic abilities, it's usually a bad idea to mix&match.

Support also has many abilities that help with capturing aliens, but there are some anti-synergies here.
  • Squaddie - Smoke Grenade - can throw smoke grenade that gives +20 defence bonus to all units under it, lasts through enemy turn
The bonus isn't that big, but it can sometimes save your soldiers' lives.
  • Corporal - Sprinter - can move 3 additional tiles per move
  • Corporal - Covering Fire - allows reaction shots to trigger on enemy attacks, not just movement
Sprinter is useful for many things - for medic, for throwing smoke grenades, for throwing regular grenades, to get to cover or flanking position etc. It's like a smaller version of Run&Gun with no cooldown.

A major downside is that Supports unlike Assaults can't get Lightning Reflexes, so they're totally vulnerable to aliens on overwatch, but they have to run a lot, something Snipers (who stay behind and shoot) and Heavies (who stay in one play and keep shooting until everything dies) don't have to worry about that much.

Covering Fire synergizes with Sentinel later, but if you're going for medic build, Sprinter is a must.
  • Sergeant - Field Medic - can use medkits 3 times per battle rather than just 1
  • Sergeant - Smoke and Mirrors - can use smoke grenades 2 times per battle (3 in Enemy Within) rather than 1
It's very risky not to have Field Medic Support soldier on your team, and that's mandatory choice for such character. You don't really need 2 Field Medics, so you could make a non-Medic Support with Smoke and Mirrors, but one extra grenade is just very weak, so non-Medic Support is pretty underwhelming.

And there are so many anti-synergies here. For capturing aliens sprinter and smoke grenades are both awesome, but one soldier can't both dash and use a smoke grenade on themselves. For non-Medic Support extra smoke grenades are nice - but then they can't use overwatch.

Just like Snap Shot Sniper, I'm not convinced non-Field Medic Support is really good for much.
  • Lieutenant - Revive - critically wounded soldiers recover to 33% of max health rather than just stabilizing
  • Lieutenant - Rifle Suppression - special shot that makes target suffer -30 aim, and grants free reaction fire against it
Revive makes no sense to take unless you're going for a Medic. For Medic it's somewhat underwhelming, since critically wounded soldiers happen relatively rarely (usually they either die, or survive), and one or two times a campaign it happens those few extra points probably won't make a huge difference. Rifle Suppression is just as useful as Heavy's Suppression, so I'd probably go for it, unless you see far more critical wounds than I do.

By the way this is another anti-synergy, since Rifle Suppression is another awesome skill for capturing aliens, but you can't really mix it with Smoke Grenades, or Sprinter. 
  • Captain - Dense Smoke - smoke grenades give extra +20 defence (+40 total) and have increased area of effect
  • Captain - Combat Drugs - smoke grenades give extra +20 will and +10% critical hit chance
I'd just go for Dense Smoke, since there are very few psionic aliens outside very narrow areas like UFO's command bridges, and there you just want maximum firepower, not any extra defence
  • Major - Deep Pockets - additional item slot in inventory (in Enemy Within instead additional use for each single use item)
This is a really nice skill for Field Medic, since slot one gets a medkit - and unfortunately you can't carry two medkits even with this skill. For second slot you can carry Arc Thrower, or grenades, or SCOPE, or whatever you want. That was actually a really nice synergy for capturing aliens, since Sprinter works well with both Arc Thrower and with medkit.

I don't feel that great about Enemy Within replacement bonus.
  • Colonel - Savior - medkits restore 4 more health per use
  • Colonel - Sentinel - two reaction shops during overwatch instead of one
All skills lead to either of these builds. It makes little sense to make a Savior without Field Medic and Sprinter, and it makes little sense to take Sentinel without Covering Fire, Riffle Suppression, and probably Smoke and Mirrors.  

From design point of view there are two subclasses for Support class, and mixing abilities is awkward. Support has by far the least firepower of all classes, so it's difficult to design it well - most people will take one Support Field Medic, and won't even bother with the Sentinel Build since low firepower makes it less useful, and harder to get xp for.

Covering Fire and Sentinel might be better on a Sniper instead, and Battle Scanner on the Support perhaps? Sprinter for that matter would synergize amazingly well with Assault's Lighting Reflexes and Run&Gun. Maybe Flush and Grenadier for the Support instead? It feels like rearranging skill trees could result in something much more interesting and balanced.

How to design skill trees

Here's a summary:
  • Randomness is a very powerful game design element, but don't overdo it.
  • Show whole skill trees, not just currently available portion, so player can look for synergies (problems with Rocketeer, Savior/Sentinel)
  • Not everything has to be balanced. Within reason, it's good when player can figure out that some abilities are more powerful than others - but it's not great when half of abilities never see any use. 
  • Avoid giving the player a choice between a must-have skill and a nice-to-have skill (Squadsight vs Snap Shot).
  • If two skills have interesting synergy, do not make them mutually exclusive (Squadsight + Snapshot).
  • If skills have anti-synergy, put them on separate classes. (mostly done right)
  • Don't make "upgrades" that make the character worse (like Squaddie Sniper).
  • Give player options to deal with potentially unbalanced game elements. At best they won't need them. (like HEAT Ammo).
  • If a skill is necessary for other skills, make it impossible to pick those other skills without picking the prerequisite (Fire Rocket and other rocket-related skills)
  • Some players like high variance game elements, others prefer solid low variance (In The Zone vs Double Tap)

Enemy Within update

This post talks about the base game XCOM: Enemy Unknown. Expansion pack Enemy Within changes a bunch of things, so it actually changes some recommendations. Two important things are gene mods and the now about 3x more powerful Sectopods.

In the base game Squadsight was way better than Snap Shot. It wasn't even close, total no-brainer. So what changes in the expansion after Squadsight gets nerfed and Snap Shot improved? The gulf between them becomes even more ridiculous! From being merely overpowered, the supposedly nerfed Squadsight is now completely and totally broken.

First, you get two neat synergistic gene mods designed for Squadsight - very cheap Depth Perception (+5 aim +5 critical chance if at height advantage) and somewhat more expensive Muscle Fiber Density (can just like thin men - basically somewhat better grapling hooks). That pretty much counters the nerf on its own.

But it gets better. You get Mimetic Skin gene mod, which you can use to make your soldiers pretty much invisible (if they stay in cover and don't shoot - they can use some abilities) - but your Squadsight sniper can still shoot them just fine. Aliens will trigger when shot, but since they see neither your invisible soldier (who didn't shoot) nor your sniper (who's beyond their range of sight), they're completely helpless. So in theory it would be possible to clean up most maps with one invisible soldier, and one low-level Squadsight sniper. Except it doesn't work on Chryssalids, and there are a few maps where you're against timer or have some objective other than surviving, so it's not always an autowin, but pretty close.

And did I mention that Mimetic Skin is pretty much free, since your investment will repay itself immediately since with just 1 or 2 invisible soldiers you can clean up all meld canisters on all maps? There are diminishing returns of course.

All this also makes In The Zone better, since you get the first sniper shot before aliens can run for covers, so now it's a reasonable pick over Double Tap. I'd still take Double Tap because it helps with Sectopods so much, but it's close enough.

One recommendation for Enemy Unknown which I'd now reverse for Enemy Within is Disabling Shot vs Battle Scanner. Battle scanner was always awkward on the Sniper, and you'll be getting something way better with your invisible soldier fairly early, so it becomes a dead pick. On the other hand Sectopods get a lot more powerful, and you won't be able to just double tap critical them and finish with a HEAT rocket like you used to, so Disabling Shot on them is pretty helpful. It's also not completely unreasonable to Disabling Shot your mind controlled soldiers, but then it doesn't happen all that much thanks to rampant invisibility.

All other recommendations still stand.