02.プログラマー 説明会 in 九州 2015

119
1 ププププププ PROGRAMMER

Upload: -cyberconnect2-co-ltd

Post on 08-Aug-2015

423 views

Category:

Entertainment & Humor


3 download

TRANSCRIPT

Page 1: 02.プログラマー 説明会 IN 九州 2015

1

プログラマーPROGRAMMER

Page 2: 02.プログラマー 説明会 IN 九州 2015

2

PROGRAMMER

● 入社: 2009 年  ●福岡本社勤務

プログラマー 西山 慶

開発タイトル 「NARUTO―ナルト― 疾風伝 ナルティメットストーム2」「NARUTO―ナルト― 疾風伝 ナルティメットストーム3」 

現在は新規未発表プロジェクトにてタイトルを開発中

株式会社サイバーコネクトツー

Page 3: 02.プログラマー 説明会 IN 九州 2015

3

アジェンダ

1.西山の学生時代“落ちこぼれ”からの巻き返し

2. “ 受かる人”と”受からない人”の差とは

3.まとめ

4.番外編:エンジンを触ってほしい!

5.書籍紹介

Page 4: 02.プログラマー 説明会 IN 九州 2015

西山の学生時代“落ちこぼれ”からの巻き返し

4

Page 5: 02.プログラマー 説明会 IN 九州 2015

5

西山の学生時代

最初に私の学生の頃の話をしたいと思います。

その前に。・・・・・・

Page 6: 02.プログラマー 説明会 IN 九州 2015

6

西山の学生時代

この学生の頃の話で私が伝えたい事は

“ 確実なステップアップ”という点を覚えていてください。

Page 7: 02.プログラマー 説明会 IN 九州 2015

7

西山の学生時代

私の学校は3年制の専門学校でして、そのうち2年間は学校に、3年生にあがってからは

CC2 のインターンに行っていました。

ですので、学校にいた2年間の事を中心に話していきます。

Page 8: 02.プログラマー 説明会 IN 九州 2015

学生 3 年間の私 その1

8

西山の学生時代

○ 1年生の前期~後期中盤まで落ちこぼれ、 後期の終盤から巻き返しを図る

○ 1年生の終盤~2年生の頭で2Dの 簡単なゲームを制作

○ 2年生の間に 2D と 3D の シューティングをそれぞれ制作

Page 9: 02.プログラマー 説明会 IN 九州 2015

学生 3 年間の私 その2

9

西山の学生時代

○ 2年生中に 3D のシューティングを制作、 卒業・進級制作展にて展示

○ 卒業・進級制作展で当時 CC2 のプログラマーの マネージャーの方から声がかかる

○ 3年生にあがる頃には CC2 のインターンである プログラムマスターコースに入っていた

Page 10: 02.プログラマー 説明会 IN 九州 2015

10

西山の学生時代

私は学生時代の1年生時はいわゆる

“ 落ちこぼれ”でした。

Page 11: 02.プログラマー 説明会 IN 九州 2015

11

西山の学生時代

1 年時の私 成績とやる気のグラフ

4 月 1 月末9 月 10月

11 月頭

12月

7 月

Page 12: 02.プログラマー 説明会 IN 九州 2015

12

西山の学生時代

1 年時の私

C言語を学習し、難なくこなしていく

成績上位

ポインタの学習に入る

ポインタで躓く

双方向リストで脳内が停止

4 月 7 月 9 月 10月

10 月末

Page 13: 02.プログラマー 説明会 IN 九州 2015

13

西山の学生時代

1 年時の私

勉強をしなくなる

成績が下から数えた方が早い位置に落ちる この状態が

3 ヵ月続く

11 月頭

1 月末12 月

Page 14: 02.プログラマー 説明会 IN 九州 2015

14

西山の学生時代

見ての通りひどい有様です。

Page 15: 02.プログラマー 説明会 IN 九州 2015

15

西山の学生時代

もうすぐ2年生にあがろうとする頃「このままではいかん!!」

と奮起し、巻き返しを図ろうとします。

躓いていたポインタは最初から勉強しなおし、先生や友人に教えてもらったりしながら、

