No Man’s Sky: A Performance Analysis

nms-google

Update: I’ve received some suggestions about using external v-sync controllers and allowing the game to rebuild shaders after updating drivers. I’ll update the post when I’ve had a chance to run some new benchmarks.

It’s hard to find any reviews and reports and No Man’s Sky without hearing about performance issues. Game stability aside, there are reports all over the place about FPS drops and stuttering while playing the game. A Google search for “No Man’s Sky PC performance issues” shows 1.24 million results, including an article from Polygon titled Don’t buy No Man’s Sky on PC yet.

What are these issues, exactly? Frame time stability seems to be a major one. At 60 frames per second, it takes 16.7 milliseconds to draw one frame. There’s always going to be some variance, so if one frame takes 15 ms and the next takes 18 you’re not going to notice much; everything will still be nice and smooth. However, if you’re averaging 16 ms per frame and suddenly get frame times bouncing between 16 ms and 50 ms (that is, sudden fluctuations between 62 FPS and 20 FPS) that sudden, drastic change becomes a very noticeable stutter.

There seem to be a few different causes of this frame time instability. One is that the game is constantly generating new terrain and lifeforms using algorithms using a process known as procedural generation. It’s important to point out that this does not mean it is randomly generated. Procedural generation uses a formula with some number of input variables to generate everything, so if the same variables are given (X, Y, and X coordinates in space, for example) the output will always be the same. This means that the game as a helluva lot of math to do all the time. Every time you go somewhere new, every time you land on a planet, and every time you warp to a new star system, the game needs to take all of the inputs, run it through the formula, and start generating every plant, animal, mountain, mineral, body of water, space pirate, landing pad… you can see where your computer’s processor might start to sweat a little. Traditional games have levels created by a designer, so everything is already determined and there’s very little math involved. Ammo crate there, blood demon there, and typically all loaded into system memory before the game even starts.

Another issue is that, with such a small studio creating the game, they simply could not optimize the game for such a wide variety of system configurations so some incompatibilities and strange default configuration options are going to make their way into the “final” product. Things like G-sync, a technology that requires a relatively modern video card and a new, expensive monitor, are enabled by default with no way to disable without digging through system configuration files. Or, the fact that the game is locked to 30 FPS by default on PC.

So how does the game actually perform? Here I’m testing the game under two scenarios: traveling from a space station to a planet’s surface and exploring the surface of the planet, harvesting resources. This should give us a pretty good understanding of how the game performs under the most demanding scenario as well as a more typical one. My testing system consists of an AMD FX-8350 overclocked to 4.4 GHz, an EVGA GTX 970 SC, and 16 GB of system memory. Running the game as it’s purest default settings at 1080p we get the following results:

Frame times in milliseconds with default settings @ 1080p.
Frame times in milliseconds with default settings @ 1080p.

So what we’re seeing here is how long it took to generate each video frame. By default the game is locked at 30 frames per second, so each frame should take about 33 milliseconds. Most of the time that’s true. Between both scenarios, the average frame time was 34.9 (28.6 frames per seconds). As a comparison let’s take a look at a modern juggernaut of real-time graphics: DOOM.

Frame times from No Man's Sky (default, 1080p) vs DOOM (ultra, 1080p).
Frame times from No Man’s Sky (default, 1080p) vs DOOM (ultra, 1080p). V-Sync was enabled on DOOM for a more accurate comparison.

Here I’ve taken the frame time data from earlier and overlayed that with the frame times of typical DOOM gameplay. I chose DOOM because it’s a showcase of what modern hardware and software are capable of. If you follow the red data you can see that there are very few frames that deviate from the pack. This uniformity gives a very smooth gameplay experience. Going back to the No Man’s Sky data you can see that, not only do they deviate more often, but much further as well.

If we uncork the performance by disabling v-sync and turning the max FPS off (I’m not entirely sure how these are different yet) we can see a huge jump in performance.

unlocked-framerate

Overall the frame times have improved, with the average jumping from 39.4 milliseconds (28.6 frames per second) to 20.7 ms (48.3 FPS). However, the distribution of stuttering, deviant frames is still the same.

Just to see what would happen with the maximum graphics settings used with a wider field of view (90 on foot, 100 in the ship) I got this:

Frame rates with all the graphics settings maxed out and wider field of view.

Frame rates with all the graphics settings maxed out and wider field of view.

