Daily Log-in Rewards and Other Psychological Manipulations in Modern Games

I don’t want to play Guild Wars 2 every day. I like the game, I just don’t want to play it every day. But if I don’t play it every day, I miss out of collecting a whack of useful free stuff as well as earning 2 Gold Coins for doing fairly easy stuff that I generally enjoy doing. But…

I don’t want to play the game every day!

You see, publishers and game developers know that people don’t want to play their games all the time. Similarly, they know that people would be content to never spend any money on their games too if that was possible. And it used to be that this was OK with developers and publishers, with the lot of them generally being content to make and sell games as one would make and sell any other product. But that’s just not the case anymore, as Ryan Cooper explains quite adeptly in this article from about a year ago. It’s a great article that I can’t really add much more to, so I suggest you take a moment to read it, then come back here for further context.

In short, game developers and publishers are employing trained psychologists with the express intent to create systems in their games that manipulate people into spending their time and money on their games. I think that’s a really shitty thing to do. But then, I am a reasonable person who doesn’t feel it’s appropriate to take advantage of others in general.

Anyway, as much as I like Guild Wars 2, both as a game to play and as an example of the kind of amazing games that can be created with today’s technology, there are some things about how ArenaNet conducts business that I disagree with. As such, I am going to go ahead and make a list of those things here. Am I “naming and shaming”? Yeah, yeah I am.

  1. Tax Evasion: Like so many companies, ArenaNet avoids paying state and federal taxes in the USA on their sales through their gem store by having those sales take place using a company based in Ireland. People who choose to avoid paying the taxes they’re supposed to are choosing to hurt every single person who would benefit from those tax dollars. Roads, bridges, hospitals, sewers, armies, scientific studies, disaster relief… pay your fucking fair share of taxes! Do I have proof that ArenaNet is doing this just to avoid paying taxes? No, but why else would their payments be taken by Digital River of Ireland? Same reason all those other companies are doing business there too – to avoid paying taxes…
  2. Creating false scarcity of items by not having them available for purchase at all times. Want to buy a specific cosmetic item? Well too bad, it’s not available right now – better log in every day to check for it! 😐
  3. Including an ugly version of an item with the product to encourage the purchase of a replacement. I first saw this tactic with in Everquest II with the armor one could obtain through questing after Sony Online Entertainment made EQ2 free to play. Gliders are the worst (and most woefully obvious…) instance of this behavior in Guild Wars 2.
  4. Offering progressively better rewards for logging in daily, some of which can only be reliably obtained by doing so, without providing a way to make up for days missed through alternative game play. They do this to make playing the game habitual, diminishing one’s choice to use their product or not.
  5. Allowing a small number of players to dramatically alter the prices of rare crafting components on the Trading Post, because the higher prices ultimately encourage many players to buy Gems with real money and convert the Gems to gold, as it becomes more difficult to earn the required gold through normal game play. “Tin foil hat”, you say? ArenaNet data-mines the crap out of their games; They know exactly what’s going on and they don’t stop or mitigate the toxic behaviour, because it benefits them.
  6. Purposely creating reams of useless items to encourage players to buy more bag and bank space. One can apply this sentiment (of creating an arbitrary limitation and then intentionally stressing that limitation) to various other areas of the game as well. Many “free to play” games do this, but in Guild Wars 2 it is applicable to people who have purchased the full version of the game (as well as its two expansion packs).
  7. “Loot Boxes”: Lucky number seven is ArenaNet’s long history of making desirable items available exclusively through means that are subject to random chance and that can be purchased using real money. It doesn’t matter if the player “always gets something” when what they get isn’t the thing they wanted and all they can do about it is, keep spending money until they either get what they want or they “go broke trying”. The concept is so abusive that it has become illegal in some countries, when it ‘s used in mediums frequented by children (such as online games).

OK you caught me, that first point doesn’t have anything to do with how game publishers/developers are manipulating players, but it sure pisses me off. It’s an underhanded tactic that is worth mentioning, because it undermines the “public good” by reducing the resources available to provide public services. Every year the average person pays more in taxes and gets less for it, while some (including many of the largest corporations) shirk their responsibilities, taking the benefits of taxes without paying their fair share. Fuck those people.

I don’t have a problem with in game goals or activities that reset daily, because it’s convenient to have a “ToDo” list in these games that have a large variety of game play systems to take part in. Really, much of what I do in Guild Wars 2 is complete some “dailies”, because often that’s about all the time and effort I wish to put into the game. I also don’t have a problem with companies selling customers items for use in their games. What I do have a problem with is the manipulation: I don’t like how they knowingly get under one’s skin and plant the, “you’re missing out on something if you don’t play” thoughts; I disapprove of how they rig their systems to pressure players to spend money to make their game less cumbersome/annoying/ugly; I find it distasteful that they perpetrate these misdeeds just to make more money from their players. It’s extra especially despicable when the player must purchase the game and/or pay a monthly subscription while still being subject to these manipulations.

Anyway, when I fire up BurgerTime on my Commodore 64 and play it for a bit, I know that I can just turn it off and come back to it whenever I’d like. It doesn’t demand any investment of my time or even my thoughts beyond when I choose to sit down and play it. Indeed, BurgerTime, like so many other games made in years past, was a game that was created for one simple reason: to be a fun game!

For good and for bad, many modern computer games are complex masterpieces of computer science and digital artwork that are intertwined with an unhealthy smattering of psychological manipulation and unsavoury business ethics. May I suggest that it does not need to be this way; Games can… just be games.


Disclosure: I have absolutely no affiliation with Ryan Cooper or theweek.com; His article was mentioned and linked here (without permission/discussion), because I read it and I felt it was relevant and helpful.

Advertisements

Dev: Seamless World Proof of Concept

So, I had a dream a few years ago now, to make a racing/flying game with puzzles and stuff that takes place on the outside of a single piece of geometry (you know, like how we live on the surface of Earth). However, that sort of thing is easier said than done in every game engine I have found! Carsten of the Cafu Engine pondered the concept with me a while back then, but I was only able to “kinda sorta” make the physics pull objects toward a center point (as Earth pulls us toward its center). Anyhow… last night I did what I figured was the next best thing using the Blender Game Engine.

My game takes place on a world that is the shape of a cube. This presents the issue of what to do with the player when they reach the edge of a side. We can speculate what would happen in reality for a good long while, but practically speaking for the game I figured it would make for a decent experience if I moved the cube under the player. That way the player wouldn’t loose any momentum, change directions, or see a loading screen. Instead, the cube would rotate when they hit the trigger at the edge of the map and the player would continue moving onto the next side of the cube.

I accomplished this using Logic Bricks entirely and it works really well, for the most part (a bit flaky on corners and you go too slow or too fast anywhere). It’s really quite brilliant if you ask me. 🙂 But… I don’t like it! You’d think I’d love it, because it is pretty awesome, but it doesn’t work so well when flying really quickly and it’s kind of a pain in the arse to work on when populating each side with stuff. Even using layers, there’s still the issue of having to make things at abnormal orientations. So I think I’m OK with the more traditional “level” system we have in games. To ease flying around the edge of the map, I’ll slope the invisible wall… maybe apply an animated texture to it so that it looks like energy rather than just being invisible… more testing to do!

You can download this proof of concept from my One Drive here: seamless_single_cube_world_PoC.tar.bz2 and play around with it if you’d like. The whole of it is GPL v3, so feel free to use any of if it’s helpful for you. This took me a few hours to figure out, iterate, and test btw. We live, we learn, we… go make another coffee!

Tip of the Day: Don’t forget to apply scale and rotation! Saves a lot of head scratching… 🙂

Dev: Python + Blender GE is a Great Time!

This is what I wanted from game development! Honestly, as I have said before a few times, I couldn’t give a rat’s ass about where a computer puts its pointers or memory locations, etc. This isn’t the 1960s… computer’s these days can do that sort of… COMPUTING way more efficiently than we human beings, so why waste our time and head-space mucking with those things?

Learning the syntax for Python and the Blender Game Engine API have certainly been time consuming, but that time has also been extremely fruitful and satisfying. In just a few weeks from not knowing anything about either, I have become comfortable with Blender and implemented the following systems into my game:

  • A functional testing map (I had a more detailed one, but I restarted the file)
  • Character movement with the keyboard and mouse.
  • Gliding – jump into the air and fly with full yaw, pitch, roll controls.
  • Turbo – both on the ground and in the air.
  • 4 of Loop’s physical shapes, complete with unique movement stats / purposes.
  • Mech Jump, for the mech shape.
  • The framework for other shape keybindings and stats.
  • And more!

The best part is that at this point, all of those things work properly. All I have to do with the those systems is fix any minor bugs that I find with further testing. At this point I can basically move on from the gliding and driving mechanics to making the turret turning mechanic for the tank and the mech. And that right there is an important note thing to note: I am going to put in a tank with a turret and a two legged “mech” type vehicle, because *I CAN*! I totally would not have done those had I been using STK, as the amount of work to create their movement would have been far too much. Yet with BGE, I look at it as gaining the opportunity to learn how to animate models, because… heck, why not? That kind of stuff is fun!

If you’re looking to kill some time, feel free to download what I’ve completed so far and fly around on the massive empty map. Gliding around sure seems easy when there isn’t anything to slam into… 🙂

Check it out on Github: Loop Dipole and the Chaoties

It runs great with computer, which it really should as it’s an empty map… but still, in case it doesn’t for you, here are my basic specs:

AMD FX-8230 @ 4GHz
AMD R9-270
8GB DDR3 2133MHz RAM
Linux Mint 64Bit
Catalyst Driver 14.501.1003
XFCE Desktop
Blender 2.71

Ps. I would like to extend a giant thank you to the kind folks who created the documentation on blender.org, blenderartists.org, tutorialsforblender3d.com, and the many kind folks who have posted tutorials on Youtube. Seriously could not do any of this stuff without you amazing people to show me, “oh… THAT’S how that thing actually works!”.