Faking a GameBoy Camera

If you just want to download the Photoshop actions, the link for that is right here. The boarder is available here.

A couple years ago, I thought I would be funny by posting a black and white photo of my new GameBoy Color. I kept editing it, though, eventually lowering the resolution and color depth. At some point, I thought it would be cool to make it look vaguely like a GameBoy screen, or like it was taken with a GameBoy Camera. I got close, but three important things were wrong: resolution, color depth, and the boarder.

About a week ago I saw an article about a Formula 1 photographer who used a custom lens mount to shoot a race with a GameBoy Camera, which made me remember my Photoshop filter project. After doing some additional reading on the camera’s technical specifications I got to work.

Next, I’ll explain every step the action takes, and what its effect on the image is. If it all looks too complicated to you, just read step 2 below. When the Levels adjustment box appears, just click OK, then follow step 9 to import the frame.

  1. Flatten Image
    Actions, at least how I make them, work much better if the work space starts in a known state. Here, we’re just smushing all the layers into one to make things simple.
  2. Crop
    This one is deceptively important. The GameBoy Camera creates images that are 128 pixels wide and 112 pixels tall. For the effect to look convincing, we need to copy these exact dimensions. One thing to note is that, when you’re selecting the area to crop, which the action prompts you to do automatically, you need to keep the aspect ratio wide. If you accidentally create a tall image it will not fit inside the border correctly. When you’ve got the picture framed how you want it, press enter or click the check mark at the top of the screen.
  3. Make adjustment layer
    The first adjustment layer creates a Black and White conversion layer. We could convert the image to black and white any number of ways, but I feel like this one creates the best results and has the most flexibility. If you click the empty box next to the check mark, you’ll be prompted to make adjustments to the layer the next time the action is run. Doing this, you can make certain colors brighter or darker for better contrast, detail, and creative effect.
  4. Make adjustment layer & Set current adjustment layer

    This step is probably the most complicated. It creates a Levels adjustment layer, which we use for determining the white, back, and middle gray points. Basically, because we’re so limited on colors, we need to make sure we’re not wasting any detail on parts of the image that don’t really matter. Press and hold ALT on your keyboard, then drag the white slider (circled in blue) to the left. You’ll see the image turn black and white, with the white portion growing. The white shows where the brightest part of the image is. Move the slider until the bright parts of the image, where detail is not important, are covered in white. Do the same thing with the black slider (circled in blue), to push all the dark areas of the photo, where details are not important, just like before. Next, move the middle slider back and forth until the important areas of the image have a lot of detail. In the example here, with Grummy the Dog, the white slider was moved in until the fur next to her nose starts to become all white, the black slider was moved in until the fur under her ears becomes all back, and the grey slider was moved left until the detail in her head and face became clear. When this is done, press enter. Once the filter completes, if you’re not happy with the result, this is the number one place to go back and make changes.

  5. Flatten Image
    The next step only seems to work if the image is a single layer, so we need to squish it again.
  6. Convert Mode
    Here is where the secret sauce comes in. It compresses all the various shades of grey we had into only 4, just like in the actual GameBoy Camera. Specifically, we’re using Indexed Color with the following settings:
    Palette: Local (Perceptual)
    Colors: 4
    Forced: None
    Transparency: (unchecked)
    Dither: Pattern
    Each of the three ‘Local’ variations typically look the same, but I’ve had better luck using Perceptual. The GameBoy Camera generates 4 shades of grey, so we set that here as the number of colors, and the dither type of Pattern creates the regular variations that create that fake sense of additional colors. There’s a few ways dithering can be used, but the GameBoy Camera uses a patterned dithering, and so will we.
  7. Convert Mode
    Most of Photoshop doesn’t really work well, or at all, using indexed color, so we need to jump back over to RGB color space.
  8. Canvas Size
    The boarder sits around the photo, not on top, so we need to clear out some space for it to go. It’s 16 pixels on each side, so we need to expand the image 32 pixels in height and width, leaving the image centered.
  9. Place
    This is where the boarder gets placed. If Photoshop doesn’t locate it automatically, double-click this step in the actions menu and find it in Explorer. The new location will automatically be saved for next time.
  10. Rasterize current layer
    When we enlarge the photo in the next step, we want to make sure our pixels are big and sharp. If we don’t do this, the photo will be enlarged correctly but the boarder will get all smeared and blobby.
  11. Image Size
    Here we’re making the image 4x larger than it was originally. Double-clicking this step will allow you to put in any value, but I feel like 400% just feels like the right size.

There’s one more option, an action called GameBoy Camera Color. Of course, the GameBoy Camera was never made to take color photographs, but it is possible to use multiple filtered photos to composite a color photograph from the GameBoy Camera‘s black and white sensor. In fact, it’s essentially the same way modern digital cameras work, they just do it more elegantly. In a nutshell, it works the same way the other filter does, but it manipulates the individual color channels rather than the entire image. Due to the increase in color detail available, I’ve removed the requirement to adjust the black and white points in the image, which means the resulting photo is both more detailed and simpler to generate. The results are far more detailed than if this were done using real hardware, but the source photos are also taken with impossibly better cameras, so there’s that. Maybe if we had manual control of the GameBoy Camera and used better lenses we could achieve similar results.

That’s all for now. I’ll update the post once I’ve uploaded a YouTube video on how to use the actions.

Monsters and Mahjong

In my last post I mentioned going to the retro gaming swap meet in Portland, Oregon. While I was there I talked to Cody and Kelsey, co-owners of Pink Gorilla and hosts of the Game Blitz Podcast about using the studio at my work to film their show. I would be in charge of set design, lighting, audio, recording, basically everything except for on-air talent. They get higher production value and can focus on content while I get hands-on practice in a live-to-tape production environment; everybody wins. Fast forward a few weeks, and…

All-in-all, it went really well. For those of you who are fans of the show and want some background information on the difficulties I encountered, here ya go.

First, the air conditioning system can’t be turned off (at least, not by us), and the servo that controls the airflow is incredibly loud. Luckily, the building management came through at the eleventh hour (6 o’clock) and disabled all airflow to that room during filming hours. Second, I had the studio setup for two people. I didn’t know Raph was going to be on the show until later in the day, so it was a bit of a scramble to get the extra lavalier and transmitter sourced and setup. With the talent in place I started recording and the show got underway. During the intro I noticed Kelsey was sounding faint and echo-y. Turns out her transmitter’s battery had died, so I had to interrupt the intro to replace the battery pack. If you look at the far-left side of the desk you’ll see her transmitter on the desk. That wasn’t originally there, we just forgot to move it after getting it back online. That was three. Fourth was the saturation on the main camera. It was just too high, giving everyone’s skin an intense orange/red color. Apparently no one noticed, but it’s something I could have easily fixed if I wasn’t so focused on problem number five: bad recordings.

The original plan was to have the podcast recorded on a Mac using Wirecast, saving it to a “YouTube-ready” 1080p MP4, somewhere around 15 mbps. I had done literally hours of testing to make sure there would be no problems, and just before starting the show the settings got erased. I re-entered the settings, saved, and hit record. Unfortunately, I didn’t select the new preset, so it defaulted to a low bitrate 720p setting, which looked… it was fine as a backup, but not the quality I wanted to publish. Fortunately, I had two other hardware encoders running, recording ProRes 4444 copies of the show. I managed to screw up both of those recordings as well. The first encoder, a Blackmagic Hyperdeck Mini, filled the first 128GB card and I didn’t finish formatting the second card in time for the recording to transition to the other card, losing several seconds of show. The second encoder, a Atomos Shogun, records to an SSD that didn’t have the same capacity issues that the Hyperdeck Mini did. I was able to record the entire show in incredible quality, but due to the way the Shogun was used in a previous production (before I started working here), audio channels 1 and 2 were muted, resulting in no audio being recorded. After coming down from a mild panic attack, I realized I could combine the audio from the Mac recording and the video from the Shogun recording, sync them to the thump of placing the monster figurines on the table, and ta-dah! I finished product.

There’s a few other improvements I’m looking to make to the next recording, but I feel like I’m pretty close to having a push-button production where we only need a few minutes of setup.

So, Monster Hunter. I had known about it for a long time, and I had always been interested in the booths for it at PAX, but I never got around to playing it. With all the hype around Monster Hunter World, though, I decided to pull the trigger and give it a shot. Holy crap, what an experience. Even though I’m awful at the game, I couldn’t stop playing. The weekend following the Game Blitz Podcast I played about 20 hours over that Saturday and Sunday. I haven’t had time to pick it up since then. As of right now, I need to hunt Diablos, which is close to the end of the main campaign I think.

