世界を動かす技術を、日本語で。

「Donkey.bas」は45周年 – 栄光の131行

2026年8月14日原文(donkeybas.com)

概要

  • DONKEY.BAS は1981年のIBM PC向けクラシックゲーム
  • Microsoft 共同創業者Bill GatesとNeil Konzenが開発
  • プレイヤーは 車線変更 のみでロバを避けるシンプルな操作性
  • このページは JavaScript でCGA風のゲームプレイを再現
  • 教育・保存目的での Web移植版

DONKEY.BASのブラウザ移植版について

  • DONKEY.BAS はIBM PC DOS初期に デモ用 として同梱されたゲーム
  • BASICA 上で動作し、カラーグラフィックスとサウンド機能を紹介
  • 1981年に Bill GatesNeil Konzen によって開発(1982年にバージョン1.10リリース)
  • ゲーム内容は 車線変更のみ でロバを避けるという極めてシンプルな構成
  • ロバにぶつかると ゲームオーバー、失敗時には爆発演出

Web版の特徴

  • オリジナルのCGAグラフィックス をJavaScriptで再現
  • 一部表現や仕様に 独自のアレンジ を加えた再構成
  • DONKEY.BAS のオリジナルソースコードを参考
  • GitHub でソース公開、教育・保存目的での利用を推奨
  • (C) Copyright IBM Corp 1981, 1982 — Web移植版 は非営利・教育用途

操作方法とゲーム性

  • プレイヤーは 車線を切り替える だけの単純操作
  • ロバを避け続けることで スコア を伸ばすゲーム性
  • 爆発エフェクト や効果音など、当時の雰囲気を再現
  • 短時間で遊べる カジュアルゲーム として人気

歴史的意義

  • IBM PC 黎明期の 技術デモ として重要な役割
  • Microsoft 初期の開発事例の一つ
  • 現代でも レトロゲーム やプログラミング教育の題材として注目

参考リンク

  • オリジナルソース :DONKEY.BAS
  • GitHub :Web移植版のソースコード公開ページ

Hackerたちの意見

IBM PCの45周年を記念して、ブラウザで動くDONKEY.BASのポートを作ってみたよ。結果には満足してる。若い頃、こんな少ないコードでゲームが作れることにすごく感動したのを覚えてる。

新しいものはないの?ただの生成されたポート? - https://gorillas.zone - https://codepen.io/manz/pen/RmEQgv - https://github.com/rizwan-virani/gorillas - https://github.com/theraccoonbear/BrowserGORILLAS.BAS

車がレーン変更するたびに、もうとっくに過ぎてるのにロバにぶつかり続けるんだよね。。

最近、何か飲んだ?

コードは見てないけど、当時から衝突検知はバグだらけだったよ。前に何もないかロバがいるときにレーンを切り替えなきゃいけないんだ。ロバが隣のレーンにいると、通り過ぎたように見えてもヒットとして登録される。編集: 1750行目で簡単な衝突チェックをしてるけど、ロバを通り過ぎたかどうかは確認してないみたい。

いい仕事だね。音の効果がちょっと進化しすぎてるかな。初期のIBMコンピュータは、シンプルな磁気駆動のスピーカーが付いてたから。ちなみに、ここ4ヶ月間、ブラウザ上で動く仮想CPUとハードウェア抽象レイヤーを使って、QBasicとQuickBasic 4.5の100%忠実なアダプテーションに取り組んでたんだ。80年代と90年代初頭にマイクロソフトのBASICインタープリタでプログラミングを学んだ人たちへのラブレターみたいなもんだよ。今までの最高の褒め言葉は、同じ時代に育った友達からもらったもので、ブラウザをフルスクリーンにしたら、何人かは本物の仮想マシンが動いてると思ったらしい。オリジナルのBASICベースのDONKEY.BASのQBasicポートは、その中で動かした最初のプログラムの一つだったよ。https://mordenstar.com/share/qbasic-core-demos

初めての仕事では、注文入力と在庫管理システムが全部QBASICで書かれてたんだ。これで試してみたくてソースがあればいいのに。誰か持ってるかもしれないけど、DOSの5.25インチフロッピーディスクからどうやって取り出すか考えないと。

これ、めっちゃいいね!90年代初頭にQBasicで遊んでた子供の一人として、ありがとう!

いいね、これをその前のGWBASIC(自分の最初のプログラミング言語、Tandy 1000EXで使ってた)でやってみたいな。

それから、QBasicよりもVisual Basicの思い出が多い若い人たちには、GAMBASをチェックしてみて!: https://gambaswiki.org/website/en/main.html

磁石を使わないスピーカーって存在するの?

おつまみ!

Hacker Newsで議論の続きを見る