Jump to content

Adding AI To Mids, The MVP


magicjtv

Recommended Posts

Welcome to the Mids AI MVP (minimal viable product) thread. This thread is all about adding AI to Mids that will help you optimize your build's IO set bonuses.

 

What To Expect

  • A downloadable version of Mids enhanced with AI. This will be a minimal viable product (MVP), meaning only the features needed to get the AI up and running will be added. Additional features may be added post-MVP, based upon user demand.
  • Ok, so, one non-minimal feature will be added: A spreadsheet dialog window containing information on all the set bonuses. This can be used to manually optimize your build.
  • Bugs. This is new software development and the AI is moderately complex. There will be bugs. When this happens, I'll fix them.
  • Product mock-ups and mini tutorials. Before the code is written, a mock-up of its UI will be provided. As features are added to the downloadable executable, mini-tutorials on how to use the new features will be provided.

 

What Not To Expect

  • Perfection. The AI uses many, many random guesses as to how it can optimize your build. This means that it will sometimes never consider an option that would have been better than what it has. You'll always need to go over the results yourself.
  • The AI matching your play-style. Might happen, but might not. Instead, the AI may slot up powers you'd never use just to get a bonus. Sometimes you'll find this acceptable, sometimes you won't. Again, you'll always need to go over the results yourself.

 

Currently, the MVP is implemented as a fork from the Mids code base (located here). Ultimately, I'd prefer it to be merged back into Mids once the MVP is complete. But that's not my choice to make, as I don't own the Mids code.

 

The thread covering the development of the AI proof of concept code that preceded this MVP can be found here. The proof of concept is done, it's no longer being developed.

 

  • Like 6
  • Thanks 2
Link to comment
Share on other sites

You can download the latest Mids AI MVP installer from here. This post will be updated as new versions are released.

 

To run the installer, download it and run Hero Designer AI MVP 0.0.x Setup.exe. 

 

Current release

Mids AI MVP Installer version 0.1.0 -Functionally identical to release 0.0.26. Code-named Maria after the robot in Metropolis .

 

Previous releases

Mids AI MVP Installer version 0.0.26 - Fixed a bug in the display of the IO Bonus Spreadsheet.

