Monday, June 23, 2014

ここの10年間、ゲームクリエイターになりたくてもなれなかった私

このことはタイ語で書くと、家族の誰かが読んで母に報告するので、日本語で書いておきました。

私の母はタイの社会的な立場でいうと、上の下ぐらいにいて、
ビジネスと付き合いの人々は上流社会だが、当人は別に超お金持ちではありません。

そのため、母には他人の目線をすごく気にするような人でした。

社会的な肩書を得るために、私は母に肩書がいい学校に入学させられました。

中学には、タイにあるイギリス名門校の分校に入学させられました。
当学校では全寮制でした。

肩書はよかったものの、学生達の態度は別によかったわけではありませんでした。
当時の私は弱気のほうで、酷く苛められていて、学校もどうにかしてくれるわけでもなかったです。

テレビを自由に観れることもできず、
週一回学校連れの外出も、唯一大量の漫画を扱う書店にも通っていませんでした。

私を知っている人は分かっているだろうけど、私はかなり重度なオタクで、病人といっていいほどオタク関連ものがなければ枯れて死んじゃうぐらいです。

かなり精神にダメージを受けたため、この学校から出たいと、
何回も母を頼んでからようやく叶えられましたが、次に来るのは更なる地獄でした。

最初は実家から通える学校に編入しようとしましたが、
母はなんだかかんだで、肩書にこだわりがあり、
13歳だった私はオーストラリアに留学させられました。


学校と環境は別に悪かったではないですが、
私には合っているとはかなり言い難いです。

オーストラリアでは家族用のための家が購入され、テレビぐらいは自由に観られますが、
放送されていた日本アニメはドラゴンボールとポケモンぐらいの超人気ものだけで、
そのうえに、ローカライズで販売された日本ゲームの数は非常に少なかったです。

好きな漫画とゲームを自由に買えない分、
母が来る度に漫画の週刊誌を持って来てくれました、
それに、あまり良くないことですが、違法アップロードアニメが普及し始めた頃のため、
なんとか精神的に耐えることができました。

しかし、問題が大きくなったのはそろそろ高校を卒業し、大学に進学する頃でした。

---------------

クリエイターになるという目標は多少ありましたが、
当時の環境では無理がありました。
漫画家になろうとしても手段がない、
ゲーム開発者になろうとしても、学校では誰も教えてくれない、
芸術は明らかに方針が違っていました。

当時までただ勉強するだけで、将来の事は真っ暗で見えず、
別に目的があるわけではなく、
人生に必要な選択なわけでもないため、
タイに帰ろうとしましたが、母に酷く批判されました。

当時のタイでは、海外の大学から卒業しなければ三流扱いを受けます。
そのため、私は母にオーストラリア大学に入学するようにと言われました。

ITとアニメション学部はありましたが、私が望む方針が違ってて、
人生に何もかも諦めたため、なんとか受かった工学部に入学しましたが、
将来がまだ見えず、不安で不安で、精神がかなり狂っていました。

---------------

二年間が経て、私は大事を起こして、休みで帰国した最中、
私は日本の専門学校でCGを勉強しようとしてオーストラリアに戻るのを拒否しました。

母と大喧嘩した後、
母にとって専門学校は由緒ある教育機関ではないため、
他に行きたい大学もなかったので、却下されました。
最終的にタイの私立大学の芸術部に入学しました。

---------------

タイの大学では、タイ芸術、日本オタクもの、ディスニーもの好きな教師はそれぞれ居て、
どの先生の下で勉強したいのかは自分で選べるため、精神が軽く楽になりました。

勉強は4年制度ではありましたが、コース選択のカラクリを利用し、
3年間で卒業できました。

しかし、卒業後には問題がまた現れました。

19歳から芸術を勉強し始めた私は才能の限界を感じて、
他の才能ある者とは勝負にならないと分かりました。

更に、卒業したとしても、タイのゲームとアニメ業界が非常に小さく、方針も自分とは違ったため、
就職をしようとしませんでした。

日本での進学は以前断れたため、
ゲーム開発を教えるアメリカの大学に進学しようとしましたが、
大学の名前を言ったら、由緒あるところではなかったので、母とクソ兄に叱られました。

しかし、その後はなんとか日本の大学院に留学するように話になりました。

---------------

勉強と就職が目的のため、
最初、私は東京の日本語学校に入学しようとしましたが、
環境とかの理由で母が駄目といいました。

母は基本的にゲームのことが分からない人ので、
最終的に、環境がよく、京都にある日本語学校に入りました。

そこで新たなる問題、
私はCG以外で、ゲーム開発のことはまったく分からず、
大学院にやって行けるかどうか分からない上に、
場所は東京じゃないため、就職が難しくので、
私は無理矢理に東京にある専門学校に進学しました。

