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

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



2



さて、リファクタリングを続けています。
簡単なところで変数の名前を短くすることで読みやすくするという方法があります。

  • alpha ⇒ alp
  • count ⇒ cnt
  • step ⇒ stp
  • control ⇒ ctrl

という風に、よく使うものを略しました。母音を削って短くするのが一般的です。
これだけでもかなり読みやすくなりました。

次に独自に略法を使います。個人で作っているので自分さえ分かればいいのです。

  • Layer ⇒ L
  • stage ⇒ stg
  • cnt ⇒ c
  • Bullet ⇒ B
  • Player ⇒ P
  • State ⇒ S

P,Bなんてプライベートブランド見たいです。これだけやると文というより記号的になってきますが、案外おしゃれな感じです。以前と比べて見やすくなりました、さらに読む手間も省けて効率的です。ラムダ式も使えば暗号みたいになりますね。


C#ショートコードプログラミング 第3版 〜短いコードで生産性を高める必修テクニック〜 [ 川俣 晶(株式会社ピーデー代表取締役) ]
C#ショートコードプログラミング 第3版 〜短いコードで生産性を高める必修テクニック〜 [ 川俣 晶(株式会社ピーデー代表取締役) ]

フリーSTG紹介シリーズ
STGプレイ動画


鏈縁霊烈傳 〜 Reactivate Majestical Imperial Hard Mode 1cc

【怒首領蜂大復活】 ver1 5 1周ALL Cstrong

【C91】 Phantom Sol 難易度BLAZE  自動追尾型

【怒首領蜂大復活】 ver1 5 1周ALL Bstrong

【怒首領蜂大復活】2周目突入 B string

【FLOWN】 HARD 黒鳳蝶typeA ノーコンテニュークリア

【FLOWN】 HARD 黒揚羽蝶typeB ノーコンテニュークリア
【東方神霊廟】HARD 6年越しの初クリア!

虫姫さま ~ Mushihimesama Original Mode 1CoinClear

鏈縁霊烈傳 〜 Reactivate Majestical Imperial - Normal Mode 1cc
同人弾幕STG Flown STAGE2ボス戦 (HARD) NEXT-SOFT+
同人弾幕STG Flown STAGE3 (HARD) NEXT-SOFT+

同人弾幕STG Flown STAGE1 (HARD) NEXT-SOFT+

フリーSTG紹介シリーズ
STGプレイ動画


 コーディング

 さて、1月ほどかけてリファクタリング。外見上変わったことはないのでお見せできるものはないのですが、内部的に随分きれいになりました。

  • プレイヤー、ボス、ステージのステートパターン化
  • 自機タイプをポリモーフィズム、オーバーライド
  • シートのカテゴリー化(使用場面毎にフォルダ化)
  • 雑魚をストラテジーパターン化
  • 命名ルールに則って再命名

 と、まあわかってる人にとっては当たり前のことですがオブジェクト指向の基本事項を導入しました。


参考にした本
 独習C# 新版 (独習) [ 山田 祥寛 ]
独習C# 新版 (独習) [ 山田 祥寛 ]


きれいなコードを書くための鉄則 [ Lepton ]
きれいなコードを書くための鉄則 [ Lepton ]

 
 いままでは命名ルールすら分かっていなかったので後で見返した際に「これなんだっけ」と思う変数が多かったのです。全体にcamel法で統一しました。今後、命名する際にも単純なルールと役割に基づいて命名できるので変数・関数名を考える手間が省けました。

 またステートパターンを多用したことで動きがわかりやすくなりました。前作はswitch文でステージ、ボスを進行させていたのですが、複雑になりすぎたため改善する必要があったのです。2の作成終盤なんてうんざりしてました。今回のリファクタリングで3だけではなく4以降もこのプロジェクトを使って作成できます。ステートパターンはシートを増やせばいくらでも複雑なことができますので拡張性も高くシリーズ物を作るにはもってこいではないでしょうか。

 コードがすっきりし空いた分で色々と考えることができるなります。なんか進まない時は今までに作ったものを見直して最適化すると新しいことに挑めるのかもしれません。私はここまで整理してやっと絵をかける状態になりました。リファクタリング前は「書いたとしても位置・ポーズ調整とかめんどくせえな」と思っていたのでやる気がでなかったです。素材を作ったらすぐ実装できるようにコードを整えておくというのも有効ですね。



サキュレーターでPC冷やすと早くなるよ
P_20180821_160635



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

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


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


 ・・・えっ??


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

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

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



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

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



↑このページのトップヘ