Super mega post, indeed. This'll be fun.
First off, as much as I'd love to make this into a "dream game" and continue improving it for a good long time, I'm not really sure how popular it will be beyond the rather niche core audience, or whether it will be able to earn much revenue at all, so I'm kinda torn between trying to keep a tight feature set and making the gameplay even deeper by adding more options. My plan is to finish a nice set of features in time for a 2014 release, then expand and tweak the game after release assuming there is enough support. So anything simple that obviously adds a lot to the game will go in sooner, while other features may get put on the back burner.
Game Mechanics
Targeting: Would it be beneficial to allow players to target subsystems at a penalty to hit? Target the propulsion or weapons to try to make an escape? What about allowing a certain level of the utility "Targeting" or "Robot Info" enable this feature?
Thermal, EM, Corruption: Overall I find all of these damage types underused by enemies. Having more enemies that use these early on could help introduce new players to their effects as well as mixing it up a bit. I very rarely ever have problems with overheating and even less with corruption.
Modifier/Trait System: There are currently many different sizes and other types of modifiers for things like batteries, armor and weapons. These modifiers seem to just be descriptors on different items with hardcoded individual stats. What about changing it so that size is just one of many possible modifiers to a base item? This may make it easier to have items that are more randomized. (Perhaps you could find a battery with the traits large, leaking, fragile. It would be a battery with high capacity, coverage, weight, but that slowly bleeds energy and has lower hitpoints than expected for the size.
Alternatively instead of Imp. Adv. Exp., levels can be added to weapons in a formulaic manner so that their base stats scale. This would again reducing having to hardcode them, but may be difficult to balance as well.
If this kind of flexibility with modifiers and traits is too complicated they can still be used in a more hardcoded manner. Every item and weapon could be 100% hardcoded data and simply incorporate select traits where they would be most interesting. They could also be used as part of a hybrid system with only certain traits being modifiers to hardcoded items and variants similar to how there can be prototypes of almost any item.
I like how targeting subsystems could increase the tactical options, but it would also be rather easy to abuse the system and trivialize many combat situations. Enemies are essentially helpless if you destroy their weapon(s), so if that became easier than destroying their core you'd generally choose that option, or if it's easier to destroy the core you'd never use the weapon destruction option. Seems like another option that doesn't add much real decision-making to gameplay. Perhaps a compromise on this would be to add specific targeting utilities that raise your chance of hitting certain types of parts, but even then when would you really use those? Also, difficulty is currently fairly easy to balance because your goal in combat is to destroy the enemy's core and I can directly control that one factor for each robot.
Thermal damage: Overheating is only a problem if you use a lot of energy weapons, when it can become a serious issue (I've definitely encountered it)--if you rely on ballistics, then all you have to worry about is maintaining a supply of matter.
EM damage: How far have you progressed in the game? EM damage serves a special purpose that may not be apparent at first. The game has no hunger clock, but corruption was introduced as the mechanic used to "push the player along" in the later levels. Earlier on your core is weak so integrity is the limiting factor there. By the end you can have up to *26* attached parts, and a much stronger core, so your core is much safer. There needs to be another way to get at the player; that's where corruption comes in. Once you reach 4/Factory, the only class of robot that carries EM weapons starts to show up, and will appear in greater numbers and track you down until you leave the level. The corruption side-effect from their weapons generally builds up only gradually, but it bypasses your parts completely and does add up, especially in the later levels (it's also difficult or impossible to get rid of without evolving, so you can't ignore it). That said, I do want to add even more negative effects from corruption. (One that didn't make it into the 7DRL was misfires--imagine walking down a narrow corridor and having your missile launcher suddenly arm itself and fire into the wall next to you ;p)
Modifiers: With Cogmind I wanted to do away with explicit "levels" and minimal stat differences entirely, giving most items a unique purpose. With all the new weapon mechanics that are being added, I'll be able to move the item set closer to my origin plan by eliminating some redundancy. But then there are also a lot of players who just like to see the numbers go up and get better versions of similar items, so the items kind of take a middle ground in that respect by adding the handful of generic modifier prefixes. I may add a trait-like system in the future, but it will probably only be used for special cases and scripting rather than basing the entire item system on it. We'll see how that turns out. If anything, the data is highly moddable so alternative sets would be possible if someone's interested.
UI Changes
Weight/Movement: For new players I think the hardest part of Cogmind is the way weight and movement are shown. The tactical HUD is great, but I think it is far too easy for new players to not understand that their overburdened hover units are actually making them go slower than if they had treads (or if they had just their core movement). I really don’t know how to make this more obvious, but I think the weight/movement system could be presented better.
Energy Consumption/Production: There should be a more visible way to see the energy usage of all items. Any item that uses energy should have it's energy consumption shown when tooltipping over that object. A toggled option like that used by the tactical HUD should allow players to see all of the energy cost of all items to the right of the name (whether activated or not). Under this option you would see the subtotal for energy consumption or production to the right of "Power", "Propulsion", and "Utility".
Weight/Movement: I agree that's the hardest part to understand. The best practical solution would probably be inserting a context-sensitive tutorial-like notice/message for new players when this is happening. This and other rules/mechanics are also accessible directly in the game by clicking on UI elements (there is also keyboard access, as with all commands).
Energy: That's a great idea. The new UI has a new open area to the right of the items where you can choose what kind of additional data you want to show. In the mockup I showed, it's currently set to show relative coverage, but energy production/consumption should be one of the other options.
Rooms/"Vaults"
By far the best way I've seen "dungeon vaults" done is in Dungeon Crawl. Put an interesting room layout in a basic text or lua style file. add some traits, and the game will randomly add these when appropriate. It really spices up the levels and makes adding they rooms simple for both yourself and modders.
I love DCSS. The maps will have special prefab areas just like that; right now I'm thinking these will be designed using a special mode that can be activated in
REXPaint. In the same vein as DCSS there will also be side "branches" off the main "dungeon," though they'll be implemented slightly differently. I'll talk more about that in the future when beginning map design. (You may have found a few preset rooms in the 7DRL, too. I added a few, but didn't have any time to make it a huge feature.)
Machines
[Many previous ideas were already present in your design docs on machines, but here are some new ones/ideas for existing ones]
Fabricators: An easy way to make these machines have their own challenge is just to have some of them act as spawners until interacted with (perhaps only in some sort of alarm states are they actively producing harmful bots). You either have to fight through or sneak up to them and your reward is being able to make things.
Repair Stations: I hope the AI will retreat to them.
Recycling Units: Allow enemy units to be knocked back into them and be destroyed/take damage.
Generators/Power conduit: Power various level features and machines. These could be controlled via terminals or they can be destroyed/disabled with weapons or drills. This would allow a less predictable, noisier, and sometimes expensive alternative to using terminals. Depending on color/intensity of power flowing through these some may be able to be safely disabled with melee while some with cause a massive explosion. Some could leave behind damaged entities that continue to spew out EM radiation.
I like these ideas. I'll be covering each machine in its own post in the future, since there are a lot more details to share.
Your power conduit idea echoes another poster on TIG, and is something I considered a while back since it would ideally be implemented earlier if at all, but I spent a long time trying to come up with a simple way to animate these that is compatible with the engine. No luck. I think the environment may end up being rather simple. Mostly just robots, machines, and parts. Not that the highly focused design is not without its benefits. I'd like to see power conduits in some form as well, so maybe if I can find an efficient way to add conduits I'll still do it.
Hazards
This is a factory and so it would add a lot of thematic fun to have some levels with more varied hazards.
Conveyor belts: Tiles where robots will automatically be moved in a certain direction unless flying or hovering. It would be fun to move the Cogmind on one and begin a shooting gallery. Add different speeds to the belts for some very interesting levels. You could use these differing speeds to require certain amounts of speed for the Cogmind to overcome if they want to move against the conveyor belt. These can also be used as a type of one-way “door”. Let’s take the following situation where some loot is placed in a room that is only accessible by conveyor belts. The Cogmind could:
1. hover or fly through these areas
2. have enough land speed to simply overcome
3. Use a terminal to stop the conveyor
4. Blow up a corresponding generator.
Pits: Whether filled with molten metal, some other liquid, or entirely empty these can make for more interesting dungeon designs and give hover/flying some more utility (as well as more risk should those engines get blown off or lose power).
Steam/Exhaust Vent: Periodically expelling gas that damages, overheats, and/or moves back robots.
Moving Parts: The factory is a busy place and moving terrain (gears, cargo container movement, pistons), would make for some interesting battles. They would occasional block sight and damage any robots that got stuck near them.
Tracks: Enemies that can only move along tracks is tactically interesting and fits with the theme.
Snickered a bit as I imagined your sole remaining flight unit getting blown off as you fled across open lava
While I think the environment may be a bit more static at first, we'll see what the atmosphere and gameplay are like then possibly add some of these things as necessary if it's not good enough. In any case, it will probably be necessary to find more ways to improve the apparent "theme" of each section. Ambient sound should help a lot.
New Enemies
[These really fit in with an assembly line/automated factory theme]
Tracked: As above.
Arms: Robotic arms that attack with melee welding or short range lasers. Though some low level ones may be fine as single tiled entities, visually these would probably work best as multi-tiled entities. I imagine their movement being similar to that of the eldritch tentacles from DCSS, but with more limited range.. They could also be more interesting if a variant of them had their bases move on tracks.
Turrets: Immobile or tracked enemies that are generally a single weapon. Can be hacked via terminals. Can start out active or need to be awoke with noise/alarm.
Cameras: Similar to turrets, but with their only "weapon" being the ability to sound alarms.
Will probably use some of these. (There are already more than 10 new classes of robot to add, each unique.)
Universal Traits
These traits can be applied to items from an subsystem.
Unstable: X% chance of causing a minor version of a prototype malfunction while active or being fired. May cause additional damage to other systems when destroyed.
Deteriorating: Any active equipment with this will be damaged over time. A faulty armor plating will slowly fall apart every turn. A faulty sensor array will only lose health when active. A weapon loses health when fired. It would be interesting to have some out of depth equipment spawn with this trait as a trade off. With high levels deterioration we could also have some equipment essentially functioning as temporary power ups.
Adaptable: No energy use for equipping or removing.
Sturdy: Increased hitpoints from base item.
Lightweight: Decreased weight from base.
Not sure if I want to go the trait system route, but even if not, many of your trait ideas in these sections are useful for items in general. Some can only realistically be implemented as traits though, and provide a compelling reason to seriously consider adding that mechanic. I'll have to compile a list of possibilities and see whether adding it would be worthwhile overall.
"Unstable" is already reflected in the stability rating of overloadable energy weapons. If I added traits this would still be a good one, though.
I
really like the idea of "deteriorating" parts. They would add a lot of new gameplay options since, as you say, they act somewhat like temporary power-ups. The game (intentionally) lacks consumable items, which normally fill that role, but "deterioration" seems to satisfy nicely...
Weapons Traits
I’m avoiding making too many specific weapons here as I think a single trait can create all sorts of fun combinations on its own. Many of these might be fun for modders too
Ramping - This is a trait that would simulate a sort of wind-up on things like gatling gun.
Best tactics with guns like these would be to mass enemies up and hold ground.
Example {0, 1, 3, 6}
1. Player “fires”, Weapon shoots 0 projectiles.
2. Player fires, Weapon shoots 1 projectiles.
3. Player fires, Weapon shoots 3 projectiles.
4. Player moves or waits (gun winds down a step)
5. Player fires, Weapon shoots 3 projectiles.
-This could also be used for Making burst weapons that require a separate cooldown to use ({3,3,1,0}), but there may be a better way to do it.
Heat Ramping -Heat in cogmind is dealt with on a per robot basis, but what about special weapons that can overheat themselves or contribute more heat as they are overused?
Example {3, 5, 9-OVERHEAT[2]}
1. Fired, generates 3 heat
2. Fired, generates 5 heat
3. Fired, generates 9 heat and cannot be fired until cooldown ends (2 turns)
Could also be used like {4,10,10,10...}, or a weapon that needs an initial heat cost { 15,10,5}. Energy ramping could work similarly. I especially like the idea of energy weapons with a high initial cost.
Burst (Probably a better name than this) - The philosophy behind this trait is to support more hit and run tactics. This trait is designed primarily around a weapon that requires a long time to load. They have higher burst damage and energy/mass use at a low sustained DPS.
Example 1: [Mass] {20,20}
1. Cogmind turns the corner and is surprised by a pair of bots
2. Player fires his weapon, obliterating a robot. Takes return fire from remaining bot.
3. Player hides back behind corner and his weapon loads 20 mass.
4. Enemy bot moves into view. Players weapon loads another 20 mass.
5. Player fires his reloaded weapon, destroying another bot.
Example 2: [Energy] {100,100,100, 100}
1. Cogmind turns the corner and is surprised by a pair of bots
2. Player fires his weapon, obliterating a robot. Takes return fire from remaining bot.
3. Player has about 450 energy and decides to back away. Weapon loads 100 energy.
4. Weapon loads another 100 energy, but the enemy fires and destroys some of the players energy storage/production. With barely 200 energy left the player decides to deactivate their weapon and flee.Enemy again fires, destroying another battery.
5. Player barely escapes, thankful that they turned off their energy weapon before it used the last of their reserves.
Hybrid mass & energy burst requirements could also work and make sense (i.e. Railgun types).
Ricochet(X): Can bounce off walls X number of times. Plenty of fun for this one.
Closest Target: When fired game randomly chooses among closest targets.
Chains(max_dist_between,max_total_targets): Bounces from one target to those nearby. Combine with (Closest Target) to make a sort of tesla coil weapon.
Nova[X]: Damages every square within X units from user. Combine with burst for a charged EM pulse.
Venting: Weapon uses heat instead of/in addition to energy to fire. You could make a fire nova weapon with this.
Mirv: Detonations spawn additional nearby explosions. May be more useful than a grenade with barrage 3 as it could be more accurate.
Timed: No detonation until X rounds have passed.
Proximity: No detonation until enemy in range. Can be combined with low range to make a minelayer. Can combine with Timed to prevent players making large minefields.
Piercing/Beam: Hits all targets in a line. Alternatively, could have excess damage go through until no more damage can be applied.
Armor piercing: X% chance to bypass armor.
Lobbed: Weapon more likely to bypass any robots prior to the target square.
Seeking: Missiles home in on nearby targets after a short distance. Imagine an inaccurate rocket barrage that releases a bunch of these swarmers.
Smoke/Chaff: Leaves FOV obscuring substances near target/explosion site.
Anti-Structure: X% more damage to map entities and walls. Could help balance powerful drills or sonic beams from also being amazing weapons against everything.
Crippling: Weapon is X% more likely to impact propulsion systems.
Lots of love for weapons
Ramping: This is a cool idea. The only problem I see with a mechanic like that is then any kind of ballistic gatling weapon is more or less obliged to use it rather than the normal firing mechanic, otherwise the disparity doesn't make sense.
Heat/Energy Ramping: Another neat idea. This could be implemented fairly easily and used for certain/special weapons. The harder part would be to integrate it into the UI in an easily comprehensible manner. I second the cool potential for high initial-cost energy weapons.
Burst: In practice this doesn't seem much different from a cooldown mechanic (the latter being much easier to implement). Some players are naturally against cooldowns, and having ramping costs would sufficiently cover this need, anyway, since then the decision whether or not to use the part again within a short time span is still up to the player and how they want to utilize their resources.
Ricochet: I was just thinking of ricochet weapons yesterday! Not sure if I'll add these yet.
Propulsion Traits
Boostable: The overload counterpart of propulsion. Can toggle to increase the speed and/or support of a single propulsion unit, but at far greater energy cost and heat.
Transforming: Can toggle between a base mode and a mode that sacrifices speed for increased support (and therefore overall having higher speed when under heavy enough load). A bot that takes enough damage and loses enough parts/weight could switch out of the support mode to gain some speed to escape.
Burnout: Similar to boostable, but continued use causes damage to this part.
Boostable: This is definitely worth considering, though it could make some builds potentially
too fast. If I recall correctly, with the maximum number of the best propulsion in the original game, you could move 21 spaces before anyone could even react! We'll see how the math works out.
Transforming: Because the movement/weight system isn't complicated enough, already
Battery Traits
Self-Sufficient(X,Y): After battery has X amount of energy it produces Y more on its own. Make X 0 for truly self-sufficient batteries or make it much higher to represent some sort of sustained reaction battery.
Leaking: Loses X energy a turn.
Inefficient: Storing energy in these is at a ratio worse than 1:1.
Self-sufficient batteries is an interesting concept, though if X=0 they essentially become power generators without any of the other power source mechanics. Wouldn't want to introduce a duality like that. Batteries and matter storage were slightly underused in the 7DRL, so the new version will be using them in new ways. Unlike the original, batteries and matter storage can also be set to load and retain the resource, so you can actually carry around extra full containers. Just added that functionality last week. Matter containers can be fed to fabricators to produce things, and there will likely be super powerful weapons that can actually consume an entire full battery (rendering it useless)--haven't added those two yet, though.
Equipment:
Thermal Converter: Energy weapons have a % of their firing cost reduced by a portion of the users heat. More efficient models as game progresses
Recoil Stabilizer: Reduces recoil of all weapons by %.
Mass Fabricator: Converts energy to mass (ideally very inefficiently so those with very high energy generation will benefit.)
Robot Info: *MODIFICATION TO EXISTING UTILITY* At level X also allows players to target subsystems
Adaptation Assistant: Reduces energy cost of equipping and removing items. Can probably be combined into higher levels of the Attachment Efficiency item or simply have one item that reduced both energy and mass cost, with higher efficiency with higher levels.
The thermal converter would probably be better implemented as a mock power source utility that generates energy based on your current heat, rather than applying a modifier to each of your weapons individually, since the effects are less visible in the latter case.
I left out energy->matter conversion intentionally mostly because I wanted matter to be finite, with the only supply being salvage. While it's true you could raise the cost so high that only high-energy builds could make use of it, it almost seems not worth adding such a utility if it has to be restricted so much. If added it would have to been fairly rare, too.
Corruption Effects
Targeting Error: *Always in effect* % chance, based on corruption of targeting another bot in range whenever weapons are fired.. This would make EM weapons on enemy robots even more fun.
Identity Error: *Always in effect* % chance, based on corruption of believing a bot is one of another type. Similar to how hallucinations can work in other RL's
Butterfingers: Unintentionally drop an item. This should likely only drop weapons, or have a high propensity to choose weapons as losing a battery might be too crippling.
Targeting errors would be easy and fun, for sure.
Misidentification would be fun, though non-trivial to implement so we'll have to see on that one.
Sudden "component rejection" is another good one.
Whew, that took a while! Lots to consider... Tomorrow I'll be posting about the state of melee combat.