0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

非効率なエレベーターに代わって自分が制御する、そんなゲーム

0
Posted at

エレベーターの挙動にイライラしたこと、あるよね

皆さんは、複数のエレベーターがある建物で、それらの挙動を見て、イライラしたことはないだろうか。

なんだよこのエレベーターの動き、どうなってんの?

って。絶対あるよね。

* この号機が来たら済むのに、なんでその遠い方が来ようとするんだっっ!
* なんでこの2基が、ほぼ同じ動きをしているんだっっ!

あるある、のはずだ。

某ビルでのことだ。1階と12階にエレベーターがよく待機していて、11階にあるオフィスフロアで下ボタンを押すと、毎回、1階からエレベーターが上がってくるんだ!
そして、それが9階まで上がって来ると、突然停止して、12階のエレベーターに制御が移って、それが11階に下りてくるんだ!

* なんでなんだよおおおおっ!

自分ならこういう制御をさせる!
エレベーターをにらみながら、そう思ったこともある人もいるはずだ。

だからゲームを作った。

どの号機をどこへ向かわせれば効率的なのか、自分がエレベーターを制御する側に回って、乗客を効率よく運ぶゲームだ。

スクリーンショット

IMG_4725.jpeg

プレイはこちら

PCでもスマホでも動かせる、単純なブラウザゲームだ。

どんなゲームか

あなたはエレベーターの運行管理者だ。
10階建てのビルで4基のエレベーターを操作して、乗客を快適に運ぶ。

操作は簡単で、エレベーターの上側か下側をクリック(タップ)するだけ。

乗客を待たせすぎると怒られて、ポイントとハートが減っていく。
逆にタイミングよく乗せるとポイントとハートが増える。

合計200人ほど運べばクリアだ。

実は2002年に作成

元々は、2002年当時 Javaアプレット で作っていたゲームだ。

まだ私が社会人になりたての頃に、Javaの本を買って学習しながら作った太古の昔の、古いブラウザゲームだ。

エレベーターとユーザーをクラス定義して、制御クラスも定義して、自分の学習にちょうどいい題材だった。

まだGoogle Chromeなんてなかった時代で、当時のWebブラウザは、IE一強だったはずだ。それらのブラウザのボタンからJavaをうまく制御できずに、途中で投げ出していた。
そのまま24年の歳月が過ぎた。

いつの間にか、手元に残っていたのはclassファイルとgif画像だけ。Javaのソースコードは失われていた。

Claudeに渡したら復活した

classファイルとgif画像をダメ元でClaude Codeに渡したら、なんと見事にデコンパイルして、JavaScriptのゲームとして移植してくれた!

  • classファイルからロジックを読み解いて、Javascriptに書き起こし
  • アプレットの描画はcanvasに置き換え
  • 当時のgif画像はそのまま流用

24年放置していたゲームが、今年復活した。
ついでに、5個のバグがあったと言って、AIがそれも取ってくれた。さらに、256色以下のgif画像もpng画像に書き換えられ、実装もブラッシュアップしてもらった。

デモにあるのは、このようにして書き換えられたゲームだ。

だいぶ前に書いた中間コードでも、AIに渡せばリライトして復活できることもあるし、しかもバグまで取ってくれる という、いい時代なんだな、というお話でした。

ぜひクリアして

暇つぶしゲームではあるが、シミュレーターなんだ。
脳内でエレベーターを制御してしまうタイプの人は、クリアが義務だ。
ぜひクリアしてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?