NoChain : an application to maximize your DPS


all_hell

 

Posted

Introduction

Download link.

NoChain (0.13) is a small application that helps you build the perfect power chain and maximize your DPS.

How to install

Go there. Download the zip (NoChain (0.13).zip). Extract the whole zip (really, won't work otherwise). Execute nochain.exe. Yes, it's an exe, so Windows only. Sorry.

How it works and what it does

Simple. Open Mids. You all have Mids since it's awesome. Open NoChain. It's not as awesome, but it's only a week old so you're kind with it.

NoChain is pretty basic : you give it powers, it gives you the power chain that deals the most* DPS with those powers.

*Actually, it gives you a power chain that deals between 95% and 100% of the best possible chain. Still working on it.

A screenshot of the UI with powers added, and power chain generated.



At the top left, you have two buttons : "Add power" (+), "Remove power" (-). When you add a power, a line appear on the table below. Cells are red. Red is bad. You have to fill the cells to make the red go away. If red doesn't go away, it's because what you wrote is not ok. What is ok ? I'll tell you one thing that is not ok : you power cast time certainly is not "abc123". Basically, everything is ok for a name, and everything numeric (with ".", no ",") is ok for the rest.

So, you click on the "+" button if you want to add a power, and then you fill the cells to enter your power's attributes (damage, recharge, cast time, endurance), that you got from the Mids you launched a few minutes earlier. If you want to remove a power, select a cell on the row you want to remove, then hit "-".

By the way, NoChain is no totally dumb, you can spam the "+" button and then fill the cells, you don't have to do "Add > Fill > Add > Fill > ...".

So, moving on, you added your powers. That's great. I'm sure you noticed that there still is some red hanging around. Top right, right? That's where you have to add the length of the power chain you intend to use.

The whaaat you said? Yes, it sucks, but you have to set the length of the power chain you want to use (i.e. generate). But no worries, you can run the power chain generation as many times as you want, with any length you want (though I wouldn't (and hadn't) try 689735165, or anything over 20 actually). Basically, I often start with 5, and then try everything between 3 and 10 to see if I find a better DPS.

So, moving on (again), there's no more red ? That's great. You can now hit the BIG BUTTON that says "GENERATE", and that will... generate your (kinda) best power chain. It takes a few seconds, depending on how much powers you gave it, the length of the power chain, your computer, etc. But it shouldn't take anything more than 10 seconds.

Tada! You now have on the right table your best power chain, with just over it, the DPS it will have, and the endurance consumption. In the table, the "latency" column is the time that you'll have to wait to execute your power (it's not always up when you want it). You can re-hit "GENERATE" with another power chain length if you want to find if more/less powers in the chain are better/worst. You can also not change that length and re-generate the power chain, since as I said (in small characters), it doesn't always generate the best power chain, but sometimes a chain that is pretty close to being the best. As I said, it's version 0.13, so I'm still working on perfecting the algorithm.

So, right now, if I did my job right, you should be able to do it yourself with your own powers. By the way, on the left table, you can add every power you want. In the exemple I added the Broad Sword powerset, but you can add powers from different powersets, even from different ATs, it works. That's especially usefull since DPS often relies on PPP powers (yes Gloom, I'm looking at you).

What it doesn't do

Coffee.

More seriously, it doesn't take into account powers that increase recharge/damage. For instance, you will never see Build Up in a power chain because I can't evaluate the new damage of your powers with Build Up's damage buff. So that sucks. It's the same with Defiance (blaster). Even though all your powers grant you a damage buff, NoChain won't have the first clue about it and will compute it like any other powers.

So that means the DPS displayed there isn't the actual DPS you'd have if you were to do a pylon test. But it still allows you to quickly generate the best attack chain, and compare DPS between pretty much any character you want.

Also, as I said many times now, it doesn't always generate you the best chain, DPS-ly speaking. But if you hit "Generate" a few times, I'm pretty sure the actual best attack chain will pop up. Sometimes it's always the best one generated, sometimes it's only one in third. As you can imagine, it's not that easy to get the best attack chain in a matter of seconds.

It doesn't really check that the input data is correct. So if you try and enter greek letters in your power name, I have no idea what will happen. Input data check is something that will be done... someday. So as of right now, just enter that data that you can find in the Mids, and I'm pretty sure everything will be ok.

What now?

Well, I started this project exactly a week ago. I worked around 20 hours on it, so let's say it's still in beta. There can be bugs, there can be incoherences. Please report them here.

