Battletech - Also known as Trannytech

Back to HBS Battletech, I found an interesting interview with Kiva the lead design troon.
Apparently one of the kickstarter stretch goals that was unlocked was procedurally-generated missions.
Interestingly, according to Kiva, 'procedurally generated' means something different to most people's understanding.
Basically, if you're a mentally ill man in a dress, 'procedurally generated' means taking a pre-made map, applying a pre-designed mission type, then applying a pre-programmed convoy path (in escort missions) and an OpFor that's roughly deigned to match your own lance.
Maybe it's not really procedurally generated... but simply identifies as procedurally generated, while anyone who's not a moron can clearly spot the deception?

Q&A: Building and balancing Battletech's procedural missions​

May 11, 2018 | By Alan Bradley




Fitting procedurally-generated elements into an RPG means walking a tightrope of careful balancing and tuning, a task that’s made even more challenging when the RPG in question is as nuanced and complex as Battletech.
It makes sense, then, that lead designer Kiva Maginn and the team at Harebrained Schemes attacked generating content for the recently-released strategy game in a layered, complicated way.
Procedurally-generated missions weren't actually a core part of the Battletech game Harebrained pitched on Kickstarter; they were one of the stretch goals, and when the campaign raised enough money to merit their inclusion, the team had to decide how best to incorporate them into a hand-crafted strategy game with a core storyline.
Gamasutra recently reached out to Maginn to hear more about how she and her compatriots implemented a procedurally-generated mission system that can reliably present players with a believable setup and, perhaps more importantly, an interesting challenge.
Her answers were so fascinating (and so detailed) that we thought you might enjoy reading them for yourself, in full, below.
How are the game's side missions designed/generated? How much of the content in them is set, and how much is procedural?

Maginn:
The procedural missions are built out of three layers. At the bottom layer is the map itself. Maps are hand-created by a designer, using assets created for us by the environment art team, and tools built by our technical art team. Then the environment artists go back over the map and polish it, adding details, filling out areas, sticking rocks all over everything, and so forth. The maps are intended to be large enough that we can stage several encounters on a map without you realizing it’s the same place, and there are some additional mechanics that allow us to switch what structures, facilities, roads, and so forth are on the map on a per-encounter basis.
The middle layer is the encounter. It’s a generic, flavor-free mission, one of eight types. We’ve tried to capture what we think are the most common scenarios in a BattleTech context -- a straight-up battle, a convoy ambush, a targeted assassination, and so forth. All the logic and scripting that makes an encounter work is embedded in the generic version. Designers then use the Unity prefab system to stick copies of the encounter and all its fiddly bits onto the maps. We move spawn points around, drag patrol paths into place, and generally get the encounter properly set up for the terrain it’s going to be on.
The final layer is the contract. A contract contains all the flavor bits that aren’t part of the raw mechanics of the encounter. So if you’re blowing up a warehouse full of weapons, that information is in the contract layer. The encounter just knows this is a mission where you’re going to destroy a base; it’s the contract that supplies the text to describe it as a weapons warehouse. Contracts are aware of the encounter they’re written for, so they map directly onto all the mechanics of the specific encounter; that is, if the encounter calls for two groups of enemies to spawn, the contract must specify what’s in those two groups.
The nice thing is, while maps and encounters are all part of the Unity scenes, the contracts are a JSON layer over the top of that, so they can be built and edited in a text editor. On top of that, I wrote a simple markup language to make contract creation even simpler, and that markup is parsed into the actual JSON the game uses. So we can rapidly create and iterate contracts, and (maybe most importantly) diff them against each other in git.
Battletech%20(1).jpg

