Pokémon GO: A Case of Game Design Mistake

Pokémon GO was a massive success. Really massive that even the server overwhelmed by the sheer number of enthusiasts. Youngsters downloaded the app, through legal means or even unofficially released APK, even some willingly to change their Apple ID region just to download Pokémon GO.

Fast forward 1 month and a half. The number of player is still staggeringly high, BUT it’s already peaking. The number is slowly declining, as many players become weary of playing the game. Well, the case of mobile games are retention rate of 20% even after a week of playtime is considered exceptional. Pokémon GO is still exceptional. Recently, more and more articles talk about the decline of Pokémon GO Daily Active Users (DAU).

Many factors contribute to the decline, like many cheaters, cheating engine, not so clear goals, repetitive, and so on. What I want to talk here is how Pokémon GO game design itself contribute to its decline.

DISCLAIMER: This post is just a not-so-professional opinion of mine, as a former Pokémon GO trainer, and also as a fellow game designer/programmer. I have no relationship with any Niantic employees nor the development process of Pokémon GO. This post means no offense towards the game, I just want to explain some of Pokémon GO’s weak links.

It’s Full of Grinding

Leveling is an important short-term goal in a game. Without short-term goals, player will find the game “aimless”. Pokémon GO provides players with 4 consistent ways to gain XP: visit PokéStops, catch a Pokémon, evolve existing Pokémon, or hatch the eggs. Gym battle is not considered as a consistent way to gain XP. At the beginning of the game, it is quite easy to level up by catching Pokémon. It is normal, it is the norm, and it is the standard of gameplay. Things beginning to unfold for better or worse at higher level. At level 20 above, leveling becomes a chore. Why? The problem is 2 folds:

  1. XP requirement is increasing. It is normal, at a glance, but the problem lies here: every Pokémon you catch worth the same amount of XP: base 100 XP. The game doesn’t care whether you catch Dragonite (rare) CP 2000 or Zubat (very common) CP 70, if you’ve added them to Pokédex once, they only worth 100 XP for every catch. For a case of evolve to gain XP, in Pokémon GO, to evolve the Pokémon, instead of fighting like the main game franchise, you need to catch the same Pokémon in one evolution line, over and over. So, to make a Gyarados out of Magikarp, players need to catch Magikarp 133 times, roughly. To level up a trainer from lvl 19 to 20, player needs to accumulate 50k worth of XP, which roughly translate to catching 500 Pokémon.
  2. To rub salt to the wound, the higher level Trainer, the higher chance of failure capturing a Pokémon. The number of Pokéballs spent usually much higher than the number of Pokéballs gained from 1 PokéStop. To gain XP, players need to catch Pokémon, but Niantic purposefully scale the game harder, in an annoying way. Niantic has solution: buy the Pokéballs from the in-app store. That’s a valid monetization strategy, of course.

To sum up this section: the grinding itself is not fun. It is a chore.

Solution: adjust the XP gains for high level trainer and rare Pokémon encounter.

A Cub in the Lions’ Den

What does it mean? This is one of the most interesting part. To simply put, the beginners are put in the same pool with the veteran. It’s important to remember that as Pokémon GO use this whole world as the playground, new players will automatically thrown into a world populated (and unfortunately, dominated) by high-level players, already. Beginners with Charmander CP 25 walk through the city full of Dragonite CP 1500. It is intimidating for new players who have recently join the fray to face other players who have played them game since launch day.

For a long standing popular game like Clash of Clans, for example, low level player will be pitted against another low level player, and veteran vice versa. I liked how Destiny PvP matchmaking was (not again, due to some player backlash): players will enter the matchmaking with other players with “similar” skill. Bungie didn’t mention what the deciding factors were, but it could be safe to say that the Kill/Death Ratio and personal score in a match contribute to the matchmaking calculation. Pokémon GO has no matchmaking system, so players are given the freedom whom to face and whom to avoid. But, in this world already dominated by high-level players, legit or cheaters, the decision is harder to make.

The game will not be fun if the game runs onesidedly. Unfair game lacks of challenge is not fun to play. It is both boring and frustrating.

Solution: Make the Pokémon GO tiered/layered. Beginners will start in the low-tiered world with more common Pokémon to catch, while veteran will play in their own high-tiered world with more chance to encounter rarer Pokémon, or even Legendaries. Low-tiered player can undergo a tier-promotion, through level up or even promotion exam.

Limited Exploration

Pokémon GO thrive on one Pokémon motto: Gotta Catch’em All. The widely popular meme is “I wanna be the very best, like no one ever was”.

The main premise of Pokémon GO is to explore and find all Pokémon you can find. The problem is, the exploration is limited, geographically. PokéStops are not everywhere. Rural area has limited PokéStops and that hampering the number of occurence of encountering Pokémon. If encountering common Pokémon is already hard, what about finding rare Pokémon? Limited PokéStops also make it harder to collect Pokéballs and gain XP via getting eggs or visiting PokéStops.

For people who live in mountain with lack of access to visible body of water in the map, it is very hard to find aquatic Pokémon. How can they make Gyarados out of Magikarp if Magikarp themselves are hard to find?

What about players who works full-time, 8-to-5, or busy with their own real-world business? Well, they can collect any Pokémon they found along the way home, while planning where to go during weekends. Some place have particular Pokémon, so let’s say you wanna make Ninetales out of Vulpix, but you can only find Vulpix in a place you usually don’t visit (for extreme example: cemetery), you can either stay at that place long enough to collect more Vulpix, or just give it up and go on with the live. For some people, perhaps it is the time to give up the game.

Solution: No particular solution. Geographically-distributed Pokémon is already make sense though it makes harder to catch’em all.

So?

Well, Pokémon GO is still at its earliest stage and I believe Niantic has unannounced plans to implements for Pokémon GO. I believe that Pokémon GO will undergo transformation just like how Destiny, once an overhyped mediocre FPS, finally shaped into a decent, satisfying, and addicting game after 1 year. Feedback will certainly make Pokémon GO better experience. But that’s it, for now, I am retiring from Pokémon GO and still have no plan to go back for a while.

Remember, there is no overnight success.

I welcome any constructive comments or discussion, if any.

— 2016, Rido Ramadan, a.k.a EdgarDrake

Advertisements

Indonesia and Our Way of Doing

My country, Indonesia, can be said a bit weird. We adopt the tons of technologies from the west, it is not weird. We use them daily, it is not weird. We use it our own way, in a a kind of weird way. I want to talk about the usage of internet.

Decisive Digital Identity

As I read many articles in western tech journalistic web, I understood something that is very uncommon in Indonesia: How email is very important, and it won’t just die. However, in Indonesia, our collective understanding about how important email is is very low. People here see email not as the basic of digital communication method, but as a sidekick technology where you open after registering some account. That, and only that.

I always thought that email address is one way for you to identify who you really are in the internet. Having a real name in email address is very important for serious matter which requires attention. Well, that, my friend, doesn’t apply here.

Another thing to identify who you really are nowadays: phone number. In most developed country, phone number is just like a social security number, your number points to who you really are and vice versa. Well, not here either. Many people either have one, two, or even more than three phone numbers because prepaid card is selling like crazy and neither require authorized activation (not until recently). People use different card for different purpose, like SIM A for internet, SIM B for SMS. LOL.

So, those two important identification method: email and phone number is deemed as not necessarily important. If you lose your phone, you can just change to a new number. If you switch carrier, you will automatically discard your previous number. If your email address is considered “alay” (Indonesian slang term for silly/ridiculous), just register a new email address. Nothing lasts long.

Instant Messaging

The internet and handphone in Indonesia, gain momentum circa 1997. Like I stated above, email did not boom, but SMS were very booming. The reason is simple: to email somebody, you need to have computer tethered to telephone wire (back then, internet using dial up, while GPRS did not gain enough traction), while to text somebody, all you need is prepaid balance and phone which always in your hand. Many people drained the prepaid balance down to negative (some operators allow up to some threshold), then switched to new number. Indonesian just like to talk very much and texting become normal occurence. Prepaid card were selling like hotcakes. Then, come the Age of Blackberry, when people understand how important 3G and internet are. However, as talkative as we are, we use anykind of IMs. Yahoo Messenger, Skype, eBuddy, MSN, mIRC, anything. Circa 2010s, Whatsapp penetrated our market, then others similar to WA followed.

There’s a saying:

If USA has Whatsapp,
Japan has LINE,
South Korea has Kakao Talk,
China has WeChat,
then Indonesia has the time to play them all.

Even some of us use the not-so-popular Path Talk. By now, I have asserted that many people not using email for daily communication.

The Missed Opportunity

As a Generation Y person, I somehow find that email is very important in daily life. Serious and important matter always sent directly by email. Not by IM, nor Facebook. But not many people has the same view as I do. Even many Generation X to Z fellow never consider how important an email is.

Let’s say that some email I consider important are job offer, letter of acceptance, conference proceeding invitation, financial report, and suspicious login warning. Different people of course see with different perspective to what is considered as important.

