LastEmpere

ボタン機能実装中

ふと、プログラムの時間の内訳が気になったのでメモしてみる。 22:46 先頭コメント(ドキュメント)開始 22:48 コーディング開始 22:52 簡易版(ボタンを表示するだけ)完成 22:58 テストコード完成 & 簡易版のデバッグ終了 23:10 途中でTODOちゃん(ε( v ゜ω゜))…

時間切れ

テスクチャの拡大縮小を実装しようと思ったけど、眠くなったのでまた明日。とりあえず、メモメモ。GL.Scaleはどうも原点中心に拡大縮小を行うらしい。しばらく、OpenGLをいじくってコツをつかもう。

defineの実装

すでにシンタックスシュガーに成り下がったdefineの実装。 ちょこっとパーサーをいじくるだけで完成。シンタックスシュガーだけあって、便利便利。

Schemeにおける変数のスコープ

適当に実装していたら、間違えているらしい。ちょっとR5RSを読み直してみる。 http://www.sci.toyama-u.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj_toc.html 3.1 変数、シンタックス、キーワード、領域 AlgolとPascalに同じく、しかしCommon Lispを除くその他のほ…

スクリプトからの設定項目追加

いままで、メッセージボックスの位置は固定でした。が、今回からはスクリプトから設定可能になります。 $(begin (set! *message-x* 8) (set! *message-y* 440) (set! *message-width* 784) (set! *message-height* 150) (set! *message-padding-left* 10) (s…

フォントの描画のバグ退治

SDL::TTF#draw_blended_utf8を使うとなぜかアンチエイリアスが効かない。サーフェイスのマスク周りがあやしい。もうダメ、あきらめた。SDL::TTF#render_blended_utf8でテキストのサーフェイスを作って、転送することにした。

今週の予定

ε( v ゜ω゜) そういえば、みんなに言うの忘れていた。 タスクシステムの拡張 … 子タスクの起動を可能にする レイヤーシステムの拡張 … 共通した処理を集めたGUIクラス(コントロール)を可能にする 派手な変化はないね。内部は、激しく変わるけど。

レイヤーシステム

LastEmepereの現在のレイヤーは、画像ファイルを表示するだけ。これを、もう少し拡張/一般化したい。どうも、でてきそうででてこない。ε( v ゜ω゜)

セーブシステム+VCS

任意の段階にロールバック可能なセーブシステムをWikiで提案した。おそらく却下されるだろう。 普通と違うものは、そう簡単には受け入れられないんじゃないかと思ってる。

lambdaの実装まで

前回のHaskellではうまく行かなかったので、こんどこそプログラムの道のりを書いてみよう。 お題は、LastEmpereへのlambda式の実装

こまめな報告

いま、どんなことをしているかWikiにこまめに書くことにした。「〜の設計を迷っている」「〜の部分を迷っている」みたいなことを。 Haskellで遊んでばっかと、思われたらいややしね。

Ruby/SDLでMIDIが再生できない

require 'sdl' filename = 'sample.mid' SDL.init( SDL::INIT_AUDIO ) SDL::Mixer.open SDL::Mixer.allocateChannels(100) sound_handler = SDL::Mixer::Music.load(filename) sound_handler = SDL::Mixer::Music.load(filename) SDL::Mixer.playMusic(sound…

バグ追跡中...

id:hmx_14から「クリックしても先に進まんよ」と言われた。でも、うちの環境では再現していないので、どうしようか考え中。 とりあえず、最新版をFTPにアップしておいた。これで動かんかったらどうしようかな・・・。 追記: 解決のめどがたちました。フレー…

goto実装完了

gotoとcallの実装が完了した。gotoは指定したラベルまでジャンプするだけ、別ファイルに存在するラベルへのジャンプもできる。callは別ファイルを実行して、実行し終わったら元の場所に戻ってくる。

goto実装中

ファイル内での移動に対応してみる。実装開始したのが、八時ぐらいだから、かかったのは一時間半くらいか。 変化が目にみえてわかる仕事は楽しいわ。

サウンドクラスのコード読み

知らん間に、湧がサウンドクラスをバージョンアップしていたので、コードを読んでみる。 自分の身にもしみるつっこみ コメントは処理よりもむしろデータ構造の解説に使うべき キャッシュする上限値と同時再生可能な上限値を共有しちゃダメだろ ドキュメント…

単体テスト

ゲームに組み込んであるスクリプトがだいぶ充実してきた。こうなってくると、コードに手を加えるごとに全機能をチェックするのが面倒になってくる。なので、簡単な単体テスト機能を組み込んで自動テストできるようにした。するとさっそくいくつかバグが見つ…

サウンド再生のバグ追跡

同じmidファイルを二回再生すると再生が停止してしまうバグの追跡。 バグの原因のありそうなクラスと再現させるコードまではたどり着いたけれど、ここで時間切れ。後は、id:selvaggioにバトンタッチ。

型チェック機構組み込み

ゲームに組み込んであるScheme実行エンジンに型チェックを行える仕組みを組み込んだ。 型チェックって面倒だなぁ。

case式とcond式実装

どうしてもcase文と呼んじゃいそうになるけど、Lispなのでcase式。 Raccのおかげで楽々実装完了。あとid:hmx_14から立ち絵が送られてきたので、表示してみた。絵がかけるってすごいなぁ。簡単そうだったので、beginも実装した。

小泉八雲

送られてきたサンプル画像に目がはいってなくてちょいと不気味なので、ついネタに走ってしまった。 ネタもと:小泉八雲 Lafcadio Hearn 戸川明三訳 貉 MUJINA 大丈夫、みんな冗談だってわかってくれるよね?

バグ修正

McAfから報告のあった、選択肢に関するバグの修正。

選択肢実装終了

選択肢の実装終了。構想2週間、実装1日。これこそプログラミングのあるべき姿だわ。選んだ選択肢の結果によって分岐するための、if文と代入文も実装した。あとジャンプ命令もいるなぁ。あとでコミットしておこう。さあ、これで今週のノルマはおしまいっ。

選択肢の表示方法

LastEmpereの選択肢をどんなふうに表示したらよいかを、決めるために持っているゲームの選択肢の表示方法を調べてみた。 Fate/stay night 通常テキストと同じ位置に表示される カーソルが重なると透明度のあるブルーになる CROSS†CHANNEL 通常テキストと同じ…

サウンドクラス組み込み

湧に頼んでいたサウンド再生クラスには特にバグも見つからず、本体に組み込み。 いやー、音楽がつくだけでがらっと雰囲気変わるねー。

SDL_Eventの修飾キーにまつわるバグ

今日は、nnrに割り振っていた仕事の成果の確認。内容は、SDLのイベントをラップして、キー入力とマウス入力を透過的に扱うクラス。ほいで、あっさりバグ発見。原因は、SDLのキー入力イベントでの修飾キーの扱い。SDL_eventのキー入力イベントで、NumLockがオ…

配布パッケージ修正

id:hmx_14にFTPで配布しているパッケージが動かんと指摘されたので修正。原因は、ZIP圧縮時のファイル名の文字化け。圧縮にはCygwinのzipコマンドを使用しているが、どうもそれが完全に日本語に対応していないらしい。二文字目に'\'(0x5c)を含む"表"の字が化…

FPS固定タイマー完成

今度こそ完成だっ。あとは変数名の変更とか、ドキュメントの整備をするだけ。

バトル画面サンプル作成

id:hmx_14:20051115が"モチベーションあげようよ"って言っていたので、戦闘画面のサンプルを作ってみる。がんばれ、ドッター。作っている間に、思ったこと。 ホントに抜き色、白でいいのかよ モンスターが右向いてるけど、右側においていい? 背景ないとさみ…

FPS固定タイマー完成

ちゃんと設計から考えてやったら、意外とあっさり完成。組み込んでみると、動作は高速化されている。でも、ノートで動かすにはまだまだ重い。と思ったら、バグ発見。スキップできてなかった。難しい・・・。