Skip to content

The battle of modders - Just an idea.

I don't know if this is the best place for this discussion, eventually it can be moved to an other board.

I am not a modder, and I think that they are somehow the best players of this games. Because they have the deepest knowledge of them, they see the battles not at the level of what the toons do on the screen, but at the level of why they do it. At a script or code level. No surprise for me that some of them play very seldom and find modding the game more interesting than playing it, at the level they see the game is much more challenging, who can write scripts to have enemies fighting in an effective way is also much more effective fighting scripted enemies.
This part of the Solaufein Mod readme is enlighting about:

"Q: Undead Solaufein keeps ending my life. Why isn't Solaufein this powerful
when he's on my side?

A: He is this powerful on your side. Actually, he's more powerful on your
side (if you know how to use him)."

And I know that some modder communities organize modding contexts where each modder can compete with his mod based on a certain theme.
I had an idea of a different kind of context, the battle of modders.
The rules are quite simple, an empty area is chosen and a party composition is decided. Then a modder has to script his party as an enemy group, the other modder write custom scripts for his toons, the parties are identical.
And the number of code lines for both the modders is also identical.
With AI activated the "player" modder's party is teleported to the area, or enter it in another way, and the "game" modder's party wait there scripted to be hostile. Then no more player's intervention, only AI against AI, the party with a better one wins.
Each modder meet each other one and in the end the one who has the largest number of victories wins the context.
I suppose that one of the members of the "game" party has to be regarded as a charname, if he die is game over, other way that party would be at advantage. And maybe some other rules can be set, like not using reallyforcespell, you modders know how to do it, I can just guess about it.

If you modders are interested it can be an interesting way to find a new challenge in a game that you know so well.
And I see also some collateral benefits, as a lot of material for improving the game AI would be produced and shared. And tested is an unusual way, AI against AI.
If the battles are recorded it can also be very interesting for regular players to see them on You Tube, a lot of IE material is there, but that would be something completely new and different from the many let's play that now we find.

I just had the idea, that imho is enough interesting to be shared, now is up to you decide if that kind of new challenge appeal you or not.
lunarFlashburnDexterGoturalsemiticgoddessJuliusBorisovJLeeFinnTheHuman

