UTDesign Makerspace has a custom-made arcade cabinet located in the main floor. This guide will detail how to develop and submit a game for it.
We have specific requirements for submitted games to ensure compatibility with our custom software and hardware. If you need assistance meeting a requirement, please reach out in either the UTDesign Makerspace or SGDA Discord servers. Both student organizations have many game developers that are eager to help newcomers.
Games should be easy to access but can be any difficulty. Navigation through menus should be easy and minimal. For example, the game could start when START is pressed and exited when SELECT is pressed. However, timed character select screens would make sense for fighting games. Refer to arcade games with a similar genre for inspiration.
Games always need to have an obvious way to start the game and exit to desktop from the main menu.
The following should be prepared so our arcade front-end can properly display your game:
Our default control board emulates two Xbox 360 controllers. Single-player games should support input from any Xbox 360 controller (that way players can use player one or two) and multiplayer games should prompt for user input to decide who the first player is. The entire game must be playable using an Xbox 360 controller, including any UI. Following our accessibility requirement, please try to make most out of game interactions handled through a single button. Make sure to use the left joystick, NOT the D-Pad.

Below are some recommended controller prompts. You can use these to tell players how to play your game.
Options are available for both the new and old input managers.
The new input manager supports single-player and multiplayer through prefab spawning when a controller presses a button for the first time.
The old input manager supports single-player and multiplayer through specifying specific joysticks to listen to. Please use the button and axis map below if using the old input manager.

We cannot guarantee joystick one will always be player one and vice versa. However, we will try our best to do so.
Remember: your game is being put on an arcade cabinet. With that in mind, certain features would work really well for your game.
Consider adding a mode to let players take turns playing after every life is lost.
The arcade cabinet will have a system environment variable called ARCADE_MODE containing the value true. This can be useful for making changes to controls, difficulty, and other features when it is played on our arcade cabinet.
To check this in Unity you can use the following script:
bool isRunningInArcadeMode()
{
return Environment.GetEnvironmentVariable("ARCADE_MODE") != null;
}
Other engines and languages should have support for reading environment variables.
Adding a score system and leaderboard will allow players to compete against one another, possibly making your game more popular. Ask a Makerspace officer about how to use our leaderboard database to display your leaderboard outside of your game.
Many classic arcade games do not end until there is a hardware limitation, such as Pac-Man's infamous map 256. Including this along with a leaderboard feature will allow theoretically infinite competition for players of your game.
If you are sure that you meet all of the requirements and implement as many of the suggested features as you would like to, submit your game through the form below.