Thursday, July 7, 2022

Why do we have D&D alignment?

This is a follow up on https://skyspiral7.blogspot.com/2022/07/my-take-on-d-9-alignments.html so read that first.

By now you should be thinking about so many factors that it's hard to keep track of them and you might ask "isn't there a more simple way to accomplish the same thing?". And that is exactly what I wanted you to ask. But to answer it we first need to know: what exactly is alignment trying to accomplish? As the Cheshire cat points out in "Alice's Adventures in Wonderland" by Lewis Carroll if you don't know where you are going then it doesn't matter which path you take.

First it's time to go back to Bob's point 1 which is that character alignment is based on player choices which can change over time. Dan agrees with this as do I. If alignment was fixed at the beginning and never changes no matter what the character/player does then that alignment would represent "the original state of mind of the character" which is useless information. Of course not all characters are static, for ones that are dynamic their alignment needs to also be dynamic.

The 3 of us agree that alignment needs a specific definition if it is to be useful because an ambiguous definition wouldn't have enough support to provide the information desired. Bob and Dan both state that alignment is important but that's something I doubt is true.

First it's important to recognize that alignment is being phased out of D&D. 1e alignment had few options (law, neutrality, chaos) and characters were expected to be lawful. 3e had the 9 options allowing character to be a wider range but certain classes had alignment requirements and characters were still expected to not be evil. There were mechanics that used alignment such as "detect evil" and "protection from good" and all monsters had alignments. In 5e characters are expected to fill in the boxes for personality traits, ideals, bonds, and flaws which together take the place of alignment but there's still an alignment box which is supposed to be the overall picture of those other boxes. Although you are still expected to not be evil, classes no longer restrict alignment and fewer (if any) mechanics use alignment. It seems like Wizards of the Coast recognized that personality/motivation is complex (and started allowing more and more possibilities) and that alignment wasn't doing all that it should be doing (bonds etc fix that issue). In 5e I'm not aware of any reason to actually fill out the alignment box at all (even clerics/paladins can be any alignment with any god). It seems to only exist so that the community didn't freak out because alignment was removed. After all, if alignment didn't exist how could we get into philosophical discussions like this one? There are things that alignment could do that we can do even better without alignment which is to say that we need "something like alignment".

Let me start by stating things that alignment shouldn't do. "this game feature requires that alignment" is bad for role playing: if I have a character concept that makes sense then I should be allowed to play it (even though it doesn't match the usual alignment). In D&D 3.5e monks are required to be lawful and if they stop being lawful they lose their magic kung fu (yes I know magic kung fu doesn't fit medieval European fantasy but it's in the default setting of D&D anyway). A free style martial artist hero who uses a variety of improvised moves and is chaotic is a fine character concept but isn't allowed in this edition for no apparent reason.

Another bad use of alignment is mechanics that interact with it. If a villain is not currently doing anything wrong should detect evil detect him? Is there some sort of naturally forming karma aura that is based on actions that people universally agree are good or evil or do all the gods agree on what counts as good and they watch every single person all the time and judge accordingly? Don't get me wrong moral relativism is BS (look up the trials against post WW2 Nazis) but being able to use magic to enforce morality means you have no need to get to know the person which is bad for roleplaying unless the spells weren't 100% accurate but at that point you'd be better off playing with the idea of "can a demon be good?". If you had spells for "detect demon" that would be fine because that would be telling you facts. There are plenty of ways to play with morality but "detect evil" (and alignment in general for that matter) makes that kind of impossible. If you don't want to play with morality then your villains are going to be obvious so that "detect evil" isn't useful except for surprise villains who are weirdly immune to detect evil to avoid ruining the surprise. The only good use for detect evil I can think of is if something was supposed to be obvious but the players aren't seeing it but in that case there are other clues you could drop.

Another problem is that in D&D 3.5e there's a certain curse that flips a character's alignment. While a ray that makes evil people good or good people evil is a classic trope, it brings up too many roleplaying questions. A person's entire mind is made from a combination of nature and nurture. Your inherent DNA determines some things (drugs and injury are bigger physical factors) but most of it is from your experience. Perhaps you had a childhood trauma or no one has ever treated you like an adult or whatever it is. With that in mind how would a player roleplay their character's alignment flipping? The character hasn't been changed physically and the memories are the same so how am I, as a player, supposed to understand his motivations of this alignment that doesn't fit everything else? Additionally from a gameplay perspective if this wasn't asked for and is permanent (as some of them are) then this is effectively killing the character. That character has that alignment for a reason, switching that alignment is like replacing him with a new character which the player might not like.

Alignment also encourages "my guy syndrome" which is where a player does something consistent with the character but it ruins the game. D&D etc is a game played for fun and socializing. It is better for a character to act in a way that doesn't make sense than it is to ruin the fun or start a player fight. My guy syndrome is possible with any character concept but an alignment makes some people think "what's the most lawful or chaotic thing to do" which is much more dangerous than "how would my character's oaths influence his behavior".

But alignment isn't all bad: there are some good uses for it. I'll talk about how to do these things without alignment. The first thing is "your god/society thinks you are too evil". The thought behind this is accountability for your actions. Actions having consequences is totally valid but it's easy to see that this is possible without alignment. You can keep track of some kind of reputation for people's default attitude toward the character. Likewise a god can threaten "you're straying too far from my teachings, if you don't repent I'll cut off your magic" (you may need to have a conversation with the player too). This is where my alignment definition's actual good vs viewed good comes into play. An evil person can have a good reputation because people aren't aware of everything he is doing. Having an alignment doesn't make this paragraph any easier to do (in fact it's a distraction). For example if a god has a list of rules and the cleric is being very lawful but not following those specific rules then the god can complain even though the alignment is perfectly fine. Likewise reputation isn't as simple as an alignment. Maybe someone has a reputation of being a drunkard, gambler, ladies' man, promise breaker, always late, or being easily angered. Or for something positive like for always having the most interesting stories to tell (although reputation is usually bad instead of good). Reputation can also be used to address the issue of murder hobos. Alignment doesn't cause murder hobo behavior so I won't define what that issue is (it's selfish based but any alignment can be selfish especially if it's killing "bad guys").

Another way that alignment is useful is for character creation brainstorming. Some people like to start with alignment and flesh out the character from there. This can be easily replaced with 2 brainstorming questions: "how does your guy feel about structure and order" and "how does your guy treat others". Another big one is "what motivates your guy". Of course there are tons of possible questions but these 3 are a fine starting place. Your character must have motivation of some kind. Chaotic lazy is not an acceptable character concept.

If you're running a game like D&D 3.5e the alignment restrictions can be removed easily and spells like "detect evil" can be replaced with "detect outsiders that are stereotypically evil" (demons, devils, etc). For character creation (in any game) there are plenty of questions that can be asked (too many to list but you can look up a few). And be sure to keep track of character reputation and consequences of actions taken.

And that's it. Don't stress over trying to label "good" and "lawful". For example the Joker (from DC Comics) is well organized and makes plans that he follows exactly even with backup plans and outsmarting people with traps (these are "lawful"). Yet he's also seemingly impulsive and seemingly insane and there's very few (if any) things that he won't do (these are "chaotic"). Arguing whether or not he counts as lawful does nothing to help the understanding of the character nor the ability to write Joker stories (or roleplay). Edge cases like this are good examples for why labels are not helpful because character concepts and keeping track of reputation are easily done for the Joker (for extreme versions of the Joker, no one will trust him under any circumstances regardless of if you consider him lawful). There's no doubt he's evil (he enjoys the suffering of others and will take risks to make that happen) but a label that obvious is especially useless.

Another example of useless alignment labels is Kyubey: this paragraph has spoilers for Madoka★Magica. First watch the show (or first 2 movies) then the 3rd movie "Rebellion". Kyubey is obviously Lawful throughout: he's strict with his promises and rules and acts in an orderly manner. World 1 Kyubey has a goal of saving the universe therefore his motivation is good aligned however his method is "the lesser evil" which is not allowed by Christian morality but may be permitted by alignment systems (I didn't cover this in mine because it's more of an edge case and opinion). World 2 Kyubey performed an experiment of trapping someone in suffering in order to see if he could make something, that already had a solution, "better". There's really no excuse for that: it's evil. World 3 Kyubey was trying to save the universe from chaos and did nothing immoral (as of the end of Rebellion). So Kyubey goes from debatably good to definitely evil to definitely good. But this isn't character development: he is exactly the same in all 3 cases (only the circumstances change) however the alignments fail to reflect that and arguing over the alignment will do nothing to help understand his complex character. You could describe him as: seeks the survival of the universe at all costs, lacks compassion, and will allow suffering for the sake of saving the universe in the "most efficient" way possible. Which I guess isn't that complicated but is more than a 9 square alignment system can handle.

