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

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.

Smartphones Trend: Is Bigger Better?

2014, is the year when small flagship smartphones considered “dead”.

The smartphones trend now follow the same suit: bigger, better. Manufacturer’s flagship phones from year to year always have improvement in CPU’s raw processing power and increment in size. 4.7 – 6 inch, it’s always around that. The smaller variants, like the “mini” version always get reduced power. It’s what has and always been in Android world.

iPhones, were faithfully adhere the principal of: maximum 4 inch let user’s thumb to reach anywhere in screen. But, things changed in Sept 2014 where Apple showcased their first 5 and 6 inch phones, and the world in crazy uproar. Pre-orders are overloaded. It means that people want bigger phones.

But, what about us, some people who still believe that smaller phones is what suit us best. I don’t really know anymore, what kind of “flagship” phones that will still in size of palm. I got into this problem when my sister asked me what flagship Android phones that still have the size of 4-5 inch. She wanted to buy a new phones because Lollipop deteriorated her phone’s performance. But until now, I am still confused.

If Moore’s Law now begin to failing, can this smartphone size trend can be broken?

Inbox by Gmail Review: E-mail as To-do List

Introduction

Back in 2004, I was the beta invitees of the first iteration of Gmail, although at that time I still didn’t consider e-mail as part of my life yet (I was a middle schooler back then). Gmail, has undergone serious changes, froma simple HTML webmail, to HTML5 webmail back in 2010, including tabs in 2013. For me, E-mail client is a lifesaver. Until 2012, I still routinely go to webmail, and I don’t know how many tabs I opened at a time. Then, I volunteered to close beta test my first lifesaver: Mailbird. I fell in love with Mailbird as Windows mail client, unlike Outlook nor Thunderbird, it feels lightweight and has clean UI. Mailbird is the first app which gave me a new perspective to handle e-mail: Inbox Zero. For 2 years until Oct 2014, I can count how many times I opened Gmail webapp: 5 times, only to make new filters for incoming e-mails.

To sum up: E-mail client has saved a lot of my times to search, open, read, and reply e-mails for this 2 years. As long as the e-mail client has sync the e-mails, I can do all of the above without any internet connection.

Now, here comes a new challenger.

Inbox by Gmail

Google likes to experiment and now they provide a new, experimental webmail called Inbox by Gmail. If you already have the invitation, of course you can go to http://inbox.google.com. What does it do? You can see it in action URL above.

Before, I still think that incoming e-mails as incoming message. New inbox notification, open the message, read, (optional) reply, then archive if I don’t need it anymore. Only important e-mails remain in my inbox in my Mailbird.

Inbox by Gmail try to change my perspective. While most email clients and even Gmail webapp treat e-mail inbox as “list of messages”, Inbox treats e-mail inbox as a “newsfeed of to-do lists”. Does it make sense? Fortunately, yes.

Features

First is Bundle. Bundles work almost the same with Promotions, Updates, Social tabs in Gmail, but they go to some extent: smart categorization. In Gmail webapps, e-mails contains promotion or advertisement go to Promotions, purchase receipts go to Update, and credit card billings go to Primary. In Inbox, advertisement still go to Low Priority, purchase receipts go to Purchases, and credit card billings go to Finance. It’s just that smart that I love it very much.

E-mail types Tabs
Gmail (webapp & mobile)
Bundles
Inbox by Gmail
Amazon Advertisement Promotions Low Priority
Steam Promo Promotions Low Priority
Purchase Receipt Updates Purchases
Credit Card Billing Primary Finance
Flight Ticket Primary Travel
Account Registration Updates Updates
Quora, Tumblr, LinkedIn Social Social
Mailing list Forums Forums

Second, swipe right to Mark as Done. E-mails are considered as to-do list, so when you’ve read it and you don’t have any business with that mails anymore, you mark them as done. It’s the same as archiving e-mails in Inbox Zero perspective, but somehow Inbox add it even further. Rather than swipe each e-mail to mark them as done, you can swipe the bundle to mark all the e-mails inside the bundle as done. It’s as the same thing as: click the filter, click mark all, then archive all marked messages. Inbox simplify how I manage my e-mails and everytime I mark them done, I feel like I have done one task of my “to-do list inbox”.

Third, swipe left to Snooze. Most of the time, important e-mails which require attentive reply are just marked as starred but I forgot when to reply those important messages. Snooze feature change that by making a reminder when to remind me to reply the specific message. I may forget that I have messages unattended, but Snooze will remind me at one time that I must reply the message. Nice feature.

Fourth is Pin. It behave almost like mark as starred in Gmail features, but it feels more like a “saved to Pocket”. Pinned e-mails contain all e-mails that I have pinned so that I can easily access when I needed to reread the messages. Unfortunately (but also fortunately), applying pin is not considered as marked as star in Gmail, so those pinned e-mails are still not starred in my Mailbird, but in my phone Inbox, it’s pinned.

Inbox as Newsfeed? It’s Plausible

Before, I never thought to see my mail inbox arranged like a Facebook newsfeed. With Inbox, now I see my inbox like a newsfeed. E-mails organized like a timeline, e-mails with attachment have the attachment previewed in the newsfeed. It’s hard to explain with words, but screenshot can explain it more clearly.

The Verdict

So, do I like it? Yes, very much! Although Google insisted that Inbox to be used in conjunction with Gmail app, I already uninstalled my Gmail app from my phone. Its sole purpose has become my mobile e-mail client, while for my desktop I still run my Mailbird. I can say this for sure: Google has successfully made me change my perspective to see e-mails as to-do list organized neatly, instead of bunch of messages organized chronologically. Do I feel improvement in productivity? Yes, I do. How you manage e-mails is very important and the right e-mail client will certainly help you a lot.

Inbox will only useful for people whose routine is to read and reply e-mails, and it will be not as useful as it means to be when used by people who just want the invitation without the need for routine e-mail operations.

P.S. Don’t ask for invitation. I still have some left but they are already reserved.

Powerful, Long-lasting, Portable Gaming PC?

The main reason why I wrote this is because of this: Is it unreasonable to expect any laptop to simultaneously be a good gaming machine and have portability and good battery life?

Have you heard about this infamous triangle of college life? Pick 2!

Pick 2 College Life

Reality of College Student

Now, we are living in a world where gamers want to play their games anywhere (if possible). Back then, we need special device connected to TV or display monitor to play games. Now, say, you can play games in your phone, tablet, or laptop. As a PC gamer who usually spend my day outside (not in home), I need my games to be playable in anywhere when I have free time. I believe many people have the same vision with me, that’s why we have manufacturers who make gaming laptops.

However, no matter how strong gaming laptops are, they are still dwarfed by the real gaming PCs, though the margin has been decreased as the time passes by. So, let’s say that we live in world where gaming laptops are powerful enough to run most demanding games at reasonably high graphical settings (not ultra-high for videophile). So, laptop, which is a portable computer with its thin body and limited battery life, has enough performance to run games. Seems legitimate.

Now is for the interesting moment, Pick 2!

Reality of Gaming Laptop

Reality of Gaming Laptop

 

See above? At the moment, no gaming laptop is ever free from the clutch of Performance-Portability-Battery Life triangle. Why is that? Let’s get real.

What makes computer (not laptop) powerful to run games? Of course it is because of the combination of high-performance CPU, GPU, RAM, and the power it needed to run those power hungry components. CPU and GPU are power hungry components. That’s why when computer is quite idle, the clockrate is turned down and other cores are powered off. If your computer needs to render lightweight graphics, it turned off the GPU (via NVIDIA Optimus or AMD Enduro) so the power is not dissipated to the GPU and the render workload is shifted to the integrated GPU (Intel HD/Iris).

When a demanding process needs extra horsepower, your computer throttles the clockrate of CPU, and turn on the GPU if needed. To do the throttle, it needs extra voltage. Extra voltage means extra power means Power Supply Unit (PSU) must support bigger power drain.

When the throttle occurs, do you realize that your computer is noisier than when it’s idle? The noise come from the fans which needed to cool down the CPU and GPU.

Typical Cooling Fan

Typical cooling fan

 

If both components get too hot, your computer might explode or melt. The hotter the components, the faster the fans spinning, and louder the sound they emit. FYI, sometimes using fan is not enough, so here comes Water Cooling. Water dissipates heat better than air, so computer running with water cooling will substantially cooler and quieter than mere cooling fan. Here’s the catch: It needs extra space for the hose and the radiator.

A simple water cooling for PC

A simple water cooling for PC

 

“In short: ultimate powerhouse needs both power and space.”

Laptop is a portable PC, with limited battery, but needs to deliver that kind of performance. We live in a world of trade-offs. You can’t maximize every single variables, but you can still optimize the result. That’s why we know about linear programming in math. Extra power means more battery drain, which leads to shorter battery life. To achieve portability, laptop needs to be thin and very limited motherboard real-estate, it is still impossible to fit in a water cooling inside a laptop chassis.

In the end, I can only give a simple answer examples of the pick 2 solution.

The answers

The answers

 

Macbook Air

(Performance -, Battery Life +, Portability +)

Thin, sleek, and lightweight, this is most people preferred laptop. Yes, the most expensive one can give you the performance needed to run Adobe Photoshop or iMovie but it doesn’t have enough horsepower to run demanding games. I know that Witcher 2 was ported for Mac, but not for this one, because it has no dGPU.

Don’t even think this can run Battlefield 4 (if one is ever made for Mac). I bet now you’re imagining it running Battlefield 4. Don’t. Even. Think. Period.

Razer Blade 2014

(Performance +, Battery Life -, Portability +)

This one is a 14′ thin laptop which can run most games at almost 4K resolution (3200 x 1800, almost 3840 x 2160). It’s quite powerful for a laptop (please don’t compare it to most gaming PC) but the main drawback is the battery only lasted 3 hours, all thanks to its high resolution display.

Thin and sleek, who knows that it holds such performance.

Thin and sleek, who knows that it holds such performance.

 

Large Pixel Collider

(Performance +, Battery Life +, Portability -)

Okay, this is not laptop at all. For the sake of ultimate performance and endless battery life (not really, just endless stream of electricity), this powerful PC needs a lot of space and A LOT of money. Cost as much as $10k, this uncomfortable power hungry PC consists of Intel Quad-core i7-4960X (X=Extreme), 4x NVIDIA GTX Titan in quad-SLI, 64 GB of RAM, water cooling, and an uncomfortable 1200W PSU. What can it do? Run Battlefield 4 in 7680 x 1440 ultra-high settings (3 monitors setup).

LPC

See how big it is?

 

To see some demo in action: Battlefield 4, Titanfall

Conclusion

At the moment, it is still impossible to maximize the three axis of Performance-Portability-Battery Life. It’s just the time has yet to come. Although, I always though this: by the time laptop can fit in water cooling and 12-core CPU, the PC would have been leapt too far.