Giter VIP home page Giter VIP logo

Comments (5)

zijistark avatar zijistark commented on May 13, 2024

From some recent play-testing experience, I think that for Hard difficulty (not insane but also not the usual, still-gamey Normal), it'd be totally reasonable to give the AI some flat bonuses to vassal_opinion and min_levy law modifiers (minimum levies affect the liege levy contribution at min. opinion, which for EMF is -100, so the absolute minimum contribution).

I've been giving the AI +15 vassal_opinion and 10% min. levies, and I can only barely notice the effect in independent realms' army sizes and other measures. For Hard, it hardly even begins to close the gap between player and AI on average vassal opinion, despite how it may sound pretty liberal.

We don't want to close the gap by also inflating AI opinions beyond repair, however, so going beyond +15 for a bonus (for, e.g., Very Hard) is the wrong approach; if anything, player vassal_opinion malus makes more sense, esp. if you're choosing a harder difficulty setting.

In general, I'd like to avoid flat bonuses for our in-game difficulty slider, but a mild vassal_opinion boost does address something at which the AI directly sucks: gaming vassals and tending to have great traits.

That said, I've re-thought my original stance of "Evil stuff on the hard end [of the difficulty spectrum]," though. That's more like luck. Instead, we want to be removing / offsetting intrinsic player advantages at higher difficulty. We want to improve AI reasoning and stiffen emergent AI behavior at higher difficulty settings.

In general, it needs to make the AI act more like a player-- which means less strictly trait-based reasoning and more cold, hard calculation that has the benefit of its creators' knowledge about the system at its fingertips. I mean, we can gate CBs, laws, VF vassal-liege cooperation policies, emulate job_actions via event, and so on: we have more tools to influence the AI than we admit.

from emf.

thefinestsieve avatar thefinestsieve commented on May 13, 2024

A few thoughts:

  • The default behavior should be to have everything work exactly as normal. So unless the player modifies difficulty, there's no changes. (This one is probably really obvious and more or less a given, but I like listing obvious stuff sometimes just to be sure.)
  • I'd love to give players very specific control. Maybe I'd like to give the AI vassal_opinion bonuses, but don't want the player to have any special maluses. Or maybe I don't like morale advantages for the AI, but don't mind giving them a levy boost. This one is rooted in multiplayer especially: It's always a challenge to keep everyone in the group happy, and having the ability to finely tune options like these makes it less of a struggle.
  • We talked in the CB restrictions in issue #48, and while I still believe they need to be tweaked, I also feel one possibility would be to allow a difficulty customization option to control whether the player and/or AI is subject to restrictions and how harsh those restrictions might be.

from emf.

zijistark avatar zijistark commented on May 13, 2024

Regarding the customizability of different aspects of AI behavior/difficulty, I hear you. However...

First, we need to present a basic Normal / Hard / Very Hard slider (or the full 5-setting range with Easy as the default, which is just normal behavior) with a smart, hand-selected bonus/malus and AI behavioral mechanics set for each.

These should be standard baselines not only for players to reason about difficulty but also for some applications of the difficulty slider which only really need a chance modifier to influence certain already-randomized outcomes (e.g., most VF stuff, which will likely be one of the most powerful forces for AI difficulty, yet only needs/wants a "rationality" slider for the AI).

We should take the [modern] Linux approach to customization: pretty on the surface and, out of the box, just as branded with smart defaults and behavior as, say, an Apple product but still ultra-customizable if you so choose to pursue it. All we have is an intrigue menu and perhaps some event dialogs for configuration, and there's a whole lot of non-difficulty-related customization we'd like to provide too.

You cite that people have a hard time agreeing upon the exact specifics of what the rules should be. Well, that's also a problem because of extreme customizability being available informally to some extent. Because there are so many options at hand, there are so many choices upon which to disagree.

Therefore, if there's an aspect of code you're writing that you think could/should have a difficulty "knob" for control, setup and use such a knob in your code. Make it a way for other code to tune your code's degree of "propensity for AI-positive outcomes."

The difficulty slider settings will use a carefully-selected set of such knob flags/variables for every basic level and also with any additional "adjunct difficulty modifier" customization options (e.g., No Flat AI Bonuses).

This all applies to difficulty settings, sure, but it generally applies to all customization settings that change game mechanics:

  1. EMF should promote concerned and adept users being able to easily sub-mod EMF and then be capable of controlling everything reasonably possible to be tuned as easily as possible (e.g., just changing various preset, commented variables and flags in a pre-defined startup event in an installer-generated template sub-mod).
  2. The in-game options should remain carefully pre-chosen for the best effect by EMF's creators, minimizing complexity and clutter for users. This also makes it a lot easier for most players to usefully talk about difficulty (and other) settings on the forums.
  3. Let players debate major customization options like horde invasion strength/likelihood, scenario customization options, etc., and not things like land_morale vs. levy_size (just another reason to avoid most flat bonuses, frankly).

Regarding CB restrictions:

Yeah, this is definitely a candidate for general customization if the trait restrictions even continue at all. As it stands now, it looks like they will but in a simpler form than currently.

Certain game mechanics that aren't directly related to difficulty will also be gating almost all CBs in the game. There will be such a thing, e.g., as an enforced (by the VF) moratorium upon all offensive wars (with varied, significant benefits, including things one couldn't otherwise get for the duration like larger defensive liege levies offered by all vassals).

Due to the potential power of these mechanics and how well they can be controlled through fully event-driven political systems such as the VF, the "rationality" of the AI in cooperating with such agreements given circumstances should certainly be a partial function of difficulty, though.

from emf.

thefinestsieve avatar thefinestsieve commented on May 13, 2024

Actually, after having given it a bit more thought, I think I'd like to revise my opinion a bit. I agree that we shouldn't have too many visible knobs. In fact, I'm not even sure I'd want difficulty sliders at all. Mechanics should be, insofar as possible, tuned to be precisely as difficult as they should be right out of the box. If we do have settings at all, I'd rather they just be a couple of specific settings like switching on/off a "Smart AI" which chooses options more like a player.

from emf.

zijistark avatar zijistark commented on May 13, 2024

I think, especially given forum feedback, that simply a general customization decision ("general" customizations should be accessible from a single menu with a like name and be able to be enacted/toggled theoretically at any point during a scenario) for 'Hardcore Mode' is in demand plus a challenging baseline-- but not a baseline that cheats in anyway.

Since 'Hardcore Mode' is a general customization decision and thus can be flipped on when you feel you need more of a challenge (common problem after establishing a dynasty in a realm) or flipped-off if you're really getting beat down by the AI, it fulfills all my desires for a 'behavioral difficulty slider.'

I've done some sketching on what might go into Hardcore Mode, and there is definitely the possibility that multiple knobs/levels of hardcore might be very useful (2, mainly), but since the feature doesn't currently exist, I'll claim it can all be done well with 1. 💨

Now, to start an Issue for Hardcore Mode specifically and for getting a "General Customizations" toggleable decision menu (and icon) under which to first place Hardcore Mode and Vanilla Crusades (and then a ton of other stuff, which themselves might just get no icons at all to lower load on Anax).

from emf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.