When you go to take a procedural mission in game, the game looks at the star system you’re in to figure out what maps are available. If it’s a frozen ice world, it’s going to look for an arctic or tundra map; if it’s a desert world, it will look for a desert or wasteland map. Then it looks at all the encounters on that map, and picks one. Then it looks at all the contracts that fit that encounter, and checks to see if you meet the contract’s requirements -- difficulty, reputation, and so forth -- and then picks one. It also looks at the possible employers and targets in that star system, and picks one of each for the contract.
I think the best way to describe the entire process is ‘procedurally generated from hand-created, curated parts’.
How do you balance the side content to be appropriate for the player's power level, without knowing specifically what the structure of their lance looks like? How do you use main story progression to throttle player progression?
Trying to figure out how strong a lance is turns out to be the great white whale of BattleTech design problems. There have been multiple different Battle Value metrics, with lots of complexity behind their valuations, but nothing has ever really been comprehensive. Our solution was, largely, to stop trying to understand the strength of a lance, and instead focus on what resources we expect you to have available.
There are two ways we control the overall player power and challenge level: the global difficulty, and travel restrictions. Global difficulty is a value from 1 to 10 that indicates how heavy the enemy ‘Mechs you face are likely to be. We’ve got over a hundred different lance definitions, each one rated by its difficulty, and each one specifying the weight and role of its members. When we spin up a new mission, we decide what enemies to spawn by taking the global difficulty and finding a lance that matches that difficulty. There’s a bit more complexity there, as the contract is allowed to modify the difficulty before it goes looking for a lance to fit, but that’s the basic structure.
Battletech%20(3).jpg

The difficulty ticks up at specific events throughout the story, so that as you progress you face harder opponents. The way we handle loot, though, means that an increase in difficulty also means an increase in player power. If you meet a heavier ‘Mech than you’re used to, you have a good chance of being able to salvage it for yourself. So when we tick the difficulty up, we’re also expecting you to grow to meet that difficulty.
At the same time, we give you a fair bit of control over how tough you want your fights to be. Each star system has its own difficulty adjustment; some places are nastier than others. You can always fall back to easier locations if you’re getting overwhelmed by the battles, or push into harder hotspots to up the challenge. Additionally, when contracts are generated, we vary the difficulty by -1 to +1, giving you a range of possible battles even within a single system. If you’re getting stomped and need some recovery time while you send out the B-team, you can probably find an easier challenge.
None of this is perfect, of course, and you can still be surprised by a much harder or much easier mission than what you were expecting. That’s just part of the nature of procedural content, and of the kind of simulation we’re shooting for. If you realize you aren’t going to be able to make a profit off the mission you’re on, you can always retreat -- and if you’ve made a reasonable effort, you will still get paid for your attempt. One of the mantras we’ve repeated throughout the design process is ‘we want you to run away’, and the potential variance in contract difficulty feeds into that mantra.
That said, there are difficulty spikes and troughs that push a bit too far, into territory we consider potentially unfair, and so we’ve started addressing those on a contract-by-contract basis. Sometimes we meant for you to be fighting a tough ‘Mech, but other times we’re asking a mid-game player to fight an Atlas, and that’s just not fair. This is fallout from the way contracts layer onto encounters. The encounter might offer three different ‘ambush’ lances for the contract author to enable or disable. But if the contract author enables all three, she’s going to be asking the player to fight 12 enemies simultaneously. On some maps, this might be reasonable; maybe there’s a choke point, or some high ground with cover. But the contract author doesn’t know that; the encounter might be implemented on a lunar map that’s just a big open space with no cover and no way to cool off your ‘Mechs. That’s a death sentence.
So there’s a lot of moving parts in the difficulty mechanics, and the target isn’t perfect matching of difficulty to player power, but rather ballpark matching, with the assumption that the player can escape a bad situation by withdrawing, or prevent a bad situation by choosing slightly easier missions.
I mentioned travel restrictions, but that actually has more to do with a later question, so I’ll talk about it there instead.
Can you give me any specific examples that came up during development, play-testing, or during the beta of something that broke the balance you were looking for and prompted you to change the design of the side content?

The biggest challenge has been matching the difficulty progression in procedural content to the difficulty progression of the story. On one hand, we need to get you prepared for the story mission, which means we need to provide you with ‘Mechs we believe are capable of beating the mission. On the other hand, we want story missions to be major, memorable challenges, with enemies and situations you haven’t seen before and higher stakes than previous procedural content.
There’s a mission about a third of the way through the campaign where you have to stop a Union dropship from taking off. Based on what we expected the player to have available at that point in the game, I built the strongest lance I could -- with the rule that I could only use Medium ‘Mechs. We couldn’t be certain the player would have Heavies at that point, and I wanted to find out if the mission was winnable without them.
Battletech%20(2).jpg

