パスワードを忘れた? アカウント作成
481385 journal

live-gonの日記: ゲームプログラミングは入り口としては狭い - IT観察 2

日記 by live-gon

全然脈絡のない話をするけど、プログラミングを目的(やりたいこと)から入るのはいささか具合が悪いように思う。個人的な経験から話すと、「あれをやりたい」ってところからプログラミングを学んでゴールまで辿り着けたためしがない。

慰めになるか分からないが、例えばゲームを作りたいとあなたが思って、プログラミングを学んだがさっぱり分からなくて挫折したとしても、それは必然的なことだと思う。プログラミングというのはそういう風にして学べるようにはできていないのだ。

私が思うに、目的から入る学習はすべて同じだ。歴史は歴史として学んで、それが自国や他国の文化、文明、人類の発展の理解につながるだろうけど、イタリア人の彼女ができてからイタリアの歴史を学んでも、「国にはそれぞれ歴史がある」という感覚が身につかないと、文化のコミュニケーションや歴史を背景とした会話は難しいだろう。買い物をするために算数が必要だとしても、買い物のために算数の学習を初めても、買い物の計算ができるようになるとは思えない。買い物のことは忘れて、数字という概念を頭に入れるという回り道が必要なのだ。

この辺のことはどこかに理論があると思うのだが、残念なことに私はそれを見たことがない。義務教育では学習が先に立っていたので、目的から学習をするというのはプログラミングが初めてだった。で、前述のように挫折した。

その一年後にはできるようになっていたけど、これは目的がなかったからである。目的もなく、ただ本に書いてあることを理解する。そうするとプログラムというのは驚くほど簡単に頭に入ってきた。C言語ではデータをこのように処理します。本に書いてあるのはそれだけで、「データ」がなんなのかはまるで書いてない。せいぜいファイルハンドル程度の具体性だ。プログラミングは、実用的な技術というより抽象的な概念に近く、それはつまり「お勉強」と揶揄されるような類のものだった。何の役に立つんだか分からないというお勉強こそが、新しいものを作る力になるのである。

学生のうちにそういうことを勉強できたのが、社会人になってもよかったんだと思う。社会人になっても暇を見つけてこういう抽象的な学習を続ける必要がある。プログラミング言語の本を読んだら、プラットホームのOSの本、使用するライブラリやフレームワークの本、デザインやテストの本、といった感じに暇潰しに学習を続けるとよい。仕事でやっている最中はどうしても本を辞書のように索引から引いて読む――それを読むと言っていいのか分からないが――ことになるのだが、それでは学習にならず、知識にならず、身につかない。

コーダーとかプログラマといった人に苦言を呈したり教えを説いたりするつもりはこれっぽっちもないのである。プログラミングの最初の一歩で挫折する人に、やりたいことがあってプログラミングを勉強したのなら挫折するのが普通だと慰めるのが目的なのである。

やりたいことは横に置いて、単なる知識やお勉強としてプログラミングの本を読んでみよう。できれば本屋で中を見て、面白そうな本を探すのがいい。私はなぜか図書館で立ち読みしているときに最初の一冊に出会った。面白かったので借りて、自宅や学校で貧り読んだ。サンプルコードも動かさなかった。はじめは、「あれをやりたい」の「あれ」を忘れて、漠然と勉強した方がいい。焦る気持ちは分かるが、自分で作るのであれば近道はないのである。

いわば“バージョン3”となったPS3の新モデルとは?」ってことで、最初にゲームを作りたいなと思って挫折したことを思い出した。ゲームの本はどうしても目的を書いた方がウケる。「キャラクターを動かすには」「文字をフェードアウトさせるには」なんて本の方が歓迎されるだろう。けど、グラフィックやサウンドやユーザ入力やイベントハンドリングを抽象的に勉強しておいた方が基礎力が身につき、その後のゲーム開発にかかる時間がグッと短縮されるはずである。そのための本がどれかというとなかなか厳しいものがある。私も見つけられていない。たくさんの本を実際に手に取って中身を確認するのがよいとは思うのだけど。

地方だと大型書店もないだろうから、ネットの情報が頼りになるかもしれない。いい本が見つかったら紹介しようと思う。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 目的が先でプログラミング始めると、まず最初に
    『思うように作れない自分を再認識させられる』
    ところから始まっちゃいますよね。
    で、大部分がここで挫折する。

    そりゃいきなり「ぐらんつーりすも」や「ふぁいなるふぁんたじー」を作ろうとすれば挫折しますって。w

    昔と比べて「PCでできることの上限が飛躍的に上がってる」のが原因なんでしょうね。

    私もそうですが、昔はBASICのソースを雑誌見ながら必死に打ち込んで動かす。
    次はそれを改造する。次は自分で作ってみるといったステップを順々に踏んできたと思います。
    8ビットPCでできることなんてたかがしれてたしね。
    入り口はそんなに広くなかったけど、入門者の目の前にありました。

    今はあの頃とは比較にならない、奇麗で豪華で複雑で高度なゲームがお店で売ってます。
    そんなゲームを消費しながら、自分で作れるのはインベーダーゲームという状況を受け入れることさえ出来れば
    ネット上で開発ツールが氾濫してる昨今、入り口は決して狭くは無いと思います。

    ただ、入り口が自分の目線より遙か下の谷底にあるだけで。w
    そこまで降りる勇気が必要なんでしょうね。
    • ソフトもハードも手軽さという意味では格段に広くなりましたね。プログラミング全般の入り口は広がったと思います。

      「ゲームを作りたい」から入ると、その頭の中にあるのは絶対にすごいゲームなので、大抵は挫折しますよね。サウンドノベルだって厳しいような気がします。当たり前だけど、ゲームというのは専門職が何人も集まって共同で作る作品なので、一人で自分の頭の中にあるゲームを形にするのは、ま、不可能だと断言してもいいと思います。

      おっさん臭い意見を言うと、グラフィックが表示されたり音が出ただけで喜べるだけの素直さを持てた時代の方がよかったのかもしれません。いま作ったら、こんなしょぼいグラフィックしか出せないと思って落ち込んでしまうだろうことは想像に難くありません。

      今だったら、ケータイやブラウザ用のミニゲームを作るか、既存ゲームのマップやキャラクターを作る方向にシフトするのがいいんじゃないかと思います。なんていうか、ゲームってどんな大作でも一人で作れそうな感じがしちゃうんですよね。

      --
      LIVE-GON(リベゴン)
      親コメント
typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...