That's not to say you can't have any kind of label. You can write down simple notes (like I did for Kyubey above) like: never kills, greedy, or no respect for authority. D&D 5e has a system of bonds etc and Mutants and Masterminds 3e has a system of complications. These are flexible and vague enough to prevent my guy syndrome and allow describing more complicated characters than 9 alignment squares can.

Note that despite all this I still use the phrase "stereotypical lawful good" as an easy way to start describing something because it allows me to start from common ground even though the rest of the description won't follow alignments. So stereotypes can be a useful short hand but most things don't follow them. The alignment definitions I have in my previous post is the best definitions I can come up with but they are still mostly useless.

My take on D&D 9 alignments

Intro

The 9 alignments of D&D have been the source of much internet debate. The reasons for these debates is that people disagree on the definitions of the alignments and judging whether or not someone meets the criteria is subjective.

If you haven't played a game like Dungeons and Dragons (D&D) and don't know what the 9 alignments are then this post is going to be useless and hard to follow. If you want to read it anyway here's a quick and dirty description (better descriptions later) of alignment. Alignment is a category in which your character's morality and personality fit. Alignment is 2 dimensional: lawful vs chaotic and good vs evil. A character's alignment is a 2 word description such as "LE (lawful evil)" or "NG (neutral good)". If a character is in between the 2 extremes the word neutral is used. The same word is used for both dimensions with "neutral neutral" instead being called "true neutral" (which is abbreviated with just N). Typically the 9 alignments are organized in a square with good on top and lawful on the left:

LGNGCG
LNNCN
LENECE

"the extreme corners" refers to LG CG LE CE and "the neutral plus" refers to the rest.

For my take on alignment I'm going to examine 2 YouTube videos which inspired me to write this post, then I'll give my own definitions, then I'll answer the most important question "Why do we have D&D alignment?". To give away the answer I think we shouldn't have alignment at all but pieces of it are useful, therefore I need to first talk about the existing definitions and why they are lacking (including my own). You don't need to watch these videos since my dissection should be detailed enough but feel free to give the videos the views they deserve.

Bob

https://www.youtube.com/watch?v=bfN0xD9cfkw
"How GYGAX Ruined Alignment" by Bob World Builder

Bob explains the D&D 1e alignment was belief based and the subjective nature made it useless until they are tested. However 3e was action based which removed motivation which lead to problems. Therefore he redefined alignment as:

  1. (will be covered in "Why do we have D&D alignment?")
  2. law/chaos: how your character acts. via a code of conduct or not
  3. good/evil: why your character acts. selfless or selfish

Honestly this definition is strong. After my own (obvious bias but will be explained) this is the second best definition of alignment I've seen. It's simple and it just works to the extent that I found it hard to explain the issues with it. If you use his definitions you'll be better off than the majority.

