Once more unto the breach: Combat
Posted: Fri Mar 17, 2017 4:18 am
Hi, I've been playing Factorio for a while and been enjoing it immensely. I've been lurking on the forums for a while as well, but this is my first post.
I realise that combat suggestions have been done to death, that the Devs understand this and are working on improvements, and I've already gone through and read many previous suggestions on the matter.
First, i'd like to start off by stating what I think the goal of combat in the game should be.
1. Combat is not the focus of the game. Factorio may borrow some RTS elements, but it is not an RTS. The threat of alien attack should be an ever present low-level concern within the game, similar to the constant search for new resources or the troubleshooting and improvement of your factory supply chain.
2. Like in the rest of factorio, game progression and difficulty should occur through gradually increasing complexity. Advanced megabases should require elaborate defenses, and there should be enough variation to promote active experimentation within the community. Instead of the standard double wall + triple laser turret, I'd like to see people come up with and share odd setups that make other people say "Huh, I never thought to do that" or "that's totally weak against monster type x". There are so many aspects of this game that one player can't possibly fully explore all the permutations of. I think turret setups should be another.
(Note that i'm not saying complex static defense setups don't already exist, i'm just saying that for most purposes laser turrets are sufficient, and that they shouldn't be.)
Anyway, without further ado, my thoughts on how to change combat to improve game experience.
1. More.
An age old suggestion. More enemy types and more ways of defending against them are needed. I'm not suggesting a large and unwieldy number of similar and/or redundant enemy and turret types, but rather just enough to add variety and complexity to a part of the game that has become too straightforward in this regard. Approximately 5 enemy types and 5 turret types, so that there is just enough room for natural counters to enemy types to emerge. In combination with the other ideas addressed below, this ought to be sufficient for some emergent gameplay.
There are plenty of suggestions already out there for new enemy and turret types, but nevertheless, I feel obliged to include those I think would add to the game in the spoiler below.
With the above suggestions for enemy and turret types, the player will want to have some control over the turret targeting AI. For instance, artillery turrets constantly targeting small and otherwise harmless enemies would be a problem, as shells are expensive. The player could simply put more resources into making shells to address demand. Alternatively, the player could edit the AI targeting priority so that artillery only fires at certain tough and dangerous enemies.
AI targeting could conceivably be done through a new 'tactical AI' building, which communicates with turrets and the radar in a given area (like the area surrounding a roboport) or though the red and green circuit network. The logical conditions can be as simple or as complex as the player sees fit to implement. Enemies can be ranked in order of priority, as well as assigned to a 'never target' list or 'only shoot if number > x' type condition. Perhaps the automation of player alerts could take place through the same system, where 'give alert sound' is activated upon radar detection of 'monsters of type x above number y' or 'presence of boss monster'. If you like, multiple tactical AI buildings could be used, each with a different set of targeting conditions, set up so that they get activated or deactivated through other signals in the network. This would be useful if the factory gets low on power or runs out of a certain type of ammunition.
3. A more complex evolution of enemy capabilities.
Right now the alien evolution factor only goes from 0 to 1, and over the course of the game the enemies increase in strength by three orders of magnitude but otherwise don't really change on a behavioural or functional level. With the possible addition of infinite research in 0.15, I can see a late game scenario where the enemy is rendered completely irrelevant by the player's technological development.
I think the potential for alien evolution should be infinite in order to keep pace with the player, and that the aliens should have access to a 'tech' tree of sorts, whereby certain improvements are randomly selected.
Possible upgrades could include:
Specific monster + health
Specific monster + damage
Specific monster + range
Specific monster + specific resistance
Specific monster + walking/attack speed
Global monster + stats
New types/subtypes of monster
Increase spawn rate
Behavioural AI changes
Such a feature would make every game different, as different evolutions and even different types of monsters would first be encountered at different stages of the game. The player needs to keep up to date with the latest evolution set and adjust their defense setup accordingly. In this case, there wouldn't be one particular defense setup that players would converge towards, but rather more specialised setups designed to handle the aliens peculiar to that particular game.
Also, it's worth noting that for a large number of possible evolution routes, if each 'research' is available to be selected at random with an equal chance, over time the alien evolution will converge towards similar stat distributions. To avoid this, the alien evolution should put stronger weight on branches of the evolution tech tree that have already been researched.
For example: +health, +damage +range and +speed might all initially have a 25% chance of being selected. +health is randomly chosen and from thereon afterwards it is weighted at a 40% chance while the others are each at 15% chance. This puts the evolution on a certain unique trajectory while still keeping open the possibility of some surprises.
4. Alien research centre
The player needs time to react to new developments. Any new abilities of the aliens should be telegraphed somehow, so as to avoid a situation where the player is screwed no matter what they do. I think the player should have access to some kind of building/button/menu that gives the current stats of all known enemies and their change over time. The player can then predict what evolutionary path is likely and adjust their base defenses, research and production accordingly. This information is updated whenever a new type of enemy is killed. Furthermore, destroying an alien nest could yield information on the current evolutionary path being 'researched'.
Summary
I know I have a lot of stuff in a single post. I wrote it this way because I think these ideas only really make sense in the context of each other. On their own they don't make much sense. (Why have a rocket turret when a laser turret kills enemies plenty effectively as it is? Why have a long range monster when you don't have the turret range to defend against it?)
In order to make combat a much more interesting and deep aspect of this game, I think the following needs to be done:
-More enemies and turrets, each one with strengths, weaknesses and natural counters. Enough so that there is a decently large number of unique and interesting interactions between them.
-More control over the targeting logic of your turrets
-More complex, varied and unpredictable enemy evolution trajectories
-A way of maintaining intel on the current state of enemy evolution, so that the astute player has time to prepare for a new development
I realise that combat suggestions have been done to death, that the Devs understand this and are working on improvements, and I've already gone through and read many previous suggestions on the matter.
First, i'd like to start off by stating what I think the goal of combat in the game should be.
1. Combat is not the focus of the game. Factorio may borrow some RTS elements, but it is not an RTS. The threat of alien attack should be an ever present low-level concern within the game, similar to the constant search for new resources or the troubleshooting and improvement of your factory supply chain.
2. Like in the rest of factorio, game progression and difficulty should occur through gradually increasing complexity. Advanced megabases should require elaborate defenses, and there should be enough variation to promote active experimentation within the community. Instead of the standard double wall + triple laser turret, I'd like to see people come up with and share odd setups that make other people say "Huh, I never thought to do that" or "that's totally weak against monster type x". There are so many aspects of this game that one player can't possibly fully explore all the permutations of. I think turret setups should be another.
(Note that i'm not saying complex static defense setups don't already exist, i'm just saying that for most purposes laser turrets are sufficient, and that they shouldn't be.)
Anyway, without further ado, my thoughts on how to change combat to improve game experience.
1. More.
An age old suggestion. More enemy types and more ways of defending against them are needed. I'm not suggesting a large and unwieldy number of similar and/or redundant enemy and turret types, but rather just enough to add variety and complexity to a part of the game that has become too straightforward in this regard. Approximately 5 enemy types and 5 turret types, so that there is just enough room for natural counters to enemy types to emerge. In combination with the other ideas addressed below, this ought to be sufficient for some emergent gameplay.
There are plenty of suggestions already out there for new enemy and turret types, but nevertheless, I feel obliged to include those I think would add to the game in the spoiler below.
Additional turret and enemy types
2. An automated targeting system for turrets.With the above suggestions for enemy and turret types, the player will want to have some control over the turret targeting AI. For instance, artillery turrets constantly targeting small and otherwise harmless enemies would be a problem, as shells are expensive. The player could simply put more resources into making shells to address demand. Alternatively, the player could edit the AI targeting priority so that artillery only fires at certain tough and dangerous enemies.
AI targeting could conceivably be done through a new 'tactical AI' building, which communicates with turrets and the radar in a given area (like the area surrounding a roboport) or though the red and green circuit network. The logical conditions can be as simple or as complex as the player sees fit to implement. Enemies can be ranked in order of priority, as well as assigned to a 'never target' list or 'only shoot if number > x' type condition. Perhaps the automation of player alerts could take place through the same system, where 'give alert sound' is activated upon radar detection of 'monsters of type x above number y' or 'presence of boss monster'. If you like, multiple tactical AI buildings could be used, each with a different set of targeting conditions, set up so that they get activated or deactivated through other signals in the network. This would be useful if the factory gets low on power or runs out of a certain type of ammunition.
3. A more complex evolution of enemy capabilities.
Right now the alien evolution factor only goes from 0 to 1, and over the course of the game the enemies increase in strength by three orders of magnitude but otherwise don't really change on a behavioural or functional level. With the possible addition of infinite research in 0.15, I can see a late game scenario where the enemy is rendered completely irrelevant by the player's technological development.
I think the potential for alien evolution should be infinite in order to keep pace with the player, and that the aliens should have access to a 'tech' tree of sorts, whereby certain improvements are randomly selected.
Possible upgrades could include:
Specific monster + health
Specific monster + damage
Specific monster + range
Specific monster + specific resistance
Specific monster + walking/attack speed
Global monster + stats
New types/subtypes of monster
Increase spawn rate
Behavioural AI changes
Such a feature would make every game different, as different evolutions and even different types of monsters would first be encountered at different stages of the game. The player needs to keep up to date with the latest evolution set and adjust their defense setup accordingly. In this case, there wouldn't be one particular defense setup that players would converge towards, but rather more specialised setups designed to handle the aliens peculiar to that particular game.
Also, it's worth noting that for a large number of possible evolution routes, if each 'research' is available to be selected at random with an equal chance, over time the alien evolution will converge towards similar stat distributions. To avoid this, the alien evolution should put stronger weight on branches of the evolution tech tree that have already been researched.
For example: +health, +damage +range and +speed might all initially have a 25% chance of being selected. +health is randomly chosen and from thereon afterwards it is weighted at a 40% chance while the others are each at 15% chance. This puts the evolution on a certain unique trajectory while still keeping open the possibility of some surprises.
4. Alien research centre
The player needs time to react to new developments. Any new abilities of the aliens should be telegraphed somehow, so as to avoid a situation where the player is screwed no matter what they do. I think the player should have access to some kind of building/button/menu that gives the current stats of all known enemies and their change over time. The player can then predict what evolutionary path is likely and adjust their base defenses, research and production accordingly. This information is updated whenever a new type of enemy is killed. Furthermore, destroying an alien nest could yield information on the current evolutionary path being 'researched'.
Summary
I know I have a lot of stuff in a single post. I wrote it this way because I think these ideas only really make sense in the context of each other. On their own they don't make much sense. (Why have a rocket turret when a laser turret kills enemies plenty effectively as it is? Why have a long range monster when you don't have the turret range to defend against it?)
In order to make combat a much more interesting and deep aspect of this game, I think the following needs to be done:
-More enemies and turrets, each one with strengths, weaknesses and natural counters. Enough so that there is a decently large number of unique and interesting interactions between them.
-More control over the targeting logic of your turrets
-More complex, varied and unpredictable enemy evolution trajectories
-A way of maintaining intel on the current state of enemy evolution, so that the astute player has time to prepare for a new development