LuxOpponentFinder ToDo list and Done list v0.72 LuxOpponentFinder Copyright © 2005-2006 Randy Boring. http://home.swbell.net/rkboring/LuxOF A companion to Lux (by SillySoft, http://sillysoft.net/) for choosing the Lux game that is most worth playing Todo list: ---------- Use the pref to push (LuxtoberFest) hosts (any host with parentheses) higher or lower. fix more little bits that changed with new playerlist from sillysoft.net Guest-only not calculated correctly anymore add a list of Teamers, avoid games with them, esp more than 1 of them add a list of legitimate Team Play members and prefer those games (add pref for this?) fix memory leak when deleting players from special lists Add notified player(s) to UI (popup in top right?) reconstruct tableviews with bindings Make an IP list for each enemy (or any player?), to help track their aliases use /lux/xml/rankings.php?name=player to update just the players we're interested in add the top 5-10 ranked players to a new righthand side info area make the SplitView remember its setting Brighten (blue-en?) games with friends in them Redden games with enemies in them Make hostlist sortable on any column Make playerlist sortable on any column Add currently Seeded players sub list (or just sort by seeded?) Add ever seeded players sub list Optionally sort the players in a game by their score or win percentage Make a prediction of who will win and what the resulting raw scores will be Account for " (dedicated host)" appended to host name when counting Humans in the game Properly account for website ranking bug where a duplicate player shows up with 501 raw (overwriting the real score in my storage) Add a notification when hosting and the game ends (to help bring you--as a dedicated host--back to the computer) Preference for how often (and whether) to send notifications. Preference for not being reminded about having a blank best friend. Don't send the same notification within x minutes of the last one (default 10?) Notify on best game, if it has a friend in it, and is positive. Make "kind of game" user-weighted (map, cards, timing) Add Help (of any sort!) Add UI and structures and stores for user-chosen lists: badwords, goodwords, deleteHosts Make attractive player, unattractive player different colors make the colors customizable Replace current absolute adjustment system with fuzzy logic system (-99 to +99) Done list: ---------- New in v0.72: Fixed bogus "--" as empty list of Guests Added a plist file for Robot names, so they can be updated by user (or pruned if you really want to ignore some) New in v0.71: New pref to say whether you're on a Team. Uses the pref to push (TeamPlay) hosts higher or lower. NOTE: Fixes use of old feed from sillysoft.net, as Dustin pulled it. This is a good thing. I thought I was using the modern feed but wasn't This version should be more robust about dangerous player names (that have bits of HTML in them) New in v0.70: tweaked the color range of rated hosts made the host name link to the host's player page, and the rating link to the rate-the-host page shrunk the pref pane New in v0.69: added a "Find Opponent" Search Field imagine that, LuxOpponentFinder actually lets you Find an Opponent! (UI needs work, greying out non-hits made the list look a bit uglier) use hostRating field to color the hosts red, yellow, green, black (like Dustin's Join Game dialog) fixed counts of humans and guests guests is now a guest-only count fixed major memory leak Account for how long the game has been running, the shorter the better, if we can get in 'now' the longer the better if several players are dead too long when down to 1 player is bad (stagnant done game) (actually done some time ago) New in v0.68: show the hostRating field with the (click to rate) text New in v0.67: Fixed more minor bugs included BotOMatic in bot list added a "Host IP" column New in v0.66: Fixed a few bugs (when the description is empty, handling ampersands) New in v0.65: tend toward playing for Fun until registered fixed memory leaks reduced debug output greatly reworked page fetching engines, made threaded fetches faster (when registered) New in v0.64: show game age (in the detail view) Use game age to weed out long-abandoned games make the SW number relative to ours put our SW in the top info box New in v0.63: Quit when main host window is closed Remember customized size of columns in main host list Added menu item to open Current Host Rankings web page "View Rated Host List" this is so you can quickly pre-populate your friends and enemies and good hosts list New in v0.62: Put the game list view and the detail view in a Split view Partially account for " (dedicated host)" appended to host name in the detail view, you can properly rate a dedicated host (not that you'd want to) The player list's close box is back Highlight (green) the Map Of The Week map names Highlight (blue) hosts on our good host list favorite host is also underlined (sorry if that looks like a 'link') Highlight (red) hosts on our bad host list it is also struck-through, so it should work for color-blind people New in v0.61: Add structures for storing and displaying the reasoning behind calculations sub-categorized the 'fun' and 'profit' factors further display the sub-factors below the description Fixed logic of continent sequence values New in v0.60: Account for new seedings floor (400 instead of 100) Make detail view for each game an HTML view, with clickable player names Click on a player name hyper-links to that players history page Click on the host name hyper-links to the rate-a-host page Shows SeedWeight for seeded players, and whether that seed weight is higher than yours or lower (If you're not seeded, it shows an asterisk for any seeded player) New in v0.59: Clean up info at top of main window (user handle, user raw, user seededness, Unregistered raw, Highest bot (raw), Average bot (raw)) Partial workaround for website ranking bug where some bogus 501s are recorded (which overwrite many people's proper raw score) New in v0.58: Added slider for how much the user prefers Fun versus Profit (Raw) factors in the calculations New in v0.57: Cmd-comma is the Apple prefered keyboard shortcut for Preferences, and it's also what Lux uses. Made a big easy to see DOWNLOAD link near the top of the webpage. On refresh, re-show the details of the formerly selected host, if that host is also in the new list Don't send notifications for games you yourself are in Host adjustments are editable, again New in v0.56: Fixed some bugs Open the About Panel on launch if not registered (so the purchase license link will be seen) Updated Growl to 0.7.2 Completed the depercenting of description strings Product won't expire (ask for a license) until April 5, 2006! Reduced the nagging a little (once it starts again next year) New in v0.55: replaced TimeStamp with Start config (e.g., selected/placed) added more %XX codes to replace with punctuation (depercent) New in v0.54: Fill in missing #Friends and #Enemies columns added Left, Players, Guests, Time, Rank, Continents, Cards, and TimeStamp fields added description to text view New in v0.53: The main hostlist window now has columns, with labels! Separated Fun and Profit variables show them separately (Overall = average, for now, slider coming soon) Add the ReadMe and the ToDo list to the program, open them from the Window menu New in v0.52: Select the previous name when the Names panel opens Add the URL to the About dialog, so the latest version is always readily available Add the payment options and procedure to the About dialog, so the user knows how to pay! Do something when it registers audio "Thank you for registering!" New in v0.51: Use the Win Percentage in the calculations Use Bot Average instead of current constant in game calculations (where there are bots) Option to put the bots in a single line, like the players in a game, so it is pastable New in v0.50: Show the name and score of the best bot, the bot average, and Unregistered's score at the top of the main window Use average bot value in calculating value of bot players in games Gather win-percentage stat and show it in Player List (not used, yet, tho) Preference for turning off the voice (that is in addition to the Growl notifications, one option of which is voice) Adding method of registering the software (duh!) Remember which view of the Player List was last used and restore it New in v0.49: Fixed resizing of Player List window Unified Player List when showing combinations (e.g., "hosts and friends") shows each player only once shows combined adjustment (host and friend/enemy) Fixed isSeeded calculation Fixed Unregistered vs Inactive detection Added URL to Finder Info New in v0.48 Made method of removing someone from a list (Cut/Cmd-X or Delete button with a selection in the table) New in v0.47 Added BotOfDoom as a bot name Use the seedlists and historical rankings to better guess that a user is old-but-not-active (instead of Unregistered) Fixed lack of updating player list when adding a new host or friend or enemy New in v0.46 Add UI and structures and stores for user-chosen lists: badhosts, goodhosts, badplayers, goodplayers Adding a friend, now adds them to the player list with a default positive value ditto for enemy (negative) Editing the adjustment for a host, friend, or enemy updates their entry in the corresponding list 'all' shows the adjustment as the addition of player and host adjustment Reduced frequency of 'please register' voice (a bit too annoying) New in v0.45 NSTableView actually shows something now. Still not useful, yet. Added registration-sensitive code. No way to register, yet, though! Added expiration date. Started making good hosts and friends and enemies customizable (not done yet) New in v0.44 Started fiddling with NSTableView for viewing combo stats on all players Changed parsing to handle (optional) tag at beginning of list Changed weighting of seededness and relative rankings New in v0.43 Change URL for getting hostlist (list5.php) for version 5 hosts (was "http://sillysoft.net/lux/list.php") Parse the new list5.php hostlist! New in v0.42 Added parsing, structures, storage and minimal UI (Cmd+Shift+S) for Seeds use to better compute strength of opponents New in v0.41 Added Brainiac to bot list Added notification "Lux Favorite Host Found" Adjusted the URLs for the lux monthly rankings pages, again New in v0.40 Added a Force-Refresh menu item (Cmd+Shift-R) Revised parsing engine to account for new urls for rankings pages (added "/monthly") Added a few more names of good and bad people to play Average between 500 and the raw of "Unregistered" depending on date of month for unknown players you never know whether a person not found in the rankings is a newbie (Unregistered) or a returning veteran lean towards 500 at first, and towards Unregistered as the month goes on. Fixed for beta version giving seconds per turn instead of minutes New in v0.39 Periodically update the hostlist (and, less often, the rankings) More use of user's raw score Add structures and storage for LastMonth and Historic rankings use to add awareness of strength of opponents (i.e., the 'danger' of playing them), separate from current rank Update LastMonthsRankings and HistoricalRankings after a raw reset (hopefully; this is untested) Prompt user to fill in values for self and best friend at launch. New in v0.38 Watch for a player and give an alert when he is on-line (use Growl if present) Added use of user's raw score to begin to measure the danger of playing with people too high or too below us. use it for comparing average score (definitely don't risk playing too far below you, and somewhat don't aim too high) New in v0.37 Added menu commands (and command-key equivalents) for Refreshing the List, Editing the Names, and Listing the Bots Made the Close menu item Quit (we only have the one window) Added speech synthesis for audible feedback when editing names In the initial average raw calculation, removed as many bots as there are guests plus 1 for ourselves, up to the total number of bots. In the initial raw calculation for each player that is not found in the rankings, guess a sliding scale between Unregistered and inactive depends on the day of the month (earlier is more likely inactive, later Unregistered) Added UI, structure, and store for user name (don't use it yet, though, except for displaying the user's current raw) New in v0.36 Added raw score in parentheses after each player and guest in hostline Not to be done (or at least not in the near future): ---------------------------------------------------- Pref for whether the player list shows in the background Add "Average of All Bots" to textual bot list