Project Anthem(TCストライカーズ)

ぷろじぇくとあんせむ公式サイトであり雑記ブログ。当サイトはリンクフリーです。

 先日現代美術家の方とお話をする機会があって色々と伺ってきました。

 どうやってそのアイデアを得るのかなと気になっていたのですが、資料の集め方について伺ってみたところ、Ipad(指紋認証あるやつ)を取り出し見せてくださったのですが・・・


 「テレビでいいものが映ったらこれで撮る。」


 ・・・えっ??


 そんなのでいいのかと驚きました。結構有名な方で美術館で個展とかされています。そんな人でもテレビの映像を撮影して使っているとは思ってもいませんでした。勝手なイメージですが、著名な人はわざわざそういう写真を取れるところまで出向いたりお金をかけて資料を集めているもんだと・・・

 しかし、そうやって得たた資料をもとに作られた作品が20万円前後で売買されているわけです。この部分をどう捉えるかは差が出てくるでしょうね。

 以前の僕だったら、「高く売るためには経費をかけなければいけない」のような盲信がありましたので、やたらお金をかけて資料を集めたり展示会に出向いていました。今はそんなことを思っていませんが、著名な作家さんは違うだろうと思いこんでいました。



 もちろん、この手法が全てというわけではないでしょう。しかし、作品を作るにおいてヒントをどこから得るか、それは限りなく自由であるということがわかりました。

 そういえば以前も絵の先生から同じこと言われましたね。日常の風景からヒントを見つけていこう、と。植物とか家の壁とか観てると案外きれいだったりします。写真をとってPhotoshopで加工するだけでなかなかの素材になりますからね。そういえば我々のようなデジタル作家にとっては資料にするまでもなくそれ自体を利用できてしまうのでより楽チンですね。



TCストライカーズ3
ストーリー ボス紹介 ザコ紹介 システム BGM 攻略動画 

TCストライカーズ3
ストーリー ボス紹介 ザコ紹介 システム BGM 攻略動画 

作成中

TCストライカーズ3
ストーリー ボス紹介 ザコ紹介 システム BGM 攻略動画 



「前髪を切りすぎたわ。これじゃあパッツンでぶじゃないの。」
「パッツンでぶだわ〜。」
「後者をやめたらいいんじゃないですか?」
「どっちも気に入ってるのよ。」
「……………」
「ところで昨日の件どうなりました?」
「まあ、調べに行ったほうがよさそうね。」
 

”(スマホ音声)〇〇島で火山の噴火の兆候が見られます。”
「ここって確か…」
   LuLuLuLuLu(着信音)
”お忙しいところすいません。私〇〇開発の者です。”
「もしかして、火山の件ですか?」
”ええ、そうです。あの島は過去数百年の間、平穏だったんです。それがなぜ今になって…”
「私も想定外です。大昔には噴火した形跡があったらしいのですが、誰しもがかもう噴火し
ないものと思っていました。現地に赴いて状況を観て来ましょうか?」
”お願いします。私共としても様子を見るつもりです。損失は避けられませんが・・・”
 

「あんたどうする?」
「行きます!」
「テクノさんが細い道に挟まった時に備えてホテルで待機してます。」
「…あ…うん…。」

 ボスの状態遷移が複雑になりすぎってなかなか新しいものを作れなかったのですが、ステートパターンなる書き方を実践して見た結果、とてもわかり易いコードになりました。

  
・ステートパターンとは

 状態遷移を簡単に実装するデザインパターンです。switch文の各caseを各クラスに分割すると考えていただければよいかと思います。
  
 こちらのサイトを参考にしました。 
 東京工業大学デジタル創作同好会


 いままではボスクラスに以下のように状態遷移を書いていました。

 switchi(var){

case 1: 攻撃パターン1
case 2: 攻撃パターン2
case 3: 攻撃パターン3
}



 しかし、これだと各攻撃パターンを制御する変数をボスクラスに持たせないといけません。その結果生じる問題点が以下の項目です。
  1. 変数が増えすぎてわかりにくい
  2. 想定外に値が変わってしまう


しかし、ステートパターンを使うと以下のようにクラス・シートを分割、することができます。

  • class 攻撃パターン1を含むクラス{}
  • class 攻撃パターン2を含むクラス{}
  • class 攻撃パターン3を含むクラス{}

こうすることで識別子が同じ変数を使えるようになり、変数の管理も簡単になります。その結果、攻撃パターン作成に専念できるようになりました。



・ステートパターンを実装した意義
 開発の簡略化です。ゲームが複雑になるに連れてコードも複雑になっていきます。するとシステムを管理することに主眼が言ってしまい、肝心なゲーム性に割く時間がなくなってしまいます。
 大別するとゲームはシステムとコンテンツに分けられます。ゲームをストレスなく進めるためにはシステムの洗練さが、没入するためにはコンテンツの充実が必要です。ステートパターンによって開発をシステム作成とコンテンツ作成を分割することができます。両者の結合性が高すぎるとコンテンツをつくることでシステムに影響を与えてしまうかもしれません。それを防ぐためにもステートパターンはよいかと思います。



↑このページのトップヘ