Here's Why Non-consensual PvP is Wrong

The previous posts I’ve written about non-consensual PvP are probably overly complex and don’t really make my point well. This morning, while playing some other games, I struck upon what I feel is the perfect illustration.

Let’s say that you’re tasked with designing a park. You can design and build it however you want, with a nearly unlimited budget. You do a wonderful job with large nature spaces, basketball courts, tennis courts, an area with tables where people can play chess or go against each other, even places specially designed for people who want to cooperate to build things, and more. The entire neighborhood comes to your park and really enjoys it.

That is until someone decides they want to play dodgeball. There’s a dodgeball group that comes in every so often and plays with each other. But when one of them shows up and none of the others are there, they just go around the park hitting people in the head to “start impromptu games of dodgeball”. People tell them to stop, they’re not there to play dodgeball, but rather want to play basketball or chess, or just want to have a pleasant walk in the park. In response, the dodgeball people yell, “Git gud!” or “Stop being such a carebear!” while continuing to pelt the non-dodgeball players as painfully as they’re able.

So the people who don’t want to play dodgeball but still want to enjoy your park come to you and ask you to fix things. What is the correct answer?

  1. Do nothing
  2. Create an elaborate system where if someone hits others with a dodgeball who doesn’t want to be, third parties are given bribes to hit the original offender with dodgeballs
  3. Create a special place in the park where dodgeball can be played and prevent it from being played anywhere else

Option one, obviously, does absolutely nothing for the people that just want to enjoy your park without the risk of being hit in the head with a ball. Eventually, the only people who can enjoy your park are the people who want to play dodgeball.

Option two creates a system where the person who bothers people and hurts people is rewarded by helping them to achieve their goal, in other words it helps the harasser to find people to play dodgeball with them. This does nothing to solve the problem for the people who want to enjoy your park without being forced to dodge balls. Eventually, the only people who can enjoy your park are the people who want to play dodgeball.

Option three makes it so that everyone can reliably enjoy your park, no matter what they want to do there. Well, except for the people that just want to go around hitting random passersby in the head with dodgeballs.

But, please, let’s stop claiming that options one and two are valid choices for park designers to create parks that everyone can enjoy, even the ones that don’t want to play dodgeball. Just put up a sign that says, “Dodgeball Park” and be done with it.

Thanks for Convincing Me to Cancel My Fallout 76 Preorder

I just saw this Reddit post of a video talking about the upcoming Bethesda game, Fallout 76. Previously to seeing this video, I was looking forward to playing Fallout 76. I have owned and played every other Fallout game and enjoyed them immensely. But I just canceled my preorder of the game and will not be playing it because the designers made the decision to allow non-consensual PvP.

From the interview:

When you shoot someone, you do a little bit of damage … it’s like slapping someone in a bar.

The issue is when you don’t want to engage in it, right? Someone’s coming up to you and slapping you and slapping you and slapping you. Um, and you’re like, “I really don’t want to deal with this right now.” Um, we have a lot of ways you can get away from them, but we still like it where they do, if they keep going at it, they have the ability to kill you. Which sounds terrible. We like to turn that into a dramatic moment. So the player that kills someone that didn’t want to engage in [non-consensual PvP] … then becomes a “wanted murderer”.

So, there is no reward, you get no [money], you get no [experience points], you get nothing for becoming a wanted murderer except for the kind of social incentives people have online to be assholes. Which, evidently, there’s quite a few.

So here they’re admitting that they’re intentionally creating gameplay opportunities for people to literally be assholes.

They go on to explain the mechanism where they paint a target on the back of the “wanted murderer” for all the people that enjoy PvP, which is all well and good. But that still doesn’t prevent or even discourage people from engaging in non-consensual PvP. It just, once again, is a system that is designed to make people who don’t want to engage in PvP into content for people who do under the guise of “PvP creates risk”, all the while admitting they’re catering to “assholes”.

Thanks for saving me almost ninety dollars Bethesda:

Fallout preorder canceled

The Dvorak Keyboard Layout

I’ve been using the Dvorak keyboard layout for over 18 years now. Occasionally, I get questions about my motivations, the benefits, the disadvantages, and how long it took to convert. Since I’ve been asked more than three times, I figured I’d take the advice of some smart people and write down the answer.

History of the QWERTY layout

The original keyboard layout for the Type Writer had a roughly alphabetic ordering arranged like a piano keyboard with two rows of numbers and letters. Through use, they found that this layout was prone to jams when neighboring keys were struck in rapid succession. Over time, the layout was shifted to minimize these jams, giving us the beginnings of the arrangement we’re familiar with today. It was Remington that popularized the QWERTY layout with their Remington No. 2 in 1878, the first typewriter to have both upper- and lower-case letters by use of a Shift key.

What is the Dvorak layout?

For those of you who are only familiar with the QWERTY layout, the Dvorak layout looks like this:

Dvorak Keyboard Layout

It was designed about sixty years after the popularization of the standard QWERTY keyboard. It was designed to ameliorate a number of what the inventor, Dr. August Dvorak, saw as drawbacks of the standard keyboard. Through study of letter frequencies and the physiology of typing he came up with the following principles:

  • Words should be typed by alternating between the two hands
  • The most common letters and bigrams should be on the home row
  • The least common letters should be on the bottom row
  • The right hand should do more of the typing because most people are right-handed

And the Dvorak keyboard is largely successful at these. On the Dvorak layout, English words can be typed with 70% of the activity on the home row, 22% on the top row, and only 8% on the bottom row. This is in comparison to the QWERTY layout where it is 32%, 52%, and 16%, respectively. This alone reduces fatigue and can increase typing speed. There are also claims that in order to type the same words, one’s fingers need to move 15% less distance on average on Dvorak than on QWERTY, another fatigue savings.

My history with typing

I originally learned to type on my dad’s old typewriter from college when I was five years old. I taught myself to, mostly, touch type then but, as you can imagine, I wasn’t writing much long-form at that age so I didn’t have much use for it. It wasn’t until I was about ten when we got our first home computer that I really learned to touch type. Of course, this was on the QWERTY layout because common computers just didn’t have easily reprogrammable keyboards then. By the end of high school in 1989, I was touch typing on QWERTY at about 80wpm.

It wasn’t until the mid-1990s that alternate keyboard layouts became commonplace. Mostly this was because computer operating systems had to support them for non-English languages. But even then, the support for something like Dvorak was spotty because performance-critical programs often read directly from the keyboard instead of allowing the operating system to translate.

It was in 2000 that I got my hands on a pair of keyboards that were switchable between Dvorak and QWERTY at the touch of a button on the keyboard. This was what finally allowed me to completely convert. That and being out of work for an extended period because of the dotcom crash.

My experience since converting

Some common questions I get asked:

Q: Why did you convert?
A: I had been hearing a lot about the benefits of the Dvorak layout for years. I wanted to try it out for myself to see if they were correct.

Q: How long did it take to convert?
A: It took about a month to get to the point where I could reliably touch type again, about 30-45wpm. It took an additional month to get to the point where I could touch type at comparable speeds to before the conversion, about 80wpm.

Q: What benefits have you experienced?
A: After a period of adjustment of a few months where my right arm was noticeably sore after a day of heavy typing, I felt less strain in my hands at the end of the day than before. My right arm was sore because the Dvorak layout is designed to put more of the typing activity on the right hand, which my hands were not used to after a couple decades of typing on QWERTY. When I was still typing on QWERTY, my hands would pop and click occasionally after a lot of typing. This completely went away with the conversion and has never come back.

Q: What about the supposed speed benefit?
A: I have not experienced the speed benefit often quoted. Though, most of the studies that have shown a speed benefit were for people that were typing from already written documents or transcribing spoken words. Since I always compose as I type, I suppose I just don’t think faster than 80wpm 😀

Q: What drawbacks have you seen?
A: There have only been two. First, was that my right arm was sore for a period of a few months on heavy typing days. Second, that I can’t share my keyboard easily with others. Even when I have a switchable keyboard where I can switch it back to QWERTY, I often purchase a keyboard with the Dvorak layout printed on it which prevents some people from using it.

Q: Have the benefits outweighed the drawbacks?
A: Most definitely.

