Jump to content

Adding AI To Mids, The MVP


magicjtv

Recommended Posts

Understanding The New Importance System

Importance is how you tell Robot Woman which bonuses are more important to you when you select multiple bonuses.

 

A Bit Of History

The original Importance system was flawed, as it compared the various types of bonuses to each other and picked the biggest one. This just doesn't work when the different types of bonuses are orders of magnitude different from each other. So the "Default Importance" system was introduced. This scaled the bonuses by a default number based on their type, bringing them much closer together. It worked, but even I had difficulty in knowing how to tell the system X is twice as important as Y when all the importance numbers were heavily scaled, and scaled differently for each bonus type.

 

The Future

Where I'd like to go is to a system that doesn't require the user to calculate, just select what type of weights you want from a list. It'd have options like "Distribute Evenly" and "Finish Each, Top To Bottom". I also really like the idea of just saying "Give me Perma Dom". But to get there, we need a reliable system for doing the actual math under the hood. It's my hope that this system is it, or at least brings us close.

 

How The New Importance System Works

The new system completely avoids the problem of comparing two very different types of bonuses (like Knockback Protection and Healing) and trying to figure out which choice is better.  Instead it only compares a bonus value to the value of the same bonus in the previous generation. If the new generation has a better value than the old, the AI Wizard rolls a random number between 1 and 100. If this number is equal to or less than the Importance of the bonus, the bonus is selected. Otherwise, the AI Wizard tries the next bonus.

 

In English, if a bonus improves from one generation to the next, the Importance provides a percentage chance that it is selected.

 

In pseudo-code, it looks like this:

IF current_generation_bonus_1 IS GREATER THAN previous_generation_bonus_1 AND random_number IS LESS THAN OR EQUAL TO importance_of_bonus_1 THEN

   USE current_generation_bonus_1

OTHERWISE IF current_generation_bonus_2 IS GREATER THAN previous_generation_bonus_2 AND random_number IS LESS THAN OR EQUAL TO importance_of_bonus_2 THEN

   USE current_generation_bonus_2

...

OTHERWISE IF current_generation_bonus_n IS GREATER THAN previous_generation_bonus_n AND random_number IS LESS THAN OR EQUAL TO importance_of_bonus_n THEN

   USE current_generation_bonus_n

 

The last thing to note is that the bonuses are processed in the order you enter them into the Wizard, top to bottom.

 

Examples

Here's an example of how to do a 50/50 split between two bonuses using the new system:

AIWizard Importance 50-50.PNG

 

What this means is: Try Damage. If that bonus improves there's a 50% chance it's selected. Otherwise, try Accuracy. If that bonus improves there's a 100% chance it's selected.

The numbers get bigger as we move down the list because the pool of available bonuses is getting smaller.

 

Here's a split into even thirds:

AIWizard Importance 33-33-33.PNG

 

What this means is: Try Damage. If that bonus improves there's a 33% chance it's selected. That handles 33%. With the remaining attempts, try Accuracy. If that bonus improves there's a 50% chance it's selected. We've now handled 2/3 of the cases. With the final third, try Recharge time. If that bonus improves there's a 100% chance it's selected.

 

Here's a split into even fourths:

AIWizard Importance 25-25-25-25.PNG

 

Here's a split into even fifths:

AIWizard Importance 20-20-20-20-20.PNG

 

Here's a system that always improves the first item if it can. It moves down the list only if it finds no improvement for the previous items.

AIWizard Importance Top To Bottom.PNG

 

Recommended Practice

I think usability is still an issue, but with some effort it is possible to understand what's going on. Follow the examples above and tweak them a bit to suit your needs.

 

Please remember that this is a stepping stone to a simpler system.

Edited by magicjtv
  • Like 2
Link to comment
Share on other sites

2 hours ago, FullEclipse said:

So i installed it but when i try to run setup.exe it says i cant from this location because it is installed from a different location.

Any ideas?

Go into your system's App Settings and uninstall Hero Designer. Then install the MVP.

 

Link to comment
Share on other sites

Current release

