Классические компьютерные игры из книги Дэвида Ала перенесли с 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 делает эти игры доступными на актуальных платформах и демонстрирует практический путь миграции кода из устаревших языков.
Ред. Игры 1970-х пережили GW-BASIC, MS-DOS и три поколения железа. C, на который их сейчас переписали, имеет неплохие шансы тоже их пережить.
Кому это важно
Проект интересен образовательным учреждениям, изучающим историю вычислительной техники. Разработчикам будут полезны примеры портирования кода между языками и работы с различными компиляторами (GCC, MSVC, Open Watcom). Энтузиастам ретрокомпьютеров проект позволяет запускать классические игры на современном оборудовании и даже в FreeDOS.
Ред. Сборка под FreeDOS в 2026 году указана как фича. Для целевой аудитории это, вероятно, и есть главная причина кликнуть.
Как это применить
Репозиторий предоставляет готовые скрипты сборки для каждой платформы. Разработчик может клонировать проект, выбрать нужный скрипт (build_lx.sh, build_win.bat или build_fd.bat) и скомпилировать игры на своей системе. Исходный код в комментариях помогает разобраться в логике реализации и адаптировать игры под собственные нужды.
Ред. Инструкция «клонировать и запустить нужный скрипт» звучит просто ровно до момента, когда выяснится, какой из трёх компиляторов у вас не установлен.
Можно ли доверять
Проект создан разработчиком с инженерным подходом: использована автоматизация для преобразования кода, затем проведена ручная отладка. Код компилируется на трёх разных платформах с разными компиляторами, что свидетельствует о проверке совместимости. Автор честно указывает, что работа не завершена и приглашает других разработчиков продолжить проект.
Ред. Компилируется на трёх платформах, автор честен про незавершённость. По меркам нынешних релизов это уже образец скромности.
Риски и подводные камни
Проект ещё не полностью готов. Разработчик явно заявляет, что доделает его в свободное время или отдаст на доработку сообществу. Некоторые игры могут требовать дополнительной отладки или адаптации. При работе на FreeDOS потребуются навыки работы с устаревшей платформой и её инструментами (Open Watcom).
Ред. «Доделаю в свободное время или отдам сообществу», самая популярная дорожная карта open source. Иногда она даже срабатывает.
«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