It’s just that for most people not opening email for 1 week is not as grave as not opening Whatsapp/LINE for 1 day. Even when the email might have the job offer reply that you really wished for. How much opportunity is wasted just by simply ignoring email.

I know that professors in other faculty/major in my university will ignore their email. Worse, I know one of my professor that rarely open his email even though there are some pressing matters (like defense) which require him to response (P.S. I am from Informatics, where email is norm here and professor phone number is highly private).

No One is to Blame

It’s not that I am condemning Indonesian for ignoring email. It’s just that our way of doing is very different from what the western people doing. We just like to talk, to express ourself, and to receive response more than simple text, instantly. That’s is why Whatsapp and LINE are very popular in Indonesia. The Generation Z prefer LINE because of its expressiveness (a lot sticker to convey meaning/expression), while Generation Y a bit 50-50 between LINE for the former reason and Whatsapp for its straightforwardness. Both of them are instant and free of subscription charges (exclude packet data plan).

I still remember the article how Slack want to topple email in the field of work and productivity (The Verge, TechCrunch, CNET). In Indonesia, Slack will never gain that much of attention. If things can be organized through Whatsapp Group, so be it. If it is not enough, switch to Facebook Group + Facebook Messenger. If you can post photos to Instagram, then you can also sell item and open online shop in Instagram.

There is very little place for email. Unless, you are in tech company.

I don’t think things will change soon. It’s just how it’s done here. Welcome to Indonesia.

Words of advice

  • Don’t use email for primary communication
  • Don’t use voicemail, because telco ditch them

How Singleton Save Me From Out of Memory Error

Hi there, long time I don’t talk about something more “techies” (not that Techies from Dota 2). I’ve been working on an Android Project and I want to talk about one library I’ve used extensively: Google GSON. The particular usage of GSON is to simplify the painful method of processing JSON object in Java.

Introduction to GSON

Consider this JSON as string:

{ 'id': 'EdgarDrake',
  'name': 'Edgar',
  'games': [
    { 'id': 'bethsw-bethgs-esv-skyrim',
      'name': 'The Elder Scrolls V: Skyrim',
      'price': 60,
      'meta': {
         'publisher': 'Bethesda Softworks',
         'developer': 'Bethesda Game Studio',
         'avg_rating': 4.8
       }
    },
    { 'id': 'ncsoft-arenanet-gw2',
      'name' : 'Guild Wars 2',
      'price': 45,
      'meta': {
         'publisher': 'NCSoft',
         'developer': 'ArenaNet',
         'avg_rating': 4.3
       }
     }
   ]
}

In Python, you can feed that JSON to variable and directly deserialize it to dictionary. Easy. Dead simple. Say, assign a variable called user with that JSON.

Q1: How to get user’s second game publisher name?

Q2: How to generate JSON string a new user Regulus who has game Destiny?

In Python, it’s as easy as:

// Q1
user.games[1].meta.publisher
// Q2
usr2 = {name:"Regulus",
        id:"0284R1R2L1L2",
        games:[
          {id:"actvsn-bungie-destiny",
           name:"Destiny",
           price:45,
           meta: {publisher:"Activision",
                  developer:"Bungie",
                  avg_rating:3.0}
        ]
       }
usr2.toString()

How do you do that in Java?  Continue reading

IaaS: iPhone as a Service

During Apple announcement at Sept 9th 2015, there is one kind of controversial announcement related to iPhone 6S and iPhone 6S Plus. In USA, it is considered as normal for people to have 2-years contract with their own carrier which include the iPhone itself. Due to the circumstances, Apple announced the iPhone Upgrade Program, a subscription program with $32/month or $37/month in which you can always have “the latest, up-to-date, unlocked (SIM-free) iPhone” as long as you subscribe directly to Apple.

IaaS

I know Microsoft made their Microsoft Office from a standalone license program to a subscription license. It is their move to cope with SaaS, Software as a Service. But this, iPhone Upgrade Program? It is basically a device as a service, or should be called IaaS: iPhone as a Service. Many journalistic websites claims it really is a bargain. But, is it?

Data, Information, Knowledge, and Wisdom

These coined terms somehow become popular jargons in IT world. However, sometimes it is hard to imagine, or how to distinguish data, information, knowledge and wisdom. Especially, when the knowledge definition between the information system analysts and computer scientists is different. Here, I want to give a simple example how to understand these terms.

Data (raw, unprocessed facts):

Console Sales
Xbox One PS4
Sales (Jun 2014) 197k 269k
Sales (Nov 2014) 1.2m 800k
Normal Price (Dec 2013 – Oct 2014) $400 $400
Holiday Price (Nov 2014) $350 $400

Another fact: PS4 sales has always been dominating since Holiday 2013.

Information (gained from extracting data):

  • Xbox One defeated PS4 in term of sales in November 2014
  • Xbox One was cheaper than PS4 during November 2014

Knowledge (gained from inferencing data/information):

  • Xbox One won the sales against PS4 because of holiday $50 price-cut

Wisdom (decision to be made after gaining knowledge):

  • Will Microsoft stick to the $350 price or not to win the sales war?
  • When will Microsoft decide stop the price-cut promo?

There, it is quite easy to understand if you know how to extract which from which. How to relate this to computer world? I will use Cortana, Microsoft Digital Assistant, as an example.

Data: Your daily schedule, music you’ve been listening whole days, and some music that you’ve classified as favorite music

Information: Cortana knows that you like Bon Jovi and Aerosmith (both are rocks)

Knowledge: Cortana might suggest another rock music when you ask her “play some music”

Wisdom: When Cortana asks you to stop listening to music because you’ve been listening to music non-stop for hours.

P for Photos, C for Creation, and F for Face Grouping

Google Photos, Google latest attempt on fixing what is wrong with their previous photo gallery — Google+ Photos.

Get real: how much space do pictures in your phone has taken? Mine, 1.5 years, 12 GB. My phone storage, 64 GB, available for use 56 GB, and 12 GB has already taken by camera roll. Not good. Looking at some of friends phones with 16 GB flash storage, my case must be a problem for them.

To free up space, people use cloud service to back up the pictures. It is more convenient to use cloud rather than external HDD, because you know that as long as the service is up and running, your photos are always available anywhere. Thus, I tried Carousel by Dropbox, and suddenly my Dropbox storage usage jumped to 97%. Not good.

Here comes Google Photos, and it has become my gallery-saver since June 2015.

The Competition

In a world where cloud storage become main competition, Google Photos provide an intriguing approach: Free, unlimited storage for those who is willing to use Google’s propietary compression method.

Features Google Photos Carousel by Dropbox OneDrive iCloud Photo Library
Storage *initial: Unlimited Dropbox storage
(initial: 2 + 3GB)
OneDrive storage
(initial: 15 GB)
iCloud
(initial: 5GB)
Pricing *Free | 100 GB $2/month 1 TB
$10/month
100 GB
$2/month
20 GB
$1/month
Compression Propietary Uncompressed Uncompressed Uncompressed

*Unlimited only if you would use Google compression, which preserve images up to 16 MP, 1080p videos. If you would like use original resolution (no matter how low-res), you will use the Google Drive quota. Those cloud backup mentioned in the tables preserve pictures in a “private” mode rather than sharing it to the whole world.

Picture management like Flickr or Picasa now getting less and less popular, while mostly now people use Instagram and Facebook timeline to store their lifetime gallery. Things to note, however, Instagram is more social media than picture gallery, while Facebook is a social media. Facebook is well know for their notorious compression, degrading the image quality to some low resolution image, only good to see without zooming in the details. But Facebook still hold the throne for image sharing because of the user tagging technology.

Face Grouping

Google Photos comes with Face Grouping technology. With this technology, Google will automatically grouped similar faces to one “profile”. Google does not know whose name is this face (they claim), but Google might know these face models belong to him/her. No name is ever associated to each person. Only face, and collection of photos, all anonymous.

It is like Facebook auto-tag suggestion, but this technology work exclusively in background, without the need of user labelling. Facebook has auto-tag whereas similar faces grouped as one as given the label of one of your friend. It means that Facebook uses user feedback to determine “which face” belongs to “which person (name)”. Let’s say that Facebook use both supervised learning (user manual labelling) & unsupervised learning (done in background, without user consent)

Google Photos doesn’t use user labelling for classification. Not at all. Google Photos use purely unsupervised learning to group similar faces, all the times in background. All that user can do is remove incorrectly classified pictures from the group of correctly classified. In other words: giving mark of false positive.

For example, these are some people, according to Google Photos, that lurk in my pictures.

Gallery

How they are sorted, or how they are grouped, I don’t know. All I know that Google Photos use some kind of Convolutional Neural Network with 21 layers to define who and what are things inside the picture.

The grouping is not instant, per se. In my case, it takes 2 hours after about 800 pictures uploaded to Google server before the face grouping appear. Also, the first result mostly buggy, as some of my friends are considered as one person. Need a little tweaking, but 2-3 days later, my “face collection” changing, some mistakes bit by bit becoming better, adding new person, and of course, new incorrectly classified images also appear.

By Google Photos design, I can remove wrong pictures from the album, but I can’t add new pictures to established album. Damn.

Let’s see. This is one of my friends, whom from the first day until now has been incorrectly classified as two different person.

Face A'
Face A

And these are two people that in the first week are considered as one person, but in reality, two different people.

Person B
Person B'

Well, well. Flawless, it is not, but defect, it is not, either. In reality, Face Grouping really shine to group and show each person timeline. What amazes me is that Google Photos can correctly classified people in a very small picture.

A little, not-so-important, note: Face Grouping is disabled by default in Google Photos. The only way to enable it is by uninstalling and reinstalling Google Photos (Android: clear app data) then initialize the Google Photos account in USA VPN.

Search

Google is not Google if not for their (in)famous search engine. Google I/O 2015 showed how Google Photos can handle search specific item inside pictures. How does it detect object? Ask the neural network, ask what’s contained in their 21 layers of neural network. I tried some queries to test whether Google Photos can recognize objects. Not every object can be returned, but here are some queries that give reasonable result:

Gundam Wedding Sakura
gundam wedding sakura

I am satisfied with current condition, but I believe this can be improved better and better. Animal, however, need better object detection algorithm. Most of my cat pictures are considered as dogs. Want to hear one of the worst scandal? here.

Creation

Creation, by far for me is the most interesting feature. Google Photos has integrated photo assistant which has a very simple task: give you notification each time a new creation is created. Whoa, whoa, whoa, wait a bit, what is creation?

Creation is automatically generated content composed by learning and combining pictures to create things like:

Panorama

The rarest creation in Google Photos is panorama. Once, I had multiple pictures of scenery from the 53rd floor in Star Wars Day museum in Roppongi, Tokyo. Here are the pictures:

IMG_4112
IMG_4113
IMG_4114

Then, suddenly this picture popped up in my assistant:
IMG_4112-PANO

Auto-enhanced image

Google Photos know how mine gems inside mine of rocks. What I mean with gems here are pictures that worth more than its original looks after being “automagically” post-processed by Google Photos. These effects, unfortunately, inaccessible from the dedicated Google Photos app.

Original Post-processed
 IMG_0570  IMG_0570-EFFECTS
IMG_2740 IMG_2740-EFFECTS

Story

This one is interesting. Google Photos’ assistant favorite is making stories, based on multiple pictures in several day in succession. Story can be considered as normal album, but with elements of storytelling. You can edit the arrangement of pictures, giving description, and make your own stories. Here is the example of my last trip to Tokyo.

Movie

A collection of videos can be automatically made into a short movies. It is easier to watch one rather than watch many videos at once. Here is a sample movies created from 36 videos and several pictures during the event of May the 4th be with You 2014.

GIF

Picture taken in succession like burst photos are taken in consideration to be made into GIF, like this:

IMG_2540-ANIMATION

Collage

Most instagram users collage to include many picture at once. So does Google Photos, automatically, without you picking picture-by-picture manually.

IMG_0672-COLLAGE

The Verdict

Google Photos is a cloud service that use our (Google user) images as the input for their continous research in data mining. They said our images are safe and private, while it can be said that the images are internally used for advancement of computer vision research. Google always excel in one thing: crowdsourcing (like Google Translate contribution), and this is just another chapter for them.

How useful is Google Photos? It’s recommended, especially for those who always lack of storage due to their immense size of gallery. Face grouping is somewhat a kind of novelty, but it’s novelty will wear off soon enough. I love the creation, because it makes some pictures become prettier than it should really be.

However, do note that Google is pretty powerful in automatically mining your information just from photos. If you really care about sensitive data, don’t use this service.

Why don’t kids like to talk about their day when their parents get home?

How to Encourage Children – Parents Conversation

Answer by Saulo Dos Santos Soares:

A great Brazilian philosopher called Mário Sérgio Cortella once said in an interview:

When you ask “Hey, son, what have you learned today?” or  “How was your day at school?” it sounds pretty much like an interview, an interrogatory. As a result, kids feel pressured and uninterested in answering the question and generally give 1-word answers.

He suggests a swap in the formatting of the question.

Rather than asking what your kid has learned, try asking what he/she has to teach you.

When your kid get home try asking: “Hey, son, what can you teach me today?”

And as Marcus Geduld pointed out, it’s key you don’t change subjects straight after you get a response or start lecturing/patronizing your kid.

Why don’t kids like to talk about their day when their parents get home?