Классические компьютерные игры из книги Дэвида Ала перенесли с BASIC на C

Репозиторий содержит портированные на C игры из классических сборников David Ahl's Basic Computer Games, впервые опубликованных журналом Creative Computing. Все игры изначально писали на GW-BASIC, теперь они переведены на C и компилируются на множестве платформ: Linux (GCC), Windows 11 (MSVC), FreeDOS (Open Watcom). В исходных .c файлах сохранены комментарии с оригинальным кодом на BASIC для справки.
Для каждой платформы предусмотрены отдельные скрипты сборки (build_lx.sh для Linux, build_win.bat для Windows, build_fd.bat для FreeDOS). Автор использовал инструменты автоматизации для начального преобразования, но вручную отлаживал код. Проект открыт для дальнейшего развития под лицензией MIT и приглашает других разработчиков к участию.
Ключевые факты
- 70+ классических игр из серии 1970х годов успешно переведены на современный C
- Кроссплатформенная сборка: Linux (GCC), Windows (MSVC) и FreeDOS (Open Watcom) с готовыми скриптами
- Исходный BASIC-код сохранён как в отдельных файлах, так и в комментариях для изучения
- Проект использует автоматизацию для перевода, но требует ручной отладки и доработки
- Открыт для форков и дальнейшего развития под MIT лицензией
Почему это важно
Классические игры из Basic Computer Games имеют историческое значение в компьютерном образовании. Они используются как учебный материал для изучения алгоритмов и логики программирования. Перевод на современный C делает эти игры доступными на актуальных платформах и демонстрирует практический путь миграции кода из устаревших языков.
Кому это важно
Проект интересен образовательным учреждениям, изучающим историю вычислительной техники. Разработчикам будут полезны примеры портирования кода между языками и работы с различными компиляторами (GCC, MSVC, Open Watcom). Энтузиастам ретрокомпьютеров проект позволяет запускать классические игры на современном оборудовании и даже в FreeDOS.
Как это применить
Репозиторий предоставляет готовые скрипты сборки для каждой платформы. Разработчик может клонировать проект, выбрать нужный скрипт (build_lx.sh, build_win.bat или build_fd.bat) и скомпилировать игры на своей системе. Исходный код в комментариях помогает разобраться в логике реализации и адаптировать игры под собственные нужды.
Можно ли доверять
Проект создан разработчиком с инженерным подходом: использована автоматизация для преобразования кода, затем проведена ручная отладка. Код компилируется на трёх разных платформах с разными компиляторами, что свидетельствует о проверке совместимости. Автор честно указывает, что работа не завершена и приглашает других разработчиков продолжить проект.
Риски и подводные камни
Проект ещё не полностью готов. Разработчик явно заявляет, что доделает его в свободное время или отдаст на доработку сообществу. Некоторые игры могут требовать дополнительной отладки или адаптации. При работе на FreeDOS потребуются навыки работы с устаревшей платформой и её инструментами (Open Watcom).
«Yes, I used Google Anti-Gravity to convert the programs from GW-BASIC to 'C', but what a better learning tool than to debug a program?»
— автор проекта на GitHub