ゲームづくりで短期間でフロンドエンドのスキルアップ

37
ゲーム作りで、短期間でスキルを身につけて楽しむ! 2014/9/8 【フロントエンドって?】

description

9/8に講演した際に使用したスライドです。

Transcript of ゲームづくりで短期間でフロンドエンドのスキルアップ

Page 1: ゲームづくりで短期間でフロンドエンドのスキルアップ

ゲーム作りで、短期間でスキルを身につけて楽しむ!

2014/9/8 【フロントエンドって?】

Page 2: ゲームづくりで短期間でフロンドエンドのスキルアップ

自己紹介

小菅達矢(こすげたつや)【twitter】@keinkosuge

【facebook】https://www.facebook.com/tatsuya.kosuge

■なうデジタルハリウッドSTUDIO渋谷・スタッフトレーナー2年弱くらい■いままで音楽やってた→コールセンターのSV→デジハリ(いまここ)→??

Page 3: ゲームづくりで短期間でフロンドエンドのスキルアップ

JavaScriptに興味をもったきっかけ

http://shigi.net/shigimovie/

年末年始くらいにこれ作った。

Page 4: ゲームづくりで短期間でフロンドエンドのスキルアップ

問題が山積みだった前述のサイト

・Windows Vista以前でまともに動かなかった。(重すぎて)

当時の僕のスペック

・jQueryはなんとなくわかっていたつもり。・プラグインも使えた。

Page 5: ゲームづくりで短期間でフロンドエンドのスキルアップ

ちゃんとJavaScriptを理解したいなぁ…

Page 6: ゲームづくりで短期間でフロンドエンドのスキルアップ

スペックあげたのは今年

「ジョブドラ!」でJavaScriptを基礎から必死に勉強。(5月末〜7月頭、約1ヶ月半)

その時の師が、山崎先生。

Page 7: ゲームづくりで短期間でフロンドエンドのスキルアップ

ジョブドラでやったこと

・JavaScript基礎・jQuery基礎・Ajax

・Canvas / localStorage

・Geolocation

※毎週、最低20時間はかかる課題付き・・・

Page 8: ゲームづくりで短期間でフロンドエンドのスキルアップ

難しそう…

でも、頑張ってみた

Page 9: ゲームづくりで短期間でフロンドエンドのスキルアップ

