Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

LARPFEST

CappenVarra

phase-based phantasmist
Patron
Joined
Mar 14, 2011
Messages
2,912
Location
Ardamai
Top notch stuff :clap: Dreadnought diplomacy foreva :salute:

About them rolls though, http://rpgcodex.net/phpBB/roll.php still works for me... I mean, who needs anything more than a d20?
 

Kayerts

Arcane
Joined
Jan 28, 2011
Messages
883
Azael said:
That epilogue was majestic root! :salute:

Really, I salute you for completing this herculean task. Most enjoyable CYOA I've taken part of.

This really can't be said enough. I think my favorite parts were two chapter 3 fluff updates (Jeremiah vs. Eliphas, the Emperor talking with VD); Root has a way of making inscrutable characters compelling.

Root, if you're looking for a persistent, provable, linkable die roller, try this.
 

CappenVarra

phase-based phantasmist
Patron
Joined
Mar 14, 2011
Messages
2,912
Location
Ardamai
Ulminati said:
CappenVarra said:
Top notch stuff :clap: Dreadnought diplomacy foreva :salute:

About them rolls though, http://rpgcodex.net/phpBB/roll.php still works for me... I mean, who needs anything more than a d20?

The idea would be to have a die roll visible to everyone in the post that couldn't be fudged later.
Wasn't there something Orgasm suggested to The Barbarian in the Saga? I only remember The Barbarian's reply was along the lines of "if you don't trust me not to fudge the dice, well fuck it". But yeah, I get the general idea.

So you want something that is unpredictable, un-gameable by a single person, yet easily verifiable by anybody once it's determined? Hm... Step aside, lunch break programming idea coming through! :oops:

I'm probably missing something obvious, but I'm thinking that a simple checksum of the votes could be adequate.

The input: a chronological list of :person: :vote: pairs (which the LP writer is making anyway when tallying votes).

The transformation: calculate a checksum (or a proper hash) of the input, adjust to fit the desired range of results.

The result: a single number that is more or less a) based on the votes cast b) can't be gamed by a single voter (since none of the voters can predict what others will or won't do) c) can't be gamed by the person performing the roll (if the input is valid) d) is easily reproduced by anyone running the same transformation on the exact same input (that's why the input should be posted along the result) e) can still be... adjusted if necessary. :smug:

The basic idea requires very little coding, here's a simple javascript prototype (save as whatever.html, open):

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Roll</title>
    <script type="text/javascript">
      function calculate() {
        var input = document.getElementById('inputText').value.toLowerCase();
        input = input.replace(/^\s+|\s+$/mig, '');

        // basic CRC
        var sum = 0;
        for (var i = 0; i < input.length; i++) {
          sum = sum << 3;
          sum += input.charCodeAt(i);
        }

        // adjust result range & display
        var min = parseInt(document.getElementById('minText').value);
        var max = parseInt(document.getElementById('maxText').value);
        document.getElementById('result').value = min + Math.abs(sum) % (max - min);
      }
    </script>
  </head>
  <body>

    <div id="input">
      <label for="inputText">Input text:</label><br />
      <textarea id="inputText" cols="80" rows="10">Type some text here.</textarea>
    </div>

    <div id="output">
      min <input type="text" size="3" id="minText" value="1" /> 
      max <input type="text" size="3" id="maxText" value="20" />
      <input type="submit" id="button" value="Calculate" onclick="calculate();" />
      =
      <input type="text" id="result" disabled="disabled" size="3" />
    </div>

  </body>
</html>

So for example, when I use this list from http://rpgcodex.net/phpBB/viewtopic.php?t=52762&postdays=0&postorder=asc&start=3795#1857506:

Code:
 Jaedar: B 
 Roxor: B 
 Sku: B 
 Ulminati: B 
 Johnny the Mule: A 
 Storyfag: B 
 Bee: B 
 Yaar: B 
 Kayerts: B 
 K0: A 
 Hoodoo: A 
 Azael: B 
 Grotsnik: A 
 Unspeakable Horror: B 
 CrazyLoon: B 
 CappenVarra: A 
 Azira: B 
 DwarvenFood: A

I get a 14.

I'm sure there are better ways out there, but I sure had a fun lunch break :)
 

skuphundaku

Economic devastator, Mk. 11
Patron
Joined
Jul 27, 2008
Messages
2,248
Location
Rouge Angles of Satin
Codex 2012 Codex 2013 MCA Serpent in the Staglands Dead State Divinity: Original Sin Project: Eternity Torment: Tides of Numenera Wasteland 2 Divinity: Original Sin 2 My team has the sexiest and deadliest waifus you can recruit.
Azael said:
That epilogue was majestic root! :salute:

Really, I salute you for completing this herculean task. Most enjoyable CYOA I've taken part of.

This! A thousand times this!
This is coming from someone who dislikes W40K deeply. Despite of that, you managed to make me like it and pulled off the most awesome CYOA ever. Congratulations!

:bravo:
 

Kayerts

Arcane
Joined
Jan 28, 2011
Messages
883
CappenVarra said:
I'm probably missing something obvious

Yeah, sorry.

Social choice systems with colluding agents tend to be somewhere between hard and mathematically impossible to design, depending on what you want them to do. In this case, the big problem is that having a single, public, discontinuous tallying function is always going to be a dictatorship, in social choice terms; that is to say, the last voter can always determine the outcome, if he knows he's going to be last. (Because he can just run the function on every possible choice available to him and pick the one yielding the best outcome.) This is especially true in a game like this, where players are all (theoretically) on the same side.

On the upside, I believe that site I linked solves the problem.
 

Reject_666_6

Arcane
Joined
Oct 30, 2008
Messages
2,465
Location
Transylvania
I have witnessed genius, and it was not a brief spark, but a raging ember that burned the heavens.

If my SOUL is ever to be DEVOURED, let it be by you. :salute:
 

CappenVarra

phase-based phantasmist
Patron
Joined
Mar 14, 2011
Messages
2,912
Location
Ardamai
root said:
I actually just wanted a non-fudgeable simple dice-roller function inside the posts so people didn't have to see link outside the dex/link to screenshots to verify the dice-roll, but since all posts are editable that is probably impossible

oh well
Yeah, but also consider: if somebody doesn't trust the LP writer not to re-roll a dice until he gets a number he wants, why exactly would they trust him not to refresh the rolling page until he gets a number he wants (and only then posting the link, no edits needed)? Or clicking "roll" as many times as he wants? You could keep a detailed server audit of all rolls made by each person (open to player review), but what about situations where multiple separate rolls are needed, how do you prevent that person from switching roll order however they want? Or what about "hidden" rolls the players shouldn't know about yet? How about target numbers you're rolling against - what exactly is preventing the roller from changing those to change the outcome of the roll? etc. etc. The only solution would be to create a bureaucratic system that turns update writing into as much fun as filling out tax forms... And for what benefit exactly?

Kayerts said:
Social choice systems with colluding agents tend to be somewhere between hard and mathematically impossible to design, depending on what you want them to do. In this case, the big problem is that having a single, public, discontinuous tallying function is always going to be a dictatorship, in social choice terms; that is to say, the last voter can always determine the outcome, if he knows he's going to be last. (Because he can just run the function on every possible choice available to him and pick the one yielding the best outcome.) This is especially true in a game like this, where players are all (theoretically) on the same side.
Of course, I'm aware of some of that, just tried to keep things simple. The last person voting usually can't know they will remain the last one, and flip-flops can change the outcome completely - so I would say that trying to game the outcome would often backfire. But it sure isn't foolproof (I think I even implied as much). Personally, I love the idea of seeding the roll with player choices (just because), but would always append an (unpredictable) "code phrase" or timestamp to the start of the input... Which would mean that the writer can game the outcome as much as he desires - which brings us right to the start. But then again, I maintain that will always be the case.

