Badge spotlight: Amberial: Nebulosa Realms
Spherical Ninja (hard, 30 points) -- Complete every level with an Ace and a Thunder finish.
I'm directing today's spotlight onto Amberial: Nebulosa Realms (reviewed previously here), but really I want to talk about an issue that's pretty pervasive in designing badges for Flash games (a problem that I'll bet people designing achievements for the PS3 or Xbox don't have to worry about), and that is that the quality of the computers that people use to play Flash games varies widely. Some people are playing games on decade-old machines or woefully underpowered netbooks, while others are playing on rigs capable of running Crysis 2 without any problems. As a result, a game that will play fine for some people may be unbearably slow for others.
For the majority of games, playing the game on a slower computer merely means that things happen more slowly, which (especially for fast-paced shooter-type games) can often give the player an advantage. Indeed, I will admit to deliberately playing some games on a slower computer to give me an edge on some of the more difficult badges on Kongregate. While you might think that this only would affect really graphics-intensive fast-paced games, it affects a pretty wide swath of Flash games, probably due to the fact that writing poorly performing Flash code is pretty easy. It even affects some games you would think wouldn't be dependent on processor speed at all (99 Bricks is my standard example -- although the game appears to proceed at the same pace on slower machines, your tower sways noticeably slower, which confers a significant advantage). And often even a small, nearly imperceptible difference in speed can make the difference between an impossible badge being attainable (at least for me) and truly unattainable.
If that's the only issue to worry about, the solution is pretty obvious -- play a game on a sufficiently fast computer that there's no slowdown (I would assume that Kongregate has such machines) and assign the badges based on that, and just accept the fact that people with slower computers have an advantage. This obviously isn't a perfect solution, but it's clearly better than the alternative of making badges targeted at slower computers which may be impossibly (or at least unreasonably) difficult on faster machines.
Of course, things are often not so simple. For instance, while most games have a well-defined top speed, some will just get faster and faster with computer speed; there are some games from 2008 on Kongregate which are nearly unplayable now due to the speed that they go on an average computer from today. Other games actually get more difficult on slower computers. In Vector Runner, for instance, while the pace of the action doesn't appear to get slower (at least it didn't when I tried on a slower computer), the controls get mushier, so having a faster computer is an advantage. There are even some extreme cases like Typing Ninja Hunter where the game is actually unplayable on a slower computer (the keys are so unresponsive in the boss battles that you simply can't get them to register in the allotted time).
The reason I've chosen Amberial: Nebulosa Realms as the spotlight for this discussion is that it has one of the most frustrating manifestations of this problem of all that I've seen. One of the requirements for its badge is to get a Thunder finish on each level, which requires beating a certain target time. On one level, I had a tremendously difficult time beating the target time, and it seemed to be due to one place where I had to wait a couple of seconds for a moving platform to reach me. It wasn't like there was any obvious way for me to catch it earlier, since merely saving a few tenths of a second wouldn't help; I would have to improve by a significant amount to catch it earlier, and that just didn't seem possible. So I looked on YouTube to see if there was some strategy I was missing. Nope -- they did the first part of the level pretty much exactly the same as I was doing it, and arrived at the moving platform at pretty much the same time, except instead of the moving platform having already left, it was just arriving! Apparently my computer was faster than the one in the YouTube video, causing the moving platform to be just faster enough to make the target time ungettable. So I finally resorted to somewhat questionable means -- I played a video in the background and suddenly, I could catch the platform and get the target time relatively easily. This is the only time I've had to resort to such shenanigans, and it's rather unfortunate that it was necessary.
As these examples illustrate, this is a pretty thorny field, and I don't think there's necessarily a clear-cut answer. I mean, it's clearly impractical to expect Kongregate to support 100% of its users' computers, given the wide diversity, so I think it's OK for Kongregate to sometimes say, "if you really want this badge, you might need a better computer". But where do you draw the line? Personally, I think it's OK to set the line at maybe a slightly below-average machine and accept that machines slower than that may have problems, but this may simply reflect my bias that the machines I've used for Kongregate (except for when I've deliberately played on a slow computer) are generally pretty middle-of-the-road. And this doesn't really solve problems for games like Amberial where the natural progress of computer quality may make the badge ungettable -- I don't think there necessarily is any solution to this problem other than to hope that game programmers take these issues into account when doing their timing routines!
One last note: This fact also tends to skew feedback on badges, and I think it's actually a pretty large factor. When people say that they found a (speed-based) badge very easy, my first thought is usually that maybe they just have a slow computer (or even a fast computer which they were doing a lot of other stuff on). I wish more people would take into account this factor when evaluating Kongregate's badge difficulty, since at least in my experience, it tends to be pretty solid.