Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. DOS
  3. DOS Defender

DOS Defender

UnlicenseC1.1.0

A real-mode DOS game for Ludum Dare #31, playable in DOSBox with joystick support.

GitHubGitHub
139 stars17 forks0 contributors

What is DOS Defender?

DOS Defender is a real-mode DOS game developed for the Ludum Dare #31 game jam in 2014. It's a compact 10kB executable that runs in DOSBox emulation environments, requiring minimal system resources and no external assets. The game demonstrates efficient low-level programming techniques for retro gaming platforms.

Target Audience

Retro gaming enthusiasts, low-level programmers interested in DOS development, and game jam participants studying efficient game programming techniques.

Value Proposition

It showcases extreme code optimization for DOS platforms, treating the environment as an embedded system while delivering a complete gaming experience with joystick support and no dependencies.

Overview

DOS Defender (Ludum Dare #31)

Use Cases

Best For

  • Studying real-mode DOS game development techniques
  • Learning GCC optimization for embedded-like systems
  • Creating ultra-compact executables for retro platforms
  • Game jam projects with strict size constraints
  • Experimenting with DOSBox as a target platform
  • Understanding x86 real-mode programming concepts

Not Ideal For

  • Developing modern games with 3D graphics or online multiplayer features
  • Projects requiring native execution on contemporary operating systems without emulation
  • Teams using non-GCC compilers or integrated development environments for DOS programming
  • Game developers seeking extensive asset libraries or middleware integration

Pros & Cons

Pros

Ultra-Compact Executable

The game compiles to a mere 10kB COM file, achieved through single translation unit compilation and aggressive GCC optimization, as highlighted in the README for maximizing code size efficiency.

Minimal Hardware Demands

Requires only 64kB of RAM and 64kB of video memory, making it runnable on extremely limited systems or within DOSBox emulation, aligning with its embedded system philosophy.

No External Dependencies

All game assets are embedded within the binary, eliminating the need for external files and simplifying distribution, as stated in the README's key features.

Retro-Authentic Gameplay

Optimized for joystick input and designed for DOS real-mode, providing a genuine retro gaming experience that targets DOSBox emulation for modern play.

Cons

GCC-Locked Development

The code is written in GCC's dialect of C and may not compile with other compilers, restricting toolchain flexibility and portability, as admitted in the README.

Build Process Complexity

Building requires handling linker scripts and working around MinGW bugs with objdump, which can be tricky for developers unfamiliar with low-level toolchains, as noted in the README.

Limited Real-DOS Compatibility

Primarily targets DOSBox emulation, with potential issues on actual DOS hardware, reducing its authenticity for retro purists and limiting native platform support.

Frequently Asked Questions

Quick Stats

Stars139
Forks17
Contributors0
Open Issues1
Last commit2 years ago
CreatedSince 2014

Tags

#game-jam#embedded-c#gcc#ludum-dare#dos-game#low-level-programming#retro-gaming#dosbox

Built With

G
GCC
D
DOSBox
D
DOS
C
C++

Included in

DOS597
Auto-fetched 18 hours ago

Related Projects

NetHackNetHack

Official NetHack Git Repository

Stars3,832
Forks600
Last commit23 hours ago
Floppy BirdFloppy Bird

Floppy Bird (OS)

Stars936
Forks62
Last commit6 years ago
Dungeons of NoudarDungeons of Noudar

A first person dungeon-crawler for DOS, written in C++, using software rendering and fixed point math

Stars58
Forks9
Last commit11 months ago
PtakovinaPtakovina

ASCII Art Tetris

Stars22
Forks1
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub