The NAU ACM Game Cabinet is an entirely original creation conceived and built here at the ACM to showcase playable student-created games and actively promote enthusiasm for computing and technology. The goal was to create a permanent fixture of NAU Student Life and encourage conversation centered around quality student projects.
Inspiration:
| The whole idea behind the design of the Game Cabinet began as a nostalgic trip to the arcade. We remember fondly bringing our quarters to the arcade and play all afternoon...why can't we bring this same experience to other engineers in the building? We're not only showing off the games...we're now giving people the full experience!
Many games on the cabinet are clones of earlier arcade game classics - and what better place to house them but a student-built arcade cabinet? Every student game is controlled using the classic joystick and button controls similar to how the original games would have been played in the arcade during the time of their initial release. It's not only a great way to show others what kinds of projects we've created here at NAU as Computer Science students, but it's also a nostalgic tribute to the original spirit of gaming. |
![]() |
Current Games:
All of the games created on the the Game cabinet were created by NAU Computer Science students during their time here at NAU. They were created either as individual projects, as projects for the CS499: Game Development course or turned in as projects for CS471: Virtual Worlds (which is being offered next semester) Current games on the Game Cabinet include:
Want to add yours? See How Do I Add My Completed Game to the Cabinet?
Congratulations, you've completed your game! After working on it so hard, you'll likely want to make sure it's playable on the Game Cabinet for the rest of eternity! You'll be happy to hear that it's actually pretty simple to get your game ready for Cabinet-release. First things first, make sure you meet the game requirements:
If you meet all the previous requirements (minus the majority vote), then you'll be happy to know that it's all pretty easy from here on out. Now, it's time to prep your game to meet the technical requirements.
Follow these simple directions:
Once you've finished prepping your game for Game Cabinet release, all that's left is to attend the next ACM meeting and present your game to the ACM Club. The club will then hold a vote to determine whether your game meets the standards for release (This isn't a popularity contest, just a vote to make sure you've met all the requirements). If this vote passes, then you're in!
Welcome to the NAU Game Developer's Hall of Fame!
In order for a game to be loaded into the arcade menuing system it must provide a game.desc file in the base game directory. This file contains a number of key/value assignments that tell the menu information about the game.
Format your key/value pairs like so:
key: value
An example of a complete game.desc file:
name: Tetric
description: The best Tetris clone ever made!
thumbnail: thumbnail.png
screenshot: screenshot1.png
screenshot: screenshot2.png
screenshot: screenshot3.png
author: Joe Flieger
title: tetric.png
players: 2
program: dist/Tetric.exe
All paths below are relative to the directory that your game.desc resides in. It is important that there is only one game.desc file in your directory structure. If there is more than one, the file that the menu chooses to use is undefined. Placing it in the base directory of your game folder is the easiest way to ensure this. Each one of these assignments must appear on its own line and the space after the colon is NOT optional.
This is a list of all required keys for proper display in the menu:
| Key | Description |
| name: | The name of the game |
| description: | A brief description of the game. Must be on a single line. |
| thumbnail: | Path to a 256x152 image used in thumbnail view of game. Path is relative to the game's base directory |
| screenshot: | Path to a 512x303 image relative to the game's base directory. May be specified multiple times for multiple screenshots. |
| author: | Names of the Game Developers. May be specified multiple times for multiple developers. |
| title: | Path to a 256x64 title graphic for the game. The path is relative to the base directory of the game. |
| players: | Max number of players the game supports |
| program: | Path to program executable relative to the game's base path |
The Game Cabinet control board was designed and hand-wired by Ryan Raub himself. But you won't have to do anything nearly as complicated to get it working with your game ;)
Here are the keystroke inputs that are sent to your game by the control board:

The two glowing blue trackballs control the mouse input. Although we currently have two different trackballs wired into the control board, at this time they only control the same mouse input (this will possibly change in the future).
Key Event Requirements:
Other Controls (for reference):