OpenDBC runs DarkBASIC Classic and DarkBASIC Professional programs on modern
systems. It is a single opendbc executable, a Studio and a command line, written
in C++20 on SDL3 GPU (Vulkan, Metal). It is an independent project, not
affiliated with The Game Creators or Dark Basic Software Limited.
sync on
make object cube 1, 10
position object 1, 0, 0, 50
do
yrotate object 1, object angle y(1) + 1
sync
loopRequires CMake 3.24+, Ninja and a C++20 compiler (Visual Studio 2022+ on Windows).
cmake --preset default
cmake --build --preset defaultopendbc # open the Studio
opendbc run game.dba --dialect dbc # run a Classic program
opendbc run project.dbpro # run a Professional project
opendbc check game.dba --dialect dbpro # compile and verify onlyctest --preset default- BASIC execution goldens: 77.
- Full corpus expectations: 95 sources, including 85 that reach verified bytecode.
- Observable implemented-overload contracts: 1685.
| Topic | Where |
|---|---|
| CLI, Studio, exports, debugging | docs/usage.md |
| Studio Scene view (level editor) | docs/level-editor.md |
| Code layout, language pipeline, compatibility rules, tests | docs/architecture.md |
| Renderer frame, its costs and how to measure them | docs/rendering.md |
| Commands and their support state, per profile | docs/reference/ |
| Desktop VR | docs/vr.md |
| DBPro BSP worlds | docs/bsp.md |
| Classic animations (video) | docs/video.md |
| Classic multiplayer | docs/network.md |
| Native plugins (Classic DLLs) | docs/plugins.md |
| Example programs | examples/README.md |
| Logos, social headers, wallpapers | docs/branding.md |
| Questions about content and the name | docs/faq.md |
| Contributing, code of conduct | docs/CONTRIBUTING.md, docs/CODE_OF_CONDUCT.md |
| Security and reporting vulnerabilities | docs/SECURITY.md |
| Changes per version | CHANGELOG.md |
| Remaining work | docs/roadmap.md |
MIT, see LICENSE. Trademarks and third-party content are listed in docs/NOTICE.md.