LP writer, do as thou wilt :)
 

Kayerts

Arcane
Joined
Jan 28, 2011
Messages
883
Root: Gotcha. It'd be easy for DU to hack something up that solves the editable posts problem; you could just store the rolls in a hash keyed to the post ID. Users deleting their posts and then reposting could be moderately bitchy to program, though. Based on a cursory look around, there are some existing phpBB mods that solve this problem; I'll put in a request in Site Feedback.

Cappen: I think the idea here is that Root doesn't want to have to tally votes or manually run any computations -- there's just a number that appears in the post; it's simple, users can roll dice without any work on the GM's part, it's convenient, etc.
 

Kz3r0

Arcane
Joined
May 28, 2008
Messages
27,017
Add dice roll function, make posts non deletable for every thread using said function, every edited post will be considered null and void.
 
Self-Ejected

Ulminati

Kamelåså!
Patron
Joined
Jun 18, 2010
Messages
20,317
Location
DiNMRK
Kayerts said:
Root: Gotcha. It'd be easy for DU to hack something up

No!

NO, NO, NO, NO, NO!

Seriously! No!

We already have the KKKodex almost keeling over dead on us, with funky error codes and laggy pages every day. Let's not introduce another potential source of errors just to satisfy our inner dicefags, please.
 

Kayerts

Arcane
Joined
Jan 28, 2011
Messages
883
Yeah, that was the reaction over in Feedback. The mod in question has been through a few iterations, but it's still in beta. The performance hit would likely be negligible, but it'd be another complication on a server that's apparently being held together with duct tape, so this looks like a no-go until after the upgrade.
 

Kayerts

Arcane
Joined
Jan 28, 2011
Messages
883
You could spin it that way . . .

Code:
It is the 3rd Millennium. For more than a hundred months the Codex has sat immobile on the golden server of Taluntain. It is the forum of prestigious RPG enthusiasts by the will of MCA, and the forum of a thousand multiheaded dicks by the will of its inestimable members. It is a second-generation phpBB install, writhing invisibly with power from the Dark Age of the Internet. It is the Disco Inferno of the RPG community, for whom uncounted donations are sacrificed every year, so that it may never truly die. 

Yet even in its deathless state, the Codex continues its eternal vigilance. Monocled individuals cross the troll-infested miasma of the Web, their way lit by the memory of the Holy Trinity, shining beacon of game design. Vast people give battle in its name in uncounted threads. Greatest among its members (by volume) is Blobert, bio-engineered superbro. His comrades are legion: the Old Guard and Codex Discussion Forces, the ever-vigilant Jaesun, and the tech-priest Dark Underlord, to name only a few. But for all their monocles, they are barely enough to hold off the ever-present threat from retardo, from Prosper alts, from fans of mainstream RPGs - and from far, far worse. 

To be a man in such times is to be one among a surprising number of man/not-man combinations. It is to live in the cruelest and most angry regime imaginable, if your imagination is sufficiently limited. These are the tales of those times. Forget the promise of choices and consequences, for so much has been streamlined, never to be recomplexified. Forget the promise of progress and incline, for in the grim dark present there is only grimdark. There is no peace amongst the tubes, only an eternity of flame wars and spergfests, and the laughter of thirsting trolls . . .

It kind of works, I guess?
 

Kayerts

Arcane
Joined
Jan 28, 2011
Messages
883
Boardspammer 3K. The Trannynid Hivemind. The Adeptus Avellones. The Gay Knights. VD. The Mama's Heresy. The Kingcommissars.

In retrospect, I should've made Cleve the Space Marine analogue. ("Greatest among its members is Cleveland Mark Blackmore, Master of the Forgotten Grimoire, genetically superior superman.")
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom