Devlearning: Introduction

One of the things I've always found interesting, playing through game series, is how you can see the development team learning through how pieces of their games change over time.

The example that first got me thinking about this kind of thing was the first four (and a half) Command & Conquer games, and more specifically the fairly clearcut case of walls.

Here's what the original game had:



These were 25, 50, and 100 credits respectively. Chain Link was identical to Sandbags, except it took more damage to be destroyed, while Concrete Walls would block many projectiles (Some of which couldn't actually damage the wall!), and were able to absorb a lot of punishment.

In my own play I found Chain Link fencing to be a bad choice. It was twice the price as Sandbags, but it brought basically nothing to the table. The durability increase wasn't even enough to particularly slow down units capable of damaging walls, which were the only units that even cared about the difference.

I also found Sandbags to only really be useful because they could be used as cheap ways to separate buildings. Only Concrete Walls were a serious defense against much of anything.

And while the campaign 'unlocked' walls in steps, in tech tree terms they all had the exact same requirements: nothing. There was no using Chain Link because you haven't built the building that unlocks Concrete or something.

So then we go to the next game, Red Alert:



We have three wall types again... except not really. Barbed Wire and Sandbags are, mechanically, the same thing, they just provide visual distinction between Allied and Soviet bases. Prices are unchanged: 25$ for Sandbags/Barbed Wire segments, 100$ for Concrete Wall segments.

So it looks to me like Westwood Studios came to the same conclusion I came to, back in the day: Chain Link had no purpose in the game, and was thusly removed. But they either were okay with Sandbags being useful as a way to space buildings better, or hadn't yet concluded that Sandbags were an awful defensive tool.

Then we go to Tiberian Sun:




Sandbags have gone the way of the dodo! Now Concrete Walls (still 100$ per segment) are the only basic wall at all (Albeit with different graphics for the two factions), and we've suddenly gained gates (250$ for a single gate, which covers three tiles) so it's possible to 'seal' a base completely against the likes of enemy Engineers while still allowing your own units to enter and exit. Neat stuff.

Instead of Concrete Walls being treated as the 'advanced' wall type, they're now the basic wall type, with Firestorm Walls (for GDI) and Laser Fences (For Nod) filling the role of advanced wall. Both of them require power and are less susceptible to being destroyed. (Firestorm walls through temporary invulnerability, Laser Fencing by virtue of the individual segments being insanely durable and only the posts being meant to be destroyed conventionally)

I liked this a lot, though I always felt Firestorm walls were more of a gimmick than a proper gameplay conceit, and Laser Fencing was a neat idea that had somewhat shaky implementation.

Special commentary:



Tiberian Sun does have Sandbags, but they're not something players can build normally anymore. They're basically just for campaign purposes, which is fine as they always worked okay for that purpose in the prior two games.

Anyway, before continuing to Red Alert 2, we come to my 'and a half': the expansion to Tiberian Sun, Firestorm, did not add any new walls, but it tried an experiment with the existing Concrete Walls and Firestorm Walls. Instead of placing wall segments painstakingly one at a time (Which was always one of the biggest hurdles in actually using walls in real play) now you can 'auto-complete' walls. If you have a wall segment up, and set another nearby, the intervening tiles are filled in for free. (Incidentally, this was clearly a variation on how Laser Fencing fills in between Posts, and probably was inspired by the Laser Fencing code)

However, Firestorm also jacked up the price of Concrete Walls and Firestorm Walls, presumably to try to keep the price-per-segment somewhat consistent. This is... a bit of a doomed effort, honestly, and I never understood why Firestorm thought this was a good idea.

So, Red Alert 2:




No advanced walls. No Gates. Just Concrete Walls, with a graphic for each side. We drop back to 100$ for construction/click, while retaining the auto-fill feature, which effectively makes Concrete walls much cheaper in Red Alert 2 than they ever were before. A full 5-by-5 segment will cost 400$ while placing 16 tiles of walls, That's a per-tile cost of 25$ -the same as Sandbags of the days of yore.

Now, in actual practice you'll basically only achieve that specific pricepoint when walling off your Construction Yard (You are protecting it from Engineers, right?), but even when making a straight line of walls you'll still tend to hover more around 40$ per tile. And in cases where you're reconstructing walls that have been punched through, it can actually be even cheaper than that -a per-tile price of 12.5$ is totally doable.

This is basically the logical end-point of classic Command & Conquer: finally you have cheap, tough walls that don't require a lot of tedious clicking from the player to get in place, which are still pretty trivial to blast through or bypass with siege units, so they're not pushing the game to be overly turtle-y or anything.

--------------------

So this is the kind of thing 'Devlearning' posts will be going over: cases where you can clearly track how the developers learned as they went, and make inferences -some interesting, some fairly mundane- about what they were trying to accomplish and how well prior attempts did or did not do and so on.


Next time, I think I'll be poking around at the Donkey Kong Country series.

Comments

  1. Of course, any C&C player knows that the real purpose of the sandbags was to cheese the AI. ;)

    Here's an article on C&C's AI you might find interesting from a devlearning perspective: https://www.eurogamer.net/articles/2020-08-10-the-command-and-conquer-remastered-developers-left-in-a-25-year-old-exploit-so-players-still-had-a-fighting-chance

    A really long time ago when I had fewer responsibilities and much more free time, I played the C&C series games in this order: Red Alert, Red Alert 2 (+Yuri's Revenge), Tiberian Sun, C&C 3, C&C (never got around to Generals or Red Alert 3, but I did play Renegade). Having played the first game last, I kind of expected that some of the quality-of-life improvements of the later games weren't there (like waypoints or stacking unit build queues), but what really struck me was the AI. Specifically, how hard and in your face it was cheating, along with how dumb and trivially exploitable it was.

    The C&C campaign balance basically hinged around computer cheating vs. player cheesing; the game might as well have been entitled Cheese & Conquer. I think it's telling that two decades on, the devs are still discovering to what extent this is the case, to the point that they are leaving in the classic exploits because fixing them ended up severely unbalancing the game. It sounds obvious in hindsight; you can't have a semi-competent AI that's _also_ cheating as hard as the C&C AI did, but then dialing back the cheating will probably unbalance the campaign in _other_ ways. As for the sandbags, I'm only half-joking when I say that its real purpose is to cheese the AI. I'm wondering then if the devs found out that players mostly used the sandbags for exploiting the AI, and fixed the exploit while phasing out the sandbags at the same time; I wouldn't be surprised either way whether they explicitly made the AI exploit connection or not in the decision, because game design is hard!

    The game in the series I spent the most amount of time playing is RA2, and its expansion, Yuri's Revenge. It was _reasonably_ good at making it look like it was playing fair with resources. Or at least the campaign did as well as the skirmish mode AI up to Medium difficulty; on skirmish Brutal difficulty it was very obvious that it was cheating with resource gathering, build speed, and bypassing the tech tree. The one thing RA2, and for that matter _all_ the C&C games were bad at hiding was that the fact that AI is omniscient; it basically ignored fog of war. Which is unfortunate, because RA2 for example gave you things like Psychic Radar which warned you of all enemy movements into its range; that made it immersion-breakingly obvious that the AI is cheating because for example you can see the AI directly targeting your buildings even though they've not scouted your base, or send disguised spies even if they've not seen any of your units. Even more unfortunate is that the game even gives you tools that manipulate Fog of War like Gap Generators and spies infiltrating enemy radar buildings, things that were situationally useful in long multiplayer matches but completely useless against the AI.

    The RA2 AI did appear to specifically try to ignore stealthed units like spies and Mirage Tanks, unless they attack dogs and mind-control units which can see through stealth. IIRC this applied even if you sent spies into a Soviet base with a Psychic Radar, they'll be fine as long as your spy doesn't stumble upon attack dogs or Yuris, or doesn't (accidentally) get run over by a vehicle. And there's other things like parking a row of Mirage tanks in the middle of a highway which should be _really_ obvious but the AI doesn't notice. So this mechanic was its own brand of exploitable. On the flip side, they'll also try to do stupid things against you like send a spy disguised as a Rocketeer, who of course end up _walking_ to your base and are really obvious. The AI can still see all of your underwater units though.

    ReplyDelete
    Replies
    1. I found something interesting today via Reddit. Here is the actual code for the harvester credits in C&C Remastered:

      https://github.com/electronicarts/CnC_Remastered_Collection/blob/7d496e8a633a8bbf8a14b65f490b4d21fa32ca03/TIBERIANDAWN/DRIVE.CPP#L1653

      It appears that the AI was originally intended to get a +1/3 boost of income vs. the player. However, a misplaced parentheses meant they got a 28x (!) boost instead. It never worked out to be _that_ much in practice, because that amount instantly filled up all the AI's Tiberium silos, but that was still effectively an infinite amount of money compared to the player.

      What's especially interesting is that they fixed the bug for multiplayer skirmish games, but explicitly left it in for campaign mode, with a comment indicating it's left in there so as not to break missions! It looks like bug has been there early enough for the mission designers to actually balance the campaigns around the AI effectively having infinite resources instead the actual intended (modest, but still significant) boost that it was supposed to get.

      Delete
    2. Huh. I've never successfully starved the AI in the first game, no matter how many times I kill Harvesters or the like. I'd been completely sure they were just ignoring the economy entirely, with their silos filling and unfilling not really meaning anything, because I tried, back in the day, to starve the AI across a variety of missions and it never even so much as temporarily slowed the flow of units, it just resulted in the AI effectively being even more aggressive because I'd trigger attack waves early and they'd immediately start replacing the attack waves now that they weren't chilling out, waiting for the order to attack. That would certainly explain the 'one Harvester comes back and all their Silos fill up in seconds' stuff.

      I guess I'll be testing this in the near future.

      And yeah, the original AI is both very dumb and very blatantly cheating. They're connected issues: it's a lot easier to code the AI to directly check data ("Where is the closest hostile unit?") than it is to code realistic-ish behavior. ("Okay, I know the enemy is out there, so time to build a scout and go looking for them, and from there start making guesses as to whether I'm not seeing something important requiring more scouting...") I always took it as a given the original game lacked a skirmish mode and had the campaign AI blatantly ignore base construction rules for the same reason -that it was easier for the devs to just tell the AI "Build X here, Y there, Z at such-and-such..." than it was to code it to understand the base construction rules well enough to organically apply them. C&C TD isn't literally the first RTS -that's Dune 2- but it was still VERY early days, before a lot of these AI problems had solutions at all.

      And yeah, in Tiberian Sun and Red Alert 2, the AI is actually playing by very nearly the same rules as you. Not quite -they're still bad with hidden information states, as you noted- but as far as resources and so on? Same rules as you.

      Sadly, RTS AI is still prone to functional omniscience as far as I'm aware: Tiberium Wars had a frustrating (And exploitable) point that the AI would pretend to not know about your stealth units, unless said stealth units were within a radius of the AI base, at which point defense squads would hunt the stealthed units precisely. RTSes that minimize these problems generally do so by not having mechanics centered around hidden info.

      Delete
    3. I've never played Dune II, though I do remember my cousin was given a copy of one as a gift - their family had a PC many years before we did. It looks like much of the C&C code was a carryover from it, the code calls the factions "houses" for example.

      Delete
    4. Yep. Even into Red Alert 2, factions are internally labeled 'houses'. (I think that stopped with Generals, but I've not dug into it heavily)

      I haven't actually played Dune 2, either, but I did play Dune 2000, and check out an LP of Dune 2, which... highlighted how far RTSes have come. Dune 2 was so clunky I'd call it 'unplayable', due to rock-stupid AI and generally awkward UI and other things.

      Delete

Post a Comment

Popular Posts