がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

学習の目的とか基本的な準備とか

いやまぁちょっと「ネットで勉強会的な事」をやる準備を進めているので、その辺の告知事項を。
普通に内部でcloseしてもいいかなぁと思ったのですが、まかり間違ってなんか「役に立つ」状況でもあればなぁ、と思ったので、方針だけくらいは、openなここで。


学習内容としては
・cocos2d-x 3系 + PHPで「通信を含むゲーム」の作成
となります。
また、上述に伴って
C++の基本的な知識( C++11 )
PHPを含む、いわゆるLAMP系の基本的な知識
ゲームデザインの基本的な知識
を合わせて学習出来る事を想定しています。


ちなみに。
cocosなのは「ある程度人気がある」から & おいちゃんがC++が楽だから。
3系なのは「せっかく学習だもの」ってことで。実務ではまだ怖いのですが、学習なら面白いと思うの。
PHPなのは色々しがらみが(笑)。いやまぁ実際、PHPの案件多いので。作りやすいし。


で、ぶっちゃけると眼目は
・通信の仕様が切れる事
を基点とした「通信系ゲームの設計と実装に習熟すること」。
通信が絡む系において
・どの処理をサーバで行って
・どの処理をクライアントで行って
・通信のクラックをどう考えて
・通信の高圧をどう考えるか
ってのは、限りなく重要スキルでございます。
http://d.hatena.ne.jp/gallu/20140625/p2 あたり参照。


身もふたもなくぶっちゃけますと。
「フロント側でゲームが作れる」人の場合、一定確率で
・そも、通信の設計がマトモに出来ない
・クラックし放題な設計と実装。…セキュアコーディングって、知ってます?
・サーバ側の実装が壊滅状態:含むDB設計
・サーバ側の開発方法とかも壊滅状態なので、効率が激悪い
など、色々と壊滅いたします。


ただ一方でじゃぁ「業務系のLAMPやってる人間」をかませると
・ゲームの事がわからないから頓狂なクラス設計で後々困るっていうかまず「何を作ったら良いのか」理解が出来ない
・フロントとコミュニケーションがうまくとれない
・高圧なアクセスに対する考え方が甘い
など、それなりに問題も山積みだったりします。


で、どっちも中途半端にできると、次に出てくるのが
・処理をどっちに振り分けるか
の判断が甘いケース。「明らかにクライアントで」「明らかにサーバで」ってのはよいのですが、微妙な処理の場合「どちらにするか」ってのは、よっぽど考えて寄せていかないと、割とヒドイ目に会えます。


あと。
まぁフロントでは皆無…な、はず、なのですが。
・ゲームの基本的な用語がわかる
・多岐にわたるゲーム経験があり、ちゃんと冷静に分析とか出来る
・乱数とか基本的な論理思考とかそのた諸々「1ユーザとして」ではなくて「作成者として」のゲーム感がある
ってのは、割と大事ですな。
「クリティカルってなに?」とか「ゲーム経済ってなに?」とか「1-20の乱数と2d10の乱数の分布の違いがわからない」とか「論理思考は苦手です」とか、なんの冗談だ? とか思う正直。
いやまぁ「ゲームデザイナ」とかいう職分でもない限り、「ゲーム初めてです」とかって人なら、丁寧に説明しますがね。


なのでつまり。
最終的にどこにいくのか、ってのはお好みであるにしても
・ゲームが解って
・フロントが解って
・サーバが解る
ってのは、割と「欲しい守備範囲」だと思われるんですね。


上述があるので。
とりあえず「一通り全部やってみようよ」な勉強会をやろうかなぁ、と。


参加者は、おいちゃんとこのredmineに入り込んで、自己紹介からstartしてください。
また、基本的にgithubアカウント必須で。
そこでソースコードのチェックとかしますんで。


一端、申し訳ないのですが「おいちゃんと直接連絡可能なルートをすでに形成出来ている」方、対象で。
余裕が出てきたら、一般募集かけるかもしらんです。