Video games are not commonly known for being open source--either themselves or in their development. Red Hat would like to see that change, and this year we launched Red Hat Arcade, where you can play open source games built by Red Hatters using open source tools, assets, and engines.
One of our newer Red Hat Communities of Practice (CoP) is dedicated to gaming and the video game industry. Not only are we passionate about games, but the industry is also adjacent to other areas that are important to Red Hat and to the world, from the automotive industry to scientific simulations.
The Gaming CoP formed out of the intersection of interests of Red Hatters around the company who had been working on projects of interest to the game industry. Among them were myself and Principal Software Engineer Michael Clayton. We had built games that were being used in the Red Hat booth at conferences, starting with a game called Customer Portal Engage, built around the Leap Motion Controller.
Later, this led to several games that were playable on the Command Line Heroes Arcade cabinets that you may have seen at Red Hat Summit, Open Source Summit, KubeCon, or other software events in the last two years.
In 2020, events turned virtual. We couldn't take the arcade cabinets to attendees, but the events we participate in still wanted the games, as they've been a highly popular engagement activity for attendees.
Fortunately, as all of the games in the arcade were built with web technologies, it was easy to embed them in the assorted virtual event platforms being used, starting with Red Hat Summit in April 2020.
We then took the virtual Red Hat Arcade to many of the other events we would have taken the physical arcade to in 2020--IBM Think, Open Source Summit, KubeCon, and others. The arcade was perhaps even more popular as a virtual event feature—attendees were spending an average of 40 minutes playing the games during the events.
But the arcade lived fleetingly in each of those events and their individual platforms. Once each event ended, the arcade closed, and we couldn't share the games anymore.
Giving the Arcade a permanent home
Each October, we hold an internal event called We Are Red Hat Week, and this company-wide celebration of our culture seemed like an excellent opportunity to give the arcade a new and permanent location. Games and friendly competition are perfect for the We Are Red Hat Week spirit, and the Red Hat arcade games already have leaderboards built in. They just needed a home.
The CoP was the perfect structure to bring together all of the teams that needed to collaborate to make this happen, including the Red Hat brand and OpenShift teams, our Open Source Program Office, and the game creators themselves. We set up the arcade subdomain, loaded it with the games we developed, and launched it during We Are Red Hat Week.
Red Hatters loved it! Pod Escape alone had 16,000 individual play sessions over the week. Associates were competing for top spots on the leaderboards up until the very last minute. One person even shared a video of himself getting the high-score on Pity About Earth.
Of course, the open source way is to share, and there was no reason to keep the arcade to ourselves, so we also launched the site and the code publicly on February 18, 2020, and it has been visited by more than 1,000 people since then.
About the technology
The arcade runs on Red Hat OpenShift Dedicated, hosted in our Open Source Program Office's OSCI infrastructure. Erik Jacobs, Senior Manager of Technical Marketing for Cloud Platforms, helped lead the OpenShift deployment with his deep knowledge of the platform. The menu is a simple HTML launcher with each of the included games having been built, containerized, and now served using httpd-container and Node.js s2i containers.
For the containerization, we were able to take advantage of OpenShift's integration with git repos and web hooks for automated build and deployment.
All of the games are HTML5 based and are quick, easy plays. They're meant to be brief interactions in an event booth. But they weren't all originally designed for the current level of usage.
Zorb.io, one of the first games, was originally developed in 2015 during a trend of io-style games. The game had an algorithm for when it maxed the CPU or reached a certain number of players, that would provision an entire new virtual machine and add it to the load balancer pool--a lot of extra work we don't have to do anymore.
Running on OpenShift is a huge improvement as scaling is easy with Kubernetes. Today the game sees about 1,000 players per week, and moving it to OpenShift was a simple matter of configuring the route and updating DNS.
Fun fact: Zorbio was featured as an easter egg in the RHEL 8 Announcement video. Can you spot it?
Here is a bit about each game’s technology and creators:
Command Line Heroes Bash
Created by Jared Sprague, Michael Clayton, and Eric Kramer
Godot 3.2, C# source with WebAssembly output
|Pity About Earth...
Created by Jared Sprague and Michael Clayton
Three.js & Node.js
Created by Jared Sprague and Michael Clayton
Looking into the future
Now that we have the arcade and a place to showcase Red Hatters' work in this area, we have been planning new games and inviting Red Hatters to submit their own creations. First up, we're working on a multiplayer scalable game design series on OpenShift, giving us an opportunity to showcase more of the Red Hat portfolio through the arcade.
If you'd like a sneak peek, watch the Twitch series we produced about SRT. We'll also be bringing back that original Customer Portal Engage game by customizing it to be used with a mouse and web browser instead of the original Leap controller interface.
How to create open source games
While The Red Hat Arcade is to display the work of our associates, we do encourage everyone to create and share the games you build with open source tools. Each year we hold an open, weekend-long open source game jam called Open Jam.
We'd love to see you there, but if you can't wait for the next one, we recommend this Jam Tools list of open source tools, engines, and assets to help you get started.
We would like to thank all the people who helped contribute to the Arcade: The entire Gaming CoP, especially Ruth Suehle for helping write this post; the Command Line Heroes Team, including Victoria Lawton, Johan Philippine, Justin Braun, and Casey Stegman. The OSCI team, including Jason Brooks and Michael Scherer and the Red Hat Events team, including Jennifer Madriaga, Veronica Cooley, and Kathy D'Angelo. Also the We Are Red Hat Week team, including Morgan Dougherty and the Red Hat Brand Team. And many others!
About the author
Jared Sprague is a Principal Software Engineer at Red Hat. He leads the Red Hat Digital Experience DevOps and Site Reliability Program and is a leader in the Gaming Community of Practice (CoP). Outside of Red Hat, he creates games, cuts gemstones as a hobby, and contributes to various open source projects. He lives in Raleigh, North Carolina with his wife, two kids, two cats, and one bearded dragon.