I got stomped into a pile of scrap. It wasn’t even close. I went back to the drawing board, trying a few different ‘Mech configurations, seeing if knowing the mission and building for that knowledge would make the difference. It didn’t; I failed three times in a row.
Based on that experience, we had two options: we could make the mission easier, or we could make the player more powerful. We opted for the former, because I really didn’t want to cross the line into heavy ‘Mechs that early in the game. We tweaked the difficulty down iteratively, making small changes and then trying the mission again with different Medium-only lances, until we reached a point where I could consistently win and not lose any ‘Mechs.
As an aside, I consider ‘Mech loss to be effectively a failure. Once you lose a ‘Mech, assuming it’s of a reasonable size for the mission you’re on, you may not be breaking even on the mission any longer. So our tuning target isn’t ‘win the mission’, because winning with only one ‘Mech left standing on the field isn’t really winning at all. Our target is instead ‘with clever play and a little luck, win the mission without losing a single ‘Mech’. I’ve staggered across the finish line with missing arms, missing legs, and pilots turned to jelly by repeated knockdowns, but the metric is always economic: did I make money, or did I lose money?
How do the management systems like the store and ship upgrades play into that balance?
Stores are interesting because their contents are so random. This is where travel restrictions come in. When you start, you only have access to four systems, and we’ve intentionally made those systems utter garbage. They have bad shops, they have bad contracts, and they have very low difficulty. While you can make progress there (there’s a Reddit user who played in those four systems for 10 years of in-game time, which is simply astonishing to me) they’re designed to push you into the story as soon as possible.
After that you have access to many more systems, and those systems can contain weapons and ‘Mechs you haven’t seen yet, but there are no guarantees anything will be at a specific store on a specific planet. Only the absolute basics -- ammunition, heat sinks, and so forth -- are guaranteed to be available. Everything else is chance, though it’s chance you can manipulate somewhat. High-tech systems have a higher chance of interesting gear; industrial systems do as well. Poor, backwater systems with no industry other than subsistence farming are very unlikely to ever have weapons or ‘Mechs you’ll want in their shops.
Still, this means that there’s the potential for discontinuity in the difficulty curve. You might find an AC/20+++, the single most damaging weapon in the entire game, before you even dig into the main plot. Our approach to this kind of discontinuity is, essentially, to shrug. Buying and using that weapon is going to be a leg up on the content. It’s going to make you feel powerful, and it’s going to give you amazing moments of utter destruction. But in the long run, one weapon, or one ‘Mech, or one pilot isn’t going to overwhelm the game’s difficulty curve. The name of the game in Battletech is ‘ablative resource management’. You’re losing stuff constantly. Your gear is blowing up, your ‘Mechs are falling over, Dekker is dying, and you’re having to play catch-up constantly.
This is best exemplified in a mid-game mission where we make a very powerful weapon available to you. Every time a player acquires this weapon, they’ve basically gotten a dilemma in a box: if you take this out and use it, sooner or later someone will get lucky and shoot it off your ‘Mech. If you don’t take it out and use it, it’s worthless to you. What do you do?
Ship upgrades, on the other hand, are forever. There’s basically two things ship upgrades do for you in terms of mitigating difficulty. The Mech Bay gets your ‘Mechs working again, and the Med Bay gets your pilots working again.
People are often astonished when they first come out of a battle where a MechWarrior took a single injury, and see that she’s going to be in the hospital for a month. Those healing times are the result of a lot of tuning and re-tuning and playtesting and feedback. The balance we’re looking for is that you can have favorite characters who stay with you through the whole campaign, but at the same time you can’t only have your A-team. You have to diversify, hire some rookies, and get them trained up as best you’re able. What we want to see is: you’re forced, by your budget, to take a contract when your best pilots are in the hospital and your best ‘Mechs are out for repairs.
Battletech%20(5).jpg