なんとか理解し乗り越えました。

Page 16: 02.プログラマー 説明会 IN 九州 2015

16

西山の学生時代

が。・・・・・・

Page 17: 02.プログラマー 説明会 IN 九州 2015

17

西山の学生時代

すでに時期は1年生終盤。

私はC言語を理解出来たくらいの状態

 です。

かたや、同じクラスの周りのみんなは2Dのゲームを作り始めていました。

Page 18: 02.プログラマー 説明会 IN 九州 2015

18

西山の学生時代

そんな状態の私がまずしたこと

“ 次に進むにはどうすればいいか”

を考えました。

Page 19: 02.プログラマー 説明会 IN 九州 2015

考えた結果

19

西山の学生時代

○ C言語を1からやり直し、基礎をしっかりと固める。○ 2Dゲームを作るための勉強を始める。○ 2年生にあがるまでに、 なんでもいいから1つ2Dのゲームを作る。

上記のことをすれば、確実に次に進めるのではないか、と思いました。

Page 20: 02.プログラマー 説明会 IN 九州 2015

考えた結果

20

西山の学生時代

○ C言語を1からやり直し、基礎をしっかりと固める

>2Dのゲームを作る際に、>C言語の部分で躓かないようにするための基礎固め。

>復習することでより理解を深める。

Page 21: 02.プログラマー 説明会 IN 九州 2015

考えた結果

21

西山の学生時代

○ 2Dゲームを作るための勉強を始める。

>2Dゲームを作るための基礎部分。>画像の表示方法から、入力や音を出すための仕組みなど。

>1つずつ丁寧に勉強。

Page 22: 02.プログラマー 説明会 IN 九州 2015

考えた結果

22

西山の学生時代

○ 2年生にあがるまでに、 なんでもいいから1つ2Dのゲームを作る。

>なんでもいいから完成させることを目標に。>今の知識の量では、いきなり大きなものはすぐには作れない。>作れないものを作るよりは、完成品を目指す。>この時は、簡単な落ちものゲームを目標にしました。

Page 23: 02.プログラマー 説明会 IN 九州 2015

23

西山の学生時代

1 年生時の遅れがあるため、悠長にしていられない状況ではありました。

ですが、スピードを重視して学んだことが疎かになるよりはいいと思い、

1つずつ丁寧に進める事にしました。

Page 24: 02.プログラマー 説明会 IN 九州 2015

24

西山の学生時代

3つに重点を絞って進めていった結果、2年生にあがるまでには各項目を無事達成する事ができました。

この時、私は思いました。

Page 25: 02.プログラマー 説明会 IN 九州 2015

25

西山の学生時代

“ このやり方はすごくいい”

“項目を分け、重点的に学ぶ事は確実に前に進める”

Page 26: 02.プログラマー 説明会 IN 九州 2015

26

西山の学生時代

無事2Dのゲームを作ることができ、2年生にあがった私ですが、

クラスのみんなとは差がついたままでした。

Page 27: 02.プログラマー 説明会 IN 九州 2015

27

西山の学生時代

また、私の学校では2年生からC++言語と3Dの勉強が始まるのですが、

3Dの授業は一定以上の成績でないと受講ができない、という制度がありました。

私は成績が足りず、3Dの授業は受講ができずにいました。

Page 28: 02.プログラマー 説明会 IN 九州 2015

28

西山の学生時代

この時の私は「クラスのみんなとの差を埋めたい、

むしろみんなよりも前に進んでやろう」と思っていました。

それと、単純に3Dの授業が

受講できない事が悔しかったのです。

Page 29: 02.プログラマー 説明会 IN 九州 2015

29

西山の学生時代

というわけで、 1 年生の時と同様に、

“ どうすればいいか”

をまた考えました。

Page 30: 02.プログラマー 説明会 IN 九州 2015

考えた結果

30

西山の学生時代

○C++ 言語を覚える。○C++ 言語を使った2Dのゲームを作る。○ 作ったゲームで3Dの授業を受講できるようにする。

今度は、この項目に要点を絞りました。

Page 31: 02.プログラマー 説明会 IN 九州 2015

考えた結果

31

西山の学生時代

○C++ 言語を覚える。

> C++ 言語をいち早く覚えてみんなより先に進む!>それでも疎かにしてはいけないので、早く丁寧に。

Page 32: 02.プログラマー 説明会 IN 九州 2015

考えた結果

32

西山の学生時代

○C++ 言語を使った2Dのゲームを作る。

>C++言語に慣れるためにゲームを1つ作る。>1年生の頃に作ったのは簡単な落ちものゲームだったので、>ゲームのプログラミングの基礎も前に進めたい。>ある程度要素が複合しているシューティングゲームを選択。

Page 33: 02.プログラマー 説明会 IN 九州 2015

考えた結果

33

西山の学生時代

○ 作ったゲームで3Dの授業を受講できるようにする。

>悔しかったので>C++を使った2Dのゲームを作って3Dの授業を>受講できるように先生に頼み込んでみようとしました。

Page 34: 02.プログラマー 説明会 IN 九州 2015

34

西山の学生時代

今回は少し大きめなステップアップを図ったため、

少し時間がかかったのですが、クラスのみんなより一歩手前くらいの所までは

追いつく事ができました。

C++言語に関しては私が一番最初に覚え、友人に教えて

などしていたりしました。

Page 35: 02.プログラマー 説明会 IN 九州 2015

35

西山の学生時代

そして、悔しかった本命の3Dの授業ですが、

作った作品を先生に見せたところ、

「よくもまぁここまで巻き返したな」

と、無事3Dの授業の受講の許可をもらいました。

Page 36: 02.プログラマー 説明会 IN 九州 2015

36

西山の学生時代

以降、 3D の勉強が始まるのですが、内容はそれぞれ 3D の勉強だったりと違います

が、勉強の仕方は一緒で、

“ 次に進むためにどうすればいいか考え”“項目を洗い出しその要点を勉強する”

という流れは変わりません。

Page 37: 02.プログラマー 説明会 IN 九州 2015

37

西山の学生時代

以降は冒頭にも書きましたが、” 確実なステップアップ”をしつつ、

3D のシューティングを制作しました。

その作品を卒業・進級制作展に出展。当時の CC2 のプログラマーマネージャーの方

に声をかけて頂き、インターンを開始。

そのまま CC2への入社、現在の私に至ります。

Page 38: 02.プログラマー 説明会 IN 九州 2015

38

西山の学生時代

次に進むためにどうすればいいか考え、項目を洗い出しその要点を勉強する

“ 確実なステップアップ”

これで私は前に進むことができ、落ちこぼれから脱却をすることができました。

Page 39: 02.プログラマー 説明会 IN 九州 2015

39

西山の学生時代

応募した履歴書と、卒業・進級制作展に出展した作品を

一部紹介します。

Page 40: 02.プログラマー 説明会 IN 九州 2015

40

西山の学生時代

Page 41: 02.プログラマー 説明会 IN 九州 2015

41

西山の学生時代

ここで作品。

Page 42: 02.プログラマー 説明会 IN 九州 2015

“ 受かる人” と”受からない人” の差とは

42

Page 43: 02.プログラマー 説明会 IN 九州 2015

43

受かる人と受からない人の差

“ 受かる人”と”受からない人”

の差とは何でしょうか?

Page 44: 02.プログラマー 説明会 IN 九州 2015

44

受かる人と受からない人の差

すごいコードが書ける!

書いたコードの量が凄まじい!

知識の量!

頭がいい!

Page 45: 02.プログラマー 説明会 IN 九州 2015

45

受かる人と受からない人の差

すごいコードが書ける!

書いたコードの量が凄まじい!

知識の量!

頭がいい!

Page 46: 02.プログラマー 説明会 IN 九州 2015

46

受かる人と受からない人の差

“ 勉強の仕方を知っている”

ということ。

Page 47: 02.プログラマー 説明会 IN 九州 2015

47

受かる人と受からない人の差

勉強の仕方を知っているとは

“目標があり、その目標を達成する手段を知っている”

Page 48: 02.プログラマー 説明会 IN 九州 2015

48

受かる人と受からない人の差

“ 目標があり、その目標を達成する手段を知っている”

とは、つまりどういうことなのか。

具体的に見ていきましょう。

Page 49: 02.プログラマー 説明会 IN 九州 2015

49

受かる人と受からない人の差

A さんと B さんは同じ時期に同じ専門学校に入り、ゲーム作りの勉強を始めました。

A

B

面白いゲームをつくるぞー!

いっぱいゲームつくるぞー!

A さんと B さんの例

Page 50: 02.プログラマー 説明会 IN 九州 2015

50

受かる人と受からない人の差

最初は言語を覚える所から始まります。 C++ 言語は二人とも難なく覚える事が出来ました。

A

B

Class の使い方を覚えた!継承の使い方を覚えた!

テンプレートの使い方を覚えた!operator を覚えた!

A さんと B さんの例

Page 51: 02.プログラマー 説明会 IN 九州 2015

51

受かる人と受からない人の差

言語を覚えた二人は、学校の先生から 2D ゲーム制作のお題をもらいました。

A

B

いよいよゲーム作りだ!

面白くするぞ!

A さんと B さんの例

Page 52: 02.プログラマー 説明会 IN 九州 2015

52

受かる人と受からない人の差

【受かる人(Aさん)と受からない人の(Bさん)】

A さんは最初、いくつかの目標を立てました。

A最初は画像を表示してみよう。

表示できたらその画像を動かしてみて、回転や拡縮もやってみよう。

それができたら今度はベクトルの計算をやってみて 。・・・・・・

A さんの場合

Page 53: 02.プログラマー 説明会 IN 九州 2015

53

受かる人と受からない人の差

B さんはとりあえずやってみることにしました。

B

2D とか画像表示できたらそれで OK でしょ!

がんがん作るぜ!!

B さんの場合

Page 54: 02.プログラマー 説明会 IN 九州 2015

54

受かる人と受からない人の差

【受かる人(Aさん)と受からない人の(Bさん)】

A さんは順調に立てた目標をこなして進んでいきます。

A

画像の表示、回転と拡縮ができた!ベクトルの計算もできた!

そしたら次は衝突判定をやってみよう。まずは円と円、次に円と四角を 。・・・・・・

A さんの場合

Page 55: 02.プログラマー 説明会 IN 九州 2015

55

受かる人と受からない人の差

B さんは分からない部分はあるのですが、とにかく前進。

B

画像がずれて表示されるけど、まぁいっか。表示はできてるし。

ベクトル?うーんよく分からないけど動いてるし大丈夫でしょ。

B さんの場合

Page 56: 02.プログラマー 説明会 IN 九州 2015

56

受かる人と受からない人の差

二人とも完成です。

A

B

うまくいかない所はあったけど、そこは次で挑戦だ!

完成!

完成!!神ゲーできたぜー!!

A さんと B さんの例

Page 57: 02.プログラマー 説明会 IN 九州 2015

57

受かる人と受からない人の差

次に 2 人は学校の先生から 3D のゲーム制作のお題をもらいました。

A

B

次は 3D だ。大変そうだけどやりがいがありそうだ。

3D だ!2D に軸がひとつ増えただけでしょ!

簡単簡単!

A さんと B さんの例

Page 58: 02.プログラマー 説明会 IN 九州 2015

58

受かる人と受からない人の差

【受かる人(Aさん)と受からない人の(Bさん)】

A さんは 2D ゲームの時と同様、いくつか目標を立てました。

Aまずは三角形のポリゴンを

表示してみよう。色も指定できるようにしてみよう。

そしたらそのポリゴンを動かしてみよう。

そのためには行列が必要で 。・・・・・・

A さんの場合

Page 59: 02.プログラマー 説明会 IN 九州 2015

59

受かる人と受からない人の差

B さんはとにかくやってみることにしました。

B

2D ゲーム時と同じでうまくいくだろう!

B さんの場合

Page 60: 02.プログラマー 説明会 IN 九州 2015

60

受かる人と受からない人の差

A さんは一つずつ順調に進めていきます。

