Thor Odinson Posted January 4, 2016 Share Posted January 4, 2016 (edited) Since this isn't fates exclusive (it supports FE4, FE13, and FE14) I thought posting here is more appropriate than in the Fates subforum. ANYWAY I'll just paste what I have from my Tumblr post: FIRE EMBLEM PAIRINGS OPTIMIZER tumblr post here If you’re ever in situations like, “man I have a bunch of pairs I like but what will get me the maximum spread of ships I like” or “okay so I’ve decided on x y z pairs but here’s those leftovers and I have some preference for what to do with them but I can’t decide myself” THIS IS FOR YOUbecause it was for me So I spent the weekend writing this because I’m a huge nerd and was like, “hmmm, what if I applied a search algorithm to Fire Emblem pairings?” And yeah I realise Javascript is not a very efficient language to write Djikstra’s algorithm in, but fuck, I did it, it runs reasonably fast on Hoshido/Nohr/Awakening/FE4 sets and takes a few seconds on IK since IK’s selection is huge. Github handles traffic better than Appspot, and if I went for server-end optimization I’d either have to go and implement my own priority queue in Java or learn how Appspot works in Python, neither of which I really want to expend effort for a weekend project. So. I’ll switch to full localized names once Fates is released in NA, but for consistency’s sake I’m going fully unlocalized names for now. I’m going to keep pre-localization names (mostly, anyway, I like Leif and Finn and they aren’t confusing to FE4 players, so I’m using those) for FE4 because most of us played it without localized names and just used whatever the fuck the Romaji sounds like, and not all FE4 players have played FE13. ANYWAY PLEASE PLEASE PLEASE read the instructions before using because I realize this isn’t the most intuitive interface but it’s also the only thing I can think of that gives several layers of control depending on the user’s needs. PLEASE DO NOT HIT OPTIMIZE WITHOUT PUTTING IN THE PREREQUISITE AMOUNT OF WEIGHTS FIRST. I also explained in the instructions, but it’s because Djikstra’s algorithm runs really fast on a weighted set and terribly slow on unweighted graphs. If you try to optimize without weighting first, you will crash your browser and I can’t do anything about it. If there’s enough demand, I might add a randomize pairings button. This took quite a bit longer than Kamui/Robin customizers, since the ui requirement is quite a bit more demanding. Anyway, happy shipping! tl;dr have a weekend project because some nerd (cough) wanted to implement some search algos with FE and this happened praise github I'm thinking of adding randomized pairings and customized sets at some point Edited January 4, 2016 by Thor Odinson Quote Link to comment Share on other sites More sharing options...
eclipse Posted January 4, 2016 Share Posted January 4, 2016 Reg? OTP? NoTP? What do these mean? Quote Link to comment Share on other sites More sharing options...
X-Naut Posted January 4, 2016 Share Posted January 4, 2016 OTP and NoTP = "One True Pairing" and "Never Happening Ever" and are likely set by the user. Reg = Standard pairing and is probably coded into it. Of course I haven't used it, and if I'm wrong you can correct me. Still an interesting program, considering it spans three different games each with their own optimal criteria. Quote Link to comment Share on other sites More sharing options...
sylveonzoroark Posted January 4, 2016 Share Posted January 4, 2016 Reg? OTP? NoTP? What do these mean? Regular, One True Pairing, and the opposite, I think. Quote Link to comment Share on other sites More sharing options...
Thor Odinson Posted January 4, 2016 Author Share Posted January 4, 2016 (edited) Reg? OTP? NoTP? What do these mean? OTP and NoTP = "One True Pairing" and "Never Happening Ever" and are likely set by the user. Reg = Standard pairing and is probably coded into it. Of course I haven't used it, and if I'm wrong you can correct me. Still an interesting program, considering it spans three different games each with their own optimal criteria. Yeah pretty much. Programmatically, since you might be interested, OTP forces the pairing to always happen (adds that node immediately to the results object) and purges all pairs of both parties from the search graph, and NOTP purges that single pair out of the search graph. It's set so you can force certain pairings to always happen or never happen and narrow down the search field so it can run faster. For reference, a fully weighted IK Gen1 with no OTPs set takes roughly 5 seconds (not rigorously tested) to run, while one with about 5-6 OTPs set takes about half a second. Edited January 4, 2016 by Thor Odinson Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.