Upgrading the Argo means that your people come out of the hospital faster, your ‘Mechs come out of repairs faster. So those are just strictly reducing the difficulty of the game, by giving you access to your peak power level more frequently. To compensate, they’re brutally expensive. The target is that you’ll spend roughly the same on maintaining those facilities as the opportunity cost of the extra mission you might not have been able to take without them.
The management sim, overall, gives context to the game’s difficulty and gives you reasons to push into harder content or pull back into easier content. It’s also the enemy for our tuning efforts, because it’s so big and so complicated and the player can use it in so many different ways, unpredictable ways, and potentially trivialize content we expected to be difficult.
One of my defining gaming moments was playing Dark Forces 2, which is the first of the Star Wars FPS games to give you access to Force powers. They let you decide for yourself what you’d learn, but this meant that the content had to be built without the expectation that you’d have any particular power. So you couldn’t have jumping puzzles that required Force Jump, because the player might not have learned that yet. As a consequence, if you did have it, you could easily bypass all the jumping puzzles.
This was fantastic and I loved it. Too often, games offer you the chance to become powerful, and then instantly scale up the challenge to precisely compensate for your new powers. The classic example is to give the player a fireball spell and then immediately introduce enemies that are immune to fire.
What we’re doing, by throwing open the management layer of the game to the players, with all its potential exploits and power-ups and emergent uses, is letting them learn the really amazing Force power and then use that power to stomp all over the game for a while. That feeling of satisfaction from completely overwhelming an enemy is the payoff for all the missions where you’re struggling to stay alive, limping towards the evacuation zone, and trying to hold in your ‘Mech’s innards.
You’re commanding 15-meter-tall walking tanks with massive guns and fists. We want you to get the chance to feel like a complete badass.
Spoilers. Use them.

While they’re describing is pretty different from full procedural generation, it’s about as much as you can get without things suddenly becoming incredibly rage inducing or making grognards even more mad (why is there a city on an uninhabited rock reeeee) or adding even more crazy programming and path finding options. You’re being a little whiny bitch over them doing what they promised to do because reeee tranny reee reee reee.

Procedural generation has some limits by its very nature and can result in unintentional problems. What if the seed generates a map with a big box you’re landed in and a “destroy the base” objective outside that box - and you don’t have any mechs with jump jets. Is that fun? You don’t have any control over that. It’s a randomly generated map cell that locks you into a box or makes completing the mission impossible.

So that has to be trashed, which is why they created large maps where some objects can change around as they stated before. You put in areas where terrain features can be selected from a big box of options. Environmental hazards or modifiers, buildings, etc. Full on new terrain sometimes runs into path finding issues because I don’t think you quite get the difficulty of making a patrol route that actually works. Mission types are also something that has to be done from a game play and design perspective because it is going to change how AI reacts and how players react. I don’t think you’d be happy as a mercenary not knowing what sort of job you’re doing either, so it also helps cut down on frustration from players. Difficulty adjusts other things but it’s covered pretty well in the article how.

Jesus Christ you’re a retard hiding behind semantics because you don’t understand what “procedural mission generation” actually entails at all. Because if it’s truly and fully procedural, then you can spawn in and get completely wrecked in your first mission by a lance of atlas mechs you have no hope against, or run into a convoy ambush mission that immediately ends after the first turn because they spawn next to the exit, alongside you landing in a completely random space that happens to be lava or some shit. It’s “procedurally generated” because within the constraints, it is random. You can play the same mission type on the same planet and have completely different opposition and mid mission events.
 
(rant defending a tranny lying about procedural generation deleted)
”I have entered a thread whose intent is to poke fun at how badly a game was made, and how much SocJus propaganda there is in it, and explore possible links between these, one of which is the lead designer being an incompetent troon diversity hire. However, as a committed Social Justice Warrior myself, I have decided to take up arms and defend both the game and its lead designer by assuming people who post critique are merely ignorant. This primarily takes the form of launching attacks on other posters thinly disguised as unrequested attempts to educate them“.
 
”I have entered a thread whose intent is to poke fun at how badly a game was made, and how much SocJus propaganda there is in it, and explore possible links between these, one of which is the lead designer being an incompetent troon diversity hire. However, as a committed Social Justice Warrior myself, I have decided to take up arms and defend both the game and its lead designer by assuming people who post critique are merely ignorant. This primarily takes the form of launching attacks on other posters thinly disguised as unrequested attempts to educate them“.
Bruh. Have you read most of this fucking thread?