Mids AI MVP Installer version 0.0.25 - Fixed a bug where powers that granted effects to other players, but not the casting player, were having their effects counted towards the casting player (Example: Grant Invisibility was increasing the player's defense value). Fixed a bug in PreservePreviousBonuses that could allow smaller bonuses to replace larger bonuses. The Bonus Wizard now assigns enhancements at the highest possible level.

Mids AI MVP Installer version 0.0.24 - The View and Save Snapshots dialog can now show more than 11 snapshots.

Mids AI MVP Installer version 0.0.23 - Added ability to select slots to be excluded from evolution. Added template for Defense Capped Smashing/Resistance Capped Smashing. Bug fixes.

Mids AI MVP Installer version 0.0.22 - Fixed a bug introduced in the previous version.

Mids AI MVP Installer version 0.0.21 - Added template for Defense Capped Fire/Resistance Capped Fire. Bug fixes.

Mids AI MVP Installer version 0.0.20 - Added ability to select which powers are used when calculating bonuses. Fixed a bug in damage bonus calculations. Added templates for Damage Buff, Mez Resistance, Perma Carrion Creepers, Perma Epic Pet, Perma Spiderlings, and Perma Spirit Tree.

Mids AI MVP Installer version 0.0.19 - Added templates for Perma Eclipse, Perma Rage, Defense Capped Smashing, Resistance Capped Smashing Tanker and Brute, Resistance Capped Smashing Epic ATs, and Resistance Capped Smashing All Others.

Mids AI MVP Installer version 0.0.18 - Updated the Perma Wizard to include values in a scale usable by the Bonus Wizard (i.e. Recharge% / 100). Added new Template directory located in the install directory. Added templates for Perma Phantom Army, Perma Hasten, and Perma Domination.

Mids AI MVP Installer version 0.0.17 - Bug Fixes.

Mids AI MVP Installer version 0.0.16 - Bug Fixes.

Mids AI MVP Installer version 0.0.15 - Bug Fixes.

Mids AI MVP Installer version 0.0.14 - Bug Fixes.

Mids AI MVP Installer version 0.0.13 - Bonus wizard now uses power and enhancement info.

Mids AI MVP Installer version 0.0.12 - Upgraded code base to the latest version of Hero Designer, including support for new IOs.

Mids AI MVP Installer version 0.0.11 - Bug fixes: Now correctly dealing with Adaptation in Bio Armor having no slots. Corrected bug in conversion of Mids toon to AIToon for Stalker Ice Melee.

Mids AI MVP Installer version 0.0.10 - Added new importance: Top to Bottom Capped. Enabled every .bwc file to work for any AT. Bug fixes.

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.

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

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

Mids AI MVP Installer version 0.0.6 - Added Knockdown, 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.

Mids AI MVP Installer version 0.0.5 - Added support for optionally slotting Brawl. Added support for some special IOs. Redesigned the weight system.

Mids AI MVP Installer version 0.0.4 - Added Support for Khelidians. Added Pet Defense and Pet Resistance bonus options. Added support for some special IOs. Added speech to Robot Woman.

Mids AI MVP Installer version 0.0.3 - Added ability to save off and reload your AI Wizard choices. Added ability to view and save the snapshots taken while the toon evolves. The snapshots are saved just like a regular Mids toon. Added consistent chart colors for each bonus. Added default weights for all bonuses. Added support for PvP bonuses. Increased the maximum number of bonuses you can choose from 3 to 5. Increased the valid range for Generations and Iterations.  Multi-threading support for evolving bonuses. Bug fixes.

Mids AI MVP Installer version 0.0.2 - Added initial release of the Artificial Intelligence Wizard

Mids AI MVP Installer version 0.0.1 - Added IO Bonus Spreadsheet

Mids AI MVP Installer version 0.0.0 - Initial release. Functionally identical to regular Mids.

 

Edited by magicjtv
Added instructions
  • Thanks 1
Link to comment
Share on other sites

I look forward to using this tomorrow. Thank you for doing this.  I appreciate your hard work.

  • Like 1

@Rathstar

Energy/Energy Blaster (50+3) on Everlasting

Energy/Temporal Blaster (50+3) on Excelsior

Energy/Willpower Sentinel (50+3) on Indomitable

Energy/Energy Sentinel (50+1) on Torchbearer

Link to comment
Share on other sites

I downloaded the program and ran the installer (Windows SmartScreen was not happy, but that's probably because the code isn't signed, so I proceeded ahead anyway).  It opened an older version of Mid's (DB Issue 26, Version 19.1021), not the MRBU.  Is that intentional?  Can we apply the MRBU to this fork?

 

The installer doesn't indicate where it installed the app: from where is it running?  It doesn't appear to be running from the same directory as my MRBU version of Mid's 2.6.0.7 (DB Issue 26, Version 20.2605).  So does this mean I have to run Setup.exe every time I want to run this fork?

 

I mentioned in the other thread that I'm a bit of an ID10T.  Well, here's my ID10T question: how to I make it work?  What buttons, keystrokes, or menu selections make it "go"?  I've loaded one of my builds, and I want to run the AI to make it better.  How do I do that?

 

@Rathstar

Energy/Energy Blaster (50+3) on Everlasting

Energy/Temporal Blaster (50+3) on Excelsior

Energy/Willpower Sentinel (50+3) on Indomitable

Energy/Energy Sentinel (50+1) on Torchbearer

Link to comment
Share on other sites

7 hours ago, SuperPlyx said:

This may be a dumb question but any chance of a portable version ?

It's not impossible, but also not something I'm focused on right now. First I need to get the Windows version running.

 

5 hours ago, Rathulfr said:

I downloaded the program and ran the installer (Windows SmartScreen was not happy, but that's probably because the code isn't signed, so I proceeded ahead anyway).  It opened an older version of Mid's (DB Issue 26, Version 19.1021), not the MRBU.  Is that intentional?  Can we apply the MRBU to this fork?

 

The installer doesn't indicate where it installed the app: from where is it running?  It doesn't appear to be running from the same directory as my MRBU version of Mid's 2.6.0.7 (DB Issue 26, Version 20.2605).  So does this mean I have to run Setup.exe every time I want to run this fork?

 

I mentioned in the other thread that I'm a bit of an ID10T.  Well, here's my ID10T question: how to I make it work?  What buttons, keystrokes, or menu selections make it "go"?  I've loaded one of my builds, and I want to run the AI to make it better.  How do I do that?

 

Yes, the code is not signed. I'll get it signed Soon(TM), but first I want to get it running.

 

Yes, I'll overlay MRBU to the next release.

 

The setup program just launches the app from where you unzipped the installer. You don't need to run setup every time. In the near future I'll implement a more sophisticated installer.

 

You can't use the AI yet because it's not in the installed program. As I mentioned, version 0.0.0 is functionally identical to regular Mids. 

  • Thanks 1
Link to comment
Share on other sites

As promised, a mockup of a feature is provided before the feature gets implemented. This gives everyone a chance to provide feedback on the proposed design.

 

Mockup For IO Bonuses Grid

The first mockup is done and it's for the IO set bonuses grid. It looks like (drum roll please)... this:

 

Mockup IO Bonus Spreadsheet.PNG

 

The purpose of the grid is provide you with the information you need to determine which IO sets give which bonuses. You'll be able to sort the grid by any column by clicking on the column header. You'll also be able to export the data to a csv file for use in programs like MS Excel.

Edited by magicjtv
Link to comment
Share on other sites

Here's the mockup for the AI portion of the MVP. It's call the Artificial Intelligence Wizard. For the MVP, the AI can only be run against level 50 characters.

 

Mockup Of The Artificial Intelligence Wizard

The first screen is a welcome screen.

AIWizard1.PNG

 

On the second screen you select the bonuses you want and assign an importance between 1 and 100.

 

I'm probably going to put a limit on the number of bonuses you can select. I was thinking maybe 3 to 5 at most. You guys let me know what you think.

AIWizard2.PNG

 

Next you select the number of generations and iterations you want the AI to use.

AIWizard3.PNG

 

Now the AI is running. As it runs, it updates the number of generations and iterations it's done, as well as showing a progress bar.

 

There also a chart that shows what bonuses it's calculated so far.

AIWizard4.PNG

 

When the AI is done, it shows you the results and provides a way to save the optimized character to disk. It does not overwrite the Mids character you currently have loaded.

AIWizard5.PNG

Edited by magicjtv
Link to comment
Share on other sites

And finally, here are the mockups for how you invoke the IO Bonus Spreadsheet and the Artificial Intelligence Wizard.

 

The IO Bonus Spreadsheet is invoked using the Slots/Enhancements menu.

Menu1.PNG

 

A new Artificial Intelligence menu is added.

Menu3.PNG

 

The Artificial Intelligence menu is used to invoke the Artificial Intelligence Wizard.

Menu2.PNG

 

Edited by magicjtv
Link to comment
Share on other sites

Version 0.0.1 of the MVP is now available for download.

 

This version adds the IO Bonuses Spreadsheet.

 

IO Bonus Spreadsheet.PNG

 

Mini-Tutorial

To access the spreadsheet, select Slots / Enhancements/IO Bonuses Spreadsheet..

  • This feature allows you to manually search for IO bonuses.
  • Click the column headers to sort the spreadsheet by the values in that column.
  • Click the Export To CSV Button to save the data to an csv file for import into a spreadsheet program such as Excel.
  • You can change the width of the Name column.

 

NOTE: I did not overlay the MRBU data. When I tried to do this, it crashed the program. I'm sure it was just something I did wrong and I'll try again when version 0.0.2 is released.

Edited by magicjtv
Link to comment
Share on other sites

Version 0.0.2 of the MVP is now available for download.

 

This is the initial release of the Artificial Intelligence Wizard.

  • RESTRICTION: Your character must be level 50 to use the wizard.
  • RESTRICTION: A maximum of the 3 bonuses can be selected for optimization.
  • RESTRICTION: A maximum of 250 generations can be used.
  • RESTRICTION: A maximum of 25 iterations can be used.
  • RESTRICTION: No PvP bonus support.

Additional releases will follow that lift these restrictions.

 

 

 

AI Wizard sample.PNG

Link to comment
Share on other sites

Woah, I've been following from the beginning. I'm sad to hear you're ending the work. I was excited to see where you go with it. I'm guessing this is a bit of a rage quit from software being dumb and/or burnout. I get that. I feel that all the time.


PPM Information Guide               Survivability Tool                  Interface DoT Procs Guide

Time Manipulation Guide             Bopper Builds                      +HP/+Regen Proc Cheat Sheet

Super Pack Drop Percentages       Recharge Guide                   Base Empowerment: Temp Powers


Bopper's Tools & Formulas                         Mids' Reborn                       

Link to comment
Share on other sites

I was following this too but since AI and .Net arent my strengths I wasnt throwing my oar in on it.

 

I do agree with the implied point that with Mids it may be time to tear it down and start afresh, while completely understanding how much work would be involved in such a blase sentence.

  • Like 1
Link to comment
Share on other sites

I don't think it's because no one is interested.  For myself, I took a look at your code.  It's pretty awesome.   I even tried to build it, but I am not a C# programmer so I didn't get very far.   I am a one of those folks who need to touch the software to give feedback.  Now that you have a built version, I'll play around with it.

 

I really hope you don't give up.  This is a fantastic project that would be extremely beneficial to folks who struggle with optimization.

Edited by Ura Hero
Link to comment
Share on other sites

5 hours ago, Ura Hero said:

I don't think it's because no one is interested.  For myself, I took a look at your code.  It's pretty awesome.   I even tried to build it, but I am not a C# programmer so I didn't get very far.   I am a one of those folks who need to touch the software to give feedback.  Now that you have a built version, I'll play around with it.

 

I really hope you don't give up.  This is a fantastic project that would be extremely beneficial to folks who struggle with optimization.

I'm in a similar boat. I'm very interested, but the subject matter is so far over my head that there is no feedback I could possibly provide that is useful...at least not until the program is matured to a user friendly state. I happily watched from the sidelines though as he made very quick strides in the development. So I'm more spectator than commentator at this point of the development.


PPM Information Guide               Survivability Tool                  Interface DoT Procs Guide

Time Manipulation Guide             Bopper Builds                      +HP/+Regen Proc Cheat Sheet

Super Pack Drop Percentages       Recharge Guide                   Base Empowerment: Temp Powers


Bopper's Tools & Formulas                         Mids' Reborn                       

Link to comment
Share on other sites

I'm quite interested as well, but I'm not in a good position to provide feedback at the moment. The code would be Greek to me and I don't have any upcoming characters to try it on. I suppose I could take a look back at some existing builds and see how it would do things differently. This was definitely a project I was looking forward to trying eventually, but I can certainly understand the frustration.

Link to comment
Share on other sites

On 5/17/2020 at 11:42 AM, fitzsimmons said:

It does seem like nerd rage.  Hopefully it comes back.

It was.

 

I was still writing the code for myself, so I'll post an update soon.

 

Edit:

Just so I don't forget, here's a list of new features that will be in the next update:

  • Enhanced the conversion proceess from Mids toon to AI toon to handle the case where Mids sometimes forgets to add the Health powerset.
  • Added ability to save off and reload your AI Wizard choices.
  • Added ability to view and save the snapshots taken while the toon evolves. The snapshots are saved just like a regular Mids toon.
  • Added consistent chart colors for each bonus .
  • Lowered minimum generations from 100 to 25 and raised maximum generations from 250 to 2500.
  • Raised maximum iterations from 25 to 250.
  • Increased the maximum number of bonuses you can choose from 3 to 5.
  • Added support for PvP bonuses.
  • Added multi-threading when evolving multiple bonuses.
  • Added default weights for all bonuses.
Edited by magicjtv
  • Like 4
Link to comment
Share on other sites

Couple of things that I noticed when testing this.

 

1.  Error on starting that the Temp build that you are using during development isn't able to be found.  Path not found.  (obvious since my PC isn't your PC)