I'm open to all suggestions, feedback, constructive criticism, etc. It's a very young project, with no expectation. Actually, if the Mids team decided to add a similar feature in the Mids, I'd be very happy to scrap this project and enjoy that feature directly from the Mids. So if I can be of any help, let me know.

In the meantime, I hope you'll find use in NoChain.


 

Posted

sweet. ty. I was actually just thinking about making something like this a few hours ago on my way to work.


 

Posted

Quote:
Originally Posted by Rangle M. Down View Post
Looks interesting. Does it take into account "Arcanatime"?
No, since Mids already has an option to display cast times including Arcanatime, I didn't add it. So if you want your DPS to include Arcanatime, be sure to check that option in the Mids.


 

Posted

No worries. I suspected it didn't include Arcanatime, and wanted to make sure others were aware of that.

Still looks like a handy tool for the "attack chain builder" deficient, like myself.


Throwing darts at the board to see if something sticks.....

Come show your resolve and fight my brute!
Tanks: Gauntlet, the streak breaker and you!
Quote:
Originally Posted by PapaSlade
Rangle's right....this is fun.

 

Posted

Looks cool, but I can't run it on my PC, 32 bit windows 7.

Any idea why that is happening? Is it cause I ain't got 64 bit?


 

Posted

Quote:
Originally Posted by Trilby View Post
Any idea why that is happening? Is it cause I ain't got 64 bit?
It's highly possible actually, I was afraid that would happen. I'm looking into that right now.

Edit : A fix is on its way, I'll update when it's done.


 

Posted

Quote:
Originally Posted by Trilby View Post
Looks cool, but I can't run it on my PC, 32 bit windows 7.
Bug has been fixed. New version is published. Filename still is NoChain (0.13).zip, but you should be able to run it. Please let me know if you still have issues.

Download link.


 

Posted

Hmm. My "optimal" attack chain on my Inv/SS tank is either 7 attacks long.

7 puts out 106.348 and 3.400 end/sec and zero latency.

While my recovery is less than that (3.26/sec), given I have two PerfShifters and Conserve Power, I can effectively keep that up forever.

Something worrying though.

Once you get into longer attack chains, it's not always returning the same values. You walk up and hit generate for 6, 7, 8, 9, 10, 11, 12, 13 attacks, it returned one value. Do the same walking back from 16 to 13 it returned a different attack chain with a wildly different dps.



Clicking on the linked image above will take you off the City of Heroes site. However, the guides will be linked back here.

 

Posted

Nice app.

Love python.


Dark Bard, Zoobait, Debacle
jmsb
Por vezes d� vontade...
chucknorriss
speak american godamnit

 

Posted

OK, it is working and I'm liking it.

But when you programmed it, did you program it to brute force work out your DPS?


 

Posted

It's lovely. Great for the quick n dirty


He will honor his words; he will definitely carry out his actions. What he promises he will fulfill. He does not care about his bodily self, putting his life and death aside to come forward for another's troubled besiegement. He does not boast about his ability, or shamelessly extol his own virtues. - Sima Qian.

 

Posted

This is pretty cool, nice work.


 

Posted

Quote:
Originally Posted by Hyperstrike View Post
Something worrying though.

Once you get into longer attack chains, it's not always returning the same values. You walk up and hit generate for 6, 7, 8, 9, 10, 11, 12, 13 attacks, it returned one value. Do the same walking back from 16 to 13 it returned a different attack chain with a wildly different dps.
I'm still in the process of intensively testing the algorithm, so it's possible that there are bugs in some cases. But in any case, at the moment, with the same input values, NoChain shouldn't generate you two power chains with more than a 5% DPS variation. If you have a more significant difference, that's obviously a bug, and I'll look into it.

Quote:
Originally Posted by Trilby View Post
But when you programmed it, did you program it to brute force work out your DPS?
No, that would not be the best way to do it. It would takes ages to get a chain with many input powers. I used a genetic algorithm, which is a pretty efficient way to have a pretty accurate result in a few seconds. But it needs a lot of configuration to give the best result possible, so I'm still working on it.


 

Posted

I like this. It's a bit of a pain having to input the values of every power, but for what this program does it's worth the effort. It doesn't seem to like powers like Follow Up though. Would it be possible, in a future version, for the program to flag a certain power as 'priority', i.e., to be used in the chain every time it's recharged?


@Demobot

Also on Steam

 

Posted

I'm curious what sort of combinatorial optimization algorithm is being used. Is it a standard one, a homebrew, or is it an attempt at an exhaustive search?


 

Posted

When I input an attack chain of 1 with 7 powers entered into the program, the program went into an infinite (or at least extremely long with no apparent end) calculating mode.