大学院に進学しなかった件は今でも母が納得せず、
帰国した際は、
度々私を無意味な所に入学させようとしました。

---------------

専門学校では、プランナー、CG、プログラマーコースがありました。

CGは既に勉強して、
PGはオーストラリアの大学でやったことがあり、全くわからなかった。
ゲームデザインには自信があったため、プランナーコースに入りました。

.....................人生最大の過ちでした........................

PL授業を全体的に担当していたモグラ教師野郎は
基本的に現場の人間で、実績もそれなりにできした........が、
教育をなんとかできる人物ではありませんでした。

2年間の4学期間のうち、後半はまったく無意味でした。

一方、PLコースでも多少のPG授業がありました。
.........驚くことに自分は上位のほうであって、
オーストラリアでの教育が間違っていたことが分かりました。






4学期目には学科長先生に会いに行って、
無理矢理にPG組みに編入を頼みました。

.........PG組みの先生の教えはかなり素晴らしく、
先にに入ればよかったですが、
中途半端なPG知識で卒業しました。

---------------

在学中、池袋にあったゲーム会社に内定を取りました。

マンションの賃貸は長期的に大きな消費になるため、
事務所か歩き30分、
一部屋マンションを買いました。

当時は既に26歳でしたが、ようやく初めてプロのゲーム開発仕事に関われました.....が、
スタチオが閉鎖して、お台場にある事務所に移されました。
.........通勤時間は往復4時間ぐらいでした。

仕事はしていて4ヶ月、寝不足で精神が狂っていて、
健康診断もかなり黒く、
同僚の方々にも色々大変な失礼をしていました.........
プロジェクトが完成もしていないのに、健康と精神安静のため帰国しました。

........元同僚の皆様、申し訳ございませんでした.........

---------------

帰国して、Unityを勉強し始めました。

.....簡潔にいうと、2年間ぐらい失敗をしました.......

最初は小さなゲームを作ろうとしましたが、
プロトタイプの段階で面白くなく、何プロジェクトも開発中止になりました。

幸いと言っていいだろうが、テクデモ的なものを作ることができました。

ある企業に提示したら、ゲーム開発部を開設することになりました
..................が、

1年間ぐらい話ばかりになって、
企画が通ったが、予算が通れなかったとか、
歴史関連で国のお偉い方にストップされたとか、
仕事が全部無駄になって辞めました。

---------------

投資家を1年間口説くぐらいなら、自分でなんとかしたほうがいいと思って、

今はもう1年間ぐらいアクションゲームを開発し、
コードだけなら半分ぐらいが完成しました。

















Wednesday, June 18, 2014

Unity, SphereCast VS MeshCollider Performance test results





There are 5 Test Objects against 100Boxes with Colliders












Each one will do either SphereCasts or AutoGenerate MeshCollider everyFrame.


Test1
Each Test Object do SphereCast once per frame,













 


Result, Extra Calculation only got made when SphereCast Hit Objects.

Test2
Each Test Object do GenerateMeshCollider Every Frame
**During Actual GamePlay, will only be on during Attack**
























Result, will do Calculation regardless of whether Object got hit or not.



Test3 do SphereCast 10 times each Frame




 


 Test4 Generate MeshCollider 10 times each Frame

 


 








 From an Extra test, Generated Mesh is independent of Render Mesh.





Overall Results

For SphereCast, significance performance Cost will occur only when Casting hit any Collider.

For MeshCollider, Performance is constant regardless of whether Collision occur or not.

Advantages

SphereCast - No need to setup RigidBody and Collider on Weapon Object.

MeshCollier - Can make precise Hit Detection even when done only once per frame

Disadvantages



SphereCast - Need to do multipleCast, depending on circumstances.


MeshCollier - Can make precise Hit Detection even only once per frame
Hypothesis

During Actual Gameplay,
 
Even though MeshCollider have performance issue even when not hitting anything,
it will get call only when MeleeAttack  is On.

Also, Under some Circumstances, SphereCast need to be calculated multiple times to get good coverage.
While, MeshCollider only need to be call once to perform a perfect coverage.

Performance-wise, MeshCollider is an overall-winner.

For the Setup,
As long as WeaponPosition can be obtain, Vertices Positions can be calculated from Character Transform.
However, because base GameObject need its own Collider and RigidBody for other purpose,
Components for Hit Detection need to be put in Other Object.
And because OnTrigger() can only be call on the Object with Collider.
This also result in the need to do data referencing across multiple Objects.

Structure-wise, SphereCast is better to setup.

Conclusion

Generate MeshCollider is a Winner for this purpose.
However, it would be better if there is a way to see whether a referenced object make any collision or not.