「Cubik's Rube」開発日記 (抜粋)


2001/05/01 (火)

Vectorから公開のメールが来てたので明日にはダウンロード可能になるだろう。


2001/04/26 (木)

昨夜は午前2時頃に登録作業が終了した。

会社でCubikでちょっと遊んでたら、昨日登録したばかりなのにもかかわらずバグを発見していまいちょいブルーに。大した問題ではないんだけど、リプレイ時にキューブの回転速度がおかしく(速すぎ)なってしまうことがあるみたいだ。たぶん、キューブをシャッフルするとシャッフル中はどんどん回転が速くなるのだけど、そのままセーブしてあるログファイルをロードしてリプレイすると速い回転でリプレイが進んでしまうんだと思う。リプレイ開始時に回転角の設定をし忘れているのだろう。


2001/04/25 (水)

「Cubik's Rube」の方はまたちょっと手直し。キューブの状態に変更があった時に、ゲームを新規に始めたりウィンドウを閉じようとしたりしたら現在の状態をファイルにセーブするか聞いてこなければならないのに、いきなりキューブを作り直したりウィンドウが閉じられたりしてしまうというバグを見つけたので直した。直したというよりもこの辺のプログラムの書き方を間違っていたみたい。

Vectorからのメールにゴールデンウィークのため5/05の更新はお休みします、と書いてあった。ということは、今週末にCubik's Rubeの登録をしても公開されるのは5/09になってしまう。別にあせる必要はないけど、早く区切りをつけたいという気持ちもある。

今夜登録すれば5/02に公開されるかもしれないので、慌ててREADMEの準備をしたり最終確認をしたりしている。この最終確認の時点でまだバグが見つかるあたりが弱い。まぁ、ソフトにバグは付き物ということで。もう致命的なバグが無いことを祈る。

さっそく寄付用のシェアレジ番号を取得し、ライブラリ登録のFORMを書き、プログラムを自己解凍EXEにした。これからFTPでVectorに転送します。では。


2001/04/24 (火)

「Cubik」は例のごとくfprintf()を埋め込んでログの部分のチェックをした。おおむねデザイン通りに動いているようだったので、あともうちょっとプレイしてみて、今週末にでもREADMEを書いて完成としたい。

インターネットを見ていたら、4x4x4や5x5x5のルービックキューブ(4x4x4は『ルービックリベンジ』というらしい)が実際に売っていたそうだ。知らなかったなぁ。そのキューブを”簡単に”解いてしまったという人もいて2度ビックリである。


2001/04/23 (月)

昨日の続きをインプリメント。今日はリプレイ機能を追加。UNDO、REDOにリプレイで潜在的なバグが急増した感じ。試しに遊んでみるとエラーが発生することがままある。自分でもびっくりするくらいあっという間に作ってしまったけど、しばらくはテストプレイを繰り返して、デバッグしていかなければならないだろう。ちなみにゲーム名は「Cubik's Rube」にした。


2001/04/22 (日)

今日はログの機能を追加。ログの記録、UNDO、REDOをできるようにした。やはりこういうのを追加すると一気に不安定になるっつうかバグが紛れ込むなぁ。


2001/04/21 (土)

昨日はベタでOpenGLのライブラリを使っていたけど今日は「Practice1」を使って書き直した。「Practice1」について説明しなければならないか。2年くらい前から、OpenGLをBorland C++ Builderのプログラムから簡単に使うためのライブラリと、そこで使う3Dオブジェクトを簡単に設計するためのモデラーをセットにした「GLBuilder」というのを作ろうとしてる。そこそこ動くものを作ったこともあるが、いかんせん理想が高すぎっていうか、なんでもかんでも詰め込もうとしてなかなか先に進まないでいる。いつまでもそんなじゃいけないと思い、まずは「習作」を作っていこうとして「Typeng」用に作ったのが「Practice1」なのだ。

今日はキューブの描画部分とキューブを回転させるためのユーザーインターフェースを作った。マウスを使ったユーザーインターフェースを実現するために、マウスがクリックされたときにマウスカーソルがどの3Dオブジェクトの上にあるかを判定するためにSELECTIONまわりのプログラムをPractice1に追加した。

キューブのちゃんと面取り(1段階だけ)もして、なかなかきれいに表示されて満足。使い勝手は人によって感じ方が違うと思うけど、まぁそこそこだろう。たったの2日で作ったとは思えないくらいまともに動いている。

公開するレベルにするには、もう少し付加価値が必要だろう。やり直しがきくとか、途中で状態をセーブできるとか。


2001/04/20 (金)

突然ですがルービックキューブについて考えた。3×3×3だからああいうおもちゃとして成立したわけで、もっと数を増やそうとしても物理的になかなか難しいであろうことが容易に想像できる。ではパソコン上で再現したらどうか。パソコンでなら部品がバラバラになることもなく、たとえ10×10×10でも表示できる。

会社に着いて午前中の間、ちゃんと仕事もこなしながら、ルービックキューブの仕組みを考えた。テキストでキューブの展開図のようなものを表示して、指定した部分を回転させた後、その状態での展開図も表示するようなプログラムを作ってみた。だいたい2時間くらいでN×N×Nのキューブも回転させることができるプログラムが完成。

夜、仕事も一区切りついたところで、キューブの続き。今度はキューブをOpenGLで3D表示させるプログラムを作った。とりあえず簡単に色のついた四角のポリゴンを表示するところまでは完成。いや〜1日(というか数時間)でここまで作れるとは。我ながらアレである。

これでユーザーインターフェースをちゃんと考えて、3Dモデルもきちんとデザインすれば、それなりのゲームになるんじゃないかな。ちょっとやってみようかな。「MAZE de VS」が後回しになってしまうけど。っていうか「Typeng」が1年越しの作品になってしまいそうで。


戻る