It's Just Numbers

So I've been bouncing this idea off a lot friends recently hoping to poke some holes in it and for the most part it's stood up. One of the most common counter arguments that tends to come up when you make a post starting with anything along the lines of "CCP should do.." is "This game is years old/CCP are a small company/it's not worth the investment". In a lot of ways I respect that argument. One of the things you most often hear from CSM members after a summit is how small CCP actually is. However I think it lacks a sensitivity to the suggestions being made.

So anyway here's what I'm thinking:

  1. Most mechanics in EVE are very simple. The complexity in this game emerges from the sheer quantity of mechanics and their various interactions.
  2. Due to this, 80% of the problems in this game could be solved largely or entirely by tweaking stats without any significant code changes.


If you're familiar with the SDE you can just skip over this. If not I'm just going to quote CCP's own explanation from the API Documentation as it's pretty straightforward.

At its core, Dogma is the system for managing all the attributes and modifying effects for the various items in EVE. Before we explain how Dogma works, we need to first understand items and effects. Items are the building blocks of EVE - everything in the game is an item. The modules that you put on your ship, the charges you load into your guns, and your ship itself. Items can also be non-physical entities such as system-wide wormhole effects or the tactical destroyer mode. Everything in EVE that has some sort of attribute attached to it is an item, and these are defined in the invTypes table.

But having a bunch of items with attributes is useless without a way for them to affect one another. That’s where effects come in. Effects are the building blocks of items and are what actually make an item do something. Suppose you fit a Webifier to your ship. When it’s active, it applies its decreaseTargetSpeed effect to the currently locked target. When it’s overloaded, it applies its overloadSelfRangeBonus effect to itself. Effects have a many-to-many relationship with items, where each effect may have be attached to many different items, and each item may have many different effects. Effects are defined in the dgmEffects table, whereas the relationship with items is defined with the dgmTypeEffects table.

In short, every thing in EVE is an "Item", which is an instance of a "Type", which has a set of "Attributes" with values to specific to that Type. Ever wondered how zkill builds that cool picture of the ship with all the slots? It looks up the slot-related Attributes for the ship's Type.

It's all there in these tables.

So let's say I want to fix the Muninn and swap that utility high for an extra mid slot and give it an extra 50 base PG. Well I just have to change the values for attribute IDs for 14 (hiSlots), 13 (medSlots) and 11 (powerOutput) on typeID 12015. Say I want to try out a quick fix for Citadels by doubling the damage cap (and halving the time) required to reinforce one, I just have to go round and double the values of Attributes 2034/2035/2036 for all the Structures. Or hey look we could even try having different damage caps for shield/armor/structure without anyone at CCP have to change a single line of code.

To round up, think how many problems in this game are the result of bad ship balance, under/overpowered modules, damage caps, etc. Sov mechanics are hard coded afaik and changing those would require significant developer input, but as far as I can tell almost every other problem in this game could be fixed to a degree that I'd be happy with just by changing stats. It's not something actionable for the playerbase, but I just wanted to show what a cop out of the "Developer time" argument was when it comes to most of the problems we find in this game today. This stuff is all trivial to change, it's just a matter of the new balance team deciding to do it.

Many of the commonly proposed ideas are hugely convoluted messes that will inevitably have holes. If you've got an idea, try to make it as simple as possible and let the complexity and arise from player actions.