Have you actually played the game? Do you have any idea what procedural generation in context like this means? Are you mentally retarded?

These missions are basically what you get using random allocation tables, and generated on the fly and adjust automatically to a variety of factors prompted by the rules set up. Data is being created through an algorithm, not manually. This is a thing used all the time in games and is procedural generation. Procedural generation isn’t just “everything is random and made by a complex algorithm that fills in as the player moves through it.” That just doesn’t work for Battletech. There’s various levels of procedurally generating something. So while it isn’t pure procedural generation it is still procedurally generated.

I was rooming with like 5 game design majors in my last year of school, we discussed this sort of shit.
 
Last edited:
Never. I just don’t appreciate people being wrong on the internet about things.
Dude, don't be a XKCD comic.

1627423518827.png


You had a couple of decent points in your rant, but you wrote it like a goddamn sperg. Next time, take a deep breath or five before pounding your fists in rage against your keyboard because someone got shit wrong in a gossip forum.
 
I was rooming with like 5 game design majors in my last year of school
It’s, like, hard to, like, argue with, like, that level of, like, hands-on experience, and, like, training.
Tell you what, you’re free to keep arguing against strawmen using the language and logic of a child, and I’ll reserve the right to keep laughing at your burgeoning lolcow status. Stay mad, kiddo.
 
It’s, like, hard to, like, argue with, like, that level of, like, hands-on experience, and, like, training.
Tell you what, you’re free to keep arguing against strawmen using the language and logic of a child, and I’ll reserve the right to keep laughing at your burgeoning lolcow status. Stay mad, kiddo.
Look, my uncle works at HBS and I totally know that Techpriest is right because my uncle told me so himself. He's also a game design major when he goes to school at night after his janitor day job. Sometimes he solves math equations on the blackboard just for fun.
 
Procedural generation has some limits by its very nature and can result in unintentional problems. What if the seed generates a map with a big box you’re landed in and a “destroy the base” objective outside that box - and you don’t have any mechs with jump jets. Is that fun? You don’t have any control over that. It’s a randomly generated map cell that locks you into a box or makes completing the mission impossible.

I wanted to write a technical rebuttal, but this should suffice:
Jesus Christ you’re a retard hiding behind semantics because you don’t understand what “procedural mission generation” actually entails at all.
 
I wanted to write a technical rebuttal, but this should suffice:
I also considered writing a rebuttal. However, as it was clear that TechpREEEEst selectively interpreted the point being made to justify sperging out, I decided it wasn’t worth the effort.
As with most other leftist idiots, the actual point being made is irrelevant; what is important is their particular interpretation, beliefs or level of offense. They ferment a completely different scenario in the feverish swamp of their solipsistic mind, then vomit their counterpoints publicly to the delight of all.
I guarantee to you that Techpriest is wishing right now that he knew who I was so he could get his SocJus internet warrior club to track me down.
 
I also considered writing a rebuttal. However, as it was clear that TechpREEEEst selectively interpreted the point being made to justify sperging out, I decided it wasn’t worth the effort.
I gave up after the part about rooming with "game design majors" came up. As a matter of fact, it perfectly proves my points made in some programming thread about how such "education" programs are humanities in disguise.

Like, imagine thinking that procedural generation boils down to selecting (semi?)randomly some stuff from pretermined set of scenarios. I mean, we have Dwarf Fortress and Rimworld, how can you be so ignorant to think like that in this day and age?
 
Like, imagine thinking that procedural generation boils down to selecting (semi?)randomly some stuff from pretermined set of scenarios.
I understand that it would be well out of HBS’s level of skill (and Unity experience) to make a fully procedural mission generation system. Some valid points were made in regards to the difficulty of balancing such a system and the dangers of having missions failed because of environmental factors (playing BTA3062 last night, destroy convoy mission, I had a Bellerophon without jump jets spawn on a rock it couldn’t get down from- very annoying).

My original point, which I thought was pretty obvious, was that it’s a massive stretch to claim that HBS BT missions are ‘procedurally generated’. And instead of Kiva coming out and saying “well, we couldn’t find a way to make that happen so we’ve developed this as a compromise”, he’s simply redefined ‘procedural generation’ while a shitty Gamasutra drone jerks him off under the table. Another example of a Dev covering for a lack of technical ability using a compliant games media to help.

There’s probably enough info in that article to start a class action suit for failure to provide this promised function and yet the drone keeps licking the shaft instead of asking the hard questions about how Kiva believes that premade shit assembled mostly un-randomly counts as ‘procedurally generated’.

Which is why it’s amusing that Techpriest shot his wad over a completely different issue while asking if I were retarded. The irony is delicious.
 
I understand that it would be well out of HBS’s level of skill (and Unity experience) to make a fully procedural mission generation system. Some valid points were made in regards to the difficulty of balancing such a system and the dangers of having missions failed because of environmental factors (playing BTA3062 last night, destroy convoy mission, I had a Bellerophon without jump jets spawn on a rock it couldn’t get down from- very annoying).

My original point, which I thought was pretty obvious, was that it’s a massive stretch to claim that HBS BT missions are ‘procedurally generated’. And instead of Kiva coming out and saying “well, we couldn’t find a way to make that happen so we’ve developed this as a compromise”, he’s simply redefined ‘procedural generation’ while a shitty Gamasutra drone jerks him off under the table. Another example of a Dev covering for a lack of technical ability using a compliant games media to help.

There’s probably enough info in that article to start a class action suit for failure to provide this promised function and yet the drone keeps licking the shaft instead of asking the hard questions about how Kiva believes that premade shit assembled mostly un-randomly counts as ‘procedurally generated’.

Which is why it’s amusing that Techpriest shot his wad over a completely different issue while asking if I were retarded. The irony is delicious.
>premade shit assembled mostly unrandomly
Alright, do I have to spell this out for you?

Here’s a dirty secret about full random procedural generation: if you’re not doing a rogue like, it’s really, really shitty. Here’s another secret: every time you roll on an RAT, that’s engaging in procedural generation. Pure procedural generation without rules and restrictions is pure chaos, which is what all the lovely randomizer mods are, essentially.

Every game that generates random missions is engaging in procedural generation. Procedural generation is just at its base form, using an algorithm to generate a result randomly. How you scale this can get into interesting effects. For example, if you generate terrain object by object, in a certain pattern, you’re going to get some wild results. So, to limit the results from being completely insane, we put rules into place. Like, say, no tile can have a border tile that is X higher than it. But the lower the scale of your generation, the more time it takes to go through this algorithm.

Fully random maps was just not going to be possible, and fit the game, so the designers instead took a different approach to procedural generation in a different aspect. This is still procedural generation. Here’s a basic run through of the algorithm.

Determine location -> Determine Biomes -> Generate Contracts -> Player Selects Contract -> Determine map -> Determine Spawns -> Determine Opposition.

This is a basic algorithm. It’s a flow chart essentially. First thing our algorithm does is determine where you are. Where you are is the first rule. Once that’s known, we check the list of biomes attached to that location. A location can have multiple biomes, so they might be defined as a percent of that location. A mission type is then generated alongside opposing forces, rewards and the like, referencing the risk defined by the player. The player gets to chose then between available contracts. This first part of our algorithm happens without any player involvement until something is generated. That’s procedural generation of selecting a mission.

A map is chosen based off of that biome. Because this map is not then randomly generated using biome rules, this means the designers are going to have to do some work. And also engage in balancing so that it doesn’t completely feel unfair in regards to spawns, which is done by mission type. More random generation is done at this point within more rules as dictated by the map: namely spawns. This covers everything from areas of the map that might get buildings, where trees or terrain modifiers might be placed and of course, enemies and the player. The mission is then factored in - this part is dictated by the player before, and has an influence on spawns, and spawn types with variables and applying some other things.

Lastly opposition comes out of tables based on things provided earlier from the location and mission parts of the algorithm. This finishes it. This result is random within the constraints set up by the designers, and there’s a lot of variables at play here.

This is procedural generation. Arguably I could make the entire thing pure procedural generation by removing your ability to select a contract in the first place, or determine a location. Randomly generate those from a list and it’s purely random chance what happens, but that’s not enjoyable or fitting with the theme of being a mercenary.