Also, the program will tell you not to use AOE but only single target powers. It's difficult to determine how to value AOE compared to single target for the purposes of optimizing attack chains. I've heard AOEs are usually valued at 2.5 times their stated damage assuming more than one target is being fought, but I'm not sure if that's a good approach or not.


The best comics are still 10�!
My City of Heroes Blog Freedom Feature Article: "Going Rageless?"
If you only read one guide this year, make it this one.
Super Reflexes: the Golden Fox of power sets!
WARNING: I bold names.

 

Posted

Quote:
Originally Posted by Daemodand View Post
When I input an attack chain of 1 with 7 powers entered into the program, the program went into an infinite (or at least extremely long with no apparent end) calculating mode.
This has been reported already. He's basically got to put in a control to lock out a single-attack "chain". Technically a single attack isn't a chain, it's a spam.

Quote:
Also, the program will tell you not to use AOE but only single target powers. It's difficult to determine how to value AOE compared to single target for the purposes of optimizing attack chains. I've heard AOEs are usually valued at 2.5 times their stated damage assuming more than one target is being fought, but I'm not sure if that's a good approach or not.
Yeah. I've also noticed that AoEs are deprecated out.



Clicking on the linked image above will take you off the City of Heroes site. However, the guides will be linked back here.

 

Posted

Quote:
Originally Posted by Demobot View Post
I like this. It's a bit of a pain having to input the values of every power, but for what this program does it's worth the effort. It doesn't seem to like powers like Follow Up though. Would it be possible, in a future version, for the program to flag a certain power as 'priority', i.e., to be used in the chain every time it's recharged?
Nice idea. I just have to see how to impact it on the algorithm.

Quote:
Originally Posted by Ardrea View Post
I'm curious what sort of combinatorial optimization algorithm is being used. Is it a standard one, a homebrew, or is it an attempt at an exhaustive search?
It's a genetic algorithm.

Quote:
Originally Posted by Daemodand View Post
When I input an attack chain of 1 with 7 powers entered into the program, the program went into an infinite (or at least extremely long with no apparent end) calculating mode.
As Hyperstrike said, it's been reported, but thanks anyway. It'll be fixed in the next version, but no ETA on that.

Quote:
Originally Posted by Daemodand View Post
Also, the program will tell you not to use AOE but only single target powers. It's difficult to determine how to value AOE compared to single target for the purposes of optimizing attack chains. I've heard AOEs are usually valued at 2.5 times their stated damage assuming more than one target is being fought, but I'm not sure if that's a good approach or not.
That's WAI, but I'm open for suggestions to change that. The algorithm generates a power chain that has the best DPS for ST. If I were to do it for AoE, you'd have to enter more data, like the number of targets a power can hit, and maybe the number of ennemies you're fighting against. And since it's already painful to enter all those numbers, I'm not sure I want to add more inputs. But if you want it, I'll look into a way of making it.


 

Posted

I know this is a crazy idea, but is there any way to make it read the Mids date to work out how much a power does per animation? Just thinking it might be able to give better chains that way, cause it can see all the powers and how much damage they do, while letting us be lazy :P

And maybe something for debuff/accuracy, so you can see how much damage it would do on a mob with x defence etc.

But yeah, loving this.


 

Posted

I don't know what qualifies for a Sticky but this could be handy for players still to visit


He will honor his words; he will definitely carry out his actions. What he promises he will fulfill. He does not care about his bodily self, putting his life and death aside to come forward for another's troubled besiegement. He does not boast about his ability, or shamelessly extol his own virtues. - Sima Qian.

 

Posted

It would be nice to have the option to save and retrieve a file each time you put in a new set of powers. That way I wouldn't have to start from scratch anytime I change the enhancements on a power, or if I wanted to go back and review the attack chain on a previous character.


Throwing darts at the board to see if something sticks.....

Come show your resolve and fight my brute!
Tanks: Gauntlet, the streak breaker and you!
Quote:
Originally Posted by PapaSlade
Rangle's right....this is fun.

 

Posted

Wow, awesome! I've never bothered with attack chains, because I frankly don't care THAT much, but this might actually force me to figure a few out.


(idea!)

OMG, you should speak to the Mid's guys and get this integrated right into Mids as a popup window. THAT would raise the awesome to QUANTUM AWESOME.

(faints)


 

Posted

For my INV/SS

DPS: 212.919
End/sec: 3.410

Your best attack chain is:

Haymaker
Laser Beam Eyes
Punch
Haymaker
Knockout Blow


212 DPS seems pretty high for an INV/SS tank. Perhaps I'm doing something wrong.