2.  Clicking past that gets an Assertation failed message.

3.  After doing an AI on my first test build, it won't let me run a second build.  Unhandled Exception when selecting the AI from the menu.

 

Positive Note:  The AI did a decent job on the build I tried it on.   Nice work!!!!

Assertation failed.jpg

Unhandled Exception.jpg

Link to comment
Share on other sites

Quote

1.  Error on starting that the Temp build that you are using during development isn't able to be found.  Path not found.  (obvious since my PC isn't your PC)

2.  Clicking past that gets an Assertation failed message.

3.  After doing an AI on my first test build, it won't let me run a second build.  Unhandled Exception when selecting the AI from the menu.

 

Positive Note:  The AI did a decent job on the build I tried it on.   Nice work!!!!

  1. I'll look into it Edit: I believe this is actually part of bug 2, and therefore should already be fixed.
  2. Should already be fixed for the next build.
  3. Known bug and on my list. Although for me it only occurs when I cancel the Wizard while it's in the middle of evolving the toon. Edit: The bug you're getting has to do with Mids not including health in it's saved file sometimes. This bug is already fixed. The bug I mentioned, where you cannot run the wizard again if you cancel in the middle of an evolve, still exists.

Glad you liked how the AI performed. The release with the fixes I mentioned should be up today.

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