Almost every game has some form of procedural generation. Some are just much more noticeable about it, like Minecraft or Rimworld. You’re fucking retarded for thinking that creating procedural generation is not creating procedural generation and is grounds for a lawsuit. Join the tranny devs in becoming a statistic and procedurally generate a swinging body.


Look, my uncle works at HBS and I totally know that Techpriest is right because my uncle told me so himself. He's also a game design major when he goes to school at night after his janitor day job. Sometimes he solves math equations on the blackboard just for fun.
I was the only one not going to school for game design (I was in computer science) but I had interest in this topic mostly because I was wondering about doing dungeon generation for RPG’s. I think one of them is in the UK now and no clue for the rest, probably in mail rooms somewhere while I’m working in a field actually relevant to my degree for a financial institution.
 
Determine location -> Determine Biomes -> Generate Contracts -> Player Selects Contract -> Determine map -> Determine Spawns -> Determine Opposition.
Location and biome are determined by the planet the player is orbiting, maps are premade, not algorithmically generated, and are selected according to planetary biome. Contracts are one of a set of eight standard mission types. Spawns are determined by mission type (so, for instance, you don’t spawn in the middle of the enemy convoy in an attack convoy mission). OpFor is generated to reflect your force’s composition, drop weight and the mission difficulty level.
EDIT: Mission rewards are tied to player faction rep and mission difficulty and are also not algorithmically generated.

If you think this is “procedural generation’, I really don’t know what else to say.
There appears to be no algorithm used at all, with the likely exception being OpFor composition, and that hardly qualifies as ‘procedurally generated missions’.

Face it- HBS was simply not up to the task of fulfilling this Kickstarter promise, and have been consistently dishonest about it. And I feel that 99% of backers would likely say “eh, near enough, it’d be nice to have another twenty or thirty maps though”. Is it good enough to feel like it’s procedurally generated? Not really. After a hundred hours of play you start to wonder why the same fucking islands, cities, dams, mountains, bases etc keep popping up on multiple planets.

There’s an old joke: ‘If at first you don’t succeed, redefine success’. That’s exactly what Kiva and HBS have done here. It’s a bait and switch and largely it’s worked because most people don’t bother looking into the nuts and bolts. Your mileage obviously varies; that’s okay. It’s all right for people to have differing opinions.

Glad you’ve toned down the constant screeching about other people being retarded etc. too. That shit wins you precisely zero fucking internet argument points. Try not to come off as so much of an angry, arrogant little cunt, and maybe you’ll find people will focus on your opinions and ideas, not your presentation.

Peace, out.
 
Location and biome are determined by the planet the player is orbiting, maps are premade, not algorithmically generated, and are selected according to planetary biome. Contracts are one of a set of eight standard mission types. Spawns are determined by mission type (so, for instance, you don’t spawn in the middle of the enemy convoy in an attack convoy mission). OpFor is generated to reflect your force’s composition, drop weight and the mission difficulty level.
EDIT: Mission rewards are tied to player faction rep and mission difficulty and are also not algorithmically generated.

If you think this is “procedural generation’, I really don’t know what else to say.
There appears to be no algorithm used at all, with the likely exception being OpFor composition, and that hardly qualifies as ‘procedurally generated missions’.
The most basic definition of procedural generation is simply producing content without manual input from the programmer/designer, either via an algorithm, randomness, or a combination of both. So, if you're being generous, the choice of missions is actually procedurally (read: randomly) generated. Yes, they're selected from a pre-defined pool of mission types, factions and maps, but the missions themselves are assembled by the game with enough randomness and consideration for your drop weight that you're technically not going to be playing exactly the same mission even if you play the same mission type on the same planet multiple times.

This sort of "limited" procedural generation is perfectly fine in videogames, too. Even the OG Diablo, which was little more than a real-time roguelite, used building blocks to assemble its maps out of, and some maps were actually 100% premade. The problem with HBS' BattleTech isn't that it's not procedural. It's got enough randomness baked into the system to make sure a lawsuit would not succeed. The problem is that it's done poorly. It's repetitive and tiresome, with a poor sense of balance. So while you're not going to be playing exactly the same mission over and over... it's going to feel annoyingly predictable after doing it enough times. That is a big no-no with randomly-generated content.