While running around the planet and mining resources, the frame rate was a little less stable than with the default settings, which isn’t that surprising. There were a few more deviant frames causing stutters but not a significant amount. However, leaving and re-entering the atmosphere saw a tremendous surge in stuttering. Granted, most of your time isn’t spent traveling between planets and space, but there should be something we can do to make that transition smoother. Hello Games has an experimental patch available that is supposed to improve performance on some AMD CPUs and 8-core CPUs (of which mine is both). It also disables things that should have never been enabled in the first place, like G-sync, to address performance and compatibility issues. First, though, let’s update my video card drivers.

The nVidia GeForce Experience control panel is telling me my current driver is from a month ago, and that the newest driver “Provides the optimal experience for No Man’s Sky, Deus Ex: Mankind Divided, Obduction, F1 2016, and the Open Beta for Paragon”. So that’s a good start.

Frame times with maximum quality settings and the latest drivers from nVidia.
Frame times with maximum quality settings and the latest drivers from nVidia.

Before the driver update, the average frame time was 26.6 ms (37.6 FPS). Afterward, it jumped down to 17.7 ms (56.4 FPS), which is a staggering change. We can see that the deviant frames are reduced overall, though some frames took much, much longer than most. How much longer? All the charts so far have had a ceiling of 250 ms (4 FPS) for uniformity. If I remove that ceiling…

Frames that took forever to render.
Frames that took forever to render.

Woah, woah, woah. Those 5 frames that we couldn’t see before? In total, those 5 frames took 4.6 seconds total to render. During these tests I’ve been jumping back and forth to the same region of the same planet, so while I understand that the procedural generation does take an awful lot of resources, it’s also weird that it does not seem to be caching planet data anywhere. I don’t know how much drive space a cached planet or five might take but if it’s able to smooth the transition from space to surface, but it might be a good trade-off if we’re given the option in a later patch.

Speaking of patches, how does the experimental patch affect performance?

experimental-patch

Wow! As soon as I loaded No Man’s Sky after patching it I immediately felt a smoother frame rate but I wasn’t expecting this kind of result. The average frame time dropped a respectable 2.7 ms to 15.0 ms (66.6 FPS) from the pre-patch 17.7 ms (56.4 FPS). I should mention that after patching the game I did get a crash between the two benchmarks, which I haven’t had until now, so there might be increased frame time stability at the cost of game stability. That said, it was a graceful crash that didn’t take the rest of the system down with it, and I was able to jump back in with no problems.

As long as the crashes don’t come too often I think it’s pretty good trade for an experimental patch. The game has been out for a week and I’m anxious to see what fully supported patches bring to the game.

I think I’m Giving up on Pokemon GO (For Now)

In my last post I talked about some of the issues I, and the rest of the Pokemon GO community, are dealing with as Niantic continues to patch the game and roll out to the rest of the world. I’ve been keeping my spirits high and continuing to play, but on my walk to work today I realized something. There’s nothing to do anymore.

It sounds like I’m being a little harsh, and I might be. You can still do things, but I’m not compelled to. Going back to my last post, gym battles are literally pointless. I pass gyms held by other teams and have no motivation to take it over. Or, I’ll pass gyms held by my team and have no motivation to spar and increase the gym’s level. Without any meaningful tracking system, I can only know that somewhere within a several-hundred-meter bubble there is a pincer that will likely disappear before I ever find it. Over the past couple weeks, I’ve only opened the game on my walks to and from work, hatching eggs and catching Pokemon that happen to wonder in front of me. During these walks, I’ll have the phone at my side, the screen turning black to save power. When I feel the vibration and look at my phone, I’ll spin my map or try to tap on the Pokemon only to see that the app no longer responds to touch inputs. After restarting the application the Pokemon I wanted to catch are no longer there. In other instances, I’ll tap on the Pokemon that spawned next to a Poke Stop. When I leave the Poke Stop the Pokemon will have disappeared or seemingly transformed into something else (yesterday a Kingler and Clefable appeared to turn into a Nidoran and Weedle).

I was a Pokemon Go apologist, and I still might be, but at this point, the game is still an early beta with no enticing gameplay mechanics. The fact that the current build is version 0.31 more-or-less confirms that. Last I heard, Niantic has made over $130 million off of Pokemon go with an initial budget of about $20 million. This is only going to grow and grow and they roll out their game to more countries, so I don’t feel like taking a hiatus for a while is going to hurt the game at all. Hopefully, by the time I get to Korea in October the game will be more of a game and less of a meta walking simulator.

Pokemon GO: IVs and why Powering up is Broken

Update: The original post had a few inaccuracies and has been updated accordingly.

Pokemon GO can be broken down into three core game components:

  • Finding and catching Pokemon
  • Powering (leveling) up and evolving Pokemon
  • Battling at, and controlling, gyms

The “3 Foot” bug has been plaguing Pokemon GO for weeks, making it nearly impossible to track down individual Pokemon. If they’re on the radar at all you know they’re somewhere but the only way to track them down is by consistently monitoring where they fall within the list compared to the rest of the Pokemon (Pokemon at the front of the list should be closer to Pokemon at the end). As of version 0.31.0 the footprints have been removed altogether. Posting on the official Pokemon GO Facebook page, Niantic says “We have removed the ‘3-step’ display in order to improve upon the underlying design. The original feature, although enjoyed by many, was also confusing and did not meet our underlying product goals. We will keep you posted as we strive to improve this feature.” It makes sense to not display something that’s known to be broken, and it very well might be causing confusion for new players, but it also sounds like they might not reimplement the original functionality. Hopefully what this really means is they’ll come up with a better way of tracking Pokemon; something akin to the Poke Radar or Dowsing Rod items from the core series games.

Before I explain why I feel like powering up Pokemon is a wasted effort I should explain how powering up works, the risks involved, and some of the underlying game mechanics. Please note that when I say something like “we know” or “this is how it works”, what I really mean is “As a community, we currently believe, based on the data collected and analyzed by groups within the community…”.

When you catch or hatch a Pokemon it comes with a predetermined set of stats. For a Bulbasaur I just hatched those states are:

  • CP: 594
  • HP: 60
  • Type: Grass/Poison
  • Weight: 6.35 kg
  • Height: 0.65 m

We know that weight and height have no influence on any other stats, so we can ignore that. Also, the typing, “grass/poison”, is the same for all Bulbasaurs across the game. The only stats that matter, then, are CP and HP. 594 for a little baby Bulbasaur feels like a lot. To the player (me) it feels like he’s a monster capable of quite a lot. But, we have other information to consider. In order to level up this Bulbasaur, we can see that it will take 2,500 star dust and 2 candies, but how much star dust and candies do I need to spend in order to get him up to a CP 2000+ gym defender? Through whatever means the community has figured out how to calculate a Pokemon’s level and IVs. They have also determined what the maximum level and IVs are, so now we can know what the actual potential of a given Pokemon is. Using Poke Assistant’s IV Calculator tool I entered the required information and got this result:

iv calculator

There are multiple combinations that could result in my Bulbasaur’s stats, each listed below. Sometimes the level may change, too, creating even more possible combinations. The higher level a Pokemon is, typically, the fewer possible combinations there are. So we can see that, with all the possible combinations, my Bulbasaur is somewhere between 84.4% and 86.7% of it’s potential (100% being 15 for attack, defence, and stamina).

Hold up, I haven’t explained exactly what IVs are yet. IVs, or “individual values”, are used to determine how strong a Pokemon can be. In the core games they determine your Pokemon’s physical attack strength, special attack strength, physical defense, special defense, speed, and HP. Here it’s a little simplified, only determining attack, defense, and stamina (HP). Basically, if we have two Bulbasaurs that are both level 20, but one has higher IVs across attack, defense, and stamina, it will be stronger overall than one with lower IVs. This is important to know when selecting a Pokemon to evolve and power up.

Let’s assume you’ve been diligent about not spending your dust and candies on powering up your Pokemon. You’ve chosen your prized Pokemon that you want to pour all your hard work into. Maybe it’s a Golduck with a maximum potential of 91.1% (remember, there are likely multiple possible combinations of level and IV with no way of knowing which is correct without powering up). Currently, I have 98,835 star dust and 32 Psyduck candy. That should be plenty to power up this Golduck into an unstoppable powerhouse. Right?

To level this Golduck from 20 (though we’re hoping it’s currently 19) to its maximum level of 40.5 it would take 242,500 star dust and 41 candies. And that’s gambling it’s actually level 19 with good IVs, requiring even more. If it’s currently level 20 it’s IVs are, at best, average and not worth powering up since it would take all of our current resources, denying a Pokemon with much higher potential the chance to power up.

Note: Your Pokemon’s max level is proportionate to your trainer level. I wasn’t able to find any hard numbers online, so I calculated the potential IVs and levels for my Tauros and started powering it up. Cross-referencing the perfection percentages, before and after, I was able to figure out which one was correct and what the current level was. After powering up Tauros seven times his level increased from 20 to 23.5 (half a level per power-up), his CP rose 181 to 1211 and his HP went up by a staggering 8. My trainer level is 22, so it appears that the max Pokemon level is [trainer level] + 1.5. Seems weird that it isn’t the same as your trainer level, so it’s probably a bandaid for early level trainers. What all this means is that, while Pokemon have a level cap of 40.5, you would need to have a trainer level of 39 to reach that, which, for legitimate players, is going to be a long way off. More likely, your max Pokemon level is going to be around 25. For the Golduck in the previous example, powering up from level 20 to 25 would consume approximately 18,500 stardust.

With weeks of playing, I can invest reasonably in one Pokemon. It feels like so much work for very little payoff. It’s disheartening.

The third part of the game is gym battling. I’ve tried so many times to find a reason to do this but there honestly is none. I live in fairly large city with a heavy technical presence (Nintendo, Microsoft, The Pokemon Company International, ArenaNet, Valve, WarGaming, and more are all 15 minutes or less from my home). Where I live, gyms are impossible to hold for more than a couple hours at best. Many gyms change color multiple times per hour. With a 21 hour timer between collecting gym rewards, you’re lucky to get control of two gyms before collecting your reward for the day. The largest number of gyms I’ve been able to control before cashing in is three, and even then it was mere minutes before all three had fallen. So, what is your reward for holding gyms? 10 PokeCoins and 500 dust per gym. 500 dust?! You get 100 for each Pokemon you catch, so if you catch 20 Pidgies and Weedles in a short session that’s 2,000 dust. You can do that in an hour pretty easily, compared to 500 for a gym every 21 hours. It just doesn’t make any sense. While you do get XP for winning gym battles it doesn’t come close to what you can get for just catching Pokemon. So what’s the point? Bragging rights for your team?

We’ve identified two issues that could potentially be solved by a single change. In the core games, your Pokemon gain XP by battling. Get enough XP and they’ll level up. So why not apply this same mechanic to Pokemon GO’s gym battles? It would require making a few changes but let’s run through some options.

  1. Dust bonuses for winning gym battles
    Did you beat a Pokemon at a rival gym? Have some dust. Did you beat the gym leader? Get a dust bonus. Are you in control of the gym? Dust bonus! Of course, dust could be applied to other Pokemon, but this happens in the core games with Exp. Share, so it really wouldn’t be that different.
  2. Add an additional level-up mechanic
    Currently, the only way to power (level) up your Pokemon is by spending dust and candies, and it happens all at once. Add a counter to the Pokemon’s stats that tracks battles won. Each battle increments the counter by one, gym leaders by 2, 3, etc. depending on the level of the gym or CP of the defending Pokemon. Once that counter hits a certain number, determined by the current level, ding! Level up!
  3. Add an actual Pokemon XP mechanic
    This is probably the most work and least ideal from Niantic’s side. Having XP for both the trainer and Pokemon could be confusing, and would largely eliminate the need for dust, except as a Rare Candy to immediately gain levels.

This is a subtle change but could help trainers feel like their time and effort are going somewhere.

The Nintendo PlayStation

Last year it came to light that someone, a family from the east coast, was in possession of a PlayStation. Of course, millions of families own PlayStations, but this one is different. It’s a prototype of the CD-ROM version of the Super Nintendo.

IMG_0925

In the 90s Nintendo had seen Sega and other hardware manufacturers turn to CD-ROM technology to store games and multimedia content. They decided to invest in a CD-ROM add-on for the Super Nintendo, much like the Disk System for the FamiCom, to enhance the capabilities of the Super Nintendo. Sony was already supplying Nintendo with sound chips and was a leader in home electronics manufacturing so the fit was perfect. Nintendo soon realized that, due to the licensing agreement with Sony, that they would not be receiving royalties for games sold on CD-ROM for the PlayStation. Behind Sony’s back Nintendo signed a new agreement with Phillips to create the CD-ROM add-on. During the 1991 Consumer Electronics Show, Sony formally announced it’s new console, which would play both Super Nintendo cartridges and CD-ROM games. The next day Nintendo announced, at the same show, that they would instead partner with Phillips. Nintendo would eventually cancel all plans for a CD-ROM add-on. This temporary collaboration is what eventually spawned the Phillips CD-i and its well-known Mario and Zelda games.

IMG_0926

Olaf Olafsson, founder and CEO of Sony Interactive Entertainment, held onto his prototype PlayStation after being pushed out of his position at Sony. Later he would become president of Advanta Corporation, which would later collapse. For whatever reason, Olaf seems to have left the system at the company when he left. As the company’s assets were being liquidated a former employee, Terry Diebold, bid on an auction lot; one of the items happened to include this prototype PlayStation. Since then the system has sat in the family’s attic until it was dug out after the son mentioned having it in a reddit post.

Since then the family has toured all over the world, allowing news outlets and enthusiastic gamers to play with it, rather than keeping it hidden in a private collection. The system did have a few problems, however. The sound didn’t work from either it’s Super Nintendo multi-out connection or the dedicated RCA outputs. The CD-ROM drive appeared not to power on at all, and there were multiple failures during the system’s self-diagnostic check. Recently the family brought the console to well-known hardware hacker Ben Heck to document a tear-down of the unit and see if functionality could be restored.

Eventually, the family and the console made their way to the Seattle Retro Gaming Expo this year where, not only did I get to bask in its glory and take pictures of it, I also got to play it. The crazy thing is that literally anyone at the show could stop by and put some time on the system and get a personal demonstration of the hardware. The fact that it’s been damn near given to the gaming community is astonishing; I really can’t get over it.

Anyway, here’s a bunch of photos I took of it. Some things to note are the functioning LCD for the CD-ROM and the rear AV outputs, which is nearly identical to the original release of the PlayStation (model SCPH-1000).

Pokemon GO: How Long Does it Take?

There’s been a lot of digging around by the community to find out how Pokemon GO works, what the limits of the game are, and how to get there the fastest way possible. It’s been discovered that the (current) maximum level a player can reach is 40, though no one is known to have gone past 30. But why is that? The game has been out for a few weeks now, you would think with all the obsessive fans out there someone would have reached the level cap. I decided to do some digging of my own to find out why.

The experience points required to advance to the next level, at the beginning of the game, are trivial. Multiple guides online show how level 5 can be reached in just 30 minutes after creating an account. 30 minutes per 5 levels, doesn’t that mean that it should only take 4 hours to reach level 40? Bulbapedia has a list of the experience required for each level, but here’s a more visual interpretation of the data.

 

The chart on the left shows how much experience is required to level up between levels 1 and 19. Level 1 requires 1,000 XP, level 2 requires 2,000 XP, and so on. The chart on the right puts into perspective what kind of mammoth experience gains are required to advance between levels 1 and 40. The chart is essentially flat through 19, starts to pick up at 20, and by 30 it just takes off. So now that we know how steep the mountain is, how long does it take to climb? Let’s start with estimating XP gained per hour.

Let’s assume that you’re only catching Pokemon that are easy to evolve, making use of Lucky Eggs to double the XP gained from evolving your pest Pokemon. If you spend 2 hours catching nothing but Weedles and Pidgeys you will net yourself 12,000 XP (enough to get yourself to from level 1 to 5!) and 180 of each candy. This should get you 15 evolutions of each type. When you use your Lucky Egg it lasts for 30 minutes, and each evolution animation takes a while, so about one evolution per minute is about right. Evolving with the Lucky Egg will net you another 30,000 XP. You’re probably hitting up PokeStops while you’re playing (you’ll need to in order to get enough Pokeballs to keep this up) so let’s assume you’re in a park and can manage one stop per minute while catching Pokemon. That adds another 6,000 XP. Just to be generous let’s also assume that you’re getting good at throwing balls, so each capture has a “nice” or curveball bonus for 10 XP each for another 1,200 XP. So we’re at a total of 48,000 XP over the course of 2.5 hours (two hours for catching, 30 minutes for hatching) for an average of 19,200 XP per hour. I’m not taking egg hatching into account because it’s far too random and depends on the quality and quantity of the eggs, and how many incubators are in use. So if we overlay this data with the experience required per level we get this chart.

time-per-level

Under nearly perfect conditions it takes an hour or less per level until you’re at level 18, then starts to grow. 2.6 hours from level 20 to 21, 3.9 hours to level 22, 5.2 hours to level 23, 6.5 hours to level 24… 18.2 hours to get from level 29 to 30. Again, this is under nearly perfect conditions. You’ll be slowed down by trying to catch more interesting Pokemon, interacting with friends and fellow trainers, and actually enjoying the game. In all likelihood, you’ll be spending 2-5 times this long per level, which is why even your friends who are really into Pokemon GO are floating between levels 21 and 24.

