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:
Exploring Retro Game Programming Languages - From Assembly to higher level languages
For more information on Programming languages used for game development check out this post.
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:
GNU Compiler Toolchain
For more information on how GNU GCC was used in game development check out this post.
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.
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.
Introduction to Software Development Kits (SDKs)
For more information on SDK used to create retro games, check out this post.
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:
3D Software used in Retro-era Game Development
For more information on 3D Software check out this post.
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 ofthe techniques for drawing 8-bit game graphics, including color cycling and pallet 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:
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.
Disassemblers - A Deep Dive
For more information on Disassemblers check out this post.
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.
Introduction to Decompiling C++ with Ghidra
For more information on Ghidra check out this post.
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.
Reversing Emulators
For more information on Reversing Emulators check out this post.
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.
Game Cracking Software used back in the day
For more information on Game Cracking software used back in the day check out this post.
Here is a list of posts on the site that have been tagged as related to game development or reverse engineering tools.
Read all about 3D Software used in Retro-era Game Development in this s...
Read all about Central Point Backup Format Visualiser (CPBACKUP.001,.002..) in this s...
Read all about Creating a LibRetro Frontend in Rust in this s...
Read all about Diaphora - Binary Executable Difference Tool in this s...
The Game Progrtamming Starter Kit was a product that aimed to provide professional level game development tools to the wider public
...</div>
Read all about ILBMViewer - Deluxe Paint Image Viewer Online (.LBM and .ILBM) in this s...
Read all about PDB Files - Using PDB files for Reverse Engineering in this s...
Read all about Exploring Retro Game Programming Languages - From Assembly to higher level languages in this s...
Read all about Sega Saturn SYSROF Object Format Visualizer (.obj,.abs) in this s...
Read all about Sega Saturn Save State Visualizer (.yss) in this s...
Read all about Retro Game Development and Reversing Tools of the Trade in this s...
Read all about Understanding libRetro - An Internal Look for Programmers in this s...