Mids AI MVP Installer version 0.0.6 - Added Knockdown, Reduce Damage, Enhance Hold, and Enhance Immobilize bonus categories. Added support for some special IOs. Redesigned the UI for the weight system. Added logging and View Log features. Bug fixes.

 

Follow-up posts will discuss the new features.

 

Added support for the following additional special IOs:

  • Entomb: Recharge/Chance for +Absorb As Heal Bonus  As HitPoint Bonus  
  • Superior Entomb: Recharge/Chance for +Absorb As Heal Bonus  As HitPoint Bonus 
  • Avalanche: Recharge/Chance for Knockdown As Knockdown Bonus
  • Superior Avalanche: Recharge/Chance for Knockdown As Knockdown Bonus
  • Winter's Bite: Recharge/Chance for -Speed & -Recharge As Slow Bonus
  •  Superior Winter's Bite: Recharge/Chance for -Speed & -Recharge As Slow Bonus
  • Frozen Blast: Recharge/Chance for Immobilize As Mez Enhance Bonus As Immobilize Bonus
  • Superior Frozen Blast: Recharge/Chance for Immobilize As Mez Enhance Bonus As Immobilize Bonus
  • Overwhelming Force:: Damage/Chance for Knockdown Knockback to Knockdown As Knockdown Bonus
  • Unbreakable Constraint: Chance for Smashing Damage As Damage Bonus
  • Gravitational Anchor: Chance for Hold As Mez Enhance Bonus As Hold Bonus
  • Hecatomb: Chance of Damage(Negative) As Damage Bonus
  • Armageddon: Chance for Fire Damage As Damage Bonus
  • Soulbound Allegiance: Chance for Build Up As Damage Bonus
  •  Apocalypse: Chance of Damage(Negative) As Damage Bonus
  • Fortunata Hypnosis: Chance for Placate As Reduce Damage Bonus
  • Absolute Amazement: Chance for ToHit Debuff As Reduce Damage Bonus
  • Ragnarok: Chance for Knockdown As Knockdown Bonus
  •  Force Feedback: Chance for +Recharge As recharge Time Bonus
  •  Sudden Acceleration: Knockback to Knockdown As Knockdown Bonus
  • Blessing of the Zephyr: Knockback Reduction (4 points) As Knockback Protection Bonus

 

Bug Fixes:

  • Fixed a bug where Rule of Five was sometimes being incorrectly calculated in powers slotted with multiple sets.
  • Fixed a bug introduced in version 0.0.5 that prevented the Wizard from calculating a single bonus.
Edited by magicjtv
  • Like 1
Link to comment
Share on other sites

@magicjtv You da real MVP!

 

In all seriousness, this is an awesome idea! I sit much more in the "build to concept" group than the "min-maxing" one, but it's still nice to get some info on what could be and adapt to it.

I want to mention that the more recent code has moved from here to the new Mids organization repo, in case you're interested. We're slowly getting everything centralized!

 


Also...

On 5/16/2020 at 2:33 PM, magicjtv said:

Shutting this down due to [...] the fact that the mids code is a steamy pile of shit.

snortsmall.gif.669f8d052f24449a0f1526aa954e21f3.gif

 

Edited by Felis Noctu
  • Like 1
mrb-social2_mini.png.464409b4404c13db31506dbe99d59609.png

Mids' Reborn : Hero Designer

The build planner to make your awesome characters even more awesome!

   
Into the Night "... and so we went into that dark night, for we knew our dawn would come again..."
~ The Meowcronomicon

 

Link to comment
Share on other sites

14 minutes ago, Felis Noctu said:

@magicjtv You da real MVP!

 

In all seriousness, this is an awesome idea! I sit much more in the "build to concept" group than the "min-maxing" one, but it's still nice to get some info on what could be and adapt to it.

I want to mention that the more recent code has moved from here to the new Mids organization repo, in case you're interested. We're slowly getting everything centralized!

 

Thanks Felis. I'll Migrate to the new code base as soon as I can.

 

And sorry about the PoS remark... I was frustrated at the time.

Link to comment
Share on other sites

1 hour ago, magicjtv said:

And sorry about the PoS remark... I was frustrated at the time.

Oh, you're apologizing? You must not have seen my rants in the Mids discord... 😛

Hell, Metalios rants at times!

This spaghetti code, junky, misguided... gift to the world. *cough*

Edited by Felis Noctu
  • Like 2
mrb-social2_mini.png.464409b4404c13db31506dbe99d59609.png

Mids' Reborn : Hero Designer

The build planner to make your awesome characters even more awesome!

   
Into the Night "... and so we went into that dark night, for we knew our dawn would come again..."
~ The Meowcronomicon

 

Link to comment
Share on other sites

Understanding The New Error Log

The new Error Log and its Error Log Viewer show what errors occurred while processing your toon. An "error" in this context doesn't mean it's a bug. It probably means the the AI Wizard tried something, saw that it wasn't legal, and dropped it. Trying a slotting that breaks Rule of Five is a common example.

 

The log gets cleared at the start of every run.

 

Using The Error Log

The button to view the error log is on the final screen of the wizard.

AIWizardErrorLogButton.PNG

 

Clicking the View Log button shows the log in a dialog box.

image.thumb.png.d921c124543bbf3fdc2f8a884c093ea4.png

 

Recommended Practice

If the wizard is not giving you a bonus you think it should, use the log for clues as to why this may be happening. Let me know if you think valid bonuses are being rejected.

Edited by magicjtv
  • Like 1
Link to comment
Share on other sites

Understanding The New Importance UI

Version 0.0.6 introduces a new UI for Importance that builds upon the Importance Engine introduced in version 0.0.5. The new UI offers three different Importance options and completely removes the need for the user to calculate importance values by hand.

 

Selecting An Importance

The new UI provides a dropdown used to indicate what Importance option to use. The importance option defines the relative importance of the bonuses you've selected. The available options are:

  • Top To Bottom - The wizard will always try to provide bonuses for selected bonuses at the top of the list. Items lower in the list will only get bonuses when no bonuses could be found for items higher in the list.
  • Twice The Next Bonus - Each selected bonus in the list is twice as important as the selected bonus that follows it.
  • Distribute Evenly - Every successful bonus is as likely to be selected as every other successful bonus.

AIWizard Importance UI.PNG

 

Recommended Practice

When you have multiple bonuses selected, the Importance option tells the wizard the relative importance of each selected bonus.

Edited by magicjtv
  • Like 2
Link to comment
Share on other sites

16 hours ago, Felis Noctu said:

@magicjtv You da real MVP!

 

In all seriousness, this is an awesome idea! I sit much more in the "build to concept" group than the "min-maxing" one, but it's still nice to get some info on what could be and adapt to it.

I want to mention that the more recent code has moved from here to the new Mids organization repo, in case you're interested. We're slowly getting everything centralized!

I tagged this thread early on with baited breath for it's development. This is potentially so awesome. I did try an early version (.03 I think), had understandable problems having to uninstall the Mids org repo which has updated stats (including the Artillery power set I love to use on Blasters) to install the old non-updated code one. Had to go back to the Mids org one though as the updated Mids Org code saved Mids files crashed trying to open them in the old Mids version.

 

I will wait to try again when there is an updated Mids Org version, which I hope is soon! 🙂 If I could give this thread 100 likes I would! Thanks so much for what you are doing!

  • Like 1
Link to comment
Share on other sites

Quote

I will wait to try again when there is an updated Mids Org version, which I hope is soon!

My plan is to concentrate on coding the Wizard. Once that's done, then I'll turn my attention to other things like a better installer and so on.

Link to comment
Share on other sites

Current release

Mids AI MVP Installer version 0.0.7 - Added Perma Wizard. Renamed Artificial Intelligence Wizard to Bonus Wizard. Added support for some special IOs.

 

I'll discuss the new Perma Wizard in a separate post.

 

Added support for the following additional special IOs:

  • Analyze Weakness: Chance for +ToHit As Accuracy Bonus
  • Touch of the Nictus: Chance for Negative Energy Damage As Damage Bonus
  • Siphon Insight: Chance for +ToHit As Accuracy Bonus
  • Malaise's Illusions: Chance of Damage(Psionic) As Damage Bonus
  • Touch of Lady Grey: Chance for Negative Damage As Damage Bonus
  •  Glimpse of the Abyss: Chance of Damage(Psionic) As Damage Bonus
  • Ghost Widow's Embrace: Chance of Damage(Psionic)v As Damage Bonus
  • Lockdown: Chance for +2 Mag Hold As Enhance Hold Bonus As Enhance Mez Bonus
  • Trap of the Hunter: Chance of Damage(Lethal) As Damage Bonus
  •  Mako's Bite: Chance of Damage(Lethal)  As Damage Bonus
  • Obliteration: Chance for Smashing Damage As Damage Bonus
  • Scirocco's Dervish: Chance of Damage(Lethal)  As Damage Bonus
  • Call of the Sandman: Chance of Heal Self  As Heal Bonus
  • Pacing of the Turtle: Chance of -Recharge  As Slow Bonus
  •  Executioner's Contract: Disorient Bonus  As Enhance Mez Bonus As Enhance Stun Bonus
  • Sting of the Manticore: Chance of Damage(Toxic)  As Damage Bonus
  • Stupefy: Chance of Knockback  As Knockdown Bonus
  • Annihilation: Chance for Res Debuff  As Damage Bonus
  • Positron's Blast: Chance of Damage(Energy)  As Damage Bonus
  • Perfect Zinger: Chance for Psi Damage  As Damage Bonus
  • Dark Watcher's Despair: Chance for Recharge Slow As Slow Bonus
  • Gaussian's Synchronized Fire-Control: Chance for Build Up As Damage Bonus
Link to comment
Share on other sites

8 hours ago, magicjtv said:

My plan is to concentrate on coding the Wizard. Once that's done, then I'll turn my attention to other things like a better installer and so on.

 

It would be nice if the installer would at least allow the user to do an Over the top install.  Now we have to go out to Control Panel, Uninstall, then install.  Not a lot of steps, but it is a PITA.  

 

Issues and concerns in 0.0.7:

 

1. Need a selection to leave Health and Stamina slots alone.  The AI takes slots even though as an experienced build I know the build will need them to keep Endurance up.   Hasten and Build up need to have leave it alone options for the slots.  Picking bonuses is great, but they should stay at the minimum slots assigned unless more are needed for the bonus. 

 

2. Some powers seem to be totally ignored for slotting even though they have great inherent attributes.  The real issue here is that the AI doesn't seem to use the base values for some powers as the starting point.  For example on my Ill/Rad, it leaves Accelerate Metabolism and Hasten unslotted as well as often ignoring Combat Jumping, Maneuvers, etc when going for Recharge, Accuracy, and Defense.

 

3. As mentioned above, we need a  minimum of Install on Top for the process.  I know, I hate mucking with Installers too, but if you want folks testing they aren't going to want to do the extra steps.  Just sayin.

 

 

The new AI is doing an incredible job of picking really good stats with the minimum iterations and generations on some builds.  I did a Willpower/Fiery Tanker and got extremely good results for Defense and Resistance.  Color me impressed for that one.

 

Attached are the two builds I am currently testing with along with the AI profiles.

AI Character (Ill-Rad).aiw AI Character (Tanking).aiw Controller - Ill - Rad - 3 (AI Build).mxd Tanker - Willpower - Fiery Melee (AI Build).mxd

Edited by Ura Hero
  • Like 1
Link to comment
Share on other sites

Link to comment
Share on other sites

Quote

1. Need a selection to leave Health and Stamina slots alone.  The AI takes slots even though as an experienced build I know the build will need them to keep Endurance up.   Hasten and Build up need to have leave it alone options for the slots.  Picking bonuses is great, but they should stay at the minimum slots assigned unless more are needed for the bonus. 

My plan is to add a screen that let's you specify any powers you want to have left alone.

 

Quote

2. Some powers seem to be totally ignored for slotting even though they have great inherent attributes.  The real issue here is that the AI doesn't seem to use the base values for some powers as the starting point.  For example on my Ill/Rad, it leaves Accelerate Metabolism and Hasten unslotted as well as often ignoring Combat Jumping, Maneuvers, etc when going for Recharge, Accuracy, and Defense.

Yes, the Wizard doesn't take the base effects of the powers into consideration, only the bonuses. This isn't an oversight, I just haven't gotten to that yet.

 

P.S.

Thanks for the files you're using for testing. 

Edited by magicjtv
Link to comment
Share on other sites

Introducing The Perma Wizard

The Perma Wizard is a tool added to version 0.0.7 that calculates how much recharge % you need to make a power perma.

 

You access the Perma Wizard from the Artificial Intelligence menu (also notice the Artificial Intelligence Wizard has been renamed to Bonus Wizard).

Perma Wizard Menu.png

 

Screen 1

This is just an introduction screen.

Perma Wizard Screen 1.png

 

Screen 2

Here is where you select the Archetype, powerset, and power you want perma. You can select up to five powers, including powers from different archetypes.

Perma Wizard Screen 2.png

 

The screen below show the Domination power selected, but not yet added, in the upper left. In the upper right we've added Domination and have Hasten selected. In the lower left We have Phantom Army selected. The lower right shows all three powers added.

Perma Wizard Screen 2 Selecting Powers.png

 

Screen 3

The final screen shows how much recharge you need to make each power you selected perma. You can copy the results into the clipboard.

Perma Wizard Screen 3.png

 

The Powers List

Not all powers will appear in the powers list. Powers that get excluded have one or more of the following attributes.

  • Not a click power
  • A Mastermind Pet summon or one of their two main pet buff powers
  • A rez
  • A power you operate when dead
  • A duration of zero
  • An endless duration
  • A recharge time that is always less than the duration.

Perma Wizard Screen Not All Powers.png

Edited by magicjtv
  • Like 1
Link to comment
Share on other sites

34 minutes ago, magicjtv said:

My plan is to add a screen that let's you specify any powers you want to have left alone.

 

Yes, the Wizard doesn't take the base effects of the powers into consideration, only the bonuses. This isn't an oversight, I just haven't gotten to that yet.

 

P.S.

Thanks for the files you're using for testing. 

 

Cool beans.  I know I ask a lot, but I have done UI development and testing for a really long time (from back when mainframes were all the rage) so I understand the process.  I know some of the stuff I report will be gotten to in time.  I also know if I don't say anything I get surprised often enough that what I didn't report gets left out, so I report it all.  I'll be the first to say that running a R&D development team can be... challenging.  You don't know what is in the development folks minds, but experience lets me guess fairly closely most of the time.  That same experience also fails me fairly often when I think something is obvious and it apparently isn't.  Hence I tend toward too much information at times.

 

Glad it helps you out by sharing the files.  I know how hard it is to replicate without good data. 

 

I may not get to every release that you put out, but I am very interested in seeing where this ends up.  It is an awesome endeavor and will be a huge boon to the community when you get it done.   

  • Like 1
Link to comment
Share on other sites

Current release

Mids AI MVP Installer version 0.0.8 - Upgraded installer. Added support for some special IOs.

 

Added support for the following additional special IOs:

 

  • Touch of Death: Chance of Damage(Negative)  As Damage Bonus
  • Decimation: Chance of Build Up As Damage Bonus
  • Shield Breaker: Chance for Lethal Damage As Damage Bonus
  • Theft of Essence: Chance for +Endurance  As Recovery Bonus
  • Cloud Senses: Chance for Negative Energy Damage  As Damage Bonus
  • Unspeakable Terror: Disorient Bonus  As Stun Enhance Bonus As Mez Enhance Bonus
  • Basilisk's Gaze: Chance for Recharge Slow  As Slow Bonus
  •  Neuronic Shutdown: Chance of Damage(Psionic)  As Damage Bonus
  •  Kinetic Combat: Knockdown Bonus  As Knockdown Bonus
  • Pounding Slugfest: Disorient Bonus  As Stun Bonus As Mez Bonus
  • Eradication: Chance for Energy Damage  As Damage Bonus
  • Entropic Chaos: Chance of Heal Self  As Heal Bonus
  • Tempest: Chance of End Drain  As Damage Reduction Bonus
  • Induced Coma: Chance of -Recharge  As Slow Bonus
  • Impeded Swiftness: Chance of Damage(Smashing)  As Damage Bonus
  • Razzle Dazzle: Chance of Immobilize As Immobilize Enhance Bonus As Mez Enhance Bonus
  • Like 1
