Back in the day, game development was both an art and a science, involving a unique set of tools and technologies. On this site, you’ll find comprehensive links and guides to the essential tools used during the golden era of video game creation.
Discover the programming languages that powered the classics. From the assembly languages that squeezed every ounce of performance from early hardware to the C and C++ languages that enabled more complex game designs, we cover the essentials that brought pixels to life. Dive into the specifics of languages such as:
C++: The language that introduced object-oriented programming to game development.
Learn about the assemblers and compilers that transformed code into playable games.
These powerful tools were pivotal in optimizing and translating the developers’ visions into the games we remember.
Understand the role of early compilers and their impact on game performance and development workflows. Key tools include:
Compilers: Tools like GCC and Watcom C that compiled higher-level code into efficient machine code.
Explore the Integrated Development Environments (IDEs) that were instrumental in retro game development.
These IDEs provided comprehensive toolsets for coding, debugging, and testing, streamlining the development process for many classic games. Key IDEs from this era include:
These IDEs were pivotal in creating the games that defined a generation, providing the necessary tools and environments to bring imaginative worlds to life.
An advert for attracting game developers to use Microsoft Visual Studio from the September 2007 issue of Develop magazine:
Every platform had its own official Software Development Kit (SDK), so whether you were developing for the Playstation or the PC you would be interacting with different APIs. In addition there were third parties that created their own multi-platform SDKs which could be used on multiple games consoles or Operating Systems.
We have a post specifically about all the different SDKs for each platform.
Explore the evolution of 3D modeling tools that gave depth and realism to early 3D games. From primitive polygon editors to the pioneering software that laid the groundwork for today’s sophisticated 3D graphics, get insights into the creative processes behind iconic game visuals. Essential tools and techniques include:
Texture Mapping: Techniques for applying textures to 3D models to enhance visual realism.
Known software used in the creation of 2D Image asserts for retro video games include:
Mark Ferrari has an excellent GDC talk, in which he discussed some of the techniques for drawing 8-bit game graphics, including color cycling and palette shifting in Deluxe Paint:
Music has always been a cornerstone of the gaming experience. Uncover the music creation tools and techniques that produced the memorable soundtracks of retro games. Learn about the hardware limitations and ingenious methods composers used to create captivating game music. Important aspects include:
The tools used by producers for project management are much harder to find information on as no details will leak into the source code or compiled game binaries, however, we know of a few thanks to articles in magazines such as Develop.
DevTrack is TechExcel’s project issue-tracking tool, comprehensively managing issues as far reaching as new features, QA reports and IT activities. Clients include Activision, Electronic Arts, Sammy Studios, Sony Online Entertainment, Vivendi Universal.
The reason we know about this tool is thanks to issue 78 of the UK game development magazine Develop which had a brief section on it:
It was previously known as PowerTrack but rebranded to DevTrack in 1999 to focus on software development specifically.
In the February 1999 issue of EXE magazine it mentions the rebrand was at version 3.0:
The product is still going strong in 2025!
Reverse engineering is a vital process for understanding and recreating the magic behind retro games. By dissecting and analyzing the original game code, assets, and mechanics, enthusiasts can learn how these classics were built and even modify or enhance them. Our site provides detailed information on the essential tools and techniques used in reverse engineering games. Here’s an overview of the key tools you’ll need:
Disassemblers are crucial for breaking down compiled game code back into human-readable assembly language. These tools allow you to see the underlying instructions that the game uses to function, providing insight into the game’s logic and structure.
Radare2: A highly customizable and versatile disassembler and debugger, popular in the open-source community.
Debuggers are used to test and analyze game code in real-time, allowing you to track the execution of programs, inspect memory, and find bugs or glitches.
Hex editors let you view and modify the raw binary data of game files. They are essential for making precise changes to game code and assets at the byte level.
Decompilers attempt to convert executable code back into a higher-level programming language, making it easier to understand and modify.
Ghidra: Besides being a disassembler, Ghidra also includes decompiler features that provide pseudo-code representations of disassembled binaries.
Understanding game-specific file formats is crucial for modifying assets and extracting valuable information. These tools help analyze and manipulate proprietary file formats used in games.
Emulators replicate the hardware of old gaming systems on modern computers, allowing you to run and test games in a controlled environment.
Dolphin: A GameCube and Wii emulator known for its accuracy and debugging tools.
Cracking games for piracy and other purposes has existed for almost as long as the games industry has existed.
We have tons of modern software for Reverse Engineering and ROM Hacking but how were games cracked back in the day?
We have a post specifically about this software in the link below.
Here is a list of posts on the site that have been tagged as related to game development or reverse engineering tools.
Introduction This post will focus on 3D software used to produce commercial video games in the 90s up until the 2010s due to the focus of this site being retro... ...
Introduction 3D Studio started life as a prototype called MODEL created by Tom Hudson for Yost Group back in 1988 and evolved to become one of the most used 3D... ...
Central Point Backup Restoring Recently I was sent some really interesting files that are known to contain Spiderman Sega mega drive source assets, they were ripped from floppy disks. However... ...
When reverse engineering commercial console binaries built from C/C++, the first question is often which toolchain produced the code as it can make your job reverse engineering a game so... ...
Welcome to this comprehensive tutorial on creating a LibRetro Frontend using Rust! If you’re passionate about retro gaming and interested in creating your very own emulation frontend from scratch, you’ve... ...
Introduction to Diaphora Diaphora is a tool that can plugin to a disassembler such as Radare2 or IDA Pro that gives the ability to DIFF two different executables. This has... ...
Understanding How Disassemblers Work: A Deep Dive In the world of retro gaming, reverse engineering, and software development, disassemblers are essential tools. They provide a bridge between binary code and... ...
The Game Progrtamming Starter Kit was a product that aimed to provide professional level game development tools to the wider public
...Ghidra is the most advanced reverse engineering tool on the market, and best of all it is completly free and open source! Most of the content on RetroReversing will be... ...
Drop ILBM or LBM files here to view ...
Introduction Maya was first released in 1998 as the successor to Alias’s PowerAnimator, integrating technologies from multiple earlier tools (Alias PowerAnimator, Wavefront’s Advanced Visualizer, etc.) into a single package. It... ...
During the Nintendo 64s lifetime 3D modelling tools evolved at an incredible pace. 3D games were the new trend which pushed developers into creating new 3D games in order to... ...
If you are very lucky indeed then the game you want to reverse engineer comes with full debug symbols in the form of a Program Database file or PDB for... ...
Introduction Welcome to our journey through the fascinating world of programming languages used to create retro games! In the early days of video games, developers had to work with limited... ...
SYSROF Object Module Format The SYSROF format was commonly used in the early 90s by companies like Hitachi for their own compiler toolchain instead of other formats such as COFF... ...
This post will cover the most commonly used tools by artists when developing assets for Sega Saturn games, including 2D, 3D and Video. 2D Art Software The Sega Saturn had... ...
Main memory Map The table below highlights the main areas that can be accessed in Sega Saturn games. Start End Name Description 0x00 0x000FFFFF Boot ROM Repets every 512 kb... ...
Drop YSS files here to view The emulator Yabause uses a simple format to save the state of the emulated machine, drag and drop a .yss file below and you... ...
Explore the Tools of the Trade Back in the day, game development was both an art and a science, involving a unique set of tools and technologies. On this site,... ...
Introduction libRetro is a versatile framework designed to facilitate the development of emulators and games through a unified interface. This post explores the internal workings of libRetro, providing insights tailored... ...
Drop Z64 files here to view ...
This guide will presume you have already installed the radare2 suite of binary analysis tools on your computer. Radare 2 supports z64 big endian binaries using the r_bin plugin that... ...
Introduction to Software Development Kits (SDKs) Software Development Kits come in all shapes and sizes, some are built by the games console manufacturer themselves and others are built by 3rd-party... ...