BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
XBoing is a blockout game recreated with SDL2 from the original X11 game by Justin Kibell.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
XBoing is a fast, colorful breakout arcade game. Bounce a proton ball
off your paddle to smash every block on the screen, then do it again
across 80 levels of bombs, teleports, sticky paddles, and power-ups.
Juggle up to five balls at once, chase the high score, and design your
own levels in the built-in editor.
A faithful SDL2 port of Justin C. Kibell's X11 original, XBoing 2.4
(released 1996). Current release: 1.0.11.
XBoing installs with Homebrew on macOS and Linux:
If Homebrew asks you to trust the tap, run brew trust --formula jmf-pobox/xboing/xboing and install again.README 전문 보기 ↗XBoing is a fast, colorful breakout arcade game. Bounce a proton ball off your paddle to smash every block on the screen, then do it again across 80 levels of bombs, teleports, sticky paddles, and power-ups. Juggle up to five balls at once, chase the high score, and design your own levels in the built-in editor.
A faithful SDL2 port of Justin C. Kibell's X11 original, XBoing 2.4 (released 1996). Current release: 1.0.12.
Home page, screenshots, and downloads (including the original 1996 release): techrescue.org/xboing.
XBoing installs with Homebrew on macOS and Linux:
brew install jmf-pobox/xboing/xboing
On macOS Apple Silicon and Linux (x86_64 or aarch64), this pours a prebuilt bottle — no compiler needed. Every other platform (e.g. macOS Intel) falls back to Homebrew's normal source build automatically.
Prefer a Debian package or a source build? See Building.
Run xboing. Clear every block on a level without letting the ball fall past your paddle.
Space, or click a mouse buttonK, or click a mouse buttonp / t / qThe full key map, the level editor, scoring, and every command-line option are in the manual:
man xboing
Justin C. Kibell wrote the original XBoing on a SparcStation 2 to learn Xlib. Version 2.4 was released on 22 November 1996 and distributed via ftp.x.org/contrib/games. The game uses pure Xlib — no Motif, no Xt — with the XPM library for pixmap graphics, and was published under an X Consortium-style permissive license.
The 1996 sources are preserved verbatim in original/, including Kibell's original README and copyright notice.
original/README for the full credits.This is an incremental modernization, not a rewrite. The 1996 Xlib sources stay in original/ as the canonical reference; the new SDL2 implementation lives in src/ and include/. Game behavior — level format, scoring values, physics constants, paddle bounce trigonometry — is preserved. All 80 original levels load and play unchanged.
| Subsystem | Original (1996) | Modernized |
|---|---|---|
| Windowing | Xlib + private colormap + GCs | SDL2 |
| Graphics | XPM via libXpm | PNG via SDL2_image |
| Audio | fork() + /dev/dsp + 12 platform drivers | SDL2_mixer |
| Sound format | .au (Sun audio) | OGG / WAV |
| Build | hand-written Makefile + Imake | CMake |
| Paths | compile-time #defines | XDG Base Directory spec |
| Fonts | XLFD bitmap fonts | bundled TTF via SDL2_ttf |
Status: release 1.0.12. All six phases of the integration roadmap are done; remaining work is tracked in beads.
For deeper detail:
docs/MODERNIZATION_CASE_STUDY.tex — case study of the agentic modernization method (LLM agents, ethos mission contracts, z-spec formal methods). Build the PDF with make docs-pdf.docs/SPECIFICATION.md — full technical spec of the original game's 16 subsystems.docs/ARCHITECTURE_MODERN.tex — from-to architectural changes and the modern codebase architecture.docs/INTEGRATION_ROADMAP.md — phase-by-phase port plan.docs/DESIGN.md — architecture decision records.Development build:
sudo apt install build-essential cmake pkg-config libsdl2-dev \
libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libcmocka-dev
cmake --preset debug
cmake --build build
ctest --test-dir build --output-on-failure
./build/xboing
The presets need CMake 3.21 or newer; on older CMake, configure with cmake -B build -DCMAKE_BUILD_TYPE=Debug instead.
Sanitizer build — the primary safety net during modernization of a 1990s-era C codebase:
cmake --preset asan
cmake --build build-asan
ctest --test-dir build-asan --output-on-failure
The Makefile wraps these: make build, make test, and make check (all CI gates). Run make help for the full target list.
On Debian or Ubuntu, build and install a native .deb:
sudo apt install build-essential devscripts debhelper cmake pkg-config \
libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libcmocka-dev
dpkg-buildpackage -us -uc -b
sudo dpkg -i ../xboing_*.deb
The package installs setgid games, which enables a shared, system-wide high-score table under /var/games/xboing (see ADR-047) — something the Homebrew build does not provide.
| Directory | Contents |
|---|---|
src/, include/ | Modernized SDL2 implementation: 38 static libraries plus integration glue |
tests/ | CMocka unit, integration, fuzz, and replay tests |
levels/ | 80 level data files, unchanged from 1996 |
sounds/, assets/ | Audio assets, fonts, and converted PNG sprites |
original/ | 1996 Xlib sources, preserved as reference |
docs/ | Specification, modernization plan, design decisions |
debian/, packaging/ | Debian packaging, .desktop file, AppStream metainfo, icons |
Read CLAUDE.md for development principles, quality gates, and commit conventions; AGENTS.md covers the bd issue-tracking workflow.
original/): MIT, © 2025–2026 J Freeman (jmf-pobox).original/): X Consortium-style permissive license, © Justin C. Kibell. Preserved verbatim in original/COPYRIGHT.