Current release

Mids AI MVP Installer version 0.0.3 - Added ability to save off and reload your AI Wizard choices. Added ability to view and save the snapshots taken while the toon evolves. The snapshots are saved just like a regular Mids toon. Added consistent chart colors for each bonus. Added default weights for all bonuses. Added support for PvP bonuses. Increased the maximum number of bonuses you can choose from 3 to 5. Increased the valid range for Generations and Iterations.  Multi-threading support for evolving bonuses. Bug fixes.

 

To run the installer, download it, unzip it, and run setup.exe. If you have a previous version installed, you may be required to uninstall it before installing the new version.

 

Known Bugs

  • Canceling the AI Wizard while it's in the middle of evolving your toon (i.e. while its on the screen with the chart and the chart is still updating) may prevent you from running the AI Wizard again. Workaround: If this happens, close Mids and start it again.

 

Missing Features (AKA TO DO List):

  • The AI currently knows nothing about special procs like Steadfast Protection +Def.
  • The AI currently does not take the effects of the powers it changes into consideration, only the effects of the bonuses. For example, when evolving a toon to increases healing bonuses, the AI may slot a heal power with Resistance (Some heals accept Resistance enhancements) without considering the loss of healing you get by slotting a heal with resistance.

 

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

Understanding Importance And The New Default Importance Feature