It reminds me of the original Torchlight, actually. Each area in that game had a very limited number of building blocks the levels were made of. After playing that game for 15 minutes you started noticing the dungeon's building blocks repeating, sometimes one right after the other. At least for me, it was pretty distracting. On the other hand, the game's basic hack-and-slash loop was fun enough to keep me engaged despite how samey the maps looked within the same map pool. HBS's BattleTech doesn't even do that. It just bores me to tears once I'm out of story missions. Even MW5's sad excuse for random missions were more fun, because slapping a Commando on the move with an AC/20 from max range never gets old.
 
Yeah, you were doing okay until you said HBS 'failed'. The game runs (granted, its optimization is garbage, but it DOES run, which is more than I can fuckin' say for some AAA turds).

I agree that Kiva chose their words very poorly -- they should've said 'We use something like procedural generation, except it picks from lists and tweaks to avoid certain traps so we don't have goofy shit like MW5 has where atmospheric craft are zooming around an airless asteroid'. It's like how F.E.A.R. didn't actually have full enemy AI but a fairly clever scripting system that simulated it with 90 percent effectiveness (the other ten percent was when you did something unexpected and the clone troopers went full retard and tried to hide on the wrong side of a wall. Oh well).

Some of the commentary here reminds me of that one faggot I used to run across who kept insisting that Darkest Dungeon was a walking simulator.
 
  • Like
Reactions: SITHRAK!
Yeah, you were doing okay until you said HBS 'failed'. The game runs (granted, its optimization is garbage, but it DOES run, which is more than I can fuckin' say for some AAA turds).

I agree that Kiva chose their words very poorly -- they should've said 'We use something like procedural generation, except it picks from lists and tweaks to avoid certain traps so we don't have goofy shit like MW5 has where atmospheric craft are zooming around an airless asteroid'. It's like how F.E.A.R. didn't actually have full enemy AI but a fairly clever scripting system that simulated it with 90 percent effectiveness (the other ten percent was when you did something unexpected and the clone troopers went full retard and tried to hide on the wrong side of a wall. Oh well).

Some of the commentary here reminds me of that one faggot I used to run across who kept insisting that Darkest Dungeon was a walking simulator.
I don't think anyone thinks it's a bad game. It just wasn't what a lot of us expected. I'd have probably still bought it but in hindsight I wouldn't have kickstartered it or at the level I did.

Personally, all I really wanted was a co-op MegaMek game with better graphics and set in the Third Succession Wars era, not XCOM mechs with special abilities and a shitty campaign story that had insufferable characters and Affirmative Action : The Crew. Pair all this with Unity choking on the game, promised features cut ( like co-op ), delusional troon lead dev, and HBS whoring themselves to Paradox and I can understand why this game leaves a sour taste in the mouths of some.
 
You know what would make the game much better?
Releasing the map development kit so that modders and BT nerds can create their own maps.
That shit would be sweet.
As an example, why don’t we have a map where there’s a dense urban core surrounded with lighter suburban areas an petering off into wilderness? The perfect map for running an urban assault, where a small number of assault ‘mechs need to destroy a target or rescue someone, while facing off against the city garrison of lights and mediums.
Why is there not a Star League base map object set to make maps which are entirely indoors, with few (if any) elevated fire positions and multiple choke points, but with opportunities for outflanking for anyone bold enough to send a light through the labyrinth? Bonus points for ‘mech elevators allowing play over several floors or levels.
It’s weird to me that so much time and effort was spent making sure that the NPC’s were heckin valid and diverse and that flashpoints involved things like levelling half a city and killing hundreds of people to save a woman from an abusive white cisgendered husband. Meanwhile a bunch of Kickstarter stretch targets were either quietly dropped or presto-changeoed.
The biggest problem I can see with the game is that Kiva seems to have funnelled a lot of resources into shit that didn’t matter while shit that did went begging.

EDIT: you know there’s fuckery afoot when HBS admit there’s not going to be a BT2 despite a massively successful KS campaign and a truckload of copies sold. License holders may well have balked at BT2: Muslim Lesbian Transgender Marxist BLM Activists In Wheelchairs From Beyond The Stars Cleanse The Succession States Of Cisgender Straight White Men.
 
Last edited:
Back