A ポリゴンの表示もできて、色の指定もできた。

ポリゴンを動かすのも行列でやってみた。

行列は概念がまだぼんやりとしてるから、深い理解を後からちゃんとしないと。

よし、じゃあ次はカメラを動かしてみて 。・・・・・・

A さんの場合

Page 61: 02.プログラマー 説明会 IN 九州 2015

61

受かる人と受からない人の差

B さんは分からない事だらけですが、とにかく前進。

B

行列? ベクトル?

良く分からないけどポリゴン表示させたし動いてるし

OKOK 。

結構簡単じゃん!

B さんの場合

Page 62: 02.プログラマー 説明会 IN 九州 2015

62

受かる人と受からない人の差

難しく、理解しがたい部分がありつつも、一つ一つ紐解いて、しっかりとすすめる A さん。

A

カメラはできたけど、まだ行列がきちんと理解しきれてないな。

空間っていう概念が理解出来てないな。

行列にはベクトルが入っていて 。・・・・・・

A さんの場合

Page 63: 02.プログラマー 説明会 IN 九州 2015

63

受かる人と受からない人の差

とにかくいろいろ試してみる B さん。

B

ポリゴンの回転ってどうやればいいの ?・・・・・・

平行移動と回転って両方やるにはどうしたら 。・・・・・・

とりあえず頂点に値足してみて 。・・・・・・

B さんの場合

Page 64: 02.プログラマー 説明会 IN 九州 2015

64

受かる人と受からない人の差

A さんは一つずつ目標をこなして無事 3D のゲームが完成しました。

A

よし、完成!難しいけど楽しかった!

まだうまくできてない部分があるからそこを次回は直そう!

A さんの場合

Page 65: 02.プログラマー 説明会 IN 九州 2015

65

受かる人と受からない人の差

B さんは 。・・・・・・

B

ZZZ zzz ......

B さんの場合

Page 66: 02.プログラマー 説明会 IN 九州 2015

66

受かる人と受からない人の差

A さんと B さんのこの差はなんでしょうか?

Page 67: 02.プログラマー 説明会 IN 九州 2015

“ 受かる人”こと A さんの場合

67

受かる人と受からない人の差

 目標が定まっている

 一つ一つ順序を考えて勉強

 基本を疎かにしない

 何をすれば先に進めるか理解できている

 

A

Page 68: 02.プログラマー 説明会 IN 九州 2015

“ 受からない人”こと B さんの場合

68

受かる人と受からない人の差

 目標はあるがあいまい

 深く考えずとにかく進める

 基本を無視

 何が分からないのが分かっていない

 

B

......

Page 69: 02.プログラマー 説明会 IN 九州 2015

69

受かる人と受からない人の差

A さんはまさに理想的な姿です。素晴らしい。

では、その A さんのようになるには?

次からその根本的な部分に触れていきます。

Page 70: 02.プログラマー 説明会 IN 九州 2015

70

受かる人と受からない人の差

 ゲームのプログラミングには 段階がある

 自分を分析をしよう

 目的を分解していこう

Page 71: 02.プログラマー 説明会 IN 九州 2015

71

受かる人と受からない人の差

ゲームのプログラミングには段階がある

Page 72: 02.プログラマー 説明会 IN 九州 2015

72

受かる人と受からない人の差

ゲームのプログラミングには、大きく 3 つの段階があります。

ではその段階とは?

ゲームのプログラミングには段階がある

Page 73: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

73

受かる人と受からない人の差

①C 言語や C++ 言語、その他言語の 「言語を覚える」

②数学や描画ライブラリなどの 「ゲーム表現のための基礎」

③おもてなしやさわり心地などの 「ゲーム表現そのもの」

Page 74: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

74

受かる人と受からない人の差

①C 言語や C++ 言語、その他言語の 「言語を覚える」

> C 、 C++ 、 C# 、 Java 、 Basic 、 PHP 、 Python>数ある言語の仕様や扱い方。

>”言語そのものを覚える”

Page 75: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

75

受かる人と受からない人の差

②数学や描画ライブラリなどの 「ゲーム表現のための基礎」

> DirectX や OpenGL 、描画を行うためのライブラリや、>サウンドを扱うためのライブラリ、ベクトルや行列などの>数学的な部分、衝突判定、などなど。

>”ゲームの表現を行うための基礎”

Page 76: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

76

受かる人と受からない人の差

③おもてなしやさわり心地などの 「ゲーム表現そのもの」

>ゲーム上での気持ちよさや手触り感など、>いわゆる「おもてなし」の部分。>おもてなし以外にもゲームのロジックを考える時など。

>”ゲーム表現そのもの”

Page 77: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

77

受かる人と受からない人の差

①「言語を覚える」②「ゲーム表現のための基礎」③「ゲーム表現そのもの」

これは学生の時には気づきにくく、また誰も教えてくれない。

私がこの事に気付いたのは、会社に入ってからでした。

Page 78: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

78

受かる人と受からない人の差

①「言語を覚える」②「ゲーム表現のための基礎」③「ゲーム表現そのもの」

①の言語を覚える段階は1つ1つ丁寧に覚えていけば、さほど時間もかからずに覚えていく事ができます。

また、 1 つの言語を覚えると、他の言語を覚える時に共通している部分もあって、覚える速度も上がります。

Page 79: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

79

受かる人と受からない人の差

①「言語を覚える」②「ゲーム表現のための基礎」③「ゲーム表現そのもの」

②は一番時間がかかる上に覚える事も多く、多くの学生さんはここで挫折する人が多いです。ですが、この②がしっかりしていないと、ゲームは作る事ができません。

Page 80: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

80

受かる人と受からない人の差

①「言語を覚える」②「ゲーム表現のための基礎」③「ゲーム表現そのもの」

③は、②が出来て初めて成り立ち、行きつくまでに時間がかかります。また、③と②は常に繰り返し反復を行って、1つずつ知識を身につけていきます。

Page 81: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

81

受かる人と受からない人の差

①「言語を覚える」②「ゲーム表現のための基礎」③「ゲーム表現そのもの」

ステルスゲームで敵がプレイヤーを探す挙動を例に出すと、視界というのは内積で判断をし、これは②で行うベクトルの知識が必要になります。内積を使い、数値の判断を行い”見つける”という挙動は③の部分になります。

Page 82: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある

82

受かる人と受からない人の差

①「言語を覚える」②「ゲーム表現のための基礎」③「ゲーム表現そのもの」

この様に、③と②は連動していて、②の知識が多ければ多いほど、③で行える表現の幅が広がります。

Page 83: 02.プログラマー 説明会 IN 九州 2015

ゲームのプログラミングには段階がある まとめ

83

受かる人と受からない人の差

①C 言語や C++ 言語、その他言語の 「言語を覚える」

②数学や描画ライブラリなどの 「ゲーム表現のための基礎」

③おもてなしやさわり心地などの 「ゲーム表現そのもの」

Page 84: 02.プログラマー 説明会 IN 九州 2015

84

受かる人と受からない人の差

自分を分析しよう

Page 85: 02.プログラマー 説明会 IN 九州 2015

自分を分析しよう

85

受かる人と受からない人の差

なぜ自分を分析するのか?

それは、

自分自身の実力を把握

するためです。

Page 86: 02.プログラマー 説明会 IN 九州 2015

自分を分析しよう

86

受かる人と受からない人の差

目標を立てても、自分の実力が分からないと、何をすればいいのかが分からない。

A

Page 87: 02.プログラマー 説明会 IN 九州 2015

自分を分析しよう

87

受かる人と受からない人の差

自分の実力が分かると、目標まで”差”が分かる。

A

Page 88: 02.プログラマー 説明会 IN 九州 2015

自分を分析しよう

88

受かる人と受からない人の差

後はその”差”をどうやって埋めるか、段階を踏んでいく。

A

Page 89: 02.プログラマー 説明会 IN 九州 2015

自分を分析しよう

89

受かる人と受からない人の差

自分の実力を知らないまま、ただ先に進もうとすると

“何が分からないのかが分からない”

状態になってしまう事が多いです。

B......

Page 90: 02.プログラマー 説明会 IN 九州 2015

90

受かる人と受からない人の差

目標を分解しよう

Page 91: 02.プログラマー 説明会 IN 九州 2015

目標を分解しよう

91

受かる人と受からない人の差

目標はあるものの、どうやってその目標を達成すればいいか、手段が分からない場合もあります。

Page 92: 02.プログラマー 説明会 IN 九州 2015

目標を分解しよう

92

受かる人と受からない人の差

その時は、とにかくやってみる事も大切。

ただし、本当に何でもいいからやってしまうと、見当はずれな事をやりかねません。

なので、目標の分解を行います。

Page 93: 02.プログラマー 説明会 IN 九州 2015

目標を分解しよう

93

受かる人と受からない人の差

あなたは今から 3D のゲームを作ることになりました。しかし、 3D のゲームは今まで作った事がありません。

「どうやって作っていくのか想像できない 」・・・・・・「いまいち分からない 」・・・・・・

なら分かりそうな所から攻めてみましょう。

Page 94: 02.プログラマー 説明会 IN 九州 2015

目標を分解しよう

94

受かる人と受からない人の差

3D のゲームなので、”3D でモデルを表示させないといけない”

これくらいなら分かっています。じゃあ、まずは”表示”という部分をやってみよう!

完成A 表示

Page 95: 02.プログラマー 説明会 IN 九州 2015

目標を分解しよう

95

受かる人と受からない人の差

どうやら 3D では”頂点”というものがあり、それが 3 つ集まって”ポリゴン”というものになることが分かった。

そのポリゴンがいっぱい集まったものが”モデル ( メッシュ )” と呼ばれているらしい。

完成表示

ポリゴン

A

Page 96: 02.プログラマー 説明会 IN 九州 2015

目標を分解しよう

96

受かる人と受からない人の差

(表示のさせ方を調べて)“ 表示”ができた!

じゃあ次は表示させたポリゴンを”移動”させてみよう!移動させるためにはベクトルと行列を 。・・・・・・

完成

表示

ポリゴン A 移動

Page 97: 02.プログラマー 説明会 IN 九州 2015

97

受かる人と受からない人の差

と、いう風に。

目的を小さく分解して、次に進むための方法をやってみて、確実に進むための方法を探していく。

確実に前に進みつつ、目標を目指す。

そのために目的を分解する。

目標を分解しよう

Page 98: 02.プログラマー 説明会 IN 九州 2015

まとめ

98

Page 99: 02.プログラマー 説明会 IN 九州 2015

99

まとめ

“ 勉強の仕方を知っている”

ということ。

“ 受かる人”と”受からない人”の差

Page 100: 02.プログラマー 説明会 IN 九州 2015

100

まとめ

勉強の仕方を知っているとは

“目標があり、その目標を達成する手段を知っている”

“ 受かる人”と”受からない人”の差

Page 101: 02.プログラマー 説明会 IN 九州 2015

101

まとめ

 ゲームのプログラミングには 段階がある

 自分を分析をしよう

 目的を分解していこう

“ 受かる人”と”受からない人”の差

Page 102: 02.プログラマー 説明会 IN 九州 2015

番外編:ゲームエンジンを触ってほし

い!

102

Page 103: 02.プログラマー 説明会 IN 九州 2015

103

エンジンを触ってほしい

ある程度実力がついてきた人は、ぜひゲームエンジンを触ってください。

UnrealEngine や Unity など、現在はお手軽に触れるものがいくつもあります。

逆に、すでにエンジンを触った事がある人は、エンジンのいい所を自分で実装してみてください。

Page 104: 02.プログラマー 説明会 IN 九州 2015

ゲームエンジンを触るといいこと

104

エンジンを触ってほしい

○ ゲームを作る上で、いろんな人の考え方が詰まって おり、触るだけでも知識の幅が広がります。 例えばオブジェクトの管理方法だったりとか。

○ エンジンには、大抵エディターがついていて、 簡単にゲームを作る事が出来る半面、 その”簡単”を行うための裏側がいかに大変かを 知ることができます。

Page 105: 02.プログラマー 説明会 IN 九州 2015

ゲームエンジンを触るといいこと

105

エンジンを触ってほしい

○ ゲーム部分だけではなく、ファイルの管理や、 アセットの管理、扱い方など、基礎的な部分でも 非常に参考になります。

○ ゲームの作り方そのものの考え方が、 エンジンを触る前と後で変わり、 よりステップアップ出来ます。

Page 106: 02.プログラマー 説明会 IN 九州 2015

106

エンジンを触ってほしい

ぜひゲームエンジンを触ってください。

Page 107: 02.プログラマー 説明会 IN 九州 2015

107

エンジンを触ってほしい

ゲームエンジンでなんとなくゲームが完成しても、よほど完成度が高くなければ、

” プログラマー”として合格は出来ません。(スクリプターとしてはアリかもしれません)

ゲームが作れていても、根本的にプログラミングなどの基礎部分が出来ていないと、”プログラマー”としての

仕事が出来ないからです。

ゲームエンジンを使って作品を作る事はかまいませんが、この点だけ注意してください。

プログラマー向け注意喚起

Page 108: 02.プログラマー 説明会 IN 九州 2015

参考書籍・ WEB サイト紹介

108

Page 109: 02.プログラマー 説明会 IN 九州 2015

109

参考書籍紹介

リーダブルコードより良いコードを書くためのシンプルで実践的なテクニック

○読みやすいコードを書くための 手法が読みやすい形で載っています。 非常に有用。

著 者:ダスティン・ボズウェル  /    トレバー・フーシェ出版社:㈱オライリー・ジャパン

Page 110: 02.プログラマー 説明会 IN 九州 2015

110

参考書籍紹介

ゲームプログラマになる前に覚えておきたい技術

○C++ が書けるようになって、 いざゲームを作りたいけどどうすればいいか 分からない人にお勧めする本。 ゲームの作り方が学べます。

著 者:平山 尚 ( 株式会社セガ )出版社:㈱秀和システム

Page 111: 02.プログラマー 説明会 IN 九州 2015

111

参考書籍紹介

ゲームコーディング・コンプリート一流になるためのゲームプログラミング

○ ゲームは作れるようになったけど、 もう一歩ステップアップした人向け。 ゲーム開発に関わる非常に有用な 内容がまとめられています。

著 者:マイク・マクシャフリー出版社:㈱ソフトバンククリエイティブ

Page 112: 02.プログラマー 説明会 IN 九州 2015

112

参考 WEB サイト紹介

CEDEC Digital Library

○日本で毎年行われる CEDEC 。 その公演に使われた資料が WEB 上で 配布されています。 技術だけでなく、講演者の方の 考え方にも触れることが出来ます。

URL : http://cedil.cesa.or.jp/

Page 113: 02.プログラマー 説明会 IN 九州 2015

113

ゲームエンジン紹介

UnrealEngine4

○ 世界規模で扱われているゲームエンジン。 現在は無料で使用出来ます。 ソースコードも公開されているので、 ぜひ一度触ってみてください。

URL : https://www.unrealengine.com/

Page 114: 02.プログラマー 説明会 IN 九州 2015

最後に

114

Page 115: 02.プログラマー 説明会 IN 九州 2015

115

最後に

最後に、私から皆さんに伝えたい事は、

あきらめないでほしい

ということです。

Page 116: 02.プログラマー 説明会 IN 九州 2015

116

最後に

私の学生時代、あきらめてしまった人たち

をいっぱい見てきました。

私自身がそうなりかけていました。

Page 117: 02.プログラマー 説明会 IN 九州 2015

117

最後に

でも、今こうやって、ゲーム業界にプログラマーとしていることは、

辛い事もあるけど、すごく楽しいです。

この職につけて良かったと心の底から思っています。

Page 118: 02.プログラマー 説明会 IN 九州 2015

118

最後に

だから

あきらめないでください。

Page 119: 02.プログラマー 説明会 IN 九州 2015

119

最後に

今回の講義の内容が、少しでも皆さんのお力になれば幸いです。

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