And if you’re wondering how long it could ideally take to reach level 40, it’s 1,040 hours or 43 days of non-stop playing. If you’re semi-reasonable and only playing 8 hours per day that ends up at 130 days or over four months.

Pokemon GO: CP Gains During Evolution

I’ve been curious if there was a way to predict what the CP of a Pokemon would be after it evolves. Was it the Pokemon’s size? Current CP? Trainer level? I decided to start tracking different figures before and after a Pokemon’s evolution. With a very, very small sample size, I’ve learned that Pokemon who evolve into their final evolutionary form have much bigger CP.

Spreadsheet of science!
Spreadsheet of science!

I’ll be updating this spreadsheet to see if other factors, like trainer level, have anything to do with it. Maybe I’ll evolve some really low CP Pokemon to see if they catch up.

Pokemon GO: Gyms, Eggs, and Being Beefy

In the last post I talked about Pokemon GO’s basic gameplay mechanics and optimizing item use to gain maximum player level. Today we’re going to take a look at gyms, what they do and how to fight, how to incubate and hatch eggs, and what you can expect after power leveling.

So What Are Gyms?

After you reach level 5 you’re asked to choose one of three teams, Mystic (blue), Valor (red), and Instinct (yellow). Your allegiance has no effect on the game other than what gyms you can defend or attack.

Gyms are currently the only place in the game where you can battle with your Pokemon. They come in different levels, which I’ll explain in a moment, which determines how many Pokemon can be stored there. A level 1 gym can store 1 Pokemon, a level 4 gym can store 4 Pokemon, etc. Swipe left to see the rest of the Pokemon in the gym. If you come across a gray gym it means that no one has claimed it for their team, or the occupying team has recently been defeated and is up for grabs. To claim the gym for your team simply deposit one of your Pokemon in the gym.

Entering a friendly gym, controlled by your team, let’s you drop off Pokemon if it isn’t already full, or spar with your teammates’ Pokemon. Doing this increases your XP and your gym’s prestige level. Higher prestige results in a higher gym level, meaning more Pokemon can defend it from opposing teams. After your sparring match you’ll need to heal your Pokemon. Because it’s a friendly match your Pokemon are never knocked out, meaning you don’t need to use and recovery items.

Gyms controlled by other teams are a lot more interesting. In the friendly sparring matches you only choose one of your Pokemon to battle against the whole gym, one at a time, but here you’re selecting six. As your Pokemon’s hit points near zero, or if you have another one that has a type advantage against the opposing Pokemon, you can switch out during the battle. As you win battles the prestige of the gym drops, opposing Pokemon are kicked out, and eventually the gym become free for the taking. In suburban areas a gym might belong to a team for a few days at a time, but in busy areas with lots of trainers a gym might change owner multiple times an hour.

Defending gyms isn’t just for ego. Each gym you defend rewards you with coins, which can be spent on items like Lucky Eggs and Incubators, as well as XP. Individually each gym isn’t worth much, and bonuses can only be claimed once every 20 hours, so it might be worth the effort of finding a secluded gym without much foot traffic and claiming it.

So How Does Fighting Work?

The simple answer is that your Pokemon have two attacks, a primary and secondary. The primary attack typically does much less damage than the secondary attack. Quickly tapping on your Pokemon during battle will trigger its primary attack. While you’re doing this you’ll see a segmented blue bar near the top-left corner of the screen fill up. Once one of these segments is full you can tap and hold on your Pokemon to trigger its more power secondary attack. These attacks take longer to perform and can be dodged but can also deal massive damage.

The longer answer is that there are multiple attributes that contribute to the battle: CP, HP, typing, attack typing, and attack power. Since I haven’t defined these yet I’ll go ahead and do that now.

  • CP – Short for Combat Points, it’s a way to determine your Pokemon’s strength in battle.
  • HP – Short for Hit Points, this is how much damage your Pokemon can sustain before being knocked out.
  • Typing – All Pokemon have one or two types, such as grass, fire, flying, psychic, etc. Each of these types had strengths and weaknesses. Example, fire attacks do double damage to grass types.
  • Attack types – Each attack does damage of a certain type, like those listed above. These attack types typically correspond with a Pokemon’s typing, but not always.
  • Attack power – Each attack has a base amount of damage it deals before other calculations are done. A primary attack might have a power of 10 and a secondary attack might have a power of 50, dealing 5x the damage.