Q: Do you recommend the Dvorak layout to others?
A: Yes, though only as an option for reducing fatigue or repetitive strain injuries. In the latter case, they should consult their doctor first before relying on my anecdotal evidence.

Q: Have you tried the Colemak layout? Why or why not?
A: No, I haven’t. I don’t believe that, given that I’ve already converted away from QWERTY, Colemak offers any significant benefit over Dvorak to justify the 1-2 months it would take for me to convert over.


My typing journey has been rather unique and whether my experience is helpful to others is really for them to decide. I do hope, though, by laying it all out that my perspective can help others with their decision about what keyboard layout will work best for them.

The Power of Myth

My daughter, Raven, chose to move in with me when she was 14. I left her, her mother, and her siblings when Raven was five years old. I kept in touch and did my best to support them as and when I could but still … I wasn’t there for Raven many, many times when she needed me simply because I wasn’t there. And yet, Raven chose to leave her mother and the rest of her family to come live with me. Why she chose to do that is her story to tell, so I won’t go into it here. What I will talk about is how she makes me feel, as a father.

One thing that I have been able to share with Raven is my love of movies. Movies tell stories that expose the truth of things but do so by telling them only partially or in a way that isn’t entirely factual. Even the best “based on a true story” movies cut things out or elide certain facts that would get in the way of the story the filmmaker is trying to tell. Like the movie, Big Fish, yes, the father’s stories are lies, but they are told artfully so that you want to listen to them and therefore learn the underlying truth, the moral of the story.

In our family, Raven and I, we have several stories about ourselves and our family that we, in our heart of hearts, acknowledge aren’t completely true. They are stories that, like movies, become true in the telling. They are stories that expose the underlying magic of the world and inspire us to live up to it. And that is the power of myth. The power to inspire us because we know myths aren’t real but we wish they were and we think if we wish hard enough and try hard enough, we can make them real.

A couple years ago, something happened in the world that was devastating and scary for many people. Raven was out with her friends and texted me, “Dad, make it stop.” It was one of my proudest moments as a father because it felt to me like, even if it was only a story, part of her believed that I was powerful enough to actually stop this calamity. Believed the way so very many of us did when we were very little and our parents were these all-powerful, benevolent beings that were put here on this Earth with the sole purpose to protect and care just for us. She was in her early 20s at the time, and the thought brought me to tears because I felt like this was the last time that she would probably see me in that way. As we all become adults, we come to the realization that our parents are human, with human frailties and failings. I know that she has begun that process and perhaps even has completed it by now.

But earlier tonight as she and I were talking, she told a story of how she describes to people she knows how important a certain friend of hers is to her. She says that if the two of them and several innocents were trapped in a burning building, that she would get her friend out and then stay outside to make certain they were safe, because she can’t bear the thought of losing them. I jokingly asked what would she do if both her friend and I were trapped in the burning building with her. With very little hesitation, she said that she would save her friend because she knows that I can save myself, that if she tried to save me she would probably just get in the way. “Or,” she said, “most likely you would smash out a window, we would all jump out and we’d play ‘Hop On Pop’ on the way down.”

Perhaps there still is a part of her that needs to believe that her Dad, even now, is the invincible, omnipotent, and benevolent protector. Knowing that I am human, with all of the flaws that brings with it, I’m not sure that I deserve that honor. But maybe … just maybe … if I wish hard enough and try hard enough … I can?

The Ethics of Helping Build Military Technology

Some 3,000 Google employees recently signed a letter stating that they don’t believe that the company should be involved in Project Maven, an AI surveillance tool likely to be used in more accurate targeting of military drone strikes. They mention a few US military contractors in the letter: Palantir, General Dynamics, and Raytheon. I found this interesting because at one point in my career, I worked for Raytheon. It was during some of the extended tensions between the US and Iraq between the Gulf War and the Iraq War. At the time, many Raytheon employees were proud that the company helped to design and build the Patriot missile. This information had a different effect on me, though. I had a serious conversation with myself about whether I wanted to help build something that would be used to kill people.

I wasn’t on any project that built weapons technology. While I was working on a contract for the Department of Defense, it was in cooperation with the Big Three auto manufacturers working on factory emissions testing. But it was possible that I could be asked to work on a weapons contract because Raytheon did participate in those. I figured it was better to determine my stance on whether I was alright working on weapons contracts before I was asked to do so than to try to work through all the complex feelings in the heat of the moment.

I won’t go through the various thought processes I had other than to explain my conclusion, that I would not assist in building weapons or even things like missile guidance systems that would make weapons more efficient at killing. And if told it was a job requirement and I had to participate, then I would quit my job rather than be complicit in such activity. I felt, then as now, that by building or improving weapons I was at least partially responsible for how they were used. I couldn’t control how the US military would employ those weapons but I could control my participation in the process.

I’m not squeamish nor a pacifist. I understand that weapons and the military are a necessity for defending our country. But I do not believe that all of what the US military is ordered to do is required for the defense of our country or our way of life. And since I cannot trust those in power to use our military arsenal responsibly, I cannot in good conscience add to or improve that arsenal.

So I applaud and support the signatories of the Google Project Maven letter. I’m glad that they are raising these objections and opening up these questions for debate. Because killing, while sometimes necessary, should never be undertaken lightly. And everyone who participates in the mechanisms and machinery of war is responsible for their own participation in that process, however small. People should confront themselves with that fact, examine their own conscience, and decide if their level of participation is something they can live with and what they should do if it isn’t.

Game Design: Non-consensual PvP is Simply Bad Design

I’ve been looking forward to the release of Rare’s Sea of Thieves for a couple months now. I think it is a really well-designed and -implemented game. The UI of the game is easy and intuitive. The water simulation is amazing. The sailing physics are both reasonably accurate while being inaccurate in just the right ways to make it still fun. And it has great mechanics that make it possible for people just starting out to play side-by-side with long-time veterans without either one of them feeling like they’re wasting their time. But I probably won’t play the game at all unless I’m playing with friends because a key piece of the design is non-consensual PvP.

Before we go too far, let’s define some terms:

  • consent — permission for something to happen or agreement to do something - so something non-consensual is for something to happen without one’s explicit permission or agreement
  • PvE — Player versus Environment - a game type where players face off against the game environment
  • PvP — Player versus Player - a game type where players face off against each other

So, given the above definitions, “non-consensual PvP” is when one can find oneself in a PvP encounter with another player or players without explicit consent to that specific encounter. This differs from many shoot-em-up PvP games such as Destiny’s and Destiny 2’s Crucible or the Halo series Multiplayer which are consensual because one has to explicitly choose the PvP mode every time.

There are a couple things I want to examine here. The first is Bartle’s taxonomy of player types. It describes in broad strokes the types of activities different players find fun within a game. The second is how certain game experiences are predicated on how players interact with each other. And then I’ll wrap it up in a nice little bow.

In Bartle’s taxonomy there are four player types or motivations:

  • Achiever: Enjoys playing with the game systems to become the “best”, however the game measures that (points, gold, experience, etc)
  • Explorer: Enjoys playing against the game systems to know the most about it or about how it works
  • Competitor:1 Enjoys playing against other players to defeat them or become better than them
  • Socializer: Enjoys playing with other players to share experiences

All of these are valid play styles and none are better or worse than the others. As a matter of fact, many are complementary. For example, the Explorer motivation may help someone be a better Achiever or Competitor because they understand things about the game that other Achievers or Competitors might not. Being an Explorer can be lonely so it’s nice to have a Socializer along to talk to. And so on.

And all players are generally a mix of two or more of these to varying degrees. There’s even a Bartle test to help you determine the approximate mix of motivations you have. I, myself, am generally strongly motivated by Socializer and Explorer, somewhat by Achiever, and not at all by Competitor. This shows in the games I choose to play. I enjoy PvE games, especially ones with cooperative multiplayer. And I almost never play games that are primarily or exclusively PvP. Now that we understand what motivates players, let’s look at some game activities in Sea of Thieves.

  • Sailing
    • Explorer likes learning how the sailing system works and discovering new unmapped locations
    • Socializer likes sailing with others, perhaps playing music or dancing
  • Gold Hoarders Voyages
    • Achiever likes gold!
    • Explorer likes figuring out ways to satisfy voyages the fastest or finding exploits
    • Socializer likes helping others complete voyages
  • Merchant Guild Voyages
    • Achiever likes gold!
    • Explorer likes keeping track of where to find all the various commodities so they can complete these fast
    • Socializer likes helping others complete voyages
  • Combat with other players
    • Achiever likes gold!
    • Competitor likes defeating other players

This is great! There is a good mix of activities and most of them multiple player types can enjoy. But there’s one problem. While the Achiever and Explorer motivations can be satisfied as long as the game is running, Socializer and Competitor motivations require other players. If there are no other players to cooperate with, Socializers will find another game to play. If there are no other players to fight, Competitors will find another game to play. Sea of Thieves “solved” this problem by dumping everyone in a single open world where there will always be other players. Great, right? Not exactly.

In a game that allows non-consensual PvP, the game allows players to be forced into a game activity that they may not enjoy or want to play.2 As an example, let’s say we have someone that is solely motivated as an Achiever, A, and another that is solely motivated as a Competitor, C:

  1. A is doing a Gold Hoarder voyage, sailing to find some treasure
  2. C sees A and attacks
  3. A can decide to:
    1. Continue on their voyage hoping to outrun C
    2. Turn and fight, hoping to defeat C

There are four possible outcomes:

  1. A outruns C - C has no fun because they didn’t get to fight, A has no fun because they have to spend time avoiding C which doesn’t help them further their goal
  2. C sinks A as they’re running away - A has no fun because they got sunk and have to start their voyage over, perhaps even losing the gold they invested in purchasing the voyage (negative progress by losing gold is a pretty unenjoyable experience for an Achiever like A)
  3. A turns to fight and defeats C - A may have fun if C has chests A can steal (but since C is purely motivated as a Competitor, they don’t care about chests and probably won’t have any)
  4. C defeats A - Same problem as #2

In three (and sometimes all four) out of four of these outcomes, at least one player is not enjoying themselves. Players who consistently don’t enjoy themselves in your game will leave and find another game where they will enjoy themselves.

So how do we solve this problem? It’s really, really simple. EverQuest discovered the solution about twenty years ago: have players tell you what kind of player they are by selecting whether they want to play on a PvE or PvP server. This way all of the people that have the Competitor motivation end up on PvP servers and can have fun the way they want to. And the people without the Competitor motivation can play the game and have fun the way they want to. Everyone wins.

Or simply don’t have non-consensual PvP in your game.

  1. This motivation was originally called “Killer” but I prefer the term “Competitor” because it is less judgmental 

  2. Some blame the Competitor for forcing others to play the game “their way” but it isn’t the Competitor’s fault. They enjoy what they enjoy. It isn’t the Competitor’s fault the game is designed this way any more than it is the Socializer’s fault for not enjoying being target practice for the Competitor. 

Ad Tools Using Autofill for Tracking

According to this article, there are tools being used to track you by triggering the autofill features of your browser. The ad brokers have built these systems to do this in the background where you don’t even know it is happening. According to the article, it is only attempting to trigger your username from the password manager built in to your browser, but there’s nothing stopping them from using the same technique to trigger your password, your address, or anything else that you have set up to autofill in forms.

Here’s how to turn off Autofill in all the major browsers:


  1. Click the Chrome menu icon — the three dots in the upper right of the window
  2. Select the Settings menu
  3. Scroll to the bottom of the page and click “Advanced”
  4. Scroll to the “Passwords and forms” section
  5. Click “Autofill settings”
  6. Ensure the first item says “Off”

Chrome help page


  1. Click on the Firefox menu icon — the three lines in the top right of the window
  2. Click on Options
  3. Choose the Privacy icon
  4. In the History section choose Firefox will: “Use custom settings for history”
  5. Uncheck “Remember search and form history”
  6. Click OK

Firefox help page

Internet Explorer

  1. Click on the Tools menu icon
  2. Click on Internet Options
  3. Select the Content tab
  4. In the AutoComplete section click on Settings
  5. Uncheck Forms and User Names and Passwords on Forms
  6. Click OK in the AutoComplete Settings Window
  7. Click OK in the Internet Options Window

Internet Explorer help page


  1. Click on “Safari” in the menu bar and select “Preferences”
  2. Click on the “Autofill” tab in the Preferences window
  3. Uncheck each of the boxes next to autofill options

Safari help page

Be safe out there!

CoD Player "Swats" Teammate, Gets Innocent Killed?

There’s a news story going around about the Call of Duty players who got into an argument over an online wager. If what the stories are saying is true, it gets so heated that threats ensue and one gives the other a fake home address in a “come at me bro” show of bravado. The other takes the address and gives it to a known swatter, a person who “swats” people by contacting the police in such a way as to make them believe there is a crisis at the target address. One thing leads to another and a 28-year-old man in Wichita is now dead.

Let’s leave aside the question of culpability of the law enforcement involved for now … when is the news media going to stop calling swatting a “prank”?!?

This isn’t the first time that swatting has resulted in death or serious injury, let alone the psychological terror and humiliation of being attacked and grilled by police in your own home.

What would be the charge if someone gave an address to a person who is widely known to burn down people’s houses “as a prank”? If the pyromaniac went through with the crime at the specified address, wouldn’t that be conspiracy to commit arson at least? And if someone died in the fire? Wouldn’t the charge of murder be discussed? I don’t see how swatting is any different.1

A man is dead. If things actually occurred the way things appear, this was not a “prank”. This was a threat of great bodily injury, followed by specific actions intended to place someone in harm’s way, resulting in someone else’s death. This was a serious crime and it should be treated as such.

  1. I suppose the difference is that the arsonist in my example is committing a crime, whereas the police are not even though someone dies as a direct result of the inciter’s and swatter’s actions. So the rule about someone dying in the commission of a crime doesn’t apply. 

Simpler Elixir Travis Configuration

I’ve been playing around with building simple Phoenix framework sites using Elixir lately. It’s been a lot of fun really digging in and figuring out my own best practices as I go along. One of the obvious ones is setting things up so that all my tests can be run on Travis. I found an article that described how to configure one’s Phoenix project for Travis. But there was a part that always bugged me about it.

First, a bit about how Elixir applications work. It is common for Elixir applications to have a series of one or more configuration files. config.exs contains the default or global configuration. Optionally, there are three other configuration override files each for dev, test, and prod environments named dev.exs, test.exs, and prod.exs respectively. They override any defaults from config.exs in their respective environments. They do this by importing the environment-specific configuration into the global one (see the import_config line):

which I think is a pretty cool system.

The part that bugged me about the article I linked above is that the standard Phoenix test.exs configuration is:

We need to modify only one line of this configuration in order to make it work on Travis, line 16. If we set the database password to empty, it’s all good. What the article suggests is to create a separate travis.exs configuration that has all of the same information in it as test.exs with that one line changed. As someone who spent a number of years working in QA, this kind of duplication is a big red flag! Now if any line other than line 16 changes in test.exs, we have to remember to change it in travis.exs also. And we have to remember that line 16 is the “special” line that should be different 😱

We already have a mechanism for overriding configuration values though, the same one we use in config.exs in every Phoenix application. So in my latest project, I rewrote my test.exs with line 22 added:

This added line checks to see if it is being run in a CI environment, like Travis, and imports the ci.exs configuration file:

which overrides the one setting that we want changed. Additionally, if I later choose to have multiple CI environments for any reason, I can further extend this pattern to customize for Travis versus CircleCI or AppVeyor.

Elixir’s ability to create domain-specific languages like the configuration language we see here is similar to Ruby’s and it is one of the main reasons I really enjoy both languages. Being able to easily call standard Elixir code in the middle of what would typically be a simple data file is what separates a DSL like Mix.Config from JSON or YAML. Leveraging that ability can save us a lot of heartache and manual labor in the long run.

A Christmas Computer Bug and the Future of Files

I enjoy Tom Scott’s videos. He’s got a great way of looking at things and is very talented at spelling things out so that everyone can understand. I just stumbled on the above-linked video and thought it was interesting that he came to the same conclusions that I did several years back.

He explains it much better than I did, of course 😆

Find older posts


Copyright © 2010-2018 by Lee Dohm