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.