The first problem (and the one that's easier to explain) is that it has neutral be "everything in between" rather than giving criteria for them. This leaves it open to interpretation what counts as neutral. One extreme interpretation is "your character is 99% lawful, since he isn't 100% he's in between and thus neutral". This judgement makes it nearly impossible to be anything except true neutral and makes the 9 alignments pointless since it's basically only 1 alignment. The opposite extreme is "your character is 51% lawful which is mostly lawful hence why I say he's lawful". This judgement makes it nearly impossible to be in the neutral plus instead having characters jump between the corners. While 4 alignments is better than 1 it still isn't the intended 9. Looking at percent makes the problem obvious but when you actually are judging alignment you don't have math. Instead you'll be looking at a list of actions from the character and trying to decide if it falls "in the middle" which is vague. This is why it would be more helpful if there was a clear difference between neutral and the others.

The second problem (or "my second problem with it" since this is more like a philosophical opinion) is "how" vs "why" but the issue is hard to explain. He states that belief is useless until tested. Does he think that his new definition of good vs evil is only useful when tested and the law vs chaos is always useful? I'll cover how/when alignment is useful in "Why do we have D&D alignment?". I assert that alignment should be defined by a person's heart and seen by actions (Luke 6:43-45) therefore law vs chaos should also be defined by "why" since motivation causes actions. If a person swears by a code but doesn't know every rule then does something without knowing that it happens to follow that rule then that person has not behaved in a lawful way (even though an observer may wrongly think that he has). Lawfulness should be defined based on how strongly you intend to follow a principle and not based on how well your action actually meets the criteria.

The third problem is that I disagree with "good" and "selfless" being synonymous. Although being good often requires a degree of selflessness it is more than that. Selfless means to deny yourself but it does not require helping others. Good should be defined as helping others AND being selfless. As opposed to Mormons and Catholics who might help others for personal gain (unlike Christianity which doesn't allow such motivation).

As for Bob's self critique that his definitions would consider self defense to be "evil": morality is big and complex. No matter how well defined your religion or philosophy is there will always be edge cases and confusing scenarios so don't get hung up on "I found 1 example where this doesn't work". It's fine. Although it is fair to point out a known weakness.

Guild Master Dan

https://www.youtube.com/playlist?list=PLYECCocnJ1syH0UDgpnU2wZoTz_z8ssR7
"Dungeons & Dragons: Alignment Done Right" (playlist) by GuildMasterDan

His definition is in the first video but further detail and explanation is provided by the other videos in the playlist.

He defines the alignments as

  • Lawful (renamed to principled): has some kind of code
  • Neutral: has a world view instead of rules
  • Chaotic (renamed to unprincipled): doesn't have any rules

  • Good (renamed to selfless): doesn't seek self interest AND seeks to help others
  • Neutral: doesn't seek self interest OR seeks to help others (but not both)
  • Evil (renamed to selfish): does neither

While he does provide definitions for neutral he makes the same mistake of conflating selfless and good. His definitions appear to be action based but when talking about details and examples they appear more motivation based. So most of my critiques overlap with Bob's alignment definition.

However Dan provides a better example of the issue with conflating selfless and good. This can be seen in his LN video's "expected" example character. He claims that Samara (from Mass Effect) is LN because she's inconsistent about being selfless when in fact she's perfectly selfless but not always to the benefit of others. My above description of his definitions have more detail than his stated definitions because he doesn't realize that selfless doesn't mean good. In this case Samara executing a criminal for the benefit of the many at the expense of an individual is a moral edge case and thus not one that can be easily measured against "helping others". His ending example of the LN "black knight" is a better example of his view since such a person would follow evil orders just because they always follow orders and not because they want to do evil and thus is selfless (since they suppress or lack their own feelings) but aren't being "good". Personally I would consider this black knight to be evil since if they know the acts are evil and continues to allow/support evil then they are evil even if they aren't doing it because they enjoy evil.


My definitions

  • Actual Lawful: likes rules and follows them as much as possible.
  • Actual Neutral: views rules more like guidelines and will ignore them sometimes. An impulsive person doesn't think about rules and falls in here as well.
  • Actual Chaotic: hates rules. Sometimes rebellious and sometimes ignores them but thinks that rules shouldn't exist.

  • Actual Good: selfless benevolent: likes other people.
  • Actual Neutral: selfish but not hateful or selfless that isn't for the sake of others.
  • Actual Evil: malevolent: hates people (selfish or selfless).

  • Viewed Good: beneficial.
  • Viewed Neutral: useless.
  • Viewed Evil: harmful.

If you've read this far these definitions should be little surprise but I'll need to go into some details. The first thing to address is the 1 thing that may have surprised you: why are there 2 definitions for good vs evil? The reason is that I'm making a distinction between what your alignment actually is vs what people think it is. To be truly good you must be selfless but people can't read your mind (and you may even fool yourself) so people can think of you as good even if you have selfish motivations (as long as you don't make them obvious). This distinction between what you are vs what people think you are will be important for "Why do we have D&D alignment?" (and by now it should be obvious why that I made this post first). You'll notice that the actual law dimension and the actual good dimension are both based on motivation because motivation is what determines your actual alignment.

You may wonder why there's no viewed law dimension. Well there is but I didn't list it above because it wasn't needed to address my concerns and the definition is simple: do people think you fit the actual lawful etc. So technically yes, there's an actual 9 alignments for how your soul is judged (ie who you really are) and a viewed 9 alignments for reputation. However viewed law is more vaguely defined and less useful anyway so meh.

Another difference between actual good and viewed good is that while generally speaking actual good is also viewed as good this isn't always true. If you are trying to help but cause a lot of damage due to incompetence you are actually good but possibly harmful.

A detail about actual good vs evil that's missing above is that of dedication level. Actual good is someone who will be willing to go out of their way, take risk, and sacrifice for someone's good. Actual evil is someone who will be willing to go out of their way, take risk, and sacrifice for someone's harm. Actual neutral may do things that are good/evil but is not too much effort, low risk, and low cost. This means that actual good is a little more heroic and that most people fall into actual neutral (more on that later). This dedication level is part of what it means to be selfless vs selfish: being selfish doesn't mean refusing to do something easy that helps someone.

The actual law dimension is not based on how many rules you have but how strongly you hold them. If a lawful character runs into a situation that his rules don't cover he isn't required to make a rule before he can act (although he is allowed to make a rule if he wants) which is to say that a lawful character can act and make decisions without needing to always depend on rules. However a lawful character has such respect for rules that if a rule is clear he'll want to follow it if possible. A lawful character need not subscribe to all rules (which would be impossible anyway) but he would typically appreciate the idea of the rule even if it's in a code that he doesn't follow. Conversely a chaotic person hates rules perhaps because he feels like rules restrict freedom (which is not always the case). Someone who thinks rules are mostly pointless would be neutral.

Lawful can be applied to all types of advice: philosophy, religion, common sayings, code of conduct, governmental laws, personal advice, plans, blueprints, instructions, or guidelines. Even though guidelines is in my definition of neutral the difference is how you view them not how the rules are written. A book with very general advice can be taken as gospel by a lawful person or a very specific book can be taken not very seriously by a neutral person. I'll use a vacation as an illustration but keep in mind that this is how such people might react and is not always the case since personality is much more complex than an alignment chart (also see "Why do we have D&D alignment?"). Alice prefers to join tour groups because she likes the way everything is planned out and she can look at the schedule to see what's next. Following structure like this makes her feel safe like everything is under control. Her love of rules makes her lawful. Carol likes to get an example itinerary online then quickly notes which items are important and edits in time to explore and do her own thing. If this is how she tends to treat all rules in life she would be neutral because she's using rules as a basis for her own ideas (which are not as rigid). Eve is given an itinerary. This makes her unhappy because the list makes her feel restricted, trapped, and controlled even though she enjoys all of the things on the list. Her hatred for rules makes her chaotic.

If a person thinks rules are good and opposes those rules because they want bad things to happen that would be evil but doesn't affect law/chaos. Although you certainly can respect the rules of others doing so doesn't affect how lawful you are. If a person is trying to overthrow society and makes a complex plan for how to do it then follows that plan exactly then they would be a lawful anarchist. This sounds like an oxymoron but it is because they have such respect for their own plan even though they have no respect for government's law. Recall that lawful only requires a positive view of rules of any kind (but not all kinds) in this case it is for their plan. A chaotic person wouldn't have a plan and a neutral person might make a vague plan but then improvise (without being forced to do so) just because they changed their mind about how some part should be done.

By my definition (ignoring "viewed") the average person would be true neutral. I consider this a strength of my definitions since most people are not heroes or villains. They don't think about morality much and live a normal life sometimes being good but only if it isn't too much too ask. Villains/antagonists would also rarely be evil (since selfish is the most common). I consider this to be a strength as well: most villains aren't evil and don't consider themselves evil. If a selfish villain gets what he wants then he may settle down. Whereas a truly evil villain is never satisfied because hurting people was the whole point (rather than a means to an end).

I feel like this is the best possible definition for alignment because it answers every issue I can think of. But you still shouldn't use alignment (see next post: "Why do we have D&D alignment?").

Saturday, February 6, 2021

Binary Delta CRUD

Update: this spec was moved to https://github.com/SkySpiral7/BinaryDeltaCrud/blob/trunk/docs/spec.md see that for the latest version.

I learned about the format of a (unified) patch file from the Unix command diff -u and was inspired to make a new delta format that is very compact, supports binary (it is not human readable), and is payload type agnostic. Since I don't know anything about this subject area I based this format on CRUD (Create, read, update, and delete) and so am calling this format Binary Delta CRUD. Note that the use of delta here is referring to math where delta is used to show change.

The scope of this doc is only for the delta format and not for describing the algorithm to analyze the data in order to create the delta. Analyzing the data is very important and the most complex step and would need it's own doc. However I don't know anything about how you would do this data analysis, there's no perfect solution to this problem, and you can read existing papers on compression and file comparison therefore I likely won't have a doc for such data analysis.

To describe this format I will use the names inputStream, deltaStream, and outputStream because the payloads might not be files (although files are the main use case I can think of). Note it is not required to know the number of bytes involved in a stream ahead of time as long as you know when it ends. The final operation in deltaStream will always have an operation size of 0 (explained later). Obviously each stream must be finite. It is possible to process the streams without needing to go backward: a buffer isn't needed if you are performing the operations normally (not reversed) or know the size of deltaStream. Note that all numbers in this specification are unsigned big endian where a * in binary means "any bit".

Each operation in the deltaStream starts with a single header byte which indicates which action to take and what to do with the bytes that follow. The outline of the header byte is: the highest 3 bits is the operation, the next bit (the lowest bit in the highest nibble) is an operation size flag, and the lowest nibble is a size (which might be the operation size).

The operations are:

0 (binary 000* ****) "add" operation (C in CRUD)

1 (binary 001* ****) "unchanged" operation (R in CRUD mnemonic)

2 (binary 010* ****) "replace" operation (U in CRUD)

3 (binary 011* ****) "remove" operation (D in CRUD)

4 (binary 100* ****) "reversible replace" operation

5 (binary 101* ****) "reversible remove" operation

6-7 [unused operations] 2 spots

If the operation size flag bit is 0 then the lowest nibble is the operation size (1 to 15 bytes). If the operation size flag bit is 1 then the lowest nibble is the size (1 to 15 bytes) of the operation size and the actual operation size (1 to 256^15 bytes) will follow the header byte. The operation size is the number of bytes that the operation will use. An operation size of 0 is infinite which means the operation will be performed on the remaining bytes then the program will terminate. When the operation size flag bit is 1 the operation size is allowed to have leading 0 bytes (although this is a waste of bytes in the deltaStream).

For example given a header (in binary) of: 0000 0010 means that 2 bytes will be added. A deltaStream that starts with 0011_0010 0000_0001 0000_0001 means that 257 bytes will be unchanged since the header indicated that the next 2 bytes should be used for the operation size.


"add" operation means that a number of bytes should be added to outputStream. The bytes that will be added will follow the operation size. It is invalid if deltaStream does not have enough bytes left.

"add remaining" is an "add" operation with an operation size of 0. It means that all of the bytes remaining in deltaStream should be added to outputStream then terminate. It is invalid for inputStream to contain any remaining bytes. It is invalid for deltaStream to not have any more bytes (since it failed to add anything).

"unchanged" operation means that a number of bytes should remain unchanged (ie read with no-op) simply copy them from inputStream into outputStream. No bytes will follow the operation size. It is invalid if inputStream does not have enough bytes left.

"remaining unchanged" (ie "done" or "no more changes") is an "unchanged" operation with an operation size of 0. It means that the remaining bytes in inputStream should be unchanged (copied to outputStream) then terminate. It is invalid for deltaStream to contain more bytes. It is permitted for inputStream to not have any more bytes (this allows an empty file to remain unchanged for example) since an empty set of bytes being unchanged is logically valid.

"replace" operation means that a number of bytes in deltaStream will replace the same number of bytes in the inputStream (ie add deltaStream bytes to outputStream and ignore bytes from inputStream). The new byte values will follow the operation size. Unlike "reversible replace" this operation is more compact but can't be undone since the previous byte values are unknown. It is invalid if inputStream or deltaStream do not have enough bytes left.

"replace remaining" is a "replace" operation with an operation size of 0. It means that all of the bytes remaining in deltaStream should replace the same number of bytes in inputStream then terminate (ie add rest of deltaStream to outputStream and ignore rest of inputStream). It is invalid if inputStream and deltaStream do not have the same number of remaining bytes. It is invalid if inputStream or deltaStream have no bytes left (since it failed to replace anything).

"remove" operation means that a number of bytes should be removed ie these bytes in inputStream should not go to the outputStream. No bytes will follow the operation size. Unlike "reversible remove" this operation is more compact but can't be undone since the previous byte values are unknown. It is invalid if inputStream does not have enough bytes left.

"remove remaining" (ie "close outputStream" or "write no more bytes") is a "remove" operation with an operation size of 0. It means that the remaining bytes in inputStream should be removed (not sent to outputStream) then terminate effectively making this a "close outputStream" operation since there is no more data to write (only thing left is to validate). It is invalid for deltaStream to contain more bytes. It is invalid for inputStream to not have any more bytes (since it failed to remove anything).

"reversible replace" operation is the same as "replace" except reversible and less compact. After the operation size there will be that number of bytes which are the old values then that number of bytes which are the new values. This exists so that after running through deltaStream normally you can later decide to undo the change by running the opposite of deltaStream (assuming deltaStream is a file or something that can be referenced again). Additionally this has a validity check built in since if the old bytes do not match inputStream then deltaStream is invalid. It is also invalid for inputStream or deltaStream to not have enough bytes left.

"reversible replace remaining" is a "reversible replace" operation with an operation size of 0. It means that the first half of the remaining bytes are the old values and the last half are the new values (see "reversible replace" for details) afterwards terminate. It is invalid for deltaStream to have an odd number of bytes left. It is invalid if deltaStream does not have exactly twice the number of bytes that remains in inputStream. It is invalid for inputStream or deltaStream to not have any more bytes (since it failed to replace anything). While is it possible to execute deltaStream as you get it (counting the bytes but not needing a buffer), trying to do the opposite of deltaStream will require you to read the rest of deltaStream first. As a quick proof: start counting while validating inputStream until it runs out (or fails validation) then count down while writing to outputStream until deltaStream runs out (or fails validation). If doing the opposite of deltaStream you won't know when to stop writing to outputStream unless you already know the number of bytes in deltaStream (in which case you won't need a buffer).

"reversible remove" operation is the same as "remove" except reversible and less compact. After the operation size there will be that number of bytes which are the old values. This exists so that after running through deltaStream normally you can later decide to undo the change by running the opposite of deltaStream (assuming deltaStream is a file or something that can be referenced again). Additionally this has a validity check built in since if the old bytes do not match inputStream then deltaStream is invalid. It is also invalid for inputStream or deltaStream to not have enough bytes left.

"reversible remove remaining" is a "reversible remove" operation with an operation size of 0. It means that all of the remaining bytes are the old values (see "reversible remove" for details) afterwards terminate. It is invalid if inputStream and deltaStream do not have the same number of remaining bytes. It is invalid for inputStream or deltaStream to not have any more bytes (since it failed to remove anything).


For a concrete example given that deltaStream contains (in binary): 0010_0101 0000_0010 0011_1000 0100_1110 0010_0000 translates to: unchanged with operation size 5, add with operation size 2, the first byte added is hex 38, the second byte added is hex 4E, done (keep the rest of inputStream). A shorter description (rather than a byte by byte one) is that the first 5 bytes are unchanged, add the hex bytes 38 and 4E, then the rest of the bytes in inputStream.

For an example of why the reversible operations exist: suppose I have a file named mainFile and a file named deltaFile. I run a program using mainFile as inputStream, mainFile as outputStream (writing to same file), and deltaFile as deltaStream. I examine the new state of mainFile and decide that I want it to return to the previous state (perhaps it failed quality control or checksum). I run a program using mainFile as inputStream, mainFile as outputStream (writing to same file), and deltaFile as deltaStream along with a flag that indicates that I would like a reverse done. If deltaFile does not contain any of replace or remove operations (including operation size of 0) then it is possible to restore mainFile back to the previous state by simply performing the opposite instruction in the deltaStream. This is useful for version control systems so that it can cause a file to go forward or back a version by only looking at a single delta (similar to git). This is likewise useful if you send out an update then later decide you need to rollback the change. For the sake of network compactness: a reversible delta can be created from a non-reversible delta while reading it (this requires a buffer the size of the largest replace operation).

The exact number of bytes for outputStream will be unknown until the deltaStream has been completely processed. The maximum sizeOf(outputStream) = sizeOf(inputStream) + sizeOf(deltaStream) - 2 - sizeOf(sizeOf(inputStream)) unless sizeOf(inputStream) is 15 or less in which case add 1 (counteracting the sizeOf sizeOf). This maximum can be achieved with a deltaStream of: unchanged, size of inputStream, add remaining, entire deltaStream.

Note that 64 bit computers only need 8 bytes to express the maximum file size (16 EiB exbibytes) which is expressible (in binary) ***1_1000 1111_1111 1111_1111 1111_1111 1111_1111 1111_1111 1111_1111 1111_1111 1111_1111. Notice that the maximum number of bytes supported for operation size is 15. 15 bytes for the operation size would mean the total size that can be handled with 1 header is 256^15 which is 1.3e36 bytes or 1.1e12 yobibytes. For any larger sizes you will need to perform the same operation multiple times (this will never be needed).

Warning: make sure you trust the deltaStream and have enough memory/disk space to handle the various operation size 0s. An attacker could send binary 0000 0000 followed by an endless stream of junk bytes in order to fill up the RAM or hard drive. That said it makes little sense to allow public access to change something using a deltaStream in the first place.


Does this format do better with a sparse or dense delta? It handles both very well. If an entire 4 GiB payload is being replaced (every byte changed) the overhead is only 1 byte (replace remaining, entire payload). If only a single byte is replaced in a 4 GiB payload the overhead is a maximum of only 7 bytes (unchanged size 4, 4 bytes op size, replace op size 1, new byte, done) with a minimum overhead of 2 bytes (replace op size 1, new byte, done). For an unchanged payload (of any size) the entire delta is 1 byte (done).

Does this format do better with plain text or binary payloads? The delta is not human readable. It is able to handle binary and text/plain is just a type of binary therefore it is agnostic to payload media type. Contrast a patch file which is designed to be human readable, can't handle binary, and includes info for the file name and date (ie it assumes a file system).

Can this format do everything a patch file can? No: this format doesn't handle file names or last modified timestamp (which are filesystem dependent). You could use this format 3 times for the name, modified timestamp, and file contents. Or you could use this format on a tar etc. For multiple files you can make a delta for each file (a delta can be add all or remove all for adding/removing files) or tar the files together and delta that. Which is to say that this format can do what you need but since it's payload agnostic (doesn't assume files) you'll need to do bookkeeping yourself in order to attach meaning.


I thought of operations for flipping the bits of the bytes or filling a length with a certain specified byte but the later is not in the spirit of a delta (that would be compression) and the former is questionable (there is still enough space for flipping if someone wants it) so I didn't.

I thought of an operation for paste (as in copy/paste) which would require a clipboard index to be setup at the beginning of the deltaStream. While this operation makes sense from a perspective of "how a human would edit something" this format isn't intended for human operations and this is another operation that seems like a compression thing.

Saturday, November 28, 2020

How to do paradox free time travel

TL;DR: copy on write


First of all there's nothing wrong with your story having a time paradox, in fact certain stories require it. Trying to prevent a paradox is a valid motivation for a crisis, timestream changes can be an interesting way to add complications, etc. However for some stories you may want it free of paradox and that's more tricky than it sounds so I thought I would detail how this can be done (option #3 is the only real way).


First I need to explain what the issue is. For a single timeline that can be altered by traveling backwards in time there are 2 paradoxes that arise: a grandfather paradox and a bootstrap paradox. The grandfather paradox is the most commonly talked about paradox (and is normally just called a "time paradox" but that would be confusing). A grandfather paradox is often described as "what happens if I go back in time and kill my grandfather before my father was conceived?" The problem is that if there is a single timeline (by now you may have guessed the solution) on which you go backwards you can contradict it. If you kill your grandfather then you couldn't've been born which means you couldn't've killed him which contradicts the original action and thus the timeline is in an invalid state.


A bootstrap paradox is sort of the opposite. An example would be that you have a necklace that has been passed down from your great grandfather. You hear a story that he got it from a time traveler who turns out to be you. In an attempt to avoid a grandfather paradox you go back in time and give the necklace to your great grandfather. The necklace's place on the timeline is a nice circle which appears to be fixed but who created the necklace? How old is it? This necklace exists because it already exists. This is a causation paradox (which requires backwards time travel).


Notice that if you go back in time and do something then it will either cause a grandfather paradox (because the event wasn't supposed to happen) or a bootstrap paradox (because it was supposed to happen). You may say "I promise not to do anything important" but that's not good enough. Even something as simple as stepping on an ant is an event that happened and thus would cause either paradox but it's more extreme than that: every breath you take, every photon of light you absorb, every air molecule you displace. It's impossible to exist in any tangible way without causing a paradox.


However there are solutions which I will do from least useful to most. The first point (option #0) is to not do time travel at all which works but doesn't meet the criteria of "paradox free time travel" and thus is not considered an option. The first actual option (which isn't much better) is to do forward only time travel. These paradoxes only occur from going backwards, going forward causes no issues as long as the traveler never returns (by going backwards). You could make a story of someone going into the far future and be unable to go back and there would be no paradox (he absolutely can't go back to "his time" since that would cause a paradox with the present he's currently in). In fact this has been demonstrated to be possible in real life (only going forward a few seconds) and thus forward only time travel is an undebatable scientific occurrence that's iron clad against any paradox.


Option #2 is to have the past be "read only" such that it can be seen but nothing can be changed. The man who goes back will be as though he is intangible and absolutely nothing he does makes any difference. For this to work the time travel device would need to duplicate the photons so he can see them (in addition to the past photons which the past objects interacted with) and the same is true for all his senses. You may wonder if this is actually time travel or just watching a movie of something that happened in the past. You can describe it as backwards time travel but it doesn't really feel like it is.


This leaves the only real option #3 which is complicated but can be summed up as "copy on write". The 2 paradoxes hinge on the phrase "a single timeline that can be altered by traveling backwards in time." Option #1 disallowed traveling backwards, option #2 disallowed altering, and option #3 doesn't use a single timeline. Whenever someone travels back in time by any amount the timeline is copied and they are placed in the new one. Traveling forward in time remains in the same timeline. Basically the past of each timeline is unchangeable but a copy can be changed in any way without paradox. This model allows meeting copies of yourself since if you travel back in time to a point you existed the entire past is copied including your body. If you don't like what you've changed you can go back and murder your copy who was about to change it (this doesn't affect the previous timeline you were in) or go back right before he got there and have no copy show up (since only the past is copied). You can get as many copies of yourself as you like and if you'd like to return to normal you can travel back to before you touched anything then forward in that copy to your normal time to get an equivalent to your original assuming your brief tangibility didn't affect much. You could also permit returning to a timeline as long as the point of return is during or after what is considered the present for that timeline (the present being the last point in that timeline that has been visited by anyone).


Option #3 sounds complicated but allows for basically everything and should be easy to use. In fact if you never explain that copies are being made this time travel model will "just work" and still allows things like "we need to stop this event or we are screwed" for the timeline you are in. That said this model (as is) doesn't allow someone to be aware that the timeline has changed (since it's a copy, their own timeline hasn't changed) and again a crisis like "if we don't prevent this time paradox it will be the end of time itself" would require a paradox based model.


Note that being able to predict the future causes no time paradox. It doesn't matter if the prediction is contradicted. Unlike traveling to the future and back which causes issues because it wasn't a prediction, it actually happened and things aren't supposed to un-happen.


Professor Farnsworth: Your grandfather?! Stay away from him, you dim-witted monkey! You mustn't interfere with the past! Don't do anything that affects anything, unless it turns out you were supposed to do it, in which case for the love of God, don't not do it!

Fry: Got it.

Professor Farnsworth: If, for example, you were to kill your grandfather, you would cease to exist.

Fry: But existing is basically all I do!

--Futurama episode "Roswell that Ends Well" (TV 4x1). A joke that only works if you allow paradoxes.

Sunday, November 8, 2020

Arbitrary guesswork is the foundation of all knowledge

I haven't read "Gödel, Escher, Bach" but based on its description it sounds like it beat me to this idea. That said I'm going to explain this in a single post (much shorter than a book) and making it as easy to understand as I can. That said it's probably still going to be pretty thick.

I'll start by paraphrasing Gödel's first incompleteness theorem: "All systems must have at least 1 axiom." An axiom is something that is accepted to be true without being proven. Axioms are core basic beliefs that everyone has many of such as "I exist," "other people are not my imagination and they exist in the same way I do," and "I have senses which let me measure the world I live in." Axioms can't be proven since you have to use something as a basis for your argument. Using an axiom to prove itself is circular reasoning. Although it is possible for an axiom to agree or disagree with another axiom there must be at least 1 that is assumed to be true on which all other claims are based.

"How do I know what axioms to trust? You can't prove to me that I exist!" The fact that you can read this article shows that you already have chosen some axioms. While there are some basic axioms that everyone needs to survive how are the rest chosen? "I'm going to choose axioms that meet this criteria." That would make that criteria the axiom on which the others are based. Since axioms are so fundamental there's no getting around the fact that they are indeed "accepted without being proven" or even recommended. This is to say that all axioms are chosen arbitrarily, at random, and without reason. "I like axiom A more than axiom B" that's an example of being chosen arbitrarily. "Axiom A is consistent with my other axioms" then those other axioms and the desire for consistency are you base ones. It's fine to change axioms or to have an axiom demoted to being based on others.

Have I lost you yet? I'll explain it from a different angle. Let's suppose you have some bit of knowledge that isn't an axiom such as "you need to stir the noodles so they don't stick to the pan." Consider what that knowledge is based on. And what is that based on. And what is that based on etc. Eventually you can follow it back to at least 1 bit of knowledge which is not based on any other knowledge. That most fundamental knowledge is an axiom. This is the "first mover" argument except with knowledge it is impossible to claim that your knowledge is an infinite series backwards. Unless you believe that you have infinite knowledge (in which case why are you reading this?) then you must believe that going backwards will eventually reach an end (an axiom or a group of them).

"Of course I trust that my senses can detect the world. There's no other way to live." But how much do you trust them on a scale of 0 to 100%? You can't trust them 0% because if you don't trust pain at all then there's no reason for you to eat or breath which leads to a quick death. However you also shouldn't trust them 100% of the time because senses can be tricked by slight of hand or hallucinogens. 100% trust is much less dangerous than 0% but it can still lead to trouble (people tricking you or a drug addiction). So you need to trust your senses only sometimes. How do you know when to trust them? It's based on something else you trust. "Of course a person can't just disappear, it's some kind of stage magic" is based on axioms. But obviously you can't use your senses to decide which knowledge should be chosen as a basis for when to trust your senses.

Consider also how much you trust other people. It can't be 0% if you plan to live around people and interact: "if I work for you how do I know that you'll pay me?", "if I pay you how do I know you'll let me walk out with these groceries?", and "if I get near you how do I know you won't try to kill me?". But it shouldn't be 100% either (evil people exist). "Who you should trust" is a more interesting question than "when to trust." Growing up most people trust their parents by default who in turn instill many ideas. Later in life those ideas can be questioned but the ideas we grow up with are likely foundational. Therefore what we grow up with (whether it matches our parents or not) may stick our entire life since they were the original axioms (assuming they survived teenager years).

"I could try to find axioms that don't contradict." First of all your desire for no contradiction and the criteria you use to judge that are based on axioms. Secondly there are plenty of axioms that don't contradict so you'll need to chose from among them arbitrarily. Thirdly in the case of contradiction you'll need to decide which one to keep arbitrarily.

Have I driven home the point that all knowledge is arbitrarily based yet? This argument is a logical consequence of Gödel's first incompleteness theorem. Of course this article depends upon axioms so you may disagree given different axioms (or even the same ones). But since you must have at least 1 axiom the point remains: that axiom was chosen without reason.

I'd like to end by giving this article a practical application (as left field as it may be). Given that all knowledge is arbitrarily based there's room to be compassionate for even the craziest or most offensive ideas/opinions. If you hear someone who is for or against some hotly debated topic (eg abortion, homosexuality) know that they just have very different axioms than you and the way they chose those axioms was just as valid as how you chose your's. Therefore even in strong disagreement you can have a calm loving conversation. If someone think aliens, witchcraft, and ghosts are a good explanation/reason don't call them crazy or criticize because from their point of view you seem just as crazy.

Sunday, October 1, 2017

Are Elves stupid in Dungeons & Dragons?

I wanted to call this "Pathfinder Elves are retarded" but that would be too insulting. And I'm not insulting Elves or Dungeons & Dragons. However Elves in D&D 3.5 and Pathfinder have a severe learning disability. The tables are the same in 3.5 Player's handbook, the 3.5 SRD (file: Basic Rules/Description.rtf), and the Pathfinder SRD:
RaceAdulthoodIntuitiveSelf-TaughtTrained
Human15 years+1d4+1d6+2d6
Elf110 years+4d6+6d6+10d6
diff733 1/3 %400-600%600%500%
Half-orc14 years+1d4+1d6+2d6
Based on this the average class modifier is Elf_Age = Human_Age * 5. The adulthood Elf_Age = Human_Age * (7 + 1/3) which could be rounded down to 5 for an adulthood age of 75. You'll notice that half-orcs reach adulthood the fastest and elves the slowest which means that half-orcs learn and mature 7.86 times faster than elves. Despite this some elves gets +2 Int and half-orcs in 3.5 get -2 Int.

Do you have any idea how damaging this slow learning is to the setting? Let's say I'm a human training in wizard school and I meet a stereotypical hot elf girl. We started school at the same time and I don't mind her current age so I make moves on her and start dating. Wizard school is a hard 7 year program that's not uncommon to flunk a few years. My elf lady isn't doing so well in class so I can give her private lessons of things I've already learned or we can practice the same thing together. After 7 years I've been ready for our relationship to advance to the next level for a while now but she's only getting warmed up to the idea of a long term relationship (she doesn't mind that she'll outlive me). I'm about to graduate from wizard school but she's flunked out 6 times and passed one year. I come to find out that the average time it takes an elf to graduate is 35 years! This is consistent with my experience that she's very slow to pick things up and I have to repeat things so many times. She's not an idiot it just takes a long time to learn something new. I simply can't invest that much of my life into someone so slow.

Can you name any other setting where elves are slow at learning magic? And half-orcs are fast at learning anything. It just doesn't fit. It does not make sense to base adulthood on the percent of maximum life. Learning should be based on Int alone and not race at all:
Int ModAdulthoodIntuitiveSelf-TaughtTrained
lessnot possible for player characters, and animals can't take classes
-417 years23 +1d427 +1d635 +2d6
-316 years21 +1d424 +1d630 +2d6
-216 years19 +1d421 +1d625 +2d6
-115 years17 +1d418 +1d620 +2d6
+015 years14 +1d414 +1d614 +2d6
+114 years1514 +1d414 +1d10
+214 years151514 +1d8
+313 years151514 +1d6
+413 years151514 +1d4
more13 years151515
Therefore if you have low intelligence and a short lifespan then you'll be very old by the time you could become a wizard. Note that these are minimum starting ages. You can choose to be older when you start learning but learning still takes time equal to the difference between adulthood and the applicable column.

Now let's look at maximum ages:
RaceMiddle AgeOldVenerableMaximum Age
Human35 years53 years70 years+2d20 years
Elf175 years263 years350 years+4d% years
diff500%496.2264%500%200-1,000%
The average Elf_Age = Human_Age * 5. Why isn't the old elf age 265? Must be a typo that they didn't bother correcting. Also maximum elf age is way too random. How about:
Elf175 years265 years350 years550 +2d% years

Or better yet why not base maximum age on constitution rather than race so that how long you live actually depends on how healthy you are:
Con mod*Middle AgeOldVenerableMaximum Age
lessalready dead (since your constitution score would have to be less than 0)
-515 years25 years45 years50+1d4 years
-420 years30 years50 years55+1d4 years
-325 years35 years55 years60+1d4 years
-230 years40 years60 years65+1d6 years
-135 years45 years65 years70+1d8 years
040 years50 years70 years75+1d10 years
145 years55 years75 years80+1d20 years
250 years60 years80 years85+1d20 years
355 years65 years85 years90+1d20 years
460 years70 years90 years95+1d20 years
more65 years75 years95 years100+1d20 years
*con mod ignoring age penalties
After you have entered an age category, if you raise your con you will be in the same category but the categories above will change.
Elf racial ability: Very Long Life: your age categories except adulthood are multiplied by 5 (this doesn't affect starting ages). You have no Maximum Age.
Half-Elf racial ability: Long Life: your age categories except adulthood are multiplied by 3 (this doesn't affect starting ages).

There's not really any conclusion here. It's just that D&D didn't put much effort into the ages and I actually bothered correcting this.

Your rules are too complex

The purpose of this rant is not just to complain but to show that better is possible. It isn't a drawn out advertisement for my system (Humans & Heroes) but to shows how these other systems could make their products better. I'm not complaining that being a Gamemaster is hard I'm complaining about the system as a whole (some of which is Gamemaster exclusive). I'll talk about each system from optimistic and pessimistic perspectives to show good things, bad things, and counter points. Although since this is a rant the good points aren't actually covered, instead it's just bad points and counterpoints.

Rant warning: this is a rant. Read accordingly. So don't accuse me of hating everything and being overly analytical.

Worst

Optimist: For the sake of contrast I'm going to start by describing the worst case scenario. Let's suppose you wanted a realistic game. In order to maximize how accurate it is to real life and to make sure that everything is possible you'll need a large rule book and make stats.
Pessimist: If by that you mean "buried under an endless mountain of rules" then yes.
Optimist: The game is so realistic that a physics text book could be considered an expansion book.
Pessimist: Good news everyone! This game is so complex that not even professional scientists fully understand everything about it.
Optimist: Some math is required but a calculator can be used and all of the formulas are provided.
Pessimist: Gee thanks mister! I had this exact scenario in college physics which I did poorly in.
Optimist: Every body part has it's own measure of health.
Pessimist: Every milliliter of your body needs be labeled with a health number. Even with 3D modeling programs I don't know how you'd keep track of all that.
Optimist: The human mind is tracked in detail.
Pessimist: Make sure you have a full list of every fact and memory of your entire character's story.
Optimist: There are many muscles in the human body that can have separate skills.
Pessimist: How many muscles are in the human body? Multiple that by every possible skill and you've got a good start on that character sheet.
Optimist: I'm not providing any counter points because this is a straw man. It is here to demonstrate that no matter what the system represents there are some things that must be simplified for the sake of usability. There are a large number of details that must be ignored.

Pathfinder (1e)

Optimist: I'll go from most complex to least which is worst to best (except the last) to show that things can in fact be done better and so that the rants calms into a praise.
Pessimist: So read this section last so you can see how terrible the Pathfinder rules are.
Optimist: Pathfinder is a welcomed simplification over Dungeons and Dragons 3.5 edition.
Pessimist: "Better than something that's worse" is code for "this is still terrible".
Optimist: Pathfinder uses a medieval fantasy setting. However there are expansions for modern and space age.
Pessimist: The game only does 1 thing and it didn't do it well. So then they added a couple more to spread the joy of failure.
Optimist: There are some classic races to chose from.
Pessimist: Not much to say here. Humans are useless, some races aren't balanced.
Optimist: There are a few classes to pick between.
Pessimist: A few? That's a lie. There's tons of classes. Too many to even name.
Optimist: Ok well using only the core book there's only a few and it should be easy to pick the one you want.
Pessimist: If you want to play X no matter how the game plays then yes. However if you'd like to have effective gameplay no matter the class then you'll be sorry. In order to make an informed decision you'll need to read through each class and race which will involve a dozen pages of rules and abilities which have no unifying mechanic other than d20 vs DC meaning there are no shortcuts to grouping the abilities together. A single class alone is difficult enough to keep track of but 11 classes? That will overwhelm new players that are just trying to be useful.
Optimist: But you don't need to read things like spells, feats, bloodlines, etc until after you have decided on a class.
Pessimist: Maybe but the information up until that point is overwhelming and if you are a spell caster then you'll have a whole new wave of overwhelming when you look at the spell list.
Optimist: But at level 1 there are few spells. So assuming you picked your class on little information there isn't a whole lot to know.
Pessimist: Ha! You're not creating a character that easily. What skills do you have? Look at your list of class skills and the list of all skills (only a little too large). Which feat should I pick? Look at the giant list of feats. Bloodline, familiar, arcane school? You'll need to read a lot there too even at level 1. Which equipment do I buy? Look at the large list of equipment
Optimist: Objection: not all equipment can be purchased at level 1 so you need not look at all of it.
Pessimist: But the book doesn't have a list of things that are affordable at level 1 so you'll have to look through all of them. Also most non-magical equipment can be bought at level 1. And did I mention potions? These magic items are affordable at level 1 but knowing your options require you to look at the low level spells of every class's spell list.
Optimist: So the creation cost is high but once you have a character you can easily level up.
Pessimist: Not quite. If you multi-class or want prestige classes then you get back into the problem of the class list. Ignoring that you still have to fight the spell list and feats as you level up. And now that you can afford or save up for magic items you'll need to look at that list. Or rather lists because there are several categories each with a huge number of items (books keep adding more because magic items are so popular). *insert book avalanche*
Optimist: Well the other class abilities are easy enough for character progression.
Pessimist: You mean the ones that don't have any choices? That's not as easy as it sounds because some of them improve with level so you have to re-read them every so often. But anything that has options has too many options. Except when it comes to how you'll play your character in which case there are too many restrictions.
Optimist: What do you mean? You can play your character however you like.
Pessimist: That's not true and is one of the biggest problems with this system: the mechanics dictate the setting. For example I'd like to be a drunken fist martial artist, he'll be a chaotic good monk except that monks must be lawful. Or "Ooh I like these abilities. I think I'll choose this sorcerer bloodline. Oh wait that says I descend from dragons. But I don't want to have to change my character's back story...". Or "I think I may run Pathfinder. The system looks good-" *cough fat chance cough* oh sorry I interrupted by own hypothetical dialogue. "I'll run Pathfinder... Oh darn I was hoping to have Elves in space but the system mandates a medieval setting."
Optimist: Objection: there are other settings that can be used.
Pessimist: Hardly. The majority of the system assumes the default setting. And the problem is that the system is so tightly coupled with the setting so that changing things isn't easy. Phew *wipe sweat*. I'm getting tired and I've only just finished complaining about character creation. I haven't even started talking about the general rules or the monsters.
Optimist: Does that mean you'll let me talk?
Pessimist: No. This is a rant so I'm the star of the show.
Optimist: Surely there must be some redeeming qualities of Pathfinder.
Pessimist: Hm... Nope the other systems are better at everything. Now where was I?
TL;DR: This is all you need to know from a player perspective.
Optimist: You were complaining about character creation.
Pessimist: Right right. Speaking of horrible disfigured creatures, there's also monsters in this system. There's a huge number of monsters, several dedicated books in fact with plenty added with each setting book... Hm. I seem to have used my book avalanche gag too early.
Optimist: You can look them up by name, type, or CR. It's pretty nicely organized considering the size of material. I'm not sure that could be improved.
Pessimist: I'll tell you what could be improved: having all of the monster's rules listed on the page with the monster. Some of them are well hidden in the monster's type. That's right: when you look at a monster you have to compare what you see to the rules for that monster type, the rules for that monster subtype (yes really), the rules for the monster category/template, the rules that are actually listed on the monster page, then look up each feat, look up each spell, and look up each universal monster rule. Man this is so complicated that it's even difficult to list all of the places the rules exist.
Optimist: That sounds exaggerated.
Pessimist: Well let's look at an Old Red Dragon. He's got a list of feats, a list of spells, some terms that are universal monster rules, and he's got abilities. Now that we've read the description of Old Red Dragon we just need to check the description for Red Dragons, for Chromatic Dragons, for True Dragons, for Dragon type, and then for fire subtype.
Optimist: Objection: not all of those have abilities.
Pessimist: True but the only way to know that would be to read each of them.
Optimist: But that's just for dragons because they are so popular. No other monsters are that complex.
Pessimist: All right fine. So dragons do have the longest chain of inheritance. But don't think you can get off easy by memorizing some common abilities because nearly every monster has a unique ability of some kind, ones that don't are considered boring. So rather than a common set of rules everything gets more and more rules.
Optimist: If you hate monsters so much why don't you just kill them?
Pessimist: Well I would but the combat system doesn't make it easy. There's a list of things you can do in combat but the much more daunting list is the table of attack of opportunity.
Optimist: But that's just a list of actions followed by "yes" or "no" that are grouped by standard/move action etc.
Pessimist: Exactly. The problem is that the table is very important but too large to memorize so whenever you do anything except attack you have to check the table to see if that's a bad idea. Then there's grappling rules which is the target of many jokes. And if you get multiple attacks from multiple source, good luck trying to figure out how they fit together. Speaking of multiple sources there are many different types of bonuses that can be applied but they don't stack with bonuses of the same type.
Optimist: You're running out of things to say seeing how you've devolved into a hit list of points without descriptions.
Pessimist: Yeah I'm running short aside from general complaints about lack of balance (ever heard of "linear fighter, quadratic wizard"?). To summarize how bad the rules are I'll point out that I literally had nightmares about the game being too complex.
Optimist: That's not fair. That was mostly due to being nervous about the first time I've ran any game. After waking up I would tell myself "the rules aren't that bad".
Pessimist: Only to later find out that they were.
Optimist: Well... Mostly. But it was spread out over 10 months so it wasn't overwhelming.
Pessimist: Yeah still finding new rules after 10 months of running the game. What's there to be overwhelmed with?
Optimist: We're moving on.
Pessimist: But I still have a whole smaller rant about how absurd the starting ages of elves are.
Optimist: Look is this a rant against Pathfinder or are we going to talk about better systems?
Pessimist: All right fine I'll let you have some things to say but I'll rain on that parade when the time comes. Also the next post will complain about elf ages.

GURPS 3e

Disclaimer: I haven't ran or played any GURPS. I've only read some of the rules so some of this section may be wrong.
Optimist: GURPS stands for "generic universal roleplaying system". It is designed to be a single generic system of rules that can be used for any setting.
Pessimist: Ah hahahaha. Don't tell me you believe that hogwash. "Single set of rules" ha! You wish.
Optimist: Well there's a core rulebook which all of them use as a basis.
Pessimist: Yeah but the core book has different rules depending on your situation. Use 1 of these 2 combat systems. And here's the rules for magic which for some reason isn't covered by normal mechanics and here's the rules for psionics which is for some reason different than magic. Setting things on fire with magic? Use these rules. Setting things on fire with psionics then use an entirely different set of rules for some reason... And there's multiple magic systems which the bottom of the right side bar on "Basic Set" page 151 says that if you don't like this system of magic then change it. So basically "we didn't make universal rules for magic so make your own rules and hope it works out".
Optimist: I like the 2 combat systems because 1 is a super set that's more complex compared to the simplified combat. So you can choose the level of effort vs realism/versatility you desire.
Pessimist: That's fair. And they do an OK job of keeping them separate and letting you know how things work in either situation.
Optimist: Secondly magic is a complicated thing. Many novels out there handle things differently so many types of rules are needed.
Pessimist: You know that's not true because Humans & Heroes (and Mutants & Masterminds) has an actually universal system. What good does it do you to have these different rules for magic if you can't intermix them? So a character from 1 setting can't cross over into another, almost as if the system isn't universal enough to handle these 2 different things *gasp*. And that's exactly the problem with GURPS is that each book defines its own rules because the "universal" rules couldn't cut it. Meaning that each book adds rules which change the core rules so that they step on each other and can't use a single set of mechanics so the whole thing falls apart. Making cross-overs difficult and universal an untrue description.
Optimist: That's sounds like a conclusion. Are we moving on to the next system?
TL;DR: That's the biggest point along with huge lists. The rest is minor.
Pessimist: Not yet. While explaining why a "universal system" isn't universal at all is quite fatal and is the biggest point there's still another important thing to cover: the lists. And 1 more point for which I'll look up a simple question: is the minimum damage in GURPS 1 or 0? Looking at the table of contents the first spot to check is chapter 13 Basic Combat under "Attack" on page 96 which says nothing about damage. But look there's "Making an attack" on the next page (97-98) still no mention. Let's see there's "Damage and Injury" on page 100 that's got to have it but doesn't. It mentions a sidebar on the previous page (99) and says that there's more details in "Injury, Illness, and Fatigue" on page 126. Should I check the advanced combat chapter? Maybe minimum damage is the Gamemaster's judgment call when using basic combat. The previous page (99) sidebar (half a page) under "Basic Weapon Effects" says that weapon damage types are explained in a sidebar on page 73. The following sidebar (p 99) "Effects of Injury" says nothing about minimum damage amount. I'm guessing that the "type of damage" explained on page 73 are like how slashing does 50% more damage which was mentioned earlier so I'll try page 126. Oh that's an entire chapter (15) but there's only 1 section on normal damage which is "General Damage" (page 126) which doesn't answer the question. All right then I guess I'll check out page 73 even though that's the equipment chapter (8). This sidebar says that thrusting attacks have a minimum damage of 1 but doesn't say for other types. On the same page there's a section for "Basic Weapon Damage" which says that minimum damage is 1 for cutting or impaling but for crushing is 0. *Pulls out hair* Why was this so difficult to find? I had to read about 9 different sections which jump around without telling me where to go or answering my question. I even asked someone who has played GURPS to look in his book for minimum damage and he said "it doesn't say". It's fine to have different sections talking about different things but there should be enough cross references that I should be able to check any of these and get directed to the right page. Secondly why is there 2 different answers for minimum damage? It does sound realistic but it is a tedious detail that doesn't add value to the game. As we've already pointed out your system can't account for every tiny detail so only have the things that are worth the cost which this is not.
Optimist: It doesn't sound that tedious. I'm OK with having the 2 different minimum damages.
Pessimist: Well then how about this: since GURPS has an apparent aversion to universal rules there isn't a blanket minimum damage rule, nor is there a rule for melee weapons etc, nor is there a rule for minimum damage for every single possible type of damage (only cutting, impaling, and crushing are covered), so I expect every single place where damage occurs and could under any circumstances have any dice subtracted (that could result in less than 1) to state the minimum damage. For magic this means every single spell with subtractions would need this information since there's also no rule for minimum magic damage. Despite my reasonable expectations Basic Set page 158 has defied them under the description of fire spells which reads "If a wooden shield takes 10 or more fire hits in one turn, the bearer is at -2 DX and 1d-5 damage per turn until he gets rid of it." (there's no minimum damage on page 129-130 either). With an aggressive lack of minimum damage rules I must conclude that this fire can deal negative damage which by simple subtraction would mean that it heals you.
Optimist: Yeah right. What was your other important point about lists?
Pessimist: Comparable to Pathfinder GURPS has a dreaded set of large lists. In the Basic Set book there's 21 full pages of advantages and disadvantages, 23 full pages of skills, 10 full pages of spells (97 spells), and 10 full pages of psionics. That's 64 full pages to read if you'd like to shop for options. And that's just the Basic Set, there's an entire extra book on magic and many other books that add rules. This character creation difficulty helps highlight the redundancy of the system: because there isn't a universal way to handle things they have to try to list every option in the universe which leads to massive lists which are far from covering everything. Compare the spells Reptile Control and Bird Control (Basic Set page 155) which have exactly the same text word for word (even cost etc) only changing the animal type. "If only there was a way to make a spell generalized enough to apply to different kinds of animals but alas it is impossible so I'll just have to list each type of animal as different spells" (Steve Jackson)
Optimist: Yes earlier you made it quite clear that the system is not universal.
Pessimist: I can't over-emphasis it because it is so unacceptable. Steve Jackson's GURPS by Steve Jackson Games should be ashamed of Steve Jackson.
Optimist: Yeah his name is on the cover too many times. Moving on.

Mutants & Masterminds 3e

Optimist: Wait I thought we agreed that we wouldn't cover M&M because we'd cover H&H instead which is based on M&M.
Pessimist: I know but H&H fixed an issue with M&M that was so terrible that I absolutely must complain.
Optimist: All right. Make it quick. Mutants & Masterminds is a point buy system. Being able to afford things is the central balance of the system.
Pessimist: Unless you have magic. Magic allows you to buy anything for a single point. You start out with 150 points so after buying magic for let's say 30 points you can then buy 120 different powers at the strength of 30 points each. That is to say that by simply putting the word "magic" next to a power you can completely ignore the balance of the game and buy everything. Why even bother having character points if someone can so blatantly ignore them? That's like saying "everyone here is equal except that guy whose god-like". What the crap is that? Just put a period and have everyone be balanced like a proper universal system. This section is short but it is perhaps the most infuriating thing I've seen in game rules (with GURPS as a whole being the second) so just insert a whole bunch of rage faces here.

Humans & Heroes 3.9

Optimist: Humans & Heroes is a point buy universal system that uses a set a powers that can have modifiers in order to create any effect using these building blocks. There's a short list of skills and a medium list of advantages and nothing else. All rules are covered by these things.
Pessimist: The skill rewrite is planned for version 3.10 so currently the skills have some missing spots and are a bit complex.
Optimist: All right fine. But the version 3.9 skills aren't that bad.
Pessimist: Well the ambiguous "pick any skill you can think of" is pretty bad but anyway. There are 21 (ish) skills which fit on 31 pages (although could be printed smaller). There are 38 advantages which fit on about 12 pages. There's also godhood...
Optimist: Oh come on. I've listed godhood as a weakness of the game and plan to fix it ASAP.
Pessimist: Yes but I haven't fixed it yet so I'm going to complain in order to be fair. Godhood has only a few things but a couple of them ignore some of the balancing of the game. Supreme is a lot like Magic...
Optimist: Yes but you have to actually be a god-like character to do it. So the game breaking is at least justified.
Pessimist: But it's still game breaking and shouldn't exist. There's a few more that are vague and overpowered but none of them are reasonable but that's enough about godhood. While 41 powers is very small compared to GURPS, the 62 power modifiers (33 pages) are a bit overwhelming.
Optimist: *Sigh* I know. I'm hoping to hide most of them under the complex rules when I make a switch to select either simple or complete rules.
Pessimist: And each power needs to be checked because some have unique modifiers. Even though there's a large list of universal modifiers.
Optimist: That's because the modifiers on the power pages only make sense for that power. It's a way to provide options using a common mechanic. Additionally some of the modifiers on power pages are just there to explain special cases of the universal modifiers.
Pessimist: Providing power options through a single common mechanic? Except that some powers have non-modifier options.
Optimist: This isn't fair that you can see right through my weaknesses. I am aware of those powers and do plan to convert them over to using modifiers.
Pessimist: It isn't fair to promise solutions or that I'm bias for this system. Some of the website is poorly organized and some webpages are huge.
Optimist: How about I just say: I would like to fix all issues that I am aware of.
Pessimist: That's a vague statement that's obviously not going to be completed, like ever. I'll accept that.
Optimist: But seriously there is a reason I have this system. It is actually universal, is nicely balanced,-
Pessimist: I don't know about that since it hasn't been play tested.
Optimist: -and is far less complex than other systems. Making it the best that I know.
Pessimist: I'm sorry but I couldn't hear you over all that bias.

Other Simple Systems

Optimist: I've heard rumors of others games that might-
Pessimist: What's this? Abstract speculation? Duck and cover!
Optimist: Yeah I know but my point is that there are some games that have very few total rules. Some might not have dice or randomness at all.
Pessimist: While these games are plenty versatile the lack of defined rules takes a different direction (a qualitative one) than I want. And obviously this whole rant is based on what I want.
Optimist: I want a quantitative system so that I can use these characters to fight each other. Something specific enough that you can reference it to know whether or not a character is being inconsistent about his abilities. But something truly universal enough to be able to have an ultimate cross-over of ultimate destiny.

Rules for your rules

Optimist: Here are some principles that all systems should pay attention to but many fail.
Principle 1: A universal system needs to have a set of rules that can be used universally rather than a list of every possible thing in the universe.
Pessimist: I'm looking at you GURPS. How would I fire radioactive flaming hornets from my hands with magic? Well I'd need a new spell since that isn't listed or I'd switch to a better system like Humans & Heroes (or M&M) which covers all possible ranged damage under a simple banner of 2 points per rank. Which is infinitely many possibilities under a single rule.
Principle 2: Keep the rule set as small as possible. Only add rules when you absolutely must.
Pessimist: I'm looking at GURPS and Pathfinder for multiple reasons each. Pathfinder has way too many rules and monsters shouldn't add new rules. GURPS if your rulebook really was universal then there should be only 1 book of rules and everything else are settings or campaigns: no other book should have rules at all.
Principle 3: You must ignore some details. To keep the rules simple you should ignore as many details as possible and only add/keep ones that add value and are worth the complexity (which needs to be small).
Pessimist: My GURPS rant about this above is obvious. I surprisingly can't think of any examples of this in Pathfinder. Pathfinder doesn't seem to have any details that are too tiny, the complexity is from normal detail level things.
Principle 4: Don't overwhelm players or Gamemasters. It's a bad sign if there's a long list of something especially if the list is incomplete.
Pessimist: This one is difficult to escape but Pathfinder and GURPS did a poor job of handling this. Humans & Heroes (or M&M) at least tries to keep things small.
TL;DR: To sum these 4: your rules are more complex than they need to be.
Which is the whole point of this post.
Principle 5: Stay balanced: everything from monsters, to players, NPCs, fighters, and wizards should all be on a fair playing field. For a universal system just use the same set of rules for everyone.
Pessimist: Pathfinder is the bigger offender but GURPS is also to blame. Magic and psionic are not equal and I heard that using the fantasy book will overpower all other books. Although I'd be surprised if the super powers book is not stronger still.
Principle 6: Stay organized by keeping everything related in 1 place and by referencing where to find everything that's somewhat related. This is a principle for how to consolidate the rules rather than about the rules themselves.
Pessimist: Again my GURPS rant about this above is obvious. Pathfinder monsters don't have all the info in 1 place. Did you know that the Fire subtype is immune to fire? I didn't for a long time because only some of said monsters list fire immunity in the monster page.
Principle 7: If the system can have more than 1 setting then the rules need be an underlying engine agnostic of the setting.
Pessimist: Looking at Pathfinder is obvious but I'm also blaming GURPS. By trying to list every option they have assumed what is and isn't possible which in turn implies a limited number of settings at best. Like the "One Eye" disadvantage which assumes that your character's species normally has 2 eyes. There's also a lot of things stated about the social impact of magic and psionics. Which is to say that they come bundled with some setting.

Conclusion

Just because the system is popular doesn't mean that it's good (eg Pathfinder). Just because a system says it can handle many things doesn't mean it can (eg GURPS). Just because a system is universal doesn't mean it must be complex. If you want a universal system then play Humans & Heroes. Or for a less bias option play Mutants & Masterminds so long as you avoid Alternate Effects and don't mind some poor balancing of some point costs and don't mind the logic defying humans using a d20 on the ranks and measurements table... Seriously just play Humans & Heroes and not just because I need feedback... I'm just going to leave this link here: http://skyspiral7.github.io/Humans-and-Heroes/