I competed in two mahjong tournaments recently; one in Vancouver, B.C., and one in Los Angeles, CA. The last time I went to Vancouver for mahjong I ended up finishing second to last, only beating out a player who didn’t show up on the second day and received a 100,000 point penalty. This year, I managed to finish 9th, getting knocked out of the semi-finals by less than 2,000 points by another Seattle club member. All things considered, I wouldn’t have made it to the finals, and playing the extra hanchan for the chance at winning $5 CAD… I think would rather leave the money on the table and enjoy relaxing for the next couple hours.

The tournament in LA was different, though. Hosted by the LA Pride of Mahjong (LAPOM) club, it was a Saki-style team tournament. Basically, teams of 4 share a common point pool. Points were updated in real-time using a web app, developed by the NorCal-based Pacific Mahjong League. The idea was that you could change your play style based on how well your team was doing. If your team was in the lead by a large margin, maybe it’s best to play with an iron defense. If your team is trailing, maybe it’s time to play risky in an attempt to get a huge hand. The event was a lot of fun, and run very professionally.

On the topic of Mahjong, I need to add more content to the MahjongGameDB. I was making good headway playing through まーじゃべんちゃー (a combination of “Mahjong” and “Adventure”?), but there’s a point where opponents get consistent Tenhou Kokushi, so I’m not sure how to get past that part. The other game I started playing was Mahjong Quest, which is unusually kanji-heavy for a Gameboy/Gameboy Color title. Also, I just ordered Mahjong Fight Club for Playstation 3! I played it during the summer for an hour and it was awesome, so I’m hyped to get my hands on a copy of my own. Should prove a huge contrast to the other mahjong console games I have.

Portland Whatever Swap Meet

I had planned to drive down to the retro gaming swap meet in Portland, OR last year for my birthday, but for whatever reasons I ended up staying home. This year, the girlfriend and I managed to get up early enough to drive down and get there shortly after the doors opened.

Usually, when I go down to PDX for retro gaming stuff, I end up bringing back a full backpack with a few hundred bucks worth of consoles, games, and accessories. For this trip I only ended up spending under $50. I’ll post a “haul” video later, but the coolest thing I picked up was a Honey Bee adapter, which lets you cram Famicom games into my NES. Unfortunately, the edge connector that I just replaced a few months ago is, and continues to be, a piece of hot garbage. After clipping one of the pins on my NES’s lockout chip I had better luck getting my games (even the US ones) booting, but holy shit I need to put a Blinking Light Win in there.

Anyway, I’m planning on doing a showcase/review of the Honey Bee, because it’s rad. Hopefully, by the time I do that, I can also get a “blackbox” NES cart that has the official Nintendo pin adapter in it.

Andrew W.K. is Weird

Yesterday I was feeling pretty shitty. All this year I’ve been doing especially shitty at mahjong, continuing the streak from last year. Then, before the ranked matches started last night, I got a phone call regarding a medical emergency for an immediate family member. TLDR, the rest of my night was pretty shitty. I got home feeling shitty, and woke up feeling shitty. Then I saw an “On This Day” post on Facebook from 2014.

This surprisingly deep advice from the Party God (not actually that surprising, he posts inspirational stuff all the time) helped put me back into a positive mental state. Thanks, Andrew W.K.

In other news, every day at work seems to be cooler than the last. I got the green light to go ahead on a special project, which will be announced after it’s finished, and today my job is to setup the studio for a video we’re shooting. Getting my hands on thousands of dollars of professional video equipment is not the worst job I’ve had.

New Year, New Server, New Job

There are a lot of reasons I don’t update this site anymore. I’m lazy, I start articles that never get finished, I’m not inspired to write when people seem to only care about video content. One of the biggest issues is that my servers were dog-slow. Loading any one of my websites took five or ten seconds per page, and when I’m constantly saving drafts or previewing edits it can make things unbearable. Sometime last year I contacted my hosting provider and they said something about large images and WordPress configuration settings, giving some tips on what to do in the process. Nothing helped, and I just dealt with the slow loading, knowing that no one was checking the content anyway. After starting another website, the Mahjong Game Database, I couldn’t tolerate the slow loading anymore. I contacted my hosting provider again with a more detailed description of the problem and found out that my SQL server and web hosting server were on opposite ends of the country. They migrated the SQL server to the same location as my web hosting and, holy shit, pages load at a reasonable speed! I know it doesn’t sound like much, but it feels like lightning compared to what it was before.

