プロジェクト管理の初期設定をした

共同制作プロジェクトのマイルストーンをきった。始まりじゃ!

http://twitter.com/asahiufo/status/8191314100

プロジェクトをTracでどのように管理するかを綴っていく。恐らくいろんな方針転換があるだろうけど、その思考の過程がイイ!

http://twitter.com/asahiufo/status/8191542029

うちのTracは、1Tracで複数プロジェクトを管理する。Spark projectと同じ。

http://twitter.com/asahiufo/status/8191578079

基本的には1マイルストーンが1プロジェクトとなるよう運用してる。バージョン毎にマイルストーンをきったりもしてた。MyGameLibならv0.5とv1.0の2つのマイルストーンがある。ま、無秩序ってことね。

http://twitter.com/asahiufo/status/8191639591

今回はまずマイルストーンをきって、Discussionにプロジェクト用フォーラムを作成した。

http://twitter.com/asahiufo/status/8191745678

マイルストーンの説明に、議論場所としてそのフォーラムのトップページのURLを書いた。同じ場所にQuery Chart マクロでマイルストーンのバーンダウンチャートを貼っつけた。

http://twitter.com/asahiufo/status/8191798649

使い始め当初はTracwikiを議論の場にしてたけど、残念ながら破綻した。チケットのコメント欄なら少しは使えるだろうけど、コメントの関連性が見えにくいので、長期の議論には向かない気がする。

http://twitter.com/asahiufo/status/8191941939

今後wikiは決定事項を載せていくドキュメントに使う。議事録的なまとめもwikiに書く。ということで、所定の場所にプロジェクトのルートページを作った

http://twitter.com/asahiufo/status/8192047618

このwikiページのURLもマイルストーンの説明に乗っける。

http://twitter.com/asahiufo/status/8192060169

まずは「ゲームの大まかな内容を決める」というチケットを登録。チケットの説明の中に、議論をするフォーラム内のTopicのURLと、決定事項を記載するwikiのURLを記述。

http://twitter.com/asahiufo/status/8192653016

チケットからリンクされたTopicとwikiページにはチケット番号を記述しておく。#48ってよ。

http://twitter.com/asahiufo/status/8192729247

これで基本的な準備はできたかと思う。基本的にチケットを中心に議論はDiscussion、ドキュメントはwikiと使い分けて運用してみる。さあ、ここからがスタートです。

http://twitter.com/asahiufo/status/8192899278

スタッフ一覧はどこに書くべきだろう?マイルストーンの説明か、wikiのプロジェクトページのトップか?

http://twitter.com/asahiufo/status/8193014841

一般的なプロジェクトだと、人員の構成とかってのはドキュメントに載ってたりするはず。ってことは載せるならwikiか。

http://twitter.com/asahiufo/status/8193044650

あと、wikiのプロジェクトページとフォーラムのトップページにマイルストーンのURLを貼っとかないといけない。

http://twitter.com/asahiufo/status/8193144012

準備完了。あとは「ゲーム 共同制作」という挫折フラグをどう乗り越えるかと言う話。

http://twitter.com/asahiufo/status/8193498586

リフトを作るために2

考えてると、どうも押し当たり判定を拡張した方がよさげ...。
rightHittable、leftHittable、topHittable、bottomHittableというプロパティをもったRectangleのサブクラスを判定エリアにする。これらのプロパティで、trueである方向に対して当たり判定があるようにする。マップ当たり判定のごとく当たり処理をする場合はマップ当たり判定と同様の処理を使いまわしたい。この処理はどうやって紐付けようかしら。
マップ当たり判定の標準の当たりイベントハンドラを外出しにして、マップ、押し時に同じメソッドを参照できるように構成を見直すといいかも。

リフトを作るために

昨日の機能考察。


現状ある押し当たり判定に対してマップ当たり判定のごとく当たりをつけるのはやめました。当たり判定エリアを新設することにします。マップ当たり判定と同様の当たり方向種類を持たせて、登録したこの当たり判定エリアすべてに対して判定を行うメソッドでも作ろうと思います。


問題はその当たり判定エリアにキャラが乗ったり触れている場合。キャラが乗っている場合はその当たり判定エリアが移動した場合にキャラも一緒に動かなければなりません。これはどうしようか?キャラと当たった場合、その当たり判定エリアの移動量をキャラにも反映する形にすればいいのかしら。

MyGameLib v1.00 へ向けて

機能改善、追加をいろいろやっていこうと考え中。手始めに、オブジェクトの押し当たり判定をまるでステージの当たり判定かのごとく使えるようにしたい。
スーパー一般ブラザーズのアイテムブロックは、マップ当たり判定を重ねることで無理やりブロックの上に乗れたりしましたが、マップとは独立した形で当たり判定を機能させたいところ。
これができれば、マリオワールドのブロックテレサが作れますね!!

MyGameLib v0.51 リリースしました。

http://www.libspark.org/wiki/asahiufo/MyGameLib


まずは既知のバグの修正、仕様誤りを修正しました。そして大き目の機能のサンプルを追加しました。
各サンプルディレクトリ内のswfを実行したらちょっとしたものが見れます。


ただ、正直これだけでゲーム作りに昇華出来る人はいないと思います。
v1.00リリースの際にはドキュメントの整備とある程度使いやすいツールを配備して、実際にゲーム作りに使えるような説明をひっつけたいと思ってます。


...膨大な作業量ですなぁ。

実用に結びつくサンプルが必要か

サンプルを作っていて思ったのですが、MyGameLibは設定項目が多くて、いろんな機能をどのように組み合わせればいいのかとか分かりにくいなぁと。各機能のサンプルさえあればなんとかゲームを組めるぐらいになるか...と思っていたのですが、到底無理そうです。サンプルのみならず、こうやればゲームを作れますよという一連の流れを超丁寧に書かなければ実用できないかも...。

もくもくとサンプル作り

アニメーションのデータ構造と、グラフィック一括ロードのサンプルです。


サクサクとロード、アニメーション、描画が実装可能です。グラフィックのロード設定、アニメーションの構造を外出しにできるので、共同制作にもオススメ。