The AI Wizard uses Importance to try and solve two different problems. The new Default Importance feature tries to solve one of these problems, while the other must be left to you to solve.

 

The First Problem: What's Important

The first problem Importance trys to solve is a "How does the user tell the AI Wizard which bonuses are the most important."

 

So let's say you're asking the AI Wizard to calculate bonuses for Accuracy and Damage.  What if having more damage is twice as important to you as having more accuracy? How do you tell the AI Wizard that? Importance ismeant to solve this problem. Just give damage an Importance that's twice as high as accuracy:

 

Bonus                  Importance

------------------ ----------------

Damage              100

Accuracy              50

 

The AI Wizard multiplies each bonus by its Importance and only then selects the highest bonus.

 

So the question of "What's important" is a question only you can answer and Importance is how you answer it.

 

The Second Problem: Bonuses Have Widely Differing Values

The second problem is that different types of bonuses have widely differing values. For example: Every Knockback Protection bonus usually has a value of 4, while an Endurance Reduction bonus may be only 2%, which is a value of 0.02.

 

This widely differing values for bonuses affects the outcome of the AI Wizard. For example, here are the results of running the Wizard for Accuracy and Damage bonus, both at a Importance of 100. Because damage bonuses are bigger than accuracy bonuses, the Wizard never selects accuracy.

AIWizard5 Weights Example ACC DAM.PNG

 

This is the problem that Default Importance is meant to solve. They provide values that at least give every bonus type a chance to be selected, regardless of what other bonus types are also being calculated. Here is the damage and accuracy example again, this time run with Default Importance .

AIWizard5 Weights Example ACC DAM 2.PNG

 

Recommended Practice

When calculating multiple bonuses, start from the Default Importance and tweak them up or down a bit to suit your own importance.

 

The screen below shows where to enter the Importance value for a bonus. The default Importance value is automatically set by the Wizard, but you can change it.

AIWizard5 Weights Example ACC DAM 3.PNG

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

×
×
  • Create New...