素人プログラマーの日常

効率の良いコード、美しいコードなんて書けません。

よくわからないもの

またしても1年以上放置のままでした(汗。タイトルに”日常”とありますが、1年に1度の更新で日常というのもなんだかな~と思う今日この頃です。

 

あれから密かにいくつか作ってはいます。ですがこのブログのことをすっかり忘れていて数日前に「あっ、そうだ!」てな具合で思い出したので、その作ったいくつかをざざっと紹介していきます。

 

最初に作ったのは、はっきりいって失敗作です。

 

クッキークリッカーというゲームはみなさんご存知でしょうか。つい最近もバージョン2が更に更新されました。今ある放置ゲーの元となったゲームで、ゲーム内容の単純さゆえにかなりの人がハマったようです。このゲームの内容を変えて作ったのですが、いろいろと残念な結果となりました。

 

具体的なモチーフが浮かばないまま作り始めたので、最初はクッキークリッカーでいう農場や工場といった施設を何も具体的なものを準備せずただ数字だけ並べていたので何が目的なのかまったくわからないことになっています。加えて、クッキーとは別の動く何かをクリックしていったほうが面白いだろうと思って施設を購入した分だけその動く何かを登場させました。こちらもイメージが浮かばず結局以前作った phase of evolution のブロックをとりあえず使いまわしてしまいました。ちょうど施設の数とブロックの数が20で同じだったし、ブロックには通し番号が描いてあったので「わかりやすい!」とかなんとか。

 

そのまま作り続けて、最終的にRPGっぽい風体に仕上げようと考えたのがほぼ出来上がった頃で、施設は装備や魔法など強くなるイメージのもの。動く何かはモンスターに置き換えたかったのですが、描くのが面倒だったので放置して作り続けるという怠慢。これぞ放置ゲー!違う?

 

そういえばいちばん大事な大きなクッキーに相当するものも描いてなかった。画面右側が施設で左下が動く何かのスペースだったので左上の本来なら大きなクッキーを表示する何もないところをひたすらクリックするというシュールな感じに仕上がってます。

f:id:dgen:20171208130657j:plain

 

そして残念具合の最たるところは、これはちょっと技術的な話になってきますが、でかい数字が扱えないということ。32bit の double型だと有効数字が15桁くらいなんですよね。かなり大きな数字でも計算できなくはないですが、15桁に入らなかった数字は丸められて無かったことになります。単純に施設が20個あって、その価格や効果量を10倍10倍にしていくと最低20桁は必要になります。20桁となると下から5桁は0が並ぶことになってしまうし、5桁以下の数値を加算しても意味がありません。もちろんそれを回避する方法はいくつかありますが、ほぼ完成した状態から15桁を超える可能性のある変数すべてを修正するのはそれほど膨大ではないコードですが面倒です。面倒なのですぐ諦めました(笑)。まあ、それでなくとも中途半端な仕上がりなのでそこに拘る必要もないかな、といった感じです。

 

このゲームの名前はゲーム内容が完成してから付けています。最後までイメージできなかったからですね。で、付けた名前が「エレメント 八つの秘宝」。エレメントって何だよ!とツッコミを入れたくなるようなゲーム内容です。八つの秘宝は転生したときのパワーアップ要素が八つあったのでてきとーに付け足してみました。わっはっは…。でもって取って付けたようにタイトル画面を作って完成。

f:id:dgen:20171208130700j:plain

 

よほど「欲しい!」という人でも現れない限りこのゲームが出回ることはないでしょう。