
CyberVGA
A downloadable Game Engine for Windows
██████╗██╗ ██╗██████╗ ███████╗██████╗ ██╗ ██╗ ██████╗ █████╗
██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗██║ ██║██╔════╝ ██╔══██╗
██║ ╚████╔╝ ██████╔╝█████╗ ██████╔╝██║ ██║██║ ███╗███████║
██║ ╚██╔╝ ██╔══██╗██╔══╝ ██╔══██╗██║ ██║██║ ██║██╔══██║
╚██████╗ ██║ ██████╔╝███████╗██║ ██║╚████╔╝╚██████╔╝██║ ██║
╚═════╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝
32-BIT DOS 3D ENGINE // MODE X PIPELINE
A real-mode inspired 3D engine built for MS-DOS
> Software-rendered, fixed-point, VGA Mode X pipeline
> Full build with editor + complete reference docs
SYSTEM OVERVIEW
CyberVGA is a from-scratch 32-bit DOS 3D engine targeting late MS-DOS hardware constraints.
No GPU. No floating-point in hot paths. No modern graphics APIs.
Rendering is handled entirely in software using:
- VGA Mode X (320×240 planar memory)
- Pure Q16.16 fixed-point math
- Custom assembly-optimized rasterization pipeline (C89 + NASM)
This is not a retro-styled engine.
This is a hardware-constrained engine.
INCLUDED COMPONENTS
- Runtime engine (VIEWER.EXE)
- CyberEdit — fully integrated world editor (CEDIT.EXE)
- Complete internal reference documentation
- Custom asset pipeline + Blender CMS exporter
- Playable demo worlds
CyberEdit runs inside the exact same rendering environment as the game.
Everything you author is visible instantly using the production renderer.
CORE FEATURES
RENDERING
- Portal/cell visibility with recursive traversal (depth 8)
- Textured triangle pipeline with per-vertex Gouraud shading
- 32-level linear distance fog via shade tables
- Dynamic time-of-day sky (gradient + 48 stars + orbiting sun/moon)
- Triple-buffered Mode X page flipping + planar span rendering
WORLD & ENTITIES
- Convex cell format (CWR) — up to 128 cells, 16 verts/faces each
- Heightmaps, per-face UV scaling, bidirectional portals
- World meshes (CMS), billboards, particle emitters
- Entity system: 32 runtime slots, 64 authored spawn points
- Component flags (mesh / sound / light / physics / gravity / think / animation)
- Sphere-vs-cell and sphere-vs-sphere collision
AUDIO & TOOLS
- Sound Blaster 8-source spatial mixer + MPU-401 MIDI
- Full in-engine editor with Play Mode (F12)
- Undo/redo, snap grid, collision & portal debug overlays
TECHNICAL SPECIFICATION
Language: C89 (DJGPP) + NASM
Memory Model: 32-bit protected mode (DPMI)
Renderer: Software (CPU-based)
Math: Fixed-point only (Q16.16) in all hot paths
Target: 486 / early Pentium class systems (or any DPMI host)
Performance-critical paths use reciprocal lookup tables and assembly routines.
All limits are compile-time constants (see CENGINE.TXT).
REFERENCE DOCUMENTATION
Just released with this update:
- CENGINE.TXT — full engine architecture, systems overview, Q16.16 math, rendering pipeline, world format (CWR), limits, and implementation notes
- CEDIT.TXT — complete CyberEdit user manual with viewport layout, every key binding, cell/portal editing, entity properties, Play Mode, and workflow
These are the exact internal documents I use while developing. Now public in the download (DOC folder).
DESIGN PHILOSOPHY
CyberVGA treats hardware limitations as design inputs.
Every system is built with explicit memory awareness and explicit arithmetic cost.
Minimal abstraction. Maximum transparency.
The goal is not to simulate the past, but to operate within its constraints deliberately.
LICENSING
This project is proprietary.
Source code and assets are not publicly available.
FOLLOW DEVELOPMENT
If you are into low-level graphics programming, DOS rendering pipelines, software rasterization, or fixed-point engine design, follow the project and check the devlogs for updates.
P.S. Still 100 % C89 + NASM, no floating-point in the hot path, expected to run on real 486 / Pentium hardware. The reference manuals are your map if you want to hack on it. Happy coding!
| Status | In development |
| Category | Tool |
| Platforms | Windows |
| Release date | Aug 22, 2025 |
| Author | Novus Idea |
| Tags | 3D, DOS, Game engine, Level Editor, MS-DOS, Retro, software-rendering, vga |
| Average session | About a half-hour |
| Languages | English |
| Inputs | Keyboard, Mouse |
| Content | No generative AI was used |
Download
Install instructions
INSTALLATION - WINDOWS PACKAGE
- Download the .7z archive
- Extract contents
- Run:
RUNVIEWER.BAT→ start runtime + demo (uses ASSTS\WORLD\WORLD.CWR)RUNCEDIT.BAT→ start world editor
DOSBox-X is included. No configuration required.
CONTROLS WASD / Mouse — movement & look F12 — toggle Play Mode (editor) ESC — exit
Development log
- CyberVGA — New Features & Editor Reference Docs Released51 days ago
- Spring 2026 Engine Update81 days ago
- Fixing The Fixed Point MathsDec 04, 2025
- Winter 2025 Engine UpdateDec 01, 2025
- CyberVGA is Live on Itch.io!Aug 22, 2025