Speaking of the Mahjong Game Database, that’s where most of my effort is going right now. Originally I was just going to create a list and supplement it with screenshots, photos, and whatever metadata I thought was appropriate, but each entry has been evolving into a complete guide to playing the game, along with reviews of the gameplay, text translations (what I can muster, anyway), and soon I’ll have gameplay videos. It’s way more work than I was anticipating; setting up a new Wiki requires a ton of work, then there’s the task of trying to complete difficult games in a language I can’t really read. By the way, did you know that infoboxes aren’t natively supported by Wikimedia? I didn’t, and they’re a pain in the ass to get set up correctly.

And the new job. I can’t/don’t want to talk about it in too much detail, but I’ll be helping to coordinate online video productions, both live and pre-recorded. Certainly better than the dumper fire of a job I had the last quarter of the year. If I decide to go into detail on that, it’ll probably be during a live stream with a glass of hard liquor.

I’ll try to be more responsible with updates. Even if it’s just a paragraph or two, I’ll make it a point to put something here semi-regularly.

Input Latency: HD CRT vs HD LCD


A while back my trusty CRT, a Sony KV-32XBR450, started having some weird sync issues where the image would sometimes be too low, then it would start from the middle, then jump around a bunch… it wasn’t great. At first it only happened for a few minutes when it was first turned on, but as time went on, it took longer and longer for the TV to “warm up”. Eventually, it was like this all the time, so it was time to start looking for something new.

While browsing Craigslist for a 1080p flat panel I stumbled across something interesting: an NEC LC5220AV. Knowing that NEC makes some dank shit, I did some research to see if this would be a good display. I was really excited about the inputs: native RGB H/V, VGA, DVI, HDMI, component, composite, s-video; it seemed to go on forever. $200 later it was in my living room and it. was. fucking. awesome. The picture-in-picture options on this 52-inch panel meant that my roommates and I could play multiple consoles on the same TV at the same time (8-player Mario Kart, anyone?). I always wondered what the input latency on this panel was, especially compared to my CRT I had given up for this much larger, more modern display.

Thanks to the 240p Test Suite, I’m now able to answer that question.



The first test I performed involved hooking my Dreamcast up to each display and running the Manual Lag Test five times, using the median as my final result. I did this with the CRT, then the LCD using no scaling (so it was rather small on the screen), scaled to fit the display, then again using the Framemeister XRGB-Mini to upscale the 240p image and output it to the LCD over HDMI.

For the second test, I connected the Dreamcast to the CRT, then used the CRT’s “monitor out” to send the video to the LCD, so the image is displayed on both screens. Using the Lag Test and my DSLR’s video recording feature, set to 60 frames per second, I recorded the difference between the two screens. Afterward, I connected the Framemeister between the CRT and LCD to see if that added any additional latency.


Out of the five input latency tests, I observed the follow results:
CRT: 1.6 frames (26.67 ms)
LCD (native): 2.1 frames (35 ms)
LCD (scaled): 2.1 frames (35 ms)
LCD w/ Framemeister: 1.4 frames (23.33 ms)

I was happily surprised that the LCD’s internal scaler only added about half a frame of delay (compared to the 2-3 I often hear being added on consumer LCD panels), but I was astonished that the results with the Framemeister were better than the CRT’s results. I should point out that the KV-32XBR450 is a high-definition CRT with image processing that cannot be disabled, meaning that it, like modern displays, is going to add some amount of latency compared to a more traditional consumer CRT or PVM/BVM.

The results from the second test were also surprising. Since the signal being output from the CRT’s “monitor out” shouldn’t be subject to any image processing, this would present a good way to run a “drag race” between the two panels to directly compare display latency.

The image on the left is with the composite signal going directly into the LCD panel, which adds one frame of input latency. the image on the right us using the Framemeister to upscale the image to the LCD’s native 1080p, which results in no additional input latency. This isn’t to say that the Framemeister doesn’t add any input latency at all. What it means is that the internal scaler and image processing of the Sony CRT add the same amount of latency as the XRGB-Mini. If my manual input latency testing is accurate, they both add o frame and a half of latency; something only the most elite fighting-game players would notice.


The purpose of this testing wasn’t to determine which display is better, but to test specific differences between the two. Using the 240p Test Suite’s various tools, I was able to see frame stutters in the LCD panel that aren’t present on the CRT. The scaling of 240p content on both displays was between mediocre and above average. Geometry was accurately represented on the LCD, but rather poorly on the CRT due to lack of calibration, age, whatever lingering issues that had caused the sync issues mentioned earlier. All that said, it would appear that I’ve lost nothing by upgrading from this particular CRT to this particular LCD. Which is pretty cool.

Resident Evil 7: Beginning Hour

Resident Evil isn’t a game I ever paid much attention to. It seemed neat, but I just never had access to it as a kid. For whatever reason, I was really excited to try the demo at PAX this year, but it was by appointment only and it was always booked up for the whole day. The last day of PAX my friend and I decided to get there well before doors opened to try to secure our spot. 4 minutes after the doors opened we finally got to the booth, only to be told that all the appointments had been filled and we would have to wait in the stand-by line, hoping for no-shows.

Needless to say, I didn’t stick around.

Since then I hadn’t given the game much thought outside of the occasional promotional video, but when I saw the demo listed on my Xbox One dashboard I was really interested to see if it was, indeed, a scary game.

The answer is yes, yes it is scary. Penny Arcade coined the term “fear shitting”, which I would also use to describe this game (though they were playing using PSVR). It’s not something I want to explain too much because it really deserves to be experienced with no preconceptions and no biases. It’s truly an amazing experience with lots of replay value.

That said, if you really don’t want to play it yourself, here’s a playthough of the game with no unnecessary items collected or rooms explored with the ‘bad ending’. This way you can experience what the game is like without ruining the exploration and puzzle-solving elements.

If you’ve already played through the game and discovered the various endings, here’s a speed run where I complete the game and achieve the ‘true ending’ in only three minutes. As an added bonus I even talk you through it while I play!

Anyway, RE7 looks to be a great game and I’ll definitely be doing a let’s play series when it comes out in the beginning of next year.

PC Gaming Under $100

A while back I picked up a Dell Optiplex 755 from RE-PC, a local computer recycler, for $25 with the intention of making it a dedicated retro PC gaming rig that could run DOS games without the need for DOS Box. Games like Rainbow Six, Quake III Arena, and Nightmare Creatures run beautifully with all the visual settings maxed out at 1080p and the system seems to be damn near asleep while doing it.

Fast forward to November 25th when OzTalksHW uploaded this video documenting his build of the “OzBox”, a $160-ish gaming build.

“…if you’re thinking about building your own OzBox then definitely tweet at me and use the hashtag #OzBox because I really want to see you guys’ creations.” Challenge accepted.


Our starting points are pretty similar. They are small form factor computers, originally designed for business tasks and general home computing with very little in terms of upgradeability. The key is that they both have a single unused PCI-Express x16 slot.

FakeGamerBox OzBox
Base System Dell Optiplex 755 HP Compaq 6000 Pro
CPU Core 2 Duo E6550 @ 2.33 GHz Core 2 Duo E6300 @ 2.8 GHz
RAM 2 GB DDR2 800 MHz 4 GB DDR3 1333 MHz
Storage  80 GB SATA 250 GB SATA
Price $20 $50

The OzBox comes with a newer, faster CPU, double the memory, and three times the storage for an extra $30 (or 2.5x the price, if you want to make it sound more sensational). To be fair, that $30 different is entirely the shipping cost from the eBay auction, so if you could find a similar deal locally that would be the way to go.

For $20 you can buy a Core 2 Quad E6700 at 2.66 GHz. For another $10 you can pick-up a 2x2GB kit of RAM to replace the 2x1GB sticks it comes with, or even suppliment the RAM your system comes with. I happened to have a 2x2GB kit laying around, so I replaced the old memory with the new stuff.

Our video card of “choice” (that is, out of the very limited selection of low-profile graphics cards available, this is the one I felt like spending my money on) is a nVidia GT 730 by PNY. I picked this 2GB model up for  $54, so depending on what upgrades you need we’re looking at $79-109 before tax.

Falling at the Starting Line


My original goal was to keep Windows XP on this machine, and that’s how I started the testings. Unfortunately, running XP meant I’m limited to 4 gigs of RAM (the board supports 8), spotty driver support, questionable-at-best security, and, most importantly, most modern games and benchmarking utilities simply won’t run. This limited me to testing older titles which didn’t reflect what a “gaming PC” should be able to play, so after countless software crashes and failed benchmarking attempts I eventually caved and installed Windows 7. Depending on wether or not your computer came with Windows 7 installed, or it came with the OEM license stuck to the top or back, of if you need to purchase a whole new copy, this could add some amount of cost to the build.


I couldn’t decide if I wanted to test across an array of resolutions or target a common low resolution like 1280×720. Eventually, I decided on 1280×960 for a couple of reasons. First, it seems to be the resolution of choice for pro Counter-Strike players, so that’s the resolution I wanted to test there. I also thought it would be ideal to use the same resolution across all the games to get more comparable results. I also did all my benchmarking with four gigs of memory installed. Originally I was going to test with two gigs installed, then four, but it seemed like a huge hassle when the cost to upgrade (assuming you don’t have some laying around) is so little.

Dual Core

For my first round of testing, I went with the PC game I play the most often: Counter-Strike. Unsurprisingly, Global Offense had the lowest average frame rate at 62.4 FPS. 90th percentile frame times were 20.8 ms (48 FPS).

Going back to CS 1.6, I saw an expected boost in performance, but also an unexpected boost in erratic frame times. Average frame rate was 168.9 FPS, 90th percentile frame times were 7.2 ms (139 FPS), and a frame time deviation of 39%. Ideally, we would see the individual frames bunched as close as possible to the average (which we see with Source and Global Offensive), rather than scattered across the chart.

I was most impressed with CS: Source. Here I saw the highest average FPS between the three games, 212.3, the lowest 90th percentile frame time with 5.9 ms (169.5 FPS), and the lowest frame time deviation at 22%. This gave the best sense of responsiveness and fluid gameplay out of the three.

Unreal Tournament has always been a game that combined incredible graphics with fast gameplay and blazing frame rates. I remember being absolutely floored by Unreal Tournament 2003 on my AMD AthlonXP 1000+ and nVidia MX440, then again by Unreal Tournament 3 on the high-end machines at work back in 2007. So how do these titles hold up on our budget hardware?

UT 2004 had an average frame rate of 146.2 FPS and a 90th percentile frame time of 8.6 ms (116.3 FPS). Despite the modest frame rate and low video settings the game still looked great and was an absolute blast to play again.

I had my doubts about how well Unreal Tournament 3 would run, but those were soon laid to rest. With an average frame rate of 74 FPS, I was concerned it would dip below 60 FPS, but the 90th percentile frame time was 8.6 ms (64.9 FPS) it managed to stay consistently playable. Most surprising was the frame time deviation which was only 14%, meaning the frame times were very consistent.

It shouldn’t have surprised me as much as it did, but Left 4 Dead runs amazingly on this setup. Since there are tight corridors and large outdoor areas flooded with zombies I figured I should measure the performance of both scenarios, which were really quite similar. Indoors saw an average frame rate of 101.3 FPS with a 90th percentile at 12.9 ms (77.5 FPS). Outdoors, while being swarmed by zombies, the frame rate averaged 100.1 FPS with the 90th percentile at 14.3 ms (69.9 FPS). My playthrough of the first mission was very smooth with no noticeable frame drops, stutters, or other performance issues. Then again, it’s an 8-year-old title at this point, so the impressive performance does make sense.

Quad Core

I replaced the dual core E6550 with a Q6700 quad core processor (a surprisingly simple task in this machine), which is the best CPU this motherboard supports. In addition to the extra cores we also get a 333 MHz clock speed increase, so even single-threaded games should see a performance boost.

CS 1.6 saw a huge boost to average FPS, jumping from 168.9 to 211.0, and more importantly, the average frame time deviation (how far away each frame was compared to the average) dropped from 39% to 12%. That means that, rather than having a frame rate that consistently jumps up and down, it stays stable throughout gameplay.

CS: Source had its average frame rate drop from 212.3 to 181.5 while its frame time deviation swelled from 22% to 35%. Not sure why this happened, but it was consistently happening.

CS: GO got a modest increase from 62.4 FPS to 75.3 FPS with minor reduction in frame time deviation.

Both Unreal Tournament games saw virtually no change whatsoever, which leaves me to believe that the game is being bottlenecked by the video card.

L4D got a substantial 13.2 FPS gain while dropping it’s frame time deviation from 27% down to 12%.

This was originally going to be the end of my benchmarking since the selection of modern games that could still run on Windows XP was limited, but I decided to install Windows 7 and see what this hardware was really capable of.

Quad Core on Windows 7

Now that we can install pretty much whatever we want (that will fit on the measly 80 GB drive), it’s time to really put the hardware through its paces.

When I loaded 3DMark the recommended benchmark was Firestrike Extreme, which made me audibly laugh. After selecting the standard Firestrike test, which I already knew would be too much for the system to handle, it came back with a score of 639.

A more fair test would be SkyDiver which came back with a score of 2,639, exactly 2,000 points higher. Still not great, but at least it’s a real score this time.

CS 1.6 saw another boost to average FPS, hitting 232.9 on average. CS: Source continued to drop, this time hitting 153.0, down from 212.3 with a slower dual core CPU on Windows XP. I just can’t wrap my mind around this. Maybe it’s servers, maybe it’s something hardware or operating system related, I have no idea. CS: GO managed nearly identical results with an 115.4 average FPS and nearly identical 90th percentile frame time.

UT 2004 also saw a drop in average frame rate, down from 142.6 to 109.2 with the 64-bit patch. Without the patch, the average frame rate was 100.1. This might be something OS-related, but considering how rarely I play UT 2004 and how little that extra 40 FPS actually matters, I’m just going to leave it alone. UT3 saw no notable change.

L4D, unsurprisingly, was nearly identical to the previous results under Windows XP. Average frame rate grew from 113.3 to 115.4 which is well within the margin of error.

Finally, we get to look at some results from new games that didn’t run on XP.

I wasn’t expecting much out of DiRT 3. It’s a great-looking modern racing title heavy on physics. I lowered the resolution to 1280×720 and ran three benchmarks. The first was with all visual options turned to their lowest settings or completely disabled. The second was the “medium” preset, and the last was with the “high” preset.

This result floored me. I didn’t know the puny hardware inside this little case was capable of playing modern titles like this. Granted, it is at a low resolution and moderate graphics settings, but for $100, that’s not too shabby.

Rocket League is another game that shocked me with how well it performed. With all the visual options low or disabled I saw a respectable 58.6 FPS average with 90% of the frame times being at or above 20.2 (49.5 FPS). Leaving the Render Detail on “High Performance” while turning the Render Quality to “High Quality” resulted in a pleasing image that ran at 43.5 frames per second. While mid-to-low 40s might not usually be an idea frame rate, I found that, with Rocket League, it was plenty for knocking the ball around in the standard 3v3 game type and I didn’t feel like I was limited by the computer’s performance at all.

The last game I tested was 2013’s Tomb Raider, which… It ran, and seems playable, but only with the “Low” graphics preset at 720p and with motion blur and screen effects disabled. It’s possible to play the game at the “Normal” preset, but with frame rates down into the 20s it makes for an unpleasant experience.


Did we accomplish our goal of spending about $100 to play PC games? Yes, absolutely. Is it a good experience? No, not really. You’re better off buying an Xbox 360 or PS3 than trying to built an ultra-budget gaming PC, but if money is really tight and you just need to play those PC-only titles like Counter-Strike: Global Offensive, League of Legends, or DOTA2 this is certainly a possible solution.

Compared to the OzBox this built is based off of, how did we do? Well, it’s hard to compare directly. We have different games, so our benchmarks are going to be different. The OxBox hardware is better, there’s no doubt about that; the GTX 750Ti he picked out for his build costs as much as our whole system did, if not more. Comparing a roughly $100 PC to a $180 PC doesn’t exactly make sense, so I would say this version of the build is for people who want to play older titles or some newer titles if budgets are limited. Ozi’s original version would aim more toward the casual gamer who wants the option to play modern titles either at a low resolution with pretty visuals turned up or a high resolution with lower graphics settings, but still maintaining a 60+ FPS target.

I’ve ordered some parts for a follow-up article, seeing just how far we can push the limits of this compact gaming rig (possibly making it not so compact), so check back for updates.

Drift King: Shutoku Battle ’97 Review

Holy shit, I was so hyped to play this game when I first saw it. Sega Saturn, Genki, Keiichi Tsuchiya, freeway racing; a perfect storm of nostalgia that I had to have.

This game does a lot of things right. The opening intro is clip after clip of Tsuchiya drifting with hair metal blasting in the background. The car selection, while initially small, is on point. Blasting through the highways of Tokyo? Awesome! Until you realize how much faster your opponent is, that traffic is actually out to kill you, and your car seems to drive exactly the same regardless of how many upgrades you buy. Welcome to Shutoku Battle ’97.

That’s a lot to take in all at once, so I’ll break it down. The graphics are pretty good with some nice touches here and there, like pseudo-dynamic time-of-day changes and your dash lighting up when you drive through a dark tunnel. The controls take a while to get used to, but once you master the “drift” button and learn to throttle the gas to adjust your angle and grip, the game plays like a dream. The Saturn version of the game has a different soundtrack than its Playstation counterpart and it suffers because of it. The Playstation version gets full redbook audio while the Saturn version is limited to synthesised audio. The difference is pretty severe and takes the soundtrack down from “badass” to “completely forgettable”.

Unfortunately, the negativity doesn’t stop there. Because this game takes place on public highways there will, of course, be traffic. In titles like Wangan Midnight: Maximum Tune the traffic largely stays in it’s lane, moving over when it’s reasonable to do so. Here, the buses, cars, and semi-trucks all change lanes just as you’re coming up behind them. These same vehicles will do this on two-lane roads to create rolling barriers that will keep ramming into you until you slow down enough to drive around them. Then, they’ll swerve back into their original lane to bash into you all over again.

With the excellent controls, impressive visuals, and wonderful aesthetic you might be willing to look past the weak music selection and insane traffic to enjoy this otherwise great game. Until you get about a third of the way through the campaign and the rival cars completely outclass you. It’s not like “Oh, the enemies are harder now, I guess I need to try harder”. More like “Holy shit, after the first lap he’s already 30 seconds per lap faster than me”, which is a lot when each lap is only a minute and a half. You can upgrade your car, and even switch to a more powerful car and upgrade that one, but with how expensive upgrades are compared to how little you make after each loss you’re essentially going to spend hours and hours losing with the hopes of maybe, eventually being as fast in a straight-line before getting killed by a bus.

The game shows a lot of promise, and some of these issues may have been fixed in the Playstation release. Unfortunately, I don’t have that version, so I’m stuck with a semi-playable disappointment.

Insane Game Prices at Half Price Books

Classic and retro game prices are on the rise. $30 for Pokemon Red and Blue is pretty normal despite being 20 years old and selling over 45 million copies. Super Mario World? $20-25 despite being the pack-in game for the Super Nintendo. It’s no wonder gamers want to know where they can get the best prices for (legitimate) games. Without fail, whenever I hear feedback from friends or YouTubers about where to find cheap games, I always hear Half Price Books come up. It’s not much of a surprise; Half Price Books sells more than just books and many items can be found for an incredible bargain. Just yesterday I paid about $12 for a handful of laserdisc movies, including Blazing Saddles and a sealed copy of The Birdcage (yes, I’m secretly an old man).

Last year I stopped by my local Half Price Books to see what all the noise was about. There were a few rows of modern and last-gen games, but most of it was the kind of stuff you probably don’t want to buy and prices that reinforce that feeling. All of the good stuff was, of course, behind lock and key. I was pretty outraged by the prices, went home, and quickly forgot about it. I happened to be nearby and decided to see if anything had changed.


Let’s start with the elephant in the cupboard, the $150 Xbox 360. I need to say that again, slowly. One-hundred fifty dollar Xbox 360. I can’t even begin to wonder where they got a price like that or how long it’s been sitting in there. You can walk into a GameStop and purchase a Halo limited edition Xbox 360, Modern Warfare limited edition Xbox 360, and a generic white Xbox 360 that comes bundled with Battlefield, Modern Warfare, and Assassin’s Creed, all with cables, controllers, and warranty, for the same price as this one console. I’m just… beyond words.

Then there’s $50 for a PlayStation 2, $40 for a Wii, $100 for a Kinect (which are available en mass from GameStop for $20-25 depending on if it’s the original or S version)… I’ve been tempted to ask someone if these prices are accurate but I also have no intention of buying them, so I haven’t bothered.


Then there are the games themselves. $20 for Tetris? One of the best-selling games of all time? $25 for Super Mario Bros. 3? $75 for Legend of Zelda and Super Mario World?! No, no no no no no. No. Even Hogan’s Alley is 2-5 times as expensive as the current eBay Buy-It-Now prices.

Maybe this is just the result of a rogue employee trying to get every penny possible out of game trade-ins, or maybe someone was looking up complete-in-box pricing when coming up with these prices. Who knows. If anyone has had similar or different experiences at their local Half Price Books I’d love to hear about it.