Jump to content

Ardaedhel

Members
  • Content Count

    6,244
  • Joined

  • Last visited

3 Followers

About Ardaedhel

  • Rank
    Member
  • Birthday 01/02/1972

Contact Methods

  • Website URL
    https://www.git-gud-scrub.com

Recent Profile Visitors

2,567 profile views
  1. Only people who want to be first loser.
  2. Ardaedhel

    Pacific Northwest Armada Players?

    You guys should join the Evergreen Fleet Command page if you haven't already.
  3. Ardaedhel

    Contain: A second class defense token

    I think he's pointing out that a given element's costing isn't necessarily constant from one ship to the next, especially between factions. Specifically, that an Imperial contain might cost 6 because it might be leveraged by Vader, whereas a Rebel one might be 4 because it can't; just as a side-arc red die might be worth 8 on a Rebel ship but only 5 on an Imperial because Ackbar.
  4. Ardaedhel

    Contain: A second class defense token

    Gotcha. So basically like Medical Team, just unrestricted. http://starwars-armada.wikia.com/wiki/Medical_Team Wouldn't necessarily be opposed to that in a revised system, though I still wouldn't want it to apply to special crits personally.
  5. Ardaedhel

    Contain: A second class defense token

    Look at you, in here like you still play this game. You're not wrong though. This exactly. They're not the best defense token, but they were never meant to be. It's up to you as the player to either make them worthwhile or determine whether you can deal with the cost you paid for them in the event they're not useful. I don't want every token to be brace, that would be terrible and boring. Purely from a daydreaming standpoint--this is more of a sidegrade than an upgrade. It works better against APT and Dodonna's Pride (...), but worse against the standard crit effect some of which take effect immediately and are then flipped over anyway (Projector Misaligned, Structural, etc).
  6. Ardaedhel

    Star Wars Armada: Vassal module version 3.10.0

    The Armada module is a zip file with a .vmod file extension. The "logic" such as it is is pretty much contained in a build XML in that zip. As far as I can tell it doesn't explicitly define a die roller in there (though, again, I just did a quick ctrl-f instead of reading the whole 1+MB text file), which means it should default to the Vassal default die roller, which, as far as I can tell, is the one under discussion.
  7. Ardaedhel

    Star Wars Armada: Vassal module version 3.10.0

    That task is abstracted away by java.util.random. Vassal shouldn't even need to bother with it. If java.util.random doesn't change seeds, we have way bigger problems than cold dice.
  8. Ardaedhel

    Star Wars Armada: Vassal module version 3.10.0

    Also, just a friendly reminder since I was sniffing Vassal network traffic as part of the above research: don't use real passwords for your Vassal password! Vassal does an absolutely piss-poor job of handling what it calls "passwords." They are stored in plaintext on your PC, they are passed in plaintext over the internet to everyone on your Vassal server, they are stored in plaintext in log files, and the lead dev doesn't give a **** because "well, we tell people on vassalengine.org not to use real passwords." I saw several real passwords in the network traffic...
  9. Ardaedhel

    Mothma's Seafood Buffet

    There's not really a better blue, though. Fully 3/4 of the blues are just complete non-starters for squadron-light fleets, because you're screwed against either Strategic (Intel Sweep, Salvage Run, Dangerous Territory, Minefields, Sensor Net) or every squadron (Superior Positions). So your options are only Solar Corona or Nav Hazards. Nav Hazards is fun, but Solar Corona is good. With 6 deployments, he'll be totally outdeployed almost half the time; worse, he has to start committing his primary firepower on the fifth drop, which is before most ISDs or MC80s usually go down. The deployment advantage from SC is pretty **** good for the two MC30's, which both need to be on target in order to take down a big ship. And the two CR90's can use all the anti-acc tech they can get.
  10. Ardaedhel

    To Christmas Tree - a data analysis query

    Looks like the data is from Truthiness' Regionals data spreadsheet, which would imply these headers, categorizing the fleet types by the frequency with which they showed up in the respective buckets in Regionals: Upgrade pts spent All Top 50% Top 25% Top 10% Winners All Fleets <51 31 15 8 5 2 52-57 32 13 9 7 2 58-66 34 23 17 4 1 67-77 33 20 10 5 3 78+ 30 16 8 5 3 Gunboats <51 10 3 1 0 0 52-57 11 3 3 2 1 58-66 13 9 6 1 0 67-77 23 14 7 3 1 78+ 25 13 7 4 2 Carriers <51 21 12 7 5 2 52-57 21 10 6 5 1 58-66 21 14 11 3 1 67-77 10 6 3 2 2 78+ 5 3 1 1 1
  11. Ardaedhel

    Star Wars Armada: Vassal module version 3.10.0

    I just came across all this, and I have a hat to throw in the ring. But I do want to caveat first that, just because this is long, I ain't mad--there's just a lot to this question. So, sorry if I come off as abrasive @RapidReload and @Karneck. No hard feelings intended. -- You really don't have to take anybody's word for it. It's all open source, so you're welcome to go look at the source code. I just did. I don't know Java at all, and most of the code is not well-documented, but best I can tell from a quick 20-minute perusal, these are the relevant snippets in VASSAL.build.module.DiceButton.java: public class DiceButton extends AbstractConfigurable { protected java.util.Random ran; ... protected void DR() { StringBuilder val = new StringBuilder(); int total = addToTotal; int[] dice = null; // stays null if no sorting if (!reportTotal && nDice > 1 && sortDice) { dice = new int[nDice]; } for (int i = 0; i < nDice; ++i) { final int roll = ran.nextInt(nSides) + 1 + plus; if (dice != null) { dice[i] = roll; } else if (reportTotal) { total += roll; } else { // do not sort val.append(roll); if (i < nDice - 1) val.append(","); //$NON-NLS-1$ } } if (reportTotal) { val.append(total); } else if (dice != null) { Arrays.sort(dice); for (int i = 0; i < nDice; ++i) { val.append(dice[i]); if (i < nDice - 1) { val.append(","); //$NON-NLS-1$ } } } String report = formatResult(val.toString()); Command c = report.length() == 0 ? new NullCommand() : new Chatter.DisplayText(GameModule.getGameModule().getChatter(),report); c.execute(); c.append(property.setPropertyValue(val.toString())); GameModule.getGameModule().sendAndLog(c); } ... public void addTo(Buildable parent) { ran = GameModule.getGameModule().getRNG(); GameModule.getGameModule().getToolBar().add(getComponent()); property.setPropertyValue("1"); // Initialize with a numeric value //$NON-NLS-1$ property.addTo((MutablePropertiesContainer)parent); } ... } Basically what's happening here: The module defines "ran" as an instance of or reference to the class java.util.Random. Then it does some other stuff. Then it calls the nextInt() method or function of ran, with the parameter of nSides. This bit: final int roll = ran.nextInt(nSides) + 1 + plus; means it's using a Java standard library to generate a pseudorandom number in an idiomatic Java manner to get a value between 0 (inclusive) and nSides (exclusive), nSides being presumably the number of sides on the die. It then adds 1 so that the random number is 1 (inclusive) to nSides (inclusive), so 1d8 roll returns 1-8 instead of 0-7. It then has a provision for a result modification (not relevant to the Armada module, but remember VASSAL is a framework and other modules would need this functionality) by adding the contents of plus to that result before sticking it in a list of results to return later. Then it does some other stuff. Then it binds all that other **** it just did to an interface to make it accessible to whatever modules want to use it. This is the interface the Armada module uses to "roll" dice. So best I can tell, this is not accurate. While it is true that there is provision for black-box dice rollers in the codebase (specifically, a provision to interface to a couple of different die-rolling webservers), the Armada module doesn't use either of those. I verified this both by looking through the code, and by rolling dice and capturing the network traffic to verify that no dice data (indeed, no data at all) was being sent back from Vassal's server or anywhere else when I rolled dice. The only data on the wire is the log file updates sent to Vassal to post to the other player so they can see the roll results after they've been rolled. I'm honestly not sure what you mean by this: but this piece of it: should be no more true in Vassal than IRL, and in fact is very likely less true in Vassal as physical gaming dice are actually generally pretty poor mechanical RNGs.
  12. Ardaedhel

    Victorian Armada regionals

    Awesome, thanks for posting this!
×