Comments

  • MetallomanMetalloman Member, Moderator, Translator (NDA) Posts: 3,975
    Damn, a twitch stream of such a challenge/contest would be awesome!
    DexterGoturalbrusJuliusBorisov
  • CamDawgCamDawg Member, Developer Posts: 3,438
    While I think such a contest would indeed be fascinating, AI scripting is actually a pretty specific subset of modding abilities. Unless you're specifically writing tactical mods, for the most part modders just slap on one of the existing generic AI scripts for combat*--I know I would suck, and suck bad, in such a competition. The few times I have needed a smarter AI I usually ask a buddy to do it.

    Even among difficulty enhancing mods, a lot of the increased challenge comes from beefing up enemies rather than enhancing their scripting. Even excellent scripting still struggles dealing with some basic ploys such as kiting. I think SCS is the one mod that really makes a commitment to, as David puts it, 'play fair' and not just ratchet up enemy resistances and equipment. (For the record in such a competition my money would be on David, though a script length limit could do him in.)

    * There's a method to this madness. As an example the finale of the G3 Anniversary mod features combat vs. 12 mages with generic mage scripts, which is a decent challenge. If you install SCS, the generic mage scripts get SCS-ized which really, really ratchets up the difficulty. If G3A instead shipped with custom scripts, G3A would not benefit from SCS's AI improvements.
    DextergorgonzolasemiticgoddessJuliusBorisov
  • CoM_SolaufeinCoM_Solaufein Member Posts: 2,607
    My modding knowledge has disappeared. I've been out of the game too long.
    Goturalgorgonzola
  • The user and all related content has been deleted.
    gorgonzolasemiticgoddessJuliusBorisov
  • BigfishBigfish Member Posts: 367
    Might be interesting. Really need which game, party composition, and equipment before any scripting can be done. I have some reservations because I'm not sure I'd want to script something that specific. I wrote a fairly exhaustive cleric script for my own use, but it's pretty generic in that its an all situations type of thing, where as if I were to know exactly what the enemy party make up was and the area, I would have to/could get a lot more specific.


    gorgonzolaJuliusBorisov
  • gorgonzolagorgonzola Member Posts: 3,864
    I agree about the limits, imo only single class, mid SoA level so without HLA and high level spells like IA and TS, no named items or high enchanted ones . Like weapons and ammunition max +2, one +2 ring and some +1 rings/amulets/cloaks. 1 boots of speed each party.
    This way there should be enough power and spells of enough level to allow tactical complexity but not to create conditions like who cast TS sooner win because of IA and the robe and amulet.
    And also the same script should be used for all the battles, so a modder can choose if gamble using a script that rely more on save or else or a specific cheese instead of a more balanced one.
    For the party composition a couple of fighters, maybe one kitted (berseker or kensai), ranger, thief, mage and cleric or something similar. Maybe a druid instead of ranger because druid magic is interesting.
    The classic 6 people well balanced and not too PWG party.
    FlashburnJuliusBorisovDextersemiticgoddess
  • Jaheiras_WitnessJaheiras_Witness Member Posts: 614

    @subtledoctor: One Mage/Thief. Kills anything that's not another Mage/Thief with an identical setup.


    Chain Contingency->Power Word: Blind on self. With blindness, the Mage/Thief can lay a Time Trap in plain sight. It triggers instantly. 10 seconds of free action.

    Time Traps+Time Stop until Power Word: Blind wears off.

    Detect Illusions to reveal anyone hidden by Staff of the Magi etc (a custom spell could replicate this).

    One hit with Staff of the Magi to remove any defenses (like Potions of Genius). Shapechange->Mind Flayer->INT drain.

    Unlike a normal Time Stop combination, this one has a casting time of ZERO. It is impossible to interrupt.

    Or, for enemies immune to INT drain and/or Time Stop:
    Improved Alacrity->PW: Blind->traptraptraptraptraptraptraptrap

    Ideally, there should be certain limits on a contest of this sort. Otherwise we get a coin flip instead of rock/paper/scissors.
    I hardly think a sequence based on a bug/broken game mechanic is a sensible parameter for such a contest. Doesn't surprise me that this is what you would come up with though :p
    semiticgoddessgorgonzola
  • FinneousPJFinneousPJ Member Posts: 6,455
    A bit like Robot Wars, then. Cool. I would consider joining if you do this. If only the scripting language of BG was nicer to write for.
    gorgonzola
  • semiticgoddesssemiticgoddess Member Posts: 14,903
    Item Revisions and Spell Revisions would fix a lot of the problems associated with game balance. We could also set a budget for items and spells... maybe each party could buy items worth 15,000-25,000 gold, and mages could learn 1.5-2.5 times the number of spells as sorcerers, rounded down. That way, picking one really strong item would mean the others would have to be a little weaker. You could also tweak wand charges this way.

    Maybe 5-10 rounds of pre-buffing including summons plus sequencers and contingencies, so mages would have strong defenses in the early battle, but not so much as to be invincible. And 3-5 traps so they'd have an impact without being an instant kill against any party members.

    We might also have XP tiers at 20,000; 50,000; 125,000; 350,000; 800,000; 1.5 million; 3.25 million; 7 million; and 20 million for each party member (parties of three would get twice the XP, parties of one would get six times as much, and so on). I picked these numbers so each would be a little more than twice the previous tier. We could also set gold tiers from 100 gold per party member to 10,000. Nonmagical equipment to epic.

    I'd rather we nerf exploits rather than close them completely. The WoL trick could be limited to two charges instead of six; clones could use 5 charges of wands or 5 potions below 500 gold apiece per quick item slot; Mislead clones could only add +1 to THAC0/AC/damage; Spell Turning would be reduced to 4-6 levels to nerf the scorcher loop; and Protection from Magic scrolls on self only. Stuff like that.
    Metallomangorgonzola
  • The user and all related content has been deleted.
    semiticgoddessgorgonzola
  • semiticgoddesssemiticgoddess Member Posts: 14,903
    For some reason conventional powergaming doesn't appeal to me. I like to make the most out of limited resources, and inventing or improving exploits is normally the best way to do that. I don't want to make a powerful Kensai/Mage; I want to make a powerful Wizard Slayer.
    gorgonzolalunarYamchawoowoovoodoo
  • gorgonzolagorgonzola Member Posts: 3,864
    @subtledoctor, yes, he is the perfect source, and even if I would like to be like him I must admit his huge superiority :smile:
    But in the context of this hypothetical battle of scripts is good to have someone like him as is the best one to see the possible ways to cheat the victory using such tricks, the one that immediately see the hole in the rules.
    And as I think that a modder has enough knowledge to know (and a surf on the net is an almost infinite source) and improve cheese he can be the best rules supervisor.
    As the best anti hackers were often hackers themselves in their past.

    @semiticgod, inventing or improving exploits is a way to make the most out of limited resources, imho a good one, really creative (as long as one don't limit himself at copying old recipes but is experimenting new things starting from shared knowledge) and satisfying. But is not the only one, there are other ways as rewarding as working on the exploits. Also using at their best the "not powerful" classes, spells and tactics can lead to a creative and out of the box gaming, with as much research as working on the exploits.
    I know that you know perfectly and that you do it in your gaming, but who is not into this kind of things can misunderstand and think that outside exploits or powergaming only RP is left.
    semiticgoddess
  • semiticgoddesssemiticgoddess Member Posts: 14,903
    It might also be wise to limit the use of CTRL-Y to once per round at most.
  • gorgonzolagorgonzola Member Posts: 3,864
    Can be CTRL-Y scripted?
    I suppose that there are many ways to script something with the same instant kill effect of pressing the keys CTRL and Y for the enemy party. But I am not sure that for the player party, who has to use the scripts normally available to a player, even if custom ones, is possible.
    And both the parties have to use the same set of possible functions in their scripts, as in the battle there is no player intervention outside the order to go to the battle area for the "player" party, is script against script. I doubt also that the wand of lighting trick is possible as it require giving a command while in pause, change an item in the inventory and unpause. The only use of a pause will stop the battle as no human player is there to unpause and I suppose, but I am not sure, that a pause pauses also the scripts.
  • gorgonzolagorgonzola Member Posts: 3,864
    I think that no named items is the better way because is easy to see the potential of some items, with the 2 green scrolls 2 enemy casters can be prevented from casting in a no dispellable way. Even if them are not named items, only very rare ones. But using a relatively cheap item a charm with no save is possible, I have to test if chaotic commands protect against it, but is impossible to protect a whole party if the level is enough low and only few pre buffs are allowed. even if there is no player to benefit from this 1/6 of the enemy party can be incapacitated the first second of the battle interrupting his scripts this way. and I think that very few will think of the potential of that item even if the in game description is clear about it. The item is almost ignored in the boards. If a modder would have thought to that item without me alluding at it here he would had a big advantage, not related at good scripts. but at the use of an under appreciated item.
    and is only an example, allowing named items too many things become possible.
  • lroumenlroumen Member Posts: 2,508
    Nice idea! I am curious on how many applicants you would get :).
    High level scripting is tough since it takes so much code... If I were to join it would be the lowest tier.

    I think your main purpose was to reduce lengthy code? Then I think for gear I would not allow anything that gives a bonus. It would be too much effort for players to add code to check whether opponents wear certain items that give immunities.
    I would just stick to non-enchanted weapons and projectiles, and normal enchanted weapons and projectiles of a max tier (+1,+2,+3,+4). For armour the same, non-enchanted or normal enchanted of a max tier.

    What about party setup? 6 persons any combination?
  • gorgonzolagorgonzola Member Posts: 3,864
    @lroumen, I just had the idea, as I know that modders sometimes love to have their contexts and this one can be different from the usual ones. A competition based on game results, AI against AI, not on the decisions of an human jury.
    The benefit of the competition will not be some more mods, but some research on the scripting.
    And we have many mods available to download but very little good custom scripts, an the original ones are not something on which a player can really rely if he want an efficient party while using the AI button.
    The battle scripts for the competition can be used as a good reference material to write lighter scripts useful for normal players in normal game.

    Also for this reason, and not only for the heavy effort for players to add code to check whether opponents wear certain items that give immunities I tell no named items, only normally enchanted ones (that have no side immunities or effects embedded) but enchanted ammunition as to know if the enemy use +2 bullets or normal ones is relevant in scripting the casting of protection from normal bullets (or stoneskin) instead of PFMW. Bur the real game enemies have no robes of Vecna or Ravagers +6, scripting for dealing with enemies that can use such things is heavy work without a future usefulness outside the competition, scripting for dealing with enemies that use regular spellcasting and not named items produce scripts useful as future reference.

    As I am not a modder I don't have the technical Knowledge to organize myself the whole thing, I don't even know if is really possible to use the scripts that make enemies do things and the ones that make NPCs do things in the same way, having a fair competition, as the engine is not been developed for such "robot battles".

    If there are enough modders interested I can only give an help in organizing, not really a technical one.
  • lroumenlroumen Member Posts: 2,508
    edited February 2016
    I think to facilitate you need these things at least
    1. A script to create two teams of party members with unique death variables and AI scripts (That the modders create).
    2. Ability to create a cutscene that moves all characters into each others view. Prebuff using AI script. Let both parties go hostile at the same time at each other.
    3. Video capture software and patience to rerun the battle 2-3 times (I suggest best of 3 initially with a bracket system and final best of 5).
    4. Management script for the referee that allows spawn and reset.

    The player just looks at the fight and needs to have a script available that initiates the scripts above (cutscene) and can kill all parties and reset everything. Having the no-fog cheatkey enabled will allow the user to make a vid out of the battle sequence.

    I'm not that good at modding but that is I think all you need as organizer. So I guess you should try to 'hire' someone to do that for you :).
    gorgonzola
  • BigfishBigfish Member Posts: 367


    The benefit of the competition will not be some more mods, but some research on the scripting.
    And we have many mods available to download but very little good custom scripts, an the original ones are not something on which a player can really rely if he want an efficient party while using the AI button.
    The battle scripts for the competition can be used as a good reference material to write lighter scripts useful for normal players in normal game.

    There is a lot of information available out there for people looking to write their own scripts, and the scripts that come packaged with the game are actually pretty good for illustrating what's possible, if a bit lacking in consideration of how players will load out their characters.

    Coding the things aren't too difficult. The hard part is prioritizing what gets cast. For example, here's what the behavior of my custom Cleric script looks like:

    Hotkey E assigned to toggle whether combat should be treated as Serious or not (so that the cleric doesn't drop bless or Finger of Death while fighting kobolds or goblins)
    Check party members for poison, and remove it.
    Check party member for (Confusion or Feeblemind or Charm), and cast Chaotic Commands if they are.
    Check party members for Fear, and remove it.
    Check party members for Paralysis, and remove it.
    Cast True Seeing if there is an enemy near that they can't see.
    Cast Shield of the Archons if they see an enemy caster.
    Turn Undead if Undead are nearby.
    Stop Turning Undead if no Undead are nearby.
    Cast Mass Cure if at least 2 party members are below 70% HP.
    Cast Heal if a party member is below 25% HP.
    Cast Cure Critical Wounds if a party member is below 50% HP.
    Cast Cure Serious Wounds if a party member is below 60% HP.
    Cast Cure Medium Wounds if a party member is below 70% HP.
    Cast Cure Light Wounds if a party member is below 80% HP.
    Cast Chant if an enemy is seen.
    Cast Bless if an enemy is seen.
    Cast Defensive Harmony if an enemy is seen.
    Cast Greater Command on enemies. (with a lot of identifiers thrown in to make sure the enemy isn't undead or have too low of a save or something)
    Cast Sunray.
    Cast False Dawn.
    Cast Hold Person.
    Cast Confusion.
    Cast Rigid Thinking.
    Cast Command.
    Cast Doom.
    Cast Poison.
    Cast Silence 15'.
    Cast Miscast Magic.
    Cast Holy Word/Unholy Word.
    Cast Finger of Death.
    Cast Bolt of Glory.
    Cast Flamestrike.
    Cast Holy Smite/Unholy Blight.
    Cast Armor of Faith if about to engage in melee.
    Cast Draw Upon Holy Might if about to engage in melee.
    Cast Righteous Magic if about to engage in melee.
    Attack nearest enemy.

    There's a lot of code that goes in to that because you have to provide context for every little thing, and part of the problem is that if they start casting something, that spell is gone, even if you'd rather they had done something else in that particular situation, and now you have to wait depending on what it is you want to do.

    With this competition, I think we'd end up with some really good creature scripts, but Player AI scripts are more about how much control you're willing to give up versus reading any particular situation yourself. We already have scripts available for thieves and bards and clerics that handle the whole "Why are they not searching for traps/singing/turning undead all the time?" Beyond that, you need a good idea of what you want your character to be doing.
    gorgonzola
  • GoturalGotural Member Posts: 1,229
    So far the best AI I fought is probably the Chosen of Cyric encounter from the Rogue Rebalancing mod, these guys use lots of Scrolls, Potions, have a very good targeting and they actually switch to mundane weapons to bypass PfMW and one of them even fire Arrows of Dispelling to his own party members to remove crowd control effects.
    JuliusBorisovsemiticgoddessgorgonzola
  • gorgonzolagorgonzola Member Posts: 3,864
    When I think of a good AI I think at the high level random encounters of Tactics Mod, a thief that use his traps, a wizard slayer that try to neutralize your casters, fighters with enchanted mlee weapons and unenchanted ammunition, a mage and a druid that use well their spells, ranged weapons and if needed mlee weapons. And if you have an invisible thief they start to move randomly to avoid backstab.
    My impression is that Weimer scripted them in a way that leave some holes, some easy chances to the player, that he could have make them a lot harder (without cheating, as they don't cheat, thing that for that mod is really strange....).
    But those encounters are the situation in the game where I feel like if I am playing against a good human player that challenge me well even if I am the one at advantage since I have all that named OP items.
    I am not sure if Weimer himself coded the scripts as some components of Tactics are borrowed from pre existing mods, but whoever he was that coder made a damn good work.
    semiticgoddessGoturalJuliusBorisov
  • gorgonzolagorgonzola Member Posts: 3,864
    lroumen said:

    I think to facilitate you need these things at least
    1. A script to create two teams of party members with unique death variables and AI scripts (That the modders create).
    2. Ability to create a cutscene that moves all characters into each others view. Prebuff using AI script. Let both parties go hostile at the same time at each other.
    3. Video capture software and patience to rerun the battle 2-3 times (I suggest best of 3 initially with a bracket system and final best of 5).
    4. Management script for the referee that allows spawn and reset.

    The player just looks at the fight and needs to have a script available that initiates the scripts above (cutscene) and can kill all parties and reset everything. Having the no-fog cheatkey enabled will allow the user to make a vid out of the battle sequence.

    I'm not that good at modding but that is I think all you need as organizer. So I guess you should try to 'hire' someone to do that for you :).

    Of the four points I can only provide the third one, at now I lack even of an EE game, but is not a problem.
    For the other 3 I lack of the requested skills, that are relevant both to decide what and how it has to be implemented and in realizing it.
    So if at least 4 or 6 modders or people able to write the scripts are interested in participating in the competition I can try to "Hire" some helpers with the needed knowledge. But before asking to people to put their time and effort in this I want to be reasonably sure that it will not be a wasted effort.
Sign In or Register to comment.