Link to comment
Share on other sites

Giving Robot Woman® a test course. Build provided in attachments.

  • No incarnates enabled
  • No force feedback +recharge (which doesn't work in 2.6.0.7 anyway)
  • Hasten toggled on
  • No boosters on enhancements

-- Global recharge: +185%

 

-- Call Reinforcements stats:

  • Recharge: +96.70% (235.8s) (total recharge buff: 281.7%)
  • Duration: 240s

-- Summon Blaster (Mace Mastery) stats:

  • Recharge: +96.70% (235.8s) (total recharge buff: 281.7%)
  • Duration: 240s

Hey, Robot Woman®, could you help me make Call Reinforcements and Summon Blaster perma ?

 

aimvp_test01.png.1f39a0be17d601425c5db1f811fbd4f9.png

 

aimvp_test02.png.17c6a26d718d03de97a88570aab80662.png

 

Don't do this at home folks. This build is awful and it used to be my actual one. For testing purposes only -- recharge maxed out but nothing else.

Sure it'll be useful if you're looking for something specific. 👍

Red 4 1 7 - Arachnos Bane Spider Soldier (Bane Spider Training) (2).mxd

  • Like 1
Link to comment
Share on other sites

Current release

Mids AI MVP Installer version 0.0.9 - Added ability to select which powers are allowed to evolve. Removed support for .aiw files. Added support for .bwc files. Added support for some special IOs.

 

Breaking Changes

Adding support for the ability to save off which powers can evolve broke .aiw files. Therefore they were dropped and replaced by the new .bwc format. The .bwc format includes a file format version number which will allow me to make changes to the format in the future while still maintaining backward compatibility. The UI for saving .bwc files is identical to the old UI for saving .aiw files.

 

I'll talk more about the ability to select which powers can evolve in a separate post.

 

Added support for the following additional special IOs:

  • Gladiator's Net: Chance of Damage(Lethal) As Damage Bonus
  • Gladiator's Strike: Chance for Smashing Damage As Damage Bonus
  • Fury of the Gladiator: Chance for Res Debuff As Damage Bonus
  • Gladiator's Javelin: Chance of Damage(Toxic) As Damage Bonus
  • Javelin Volley: Chance of Damage(Lethal) As Damage Bonus
Edited by magicjtv
  • Like 2
Link to comment
Share on other sites

Controlling Which Powers Evolve During Evolution

In version 0.0.9, the Bonus Wizard introduces the ability to control which powers will evolve. The third screen of the wizard provides a link to a dialog that allows you to make these settings. This link replaces the old Slot Brawl checkbox.

 

Bonus Wizard Control Power Evolve.PNG

 

The dialog that allows you to set which powers can evolve is shown below. Just check the powers you want to evolve, uncheck the powers you don't, and click Save. By default, all powers except Brawl are checked.

Bonus Wizard Control Power Evolve 2.PNG

 

Recommended Practice

Use this dialog when you want full control over which powers evolve. 

 

The .bwc file format includes your selections for each power. If you never use the dialog then the .bwc file contains the default values for each power. Becuase of their differences in the number of powers, .bwc files cannot be shared between Khelidians and non-Khelidians.

Edited by magicjtv
  • Like 2
Link to comment
Share on other sites

22 minutes ago, magicjtv said:

Controlling Which Powers Evolve During Evolution

In version 0.0.9, the Bonus Wizard introduces the ability to control which powers will evolve. The third screen of the wizard provides a link to a dialog that allows you to make these settings.

 

My man, are you even taking time to breathe and sleep? Dare I say play the game? You seem to be breathing and eating this project.

  • Like 1
Link to comment
Share on other sites

3 minutes ago, Sovera said:

My man, are you even taking time to breathe and sleep? Dare I say play the game? You seem to be breathing and eating this project.

It's because I know how much work is still left to do to finish this project, and I do plan on finishing it.

 

But we're getting to the point where maybe there's some light at the end of the tunnel.

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...