作ってみた作品(http://jsdo.it/castero)

JavaScript Siri シューティングゲーム

JavaScript Numeron

※数当てゲームCSS PK

インスタントラーメングラム

Page 10: ゲームづくりで短期間でフロンドエンドのスキルアップ

脱・ビギナーならこれ!

Page 11: ゲームづくりで短期間でフロンドエンドのスキルアップ

アルゴリズムを始めよう

Page 12: ゲームづくりで短期間でフロンドエンドのスキルアップ

アルゴリズムって?

・料理でいう「レシピ」・電子機器でいう「取り扱い説明書」

目的を達成したり、課題を達成したりするための処理手順のこと。

プログラミングにおける「設計書」みたいなもの。

Page 13: ゲームづくりで短期間でフロンドエンドのスキルアップ

(例図)友達とじゃんけんして・買ったら100円もらえる。・負けたら100円あげる。というゲーム。

プログラムでは無理でも図や言葉でかけと言われたらおそらく多くの方が右記のようにかけるのでは?

自分の手を決めて出す(グー・チョキ・パー)

勝ち負け判定

あいこ

勝ち 負け

100円あげる

100円もらう

Page 14: ゲームづくりで短期間でフロンドエンドのスキルアップ

This is アルゴリズム!!!図でまずは書いてみる!

Page 15: ゲームづくりで短期間でフロンドエンドのスキルアップ

ゲームは、アルゴリズムの宝石箱

・目的地、ゴールがイメージしやすい。(ルールがわかればいいので)(結構アルゴリズムの使い回しで色々できる)

Page 16: ゲームづくりで短期間でフロンドエンドのスキルアップ

あと立てた方針は2つ

①ライブラリ使わない(※僕はjQueryも使わなかった)

※ライブラリ→enchant.js等、便利にjavascriptを使えるパッケージ。

②「何かを再現したもの」とか「既存のゲーム」を作る。

ゲームなら、出来たものを実際にやってみると、楽しめる!

Page 17: ゲームづくりで短期間でフロンドエンドのスキルアップ

仕組み(レシピ)を自分で作っているのでつまづいて調べた時に得られる知識は、より本質に近いもの!(料理なら、野菜を炒める順番・野菜による切り方の違い等)

難しいものや、規模の大きなものを作るときも太刀打ちできるようになる!

Page 18: ゲームづくりで短期間でフロンドエンドのスキルアップ

ライブラリ使わなかった理由

■プラグイン・つまづきあるある

プラグイン使う

→ チュートリアル通りにやった

→ 思い通りにならない

→「何を直したらいいかわからな

い・・・」

→ JavaScriptなんて嫌いだー!

プログラムの

仕組み・構造・本質

の理解不足

Page 19: ゲームづくりで短期間でフロンドエンドのスキルアップ

クックパッドを見ないで料理を作る(自作レシピを考え作る)

まずかったら、おいしく作るために色々調べる

ライブラリなしでプログラムを書く(自分で仕組みを作る)

動かなかったら、解決の為に色々調べる

Page 20: ゲームづくりで短期間でフロンドエンドのスキルアップ

②「何かを再現したもの」「既存のゲーム」を作った理由

手順や完成の状態(ゲームのルール、どうなったらゲームとして成立するか?)がわかっている。

Page 21: ゲームづくりで短期間でフロンドエンドのスキルアップ

アルゴリズムをプログラムで書くスキルを高めることに集中できる!

Page 22: ゲームづくりで短期間でフロンドエンドのスキルアップ

とにかくやってみよう!

まずはゲーム(やりたいこと)の仕組み(アルゴリズム)を図で書く!

その後、仕組みをプログラム化!

Page 23: ゲームづくりで短期間でフロンドエンドのスキルアップ

実例で解説

「じゃんけんまんフィーバー」を再現http://jsdo.it/castero/ijFZ/fullscreen

Page 24: ゲームづくりで短期間でフロンドエンドのスキルアップ

ゲームのルール(ロジック)

スタートボタン

グー

チョキ

パー

勝ち負け判定

勝ち

あいこ

負け 「ずこーっ」

※メダル1枚減る

※機械の真ん中が

ランダムに表示※どれか押した

ら機械の真ん中

止まる!

ルーレットスタート

メダルゲット!

※止まった箇所の数字の

枚数分

Page 25: ゲームづくりで短期間でフロンドエンドのスキルアップ

作り続けて気づいたこと

・図にして、部分部分でプログラムを作っていくと、結構わかりやすいし、意外と大きな規模のものも出来る。

Page 26: ゲームづくりで短期間でフロンドエンドのスキルアップ

こんな感じ

スタートボタン

※メダル1枚減る

※機械の真ん中が

ランダムに表示

グー

チョキ

パー

※どれか押した

ら機械の真ん中

止まる!

①スタートボタン押した時

②グーチョキパー

どれかを押した時

③勝ち負け判定

勝ち負け判定

④判定後の動き

勝ち

あいこ

負け

Page 27: ゲームづくりで短期間でフロンドエンドのスキルアップ

例えば①

スタートボタンを押した時に↓

・メダルが1枚分減る。(※①)

・真ん中のところがランダム表示される。(※②)

・メッセージボードの文字が「じゃんけん」に変わる。(※③)

※③ ※

※②

Page 28: ゲームづくりで短期間でフロンドエンドのスキルアップ

スタートボタンを押す

メダルが1枚減る

真ん中のじゃんけん画像が常にランダムで変わる

メッセージ内のテキストが「じゃんけん」になる

①を図にしたら…

細分化したら、「なんかできそう」

と思える!

※スタートボタンを押すという

「イベント」が起きたら発生す

る処理!

Page 29: ゲームづくりで短期間でフロンドエンドのスキルアップ

グー・チョキ・パーのどれかを押す

メダルが1枚減る

メッセージ内のテキストが「グー・チョキ・パーのどれか」になる

②を図にしたら…

細分化したら、「なんかで

きそう」と思える!

真ん中のランダム表示が止まる

※グーチョキパーのどれかを押すという「イベント」が起きたら発生する処理!

Page 30: ゲームづくりで短期間でフロンドエンドのスキルアップ

③を図にしたら…

細分化したら、「なんかでき

そう」と思える!

勝ち負け判定

メッセージ内テキストが

「勝ち」になる

メッセージ内テキストが「負け」になる

あいこ

勝ち

負け

※①図に戻る。もう1回じゃんけん!

Page 31: ゲームづくりで短期間でフロンドエンドのスキルアップ

タグ辞典見れば出てくることは、やってればそのうち覚えます!!

Page 32: ゲームづくりで短期間でフロンドエンドのスキルアップ

ゲーム&アプリを作ってみよう!絶対覚える!

例えば

・自分の誕生日から10,000日後がいつなのかを表示してくれるゲーム。・ボタンを押したらその日の運勢(大吉とか)がアラート表示されるゲーム

こんな感じのものでOK。難易度は問いません。とにかく「作る」こと!!!

Page 33: ゲームづくりで短期間でフロンドエンドのスキルアップ

ちなみに僕が「現在」スキルアップのために取り組んでいること

①週1回、プログラミング作品を「js do it」に投稿し公開中。(ものすごく大変だけど鍛えられる…)

http://jsdo.it/castero

Page 34: ゲームづくりで短期間でフロンドエンドのスキルアップ

②ピクセルグリッド社(http://www.pxgrid.com/)の

有料メール&Webマガジンを購読し、内容を学習、会得している。

【WebマガジンのURL】https://app.codegrid.net/

※「Code Grid」というサービス名です。

Page 35: ゲームづくりで短期間でフロンドエンドのスキルアップ

オススメ書籍

「JavaScript」本格入門-山田祥寛著 -

技術評論社

マンガでわかるJavaScript

-クロノスクラウン著 -

秀和システム社

Page 36: ゲームづくりで短期間でフロンドエンドのスキルアップ

最後に、「現在」のオススメ本

【jQueryレッスンブック】

山崎大助 著

http://www.socym.co.jp/book/947

9/19(金)発売!!

※今日登壇したメンバーを育てた山崎先生の

エッセンスがふんだんに詰まっています!

Page 37: ゲームづくりで短期間でフロンドエンドのスキルアップ

ありがとうございました。