Like in the normal game, an attack with a power of 10 typically doesn’t do 10 damage. There are a number of calculations that are made to determine the actual strength of the attack and the damage dealt to the opposing Pokemon. We don’t have all the formulas and details for GO just yet, so here’s how things seem to work so far.

First off, CP rules everything. Even with a type advantage it’s incredibly difficult to take down a Pokemon with a significantly higher CP than yours. That is, against a CP 800 Weepinbell, your CP 700 Magmar is going to have a bad day.

Typing is the second most important thing to take into account. GO seems to follow the same strength/weakness rules as the current main Pokemon games, and it’s pretty easy to figure out who has the advantage. Fire attacks to double damage to grass types, but half damage to rock types. That said, Pokemon can have attack types that don’t correspond to their own typing. One example of this is my Slowbro, a psychic and water type, who happens to have Ice Beam, an ice type attack. Making sure you pair your Pokemon appropriately with the defending Pokemon of the gym is critical to getting the win.

Your Pokemon’s attacks and attack power will change during evolutions so unless it has already reached the end of its evolutionary line there’s no reason to pay too much mind here. Once you’ve got a gang of fully evolved Pokemon you can start evaluating which is going to be best suited for battling and start powering them up. Powering up your Pokemon increases their CP and HP at the cost of Stardust and candies. This can get very expensive so avoid powering up your Pokemon until they have a CP over 8-900 when caught, evolved, or hatched. They’ll end up stronger in the long run.

Speaking of Hatching…

Of the three ways to get new Pokemon hatching, or “incubating”, requires both the most and least amount of work.

Spin enough PokeStop medallions and you’ll get eggs along with your pokeballs and potions. Your eggs can be found by going to your list of Pokemon and swiping left. Tap an egg, then tap ‘incubate’, and select one of the incubators to put the egg in. Each egg has a distance requirement before it can hatch: 2, 5, and 10 kilometers. The game tracks how fast you’re moving so riding in cars won’t count for your incubating progress. The game also needs to be running for your progress to count, so keep that in mind before going out for a run. Eggs with longer incubation period result in stronger, rarer Pokemon, as well as more candies for that evolutionary line.

You start the game with one incubator that can be used unlimited times. As you level up you’ll receive additional incubators that can only be used three times each. If you’re going to hatch 2 km eggs they’re best put in the infinite use incubator since they hatch quickly and typically don’t have a lot of good stuff in them. You can choose to use them as you get them, wait to use them all simultaneously (which, combined with a lucky egg, can result in huge XP gains), or you can pay for additional incubators and go to town.

Life at a Higher Level

During your lower levels the temptation to power up seemingly strong Pokemon is overwhelming, but it simply isn’t worth it. Why? When I was a lower level, maybe 10, I evolved an Eevee into a CP 400 Jolteon and spent all my Stardust powering it up to a seemingly massive 660. Now, at level 18, 19, 20, I’m encountering wild Pokemon between CP 400 and 850 regularly. I evolved another CP 520 Eevee into a CP 1300 Vaporeon. That was without using a single mode of Stardust.

PokeStops are also dropping different items. They had started dropping greatballs but are now dropping ultraballs.

Basically, everything is better and I could have some pretty monstrous Pokemon if I had saved my dust and candies from pointless power-ups.

Pokemon GO: A Beginner’s Guide

Today I’m going to skip the rambling introduction and get right to the meat and potatoes.

What Is Pokemon GO?

GO is an augmented reality game, meaning it blends the game into the real world. Using your phone’s GPS you and your friends can search for Pokemon. All players share the same instance of the game, meaning that if one player finds a Pokemon other players should be able to find that same one in the same place. The main objectives are to collect Pokemon, train them to make them stronger, and defending your team’s gyms while battling other teams’ gyms. Also getting exercise and being social are important but that doesn’t really need explaining.

How Do You Play?

After downloading the game from the Google Play or iTunes App Store you’ll sign in with your Gmail account. Once you’re in the game you’re greeted by Professor Willow who gives you a brief overview of the game and its mechanics. You then get to choose your starter Pokemon, Bulbasaur, Charmander, or Squirtle. Which one you choose actually makes very little difference since you can’t go to gyms until your player level reaches five. Also, your starter’s CP, or Combat Points, are only 12 which is completely useless for battling or leveling up as I’ll explain shortly.

So now we need to catch Pokemon, but to do that we need Pokeballs. You get those by going to PokeStops and spinning the medallion, which drops items that are automatically added to your inventory. Once you’ve collected a bunch of Pokeballs it’s time to start catching Pokemon. Simply wondering around is usually enough to start some of your core catches: Pidgey, Weedle, and Rattata. For the first few player levels this is pretty much going to be your focus; spin, spin, catch, spin, catch.

“But that sounds boring!” I hear you cry. Yes, it might be hard not to evolve or level up that Krabby or Slowpoke you caught, but trust me, it’s worth it, and I’ll explain why later.

Tips For Catching Pokemon

In the bottom-right corner of your screen there’s a small list of nearby Pokemon. Tap this list to open a larger list of every Pokemon that’s around you. The number of footprints indicates relative distance each one is from you. If there’s a particular Pokemon in that list you want to catch, tap on it. The window will shrink and only display that Pokemon, along with its distance. If the number of footprints increases, or it disappears entirely, you’re going the wrong way. If the number of footprints decreases you know you’re on the right track. If there are no more footprints you’re basically standing on top of it. Look for russling grass in the game; this should give you a hint for where to look. Eventually it should jump out and you’re ready to catch it.

Once you’ve tapped on the Pokemon and the catching interface has appeared you’ll see the Pokemon and your Pokeball. Around the Pokemon there will be two circles; a white one that stays the same size and a green one that shrinks, gets big, then shrinks again. The basic goal is to throw the Pokeball into the white circle to catch the Pokemon, but you get more experience and a higher catch-rate for hitting the green circle. The smaller the circle the bigger your bonus.

You can also throw one of two ways. The first way is by simply dragging the ball up quickly with your finger and releasing. The second is by spinning the ball and throwing at an angle. This is a more difficult throw but gives you another boost to the catch rate.

Just like in the game, better Pokeballs will have better catch-rates. If you don’t have Greatballs, or if you really just want to make sure the Pokemon doesn’t get away, you can use Razz Berries to give a bonus to the catch-rate. They’re one-use items and only work each time you attempt to catch the Pokemon. This means if it pops out of the Pokeball you’ll need to use another Razz Berry to get the bonus again.

Leveling Up with Pidgey Power!

You can power up a weak Pokemon but you’ll end up using all of your resources, Stardust and Candy, and the end result will be a mediocre Pokemon and depleted resources. The best course of action is to simply catch a Pokemon that’s already strong and then level it up. But, in order to catch strong Pokemon, your player level needs to be high. So how do you do that? By taking advantage of an in-game item called Lucky Egg. This item doubles your player’s experience gain for 30 minutes. When combined with evolving Pokemon, your player level can make huge jumps. I went from level 10 to 14 in the course of about 10 minutes.

Each Pokemon caught gives you 3 Candy, plus 1 more if you transfer it to Professor Willow, for a total of 4. Pidgey requires only 12 Candy to evolve (a more typical amount is 50) and nets you 500 XP, or 1,000 if you’re using a Lucky Egg. By level 9 it wouldn’t be much of a stretch to have caught maybe 50 Pidgey, netting 150 Pidgey Candy. That’s enough for 12 evolutions. 10 evolutions times 1,000 XP each gives you 12,000 XP total, enough to hit level 10. Weedle is another Pokemon to use for quick leveling. They are at least as common and also require 12 Candy to evolve, so that’s easily another 12,000 XP, so you’ve gained another level. Repeat this for all the common Pokemon with low evolution costs and you’ll gain levels en mass. You’ll get another Lucky Egg at level 10, then again at level 15, so there are plenty of changes to bulk up.

Once your player level is up you’ll start getting better items from PokeStops, like Greatballs and Super Potions, and encountering Pokemon with higher and higher CP. Since you have hopefully not spent any of your Stardust you can start capturing monsters with a CP of 500+ right off the bat, which results in much higher CP in the long run.

Soldering and Desoldering guides

I’ve screwed up plenty of electronics trying to add or remove components with poor solder technique. Lifted pads, burned components, the lot. If I’m going to be attempting to repair and modify consoles and handhelds I should probably learn how to do things right. After searching YouTube I found these incredible guides filmed in 1980 and 1982 by PACE, Inc. These are definite must-watch videos if you’re interested in soldering.

Basic Soldering Lessons 1 – 9

Rework & Repair Lessons 1 – 8