Resurrected Entertainment

Playing Deadlight on the PC

April 1, 2020

I have been enjoying Deadlight on the PC. It’s a beautiful little action platformer with relatively simple mechanics, albeit with a frustrating mechanism when shooting and loading a pistol. It’s simple to shoot, but difficult to get the aim right. Luckily, most targets are large and relatively easy to hit. I hope there isn’t an upcoming situation where I need to shoot something in a hurry…

While reading some comments about the game the other day, it seems a lot of people had difficulty around the helicopter scene. Based on the comments, they seemed to found the difficulty spike to be out of the blue, to the point where the shock of it caused many of them to stop playing the game cold turkey. They just aborted it, claiming the scenario was unreasonably challenging. The thing is, I found it tricky too, but only for a short while. I needed to try it several times before I finished it. The point is that I did get through it, even when I screwed up one section royally and thought for sure I was a goner. Just to prove it wasn’t a fluke, I tried it again and completed it with no issues.

The comments in the thread seem a little too caustic, given the games average difficulty level. I am left wondering about the psychology at play here. If a game has established an easy to moderate level of difficulty, and then it bumps the difficulty up a few notches out of the blue, what does that do to the player’s opinion of the game? Are they statistically more likely to drop the game at this point? Do the majority push through these hiccups? Are players nowadays just a tad spoiled in our expectations around the difficulty of a game, once our notions about a title have been established?

Dead Space on PC

March 28, 2020

I finally had an opportunity to play and finish Dead Space for the PC. I had a lot of fun playing this game, and while the camera took some time to get use to and the VSYNC bug that took some time to diagnose, neither detracted measurably from the overall game play experience. I am not going to do a review on this game since the world doesn’t need another one of those. What I have been thinking about, though, is giving you a persona based list of key gaming elements that may help you decide if you want to play it:

  • Jumping about in 3D space doesn’t make you queasy (you will literally be jumping about in space with no gravity).
  • You like being told what to do and bossed around.
  • You can continue to snack while walking through pools of blood and guts.
  • You like games that allow you to kill things with visceral tools like bolt guns, saws, and fire.
  • You like it when you are low on ammo and there are baddies around the corner.
  • Detailed space ship environments make you happy.
  • You enjoy long load times as it gives you an opportunity to reflect on how you buggered it all up.

Playing Chrono Trigger cartridge on the SNES!

February 17, 2020

My wife is enjoying this great game using our Analogue console on the big screen. I love this new take on hardware for such a classic console.

Just plain old “Wolfenstein” on the PlayStation 3?

January 11, 2020

wolfenstein_ps3_small I picked up this used game on Amazon the other day for a steal. I had no idea it even existed before I stumbled upon it being mentioned in one of my favourite game magazines, Retro Gamer. Anyway, I am currently playing Wolfenstein: The Old Blood on my PC and loving it, but perhaps not quite as much as Wolfenstein: The New Order, we shall soon see how it stacks up as I get closer to finishing it!

Kill Two Cacodemons, Once a Day

January 20, 2019

I am ashamed to admit that I don’t play every game I own. Some of them haven’t even been fired up a single time on the machine for which they were destined to be played. Why is that?

Well, the easy answer is that I buy too many games for my current life style, and that is definitely true. I just don’t have as much free time as I had before I had kids. However, that answer doesn’t sit quite so well with me. It doesn’t feel like enough of a reason. I know that if I dedicated all of my free time towards the effort, I could play most, if not all, of those titles. It would take time, but I could slog through them. So then, why don’t I just do that?

The more complex answer is that I find many types of games I own to be mentally exhausting. I do tend to gravitate to the ones involving a lot of action and little else because of that. I just can’t bring myself to face the onslaught of constant decision making most of the time. I do play those other types of games, and I will enjoy them to varying degrees, but I find the exercise of unwinding a little harder than  when playing a game like Doom. The fact that I play these games at all is ironic, because I often partake in electronic games to unwind.

With games like Doom, it comes down to a constant cycle of challenge, failure, and success. I have a job and home life where I am challenged with all sorts of problems on a daily basis. That reality is stressful, and I often feel like I make very little progress in the day to day. When I play a game like Doom, it is challenging and I do fail often, but I also succeed multiple times as well. I don’t get that kind of tight cycle in a game like Divine Divinity, the cycle is much slower. With Doom or perhaps a good platformer, those short, micro wins are fulfilling. Sure the mental onslaught of fear, anger, and worry while playing these sorts of titles is tiring eventually, but at the end of it I have usually made significant progress and that progression is enjoyable and ultimately, worth the price of admission.

The first week

January 13, 2019

For some people, the hardest part of any project is just getting started. There are many reasons why this can be the case, but for me, here are the two areas where I normally get stuck:

  • Priorities – I have a family. I have many hobbies. Deciding what to focus on in the latter bucket and how to juggle that with the former is a challenge, and perhaps it is my biggest challenge when it comes to starting a new project. Deciding to focus on one thing and the expense of other things can be very difficult, especially when your project gets hard, or when a bright shiny object comes into view. Keeping your goals realistic is probably the single best rule worth following. Plan for a singular, specific goal, and then try to manage your time around that. For example, today I had the goal of getting my development environment setup and fixing a sample project to help get me started on my journey of building a small game in Love2D for my kids. As with any game, there are many steps, but I am not concerned about those at this point.
  • Analysis Paralysis – It can be difficult to choose the right tools and technologies for a project. The reason behind the analysis is clear, but the cause of the paralysis is usually because I don’t know enough about the tools, technologies, or the project itself to make a decision. In this case, I suggest just jumping in and try to decide on one or two evaluation points, where you can take a step back and try to take what you have learned and apply it against what you have yet to build. Do you see any major problems with the tools and technologies you have chosen going forward? Do you need to make a pivot towards something else?

Beelink Gemini N41 as a simple gaming console?

I took a chance on this little Windows computer to solve a couple of problems:

  • I needed a portable Windows game platform
  • I needed something small with an appropriate number of USB ports (for joystick support)
  • I wanted it to be quiet with very few zero fans whirring and humming

Right out of the gate, I was impressed with this machine. Forget about gaming for a second, this is an excellent machine for those wanting a Windows “desktop” computer without wanting or needing a large machine or laptop. This machine is so small you could easily attach it to the back of most monitors. It has friendly set-up process that everyone in your family should be able to follow with little difficulty (assuming they’ve touched a Windows computer in the last 5 years). The performance is excellent for those wanting to do a little e-mail, web browsing, etc. I have an interest in using it for games, but nothing 3D or with extremely heavy weight processing requirements.


TurboGrafx 16 Homebrew SD Card

May 27, 2017

turbo-everdrive-v24A new device graces my doorstep yesterday: the Turbo Everdrive! For years, I have been using an old device that allowed me to load up home-brew software for the TG-16 via a parallel cable, and old version of Windows, and some obsolete software. With this new device, I can now simply copy the software onto the SD card and away I go. If you get the same device, be aware that it comes pre-set for a PCE device and not a TG-16 game console, so you will simply see a white screen until you toggle the tiny little switch on the right of the card. Also note, that you will need to create a “TGED” directory at the root of the SD card with the device’s operating system file copied into it.

Custom Pac-Man Themed Arcade

January 17, 2016

I began work on this unit several months ago. I am a father of three beautiful, very active young girls, and a husband to a gorgeous wife who likes to do renovations, so my free time is not what it use to be. Like so many projects nearing completion, I am overwhelmed by the sheer number of things which could be improved or done differently. Indeed, if I were going to do it all over again, I would do things differently and I imagine I would save a great deal of time, money, and headache. But that’s why people who love to build things dive right in, yes we make mistakes, yes the quality may not be top notch (but this is something that improves the more you build) and yes it may be expensive but the alternative is to sit on the sidelines and not do anything, or do it so slowly that it never gets finished.

This project had many pieces to it and it’s still not 100% finished. The first step was to source and figure out what the first set of materials was going to be. The project as of a few weeks ago looked something like this:

Arcade Mania!

Arcade Mania!

It consists of a themed wall panel, mounted flat screen high-definition television, an extended shelf, an X-Arcade Tank Stick, 257 individually addressable RGB LEDs on the inside edge of the panel, cup holders and a few decorations. The software driving the arcade is custom and consists of the primary server that controls the execution of the games, a mobile client application for selecting the games to play, and another server driving the decorative elements.

The first steps in designing the physical exterior for the arcade involved selecting appropriate materials. This process can vary a lot between projects, but I usually start by determining the theme and any special features or effects I want to add. For example, I knew that I wanted to place LEDs on the inside edge of the frame, so I needed to choose a material that was thick enough and could be easily cut into pieces that were less than an inch wide. I also needed that material to be easily mountable to the outside edge of the frame. I wanted the light from the LEDs to diffuse through the pieces on the board, thus creating an illuminated display. I bought a few 24×12 pieces of clear acrylic. Before doing that, I had researched some acrylic material that was built for optimal diffusion, but it turned out to be too expensive, so I chose to stick with clear acrylic.

The panel was assembled in a more complicated way than I would have liked. I was trying to reuse some plywood so instead of buying a piece of wood that was exactly the size I needed, I chose to assemble the pieces of plywood and glue them against a backing panel made of MDF. That worked, but it consumed considerably more time and there was fussiness around getting the edges lined up (due to the slight inaccuracies from various cutting tools). Anyway, after the pieces were glued, screwed, sanded, and trimmed, I painted the panel with a mat black undercoat. First using latex paint, then switching to oil based. I switched because the latex just wasn’t giving me the kind of mat finish I wanted. Whether or not the paint was acrylic or oil-based likely didn’t matter, it was probably the formulation for that brand that had the most impact on the finish. I happened to have oil based black on hand, so I used that rather than spending more money on a different brand of latex paint.


The board pieces needed to be designed before the acrylic material could be cut. I used Adobe Illustrator to design the pieces to be cut from 12×24 inch panels. The laser cutter available to me through the public library requires that the thickness of the lines in the design be less than 0.001 inches. When cutting acrylic be aware that the smell is quite unpleasant and should be ventilated. It takes about a day for most of it to dissipate from the cut pieces; I left it out in the garage overnight.


In order to transfer the Pac-Man like game board pattern to the painted base, I chose to tape the entire surface using painter’s tape. Following that, the acrylic pieces need to be laid out and traced, including all of the pellets from the pattern. Once traced, I cut them out with an X-Acto knife, and then created a special, circular drill bit to cut out the pellets. I chose to use those threaded wire funnels that come with light fixtures, but I needed to grind the bit for the edges to become sharp. Once the tape for the board pieces was cut out and removed, this exposed the flat black surface for paint.


The painting process was tedious and not very interesting, so I am not going to belabor it anymore. This whole approach worked, but it was very time consuming and error prone as the paint needed to be touched up in many areas due to bleeding. I would recommend taking a different approach, if you were to do something similar.


The gluing process was almost as tedious as the painting process since the glue could not be applied on top of the painted area as it would have been visible if it sat between the painted surface and the clear acrylic. It also wouldn’t have dried because the type of glue I used, Weldbond, requires exposure to air for curing. Instead, I applied the glue to the edges of the game board pieces (except for the pellets) using a needle. Ouch. The recommended approach above would have also made gluing the pieces to the board a lot easier as I could have used any kind of glue, rather than searching high and low for a specific kind of glue that was both strong and dried clear.

In retrospect, the result would have been faster and  higher quality if I had thought to paint the underside of the board pieces in the desired color first before gluing them to the board. This would have made the painting and the glue selection process a lot easier and is the approach I would take if I were to build another one.

I modded a couple of Ikea shelves to provide an extended platform so that my Tank Stick could sit comfortably, provide enough room for drinks and extra gamepads for other systems if necessary. It also provided some distance away from the screen so that players didn’t feel too close to it. I fastened them together using some latching hardware and strong clips so that the shelf could be folded if desired.

The panel was mounted flush with the wall using four metal clasps screwed into each corner. I wanted the arcade to have more of a built-in feel, encompassing the joystick shelf and the panel, so I painted a region around the arcade giving it more of a framed in look.

The television was mounted using a leveled bracket. I wanted it to be as close as possible to the panel and for the bracket to not be easily visible when standing next to the arcade on either side. I found a mounting system suitable for my needs and at a relatively cheap price at Ikea. When designing the panel in Adobe Illustrator, you must leave enough space for the bracket, otherwise you’ll be peeling off some acrylic pieces later and making some last minute cuts and holes.

I included a few characters in the design such as Pac-man and the ghosts: Inky, Blinky, Pinky and Clyde. The were cut from acrylic and then painted on their opposite sides using some colorful latex paints. The Home Depot sells small “tester” paint samples which are far too small for a wall, but perfect for small projects like this one. I painted the undersides of the characters (by this point I had caught on to the better approach) and mounted them on the wall next to the arcade using some crazy glue in gel form.

I also bought some black, textured plastic sheets from a plastics company called Canus Plastics. The sheets were about 1/8″ thick and could be cut with an X-Acto blade. After cutting them into strips, I used them as trim around the perimeter of the panel, which give it a more finished look and help to shield some of the light coming from the LED strips. The RGB LED strips were installed in a gap between the main panel and the edging. I bought a 5-foot length from a seller in China for a reasonable price. You can find them for sale in North America but the price can be much higher. The strip must be powered and driven by a micro-controller, so a little time must be spent on what to do with the wires. I have my arcade mounted on a wall that is finished on one side, so it was easy to hide a lot of the wiring for power, input devices, and video cables through the wall. If you were trying to install this on a wall that was finished on both sides, or which covered a foundation wall, then you may want to consider routing the cables through a hole and down the inside of the wall to another location.

There are many multi-cade system’s in the market these days. I like the look of some of them and many are closed systems where expansion and experimentation are difficult. However, I have never enjoyed navigating through the various menus and settings from the arcade screen itself. I did not want to have a keyboard and mouse installed when I need to select a game, or to try and use a joystick to navigate around. As a side note, you can use the X-Arcade buttons and a trackball as a mouse, if you’re interested. Anyway, basically I wanted the system to be simple and intuitive without all of the difficulties around emulation and desktops. I wanted my father to be able to use this system without needing to know what a ROM image was or what sort of commands were needed to load a game or fire up an emulator. I also wanted other players to be able to look through the games and see what’s available while others were using the arcade. I tried other front ends that try to abstract the underlying emulators like Maximus Arcade, but I found that their application was unstable (at the time) and required tedious tuning of mapping the underlying emulator to it’s execution scheme.

Once I knew I needed to write my own arcade front-end, I knew I wanted it to be a service that could accept commands from different clients running on different operating systems. The primary purpose of the server is to allow the user to play games, so it needed to run games made for hardware other than personal computers, such as the Super Nintendo Entertainment System (SNES), TurboGrafx 16 (TG-16), or an Arcade game. This requirement meant that the host platform (the machine and the OS running the server software) needed to emulate the other hardware, so it needed to be capable of running a game like Star Fox and the server software at the same time. The software emulating these other platforms are called, naturally, emulators and there are sometimes different program options available for the same system. The all have various technical limitations so some thought must be given as to which software you should use for your arcade.

The basic interaction model I wanted was a client application running on one or more mobile devices and a server installed on the machine running the arcade, which is just waiting to launch a game when one has been selected on the client. In addition, the server needed to be relatively easily to extend so that new emulation platforms could be added later. There are basically three primary pieces to the overall server platform:

  1. A database to hold and manage the information about the platforms, games, and the system.
  2. A server to drive the communication with the client, read content from the database, and to launch and control the emulation software.
  3. Scripts to wrap and control the life-cycle of the emulation software. These are executed by the service when a game has been selected on the client.

I chose to use Qt as the primary windowing, communications, and UI SDK in case I wanted to move the server application to Mac OS X or Linux at some point in the future. I also consider the API to be one of the best cross-platform APIs around for desktop applications. As it turned out, I ended up implementing platform specific functionality as some of the third-party software required particular bits of functionality in order for them to work together with the system I was building.

The service does several things, but the most important responsibilities are list below (in no particular order):

  • Provide the clients with a list of supported emulation platforms and games, including image content.
  • Provide some safe guards around multiple clients accessing and attempting to control the arcade at the same time.
  • Launch and terminate the emulation applications so that the arcade always returns to the same ready state when someone finishes playing a game.
  • Communicate with other services so that decorative elements can be synchronized with the games and platforms being used.

The client is an Android application, since I wanted it to work on the Ouya platform as well. The client presents the users with a simple connection method to the server (multiple servers are supported), platform selection, and game selection. I wanted to keep the client relatively simple so that game selection is fast and easy. As a minor feature, I wanted to the ability to take a screen shot of the currently running game, for high scores and other awesome feats, and then save it to the device so that it can be browsed and shared later.

There is a decorative component to the arcade that gives it a bit of bling and acts as an attract mode. The LED strips mentioned earlier require a micro-controller to control them. I wrote a service that runs on a Raspberry Pi and it receives commands from the game server when various events happen, such as launching a game. The commands are simple and usually contain a payload like an RGB color. This allows the server to send different colors for each platform when a game is selected.

Battletoads: Terra Tubes!

July 15, 2015

Without a doubt, this is one of the most difficult levels I have ever played for any game on the NES — incidentally, I don’t think I have ever finished it. Here is someone who played it through with barely a nick: