ヴァイスをプログラミングしよう!その1
エイプリルフールに画像を載せて、それ以来幾度か話には出してましたが、その実体が全然見えない状態なので、ここでちょっとまとめてみようかと思います。
ということで、プロジェクト「ヴァイス・シュバルツをプログラミングしよう!」第1回。
動機としてはプログラミング技術の向上と、簡単にデッキを組んで試せる対戦相手がほしかったから。
以前に組んだ公式サイトからの自動コーパス生成は実はこれに活用するのが本当の目的だったという。
で、現状はこんな感じ。
第1回と言いつつ、実はもう結構できちゃってます。ゲーム自体はプレイ可能。
ただし、現在の対戦相手は自分で組んだCPU。CPUのアルゴリズム自体はまだまだ単純で、修正の余地ありというところ。
現在使用できるカードは、バニラならアイマスDSまで。効果処理は初期DCの80%と、DCEXの80%。
カード画像はアウトの部類だけど、そもそも配布する気がないので、モチベーション維持に最適。イラスト見えるとかなりやる気上がるんだー。
画面見てもらうとわかるように、一応イラストがなくても色の汎用画像が表示されます。
オブジェクト指向をかなり意識したので、ソースはそれなりに整理されているはずなんだけど、それでも現時点で壮大なスケールになりつつあったり。
まぁ今後の拡張性なんかを考えた時、関数の組み合わせで簡単に効果を実装できるので、未来は明るい・・・はず。
処理で気を使ったのがフィールドに存在するカードのスペック保持。カードゲームではよくあることだけど、他のカードに依存することで能力が上がったり、効果が付加されるってのはよくある話。
それをどのタイミングで更新していくか、ということを考えたときに、フィールドが変化するたびに場をすべて再計算する、という手法にしてみました。
GBA遊戯王がそんな感じの処理だった気がするので、それを参考に。はぐリンさんのCGIとか、どういった処理なのか気になるところ。
フィールドはしょせん5箇所なので、計算量が莫大に増えることはないから、これでも問題ないと思うけど。
戦闘時のバウンスキャンセル、特定の領域から特定条件のカードのみを選択するなどの
で、御覧のように今後の課題としてはデザイン性とか、GUI面の強化。イラスト描いている友人とか、WEBデザインしてる友人に頼んでフレームは書いてもらうとして、右下のスペースに何を置くか・・・が目下悩みの種。なんか出しておくべき情報って他にあったかなぁ?
ゲーム推移のログとか?
まぁそんな感じで、チマチマ作成中です。若干鬱になりかけたけどね!
2010年6月25日
コメントする