Game Design as Code

Discussion in 'The Veterans' Lounge' started by IblisTheMage, Apr 17, 2018.

  1. IblisTheMage Augur

    Hi all, this is another rambling post by yours truly

    TL;DR is a valid response!

    I am a nerd, and the stuff below is very nerdy :)


    In Cloud computing, there is this buzz word that is “Infrastructure as Code”. To give the simplest possible explanation, it is when a development team decides to invest so much in the automation and automated logic of the configuration part of running their servers in the cloud, that they can actually change the infrastructure they run on as easily as changing other aspects that are normally changed in code.

    Translating this to Everquest Game Design, it would mean that there is investment in automation around the logic that forms the basis for Game Design, thus giving Game Designers a very powerful toolbox to create more content, more sophisticated content, and more varied content; faster, better and with fewer errors.

    Heroic Adventures, (how they scale to level), is a perfect example of this.

    Now imagine taking this further: all spells that the mobs cast are created as code, with a shared logic for balancing across spells, so that spells are easyl to scale at all levels. All items that drop are created as code, enabling them to scale to any level, up or down, including their spell effects, and special unique things that they provide, all based on a shared code base, that implements the more rudimentary parts of Game Designer logic and thinking, freeing up Game Designers to make more variation and uniqueness, because the basics of the item is handled by a set of configurations, and because if changes are needed at a later stage, all items are based on the same code, and it is therefore possible to modify all times at the same time.

    Note that this is not a reduction in difference between items, spells, mobs, etc, it is an approach that will enable game devs to increase content complexity, by making content manageable.

    Today, a robe clicky is a set of numbers in a data base (I think) that a Game Dev sets for each robe. Imagine that instead, there is a piece of code that defines robes, so based on class, item level, Tier, etc etc those numbers are generated every time this piece of code is updated and run. Suddenly, all mage robes are controlled from one place, and one can start a game design process that is about having, lets say three types of Mage Robes: one for people that loves to nuke, another for people who prefers to have super pets, and a third for people who want resilience and survivability above all. This is then converted into more code.

    So now HA can drop level relevant gear, no matter which level the HA is. If level increase to 115, 120, 125, the HA is not only still relevant, but it continues to offer upgrades, with no extra game design needed, to people who have an incentive to go back to that specific HA.

    So now it makes sense to invest more in the HA itselft, since the game dynamics, lore, etc, will not be used by players this year, but will continue to offer value to players, year after year.

    And it becomes more feasible to make Unique items. Let us say designers want to make a Sword of Ykesha (can’t remember the exact name, it used to drop in LGuk, a while ago ;-) ). The sword still only drops in LGuk, but now it scales. The recognition value of that item is now built upon, year after year, and game devs can go wild one year, and make more lore about it, add that it has a new special ability after level xxx, involve it in quests, etc etc.

    This is a huge task, and it is best implemented incrementally, bit by bit. A number of steps have already been taken in this direction, with the codification of AA, the work on HA scaling, etc. I am not sure how explicit this is in the DB team, or how far reaching the vision is...
  2. moogs Augur

    TL;DR
    IblisTheMage likes this.
  3. Nennius Curmudgeon

    A bit wordy perhaps, but +5 for the use of paragraphs and appropriate punctuation.
    IblisTheMage and moogs like this.
  4. moogs Augur

    Just kidding, Iblis. Good post.
    IblisTheMage likes this.
  5. Gana Augur

    The problem with this, as we just had to deal with in HAs, is that when a level stagnates across numerous expansions, the HA is balanced to the MAX expansion associated with that level. Gear itemization and spells get better per expansion (or more powerful). So, if a HA is geared to 105, it would get EOK difficulty. Someone in TDS gear would get curb-stomped in that HA (as has been discussed and demonstrated, at length). Level cannot stand alone due to this minor yet important detail. The algorithm would have to take into account other things.

    Don't get me wrong, I am fully behind this endeavor (and have even posted something akin to this). But the algorithm is not simply level based and relative power fluctuates greatly among players. The factors associated with creating a balanced sliding scale would be huge, not the least of which could be group composition. It's almost as if they would need to use AI on the data to determine the proper function necessary to handle the number of factors and speed of which it would need to calculate and generate the dungeon, population and rewards. I like the start with the scaling HAs, but that algorithm was *way* off...and I am not sure a proper balance can be maintained. But I do like the idea.
  6. IblisTheMage Augur


    Agreed. There should be a mechanism to choose level interval, something along the lines:

    Grey: original level bracket
    Blue: previous level bracket
    White: current level bracket
    Red: current level bracket +5
  7. Gnomeland Augur

    This is what they've been trying to do with heroic adventures. I guess they didn't want to scale rewards only because their storage system requires every piece of equipment to be in the database; so they'd need significant programming changes to make it work.

    But as stated above, the heroic adventure system is currently broken, especially for content below level 100. After deciding that they didn't want people running dead hills a hundred times to level up, they went back and changed it so that monsters in 85 dead hills are significantly more powerful than equivalent monsters in open zones. Now, almost nobody does these missions for experience at lower levels, and even the rewards for them aren't worth it any more.
  8. Cleaver Augur

    EQ really has no dungeon system to do scaling with. The Heroic adventure system was a good idea, but they put it in the game then stopped using it. COTF had like 30 + heroic adventures. TDS had what 4 ? TBM maybe 8 EOK had 5 ? ROS has zero. They have gone away from instanced content for whatever reason. Instead they want to force us to xp in zones like skyfire and OT where mobs have the most annoying mechanics/spells ever to the point that it just isn't fun to play in these zones at all.

    What EQ devs do is try to make something challenging by making it annoying and stupid like blind/drunk or instant cast dots on the puller so he dies before even getting back to camp hello cactus mobs.
  9. Jumbur Improved Familiar

    I once tried a hack&slash RPG where everything scaled up/down to match your own level(it was called "Sacred" I think). You could play the main story through as a level 10 and up to some arbitrary number(255), and the game would feel the same.

    If they applied that to EQ, you could probably tune it so that every single zone would give you a fair challenge(and level appropriate loot) no matter what level you had. But in the end it will just make levels completely meaningless.

    Instead of tuning the entire EQ-world up and down, I think they should optionally apply it to your own char instead, where you could choose to "shroud" down to a "down-leveled version of yourself"(still have a full selection of reduced skills/spells/items etc.). It would make grouping with lowbies more fun. :)

    Shrouding done right!
  10. Sokki Still Won't Buff You!!

    I'm sure idea's like this are being implemented on new games. If you design a game with these systems in place from the start, it would probably work wonderfully. But to implement it into EQ 15+ years after it was created, it doesn't work as well.
  11. Kaenneth [You require Gold access to view this title]

    Procedurally generated content is bland and flavorless.
  12. IblisTheMage Augur

    Ahh, but that is not what I am proposing :)

    I am proposing that content becomes _more_ specific, through scaling: if a content element can survive for more years, that is, create value for the company because the customer continues to want to interact with that element, then more and more content design can be added to that content element.

    I am NOT talking about converting EQ into Diablo/Torchlight, but to take some ideas from such games, that can make content in EQ scale and continue to be fun, and can therefore also be imrpoved upon comtinously.

    An aspect of the business model is to convert game design into gaming experience for the customer. Customer satisfaction increases with better game design in sufficient volumes. Game design becomes better if it is consistent, and if game designers have more time to do game design, and has to do less trivial manual database updates on every single game element. I am sure some tooling is already in place for this, what I am proposing is that further investment in this capability can make the core value generation (game design) more valuable by making it it apealing to customers at any levels, also in the future, and thereby also allowing for classic lore to be talen up again, an continue to improve of this body of “connection” with the player base.
  13. IblisTheMage Augur

    Exactly. The game mechanics struggle to scale, the spells and creatures need to have better scaling mechanisms, and there needs to be a level range choice to fit the prererred challenge level for the customer.
  14. IblisTheMage Augur

    I would argue that by making tooling for game designers that update existing databases, there is a way to do this. This is the essence of software driven automation of configuration tasks, where existing software is being handled by new software.
  15. IblisTheMage Augur

    Well, I think your premise is different than my proposal :)

    There is a big difference in making a game that is the same what ever level you play, like the example you mentioned, Sacred, and making a new EQ expansion every year, that is also fun in 5 years, as well as remaking selected older zones fun to play at any level.

    I am not talking about making EQ into Diablo/Torchlight, but about making it possible to do more unique content, by making content level scalable.
  16. IblisTheMage Augur

    I am indeed proposing to invest in tooling and mechanica that will enable the existing zone instancing to become considerably better.

    I also think RoS is a special case, because the level cap increase costs so many resources, which leaves less resources for other stuff. I am arguing that the case of level cap increase, that DB will encounter every 4(?) Years, can be helped by Game Design As Code, making level increases more manageable over time, and making these “dificult expansions” more popular with the customers.
  17. Turinbar Augur

    Plenty of other games have this already implemented, WoW for example does. However if you really think this could be done for EQ , apply for a job as a programmer....otherwise I think your well meaning verbage is going to be ignored.
  18. IblisTheMage Augur


    I am not qualified to work as a programmer anymore *snif*. I am a power point warrior (magician?) :)

    I really think this can be done for EQ, but I have no idea if these fora have any impact on strategy for DB, that would surprise me somewhat. I am currently home ill with some stomach bug, so I do this for fun and entertainment for the community :-D.