teruyastarはかく語りき

TVゲームを例に組織効率や人間関係を考える記事がメインのようだ。あと雑記。

初心者ゲームプログラマーにはC言語より、Actionscriptを勧めてみる。

404 Blog Not Found:いきなりCの方がよっぽど難しい
http://blog.livedoor.jp/dankogai/archives/51153687.html


むしろCをいきなり学ぶというのは、算数をすっとばして数論から入るようなものではないか。


あるいは、ガソリンエンジンの仕組みを学んでからでないと、車の運転を習ってはいけないというか。

Cのポインタや、共用体や、くそDirectX3*1とかで挫折しながら、今Actionscript見てたいして悩まない僕も同意します。


Cから学ぶというのを突き詰めると、
初心者はCよりアセンブラから学ぶべきだ!!
という方法論もあるかもしれませんが、

Geekなぺーじ : 初心者はプログラミングをどうやって学ぶと良いのだろうか?
http://www.geekpage.jp/blog/?id=2008/12/15/1


C言語でチマチマ勉強する大きな欠点は、やる事が細かすぎていて「自分が作りたいものとの関係」が全くイメージできないのだと思います。初心者がC言語で色々いじって作れるものは、今手元にある「凄い完成度が高いアプリケーション(OfficeとかSkypeとかetc)」に比べればゴミのようなものしか作れません。

この楽しくなさが、ひどく挫折させると思うのですよ。
初心者はいきなり飛行機飛ばしたいと思ってるのに、
まずは基礎として三輪車からつくりまちゅねー。
といっても全然面白くなくて、
せめてパーツを組み合わせたラジコン飛行機か
鳥人間コンテンストぐらいは出たい。


もちろん、飛行機なんてなかった時代は
三輪車が50ccバイクでもいいんです。
今第一線で活躍してる古参プログラマーは当時それがすごいアプリだったから
楽しかったと思います。


しかし右も左もわからない幼稚園児に、
人類はクロマニョン原人からどうのこうのと説明するより
いきなり仮面ライダーごっこから教えた方が、
クロマニョン原人から仮面ライダーにいたる人類の歴史を理解しやすいと思うのですよ。



要は今も昔も時代に合わせて面白い方の言語が、学習に最適なわけです。


Webプログラムを最初に学ぶのならJavascript ゲームプログラムを最初に学ぶならActionscript


で、僕は自分でもちょっと触ってるFlashのActionscriptをオススメします。


別にゲームに限らず、Webアプリにも、
AIRでクライアントアプリにもなりますし、
下手な手書きグラフィックすら直接描いて扱えるので
Javascriptよりも面白いと思います。


記事のブクマコメントにも

id:uta-2007 最初の言語がFlashのActionScriptだった友達がいた。動画製作を通じてオブジェクト指向をすんなり視覚的に理解してたように見えた

まさに自分が体験してることそのままで、
Flashには、タイムライン、レイヤー、ムービークリップなど
そのままオブジェクト指向、、というか、
現実世界の入れ子構造を視覚的に把握しやすく
他の言語より短い記述で、それらを支配できるようになるので
プログラムの構造がとても理解しやすいと思います。


Flashプログラミングで、プログラムのビジュアル構造を頭にたたき込むのが、
今の時代の初心者用プログラム高速道路じゃないかと僕は考えます。

高速化が求められるゲームで、オブジェクト指向は向かないよ?


確かに、Cとかアセンブラとか、
低級言語になるほど高速化できますが
最新のActionscript3とか、
最近のPC処理能力でゲームには充分のグラフィック能力を得てると思います。


さすがにPS3並のリアルな3Dグラフィックというわけにはいきませんが、
いかに実現したいことを、デフォルメしてゲームに落とし込むかは
プログラマーとしての腕のみせどころでしょう。
見せ方によってはDS以上の表現力が可能です。


それに何も高速アクションシューティングだけがゲームじゃなく
サウンドノベルや、リズムゲームや、脱出ゲームや、
パズルゲームなど、比較的高速化を必要としないゲームもたくさんあるので
初心者にとって高速化はずっと後の問題でしょう。


そこで限界を感じたときはじめて、
JAVAや、Cや、アセンブラの道が面白くなると思います。

Flashはまず値段が高すぎて無理!


確かにその通り、、、
趣味でやるのに8万円とかはないですなw


でも大丈夫!
プログラム初心者は大半が学生さんだと思いますので
学生さんならアカデミック版が買えます!!


【Win版】Adobe Flash Pro CS3.0 (V9.0) 日本語版 Windows版 アカデミック(学生・教職員向け)
【Win版】Adobe Flash Pro CS3.0 (V9.0) 日本語版 Windows版 アカデミック(学生・教職員向け)
アドビシステムズ
売り上げランキング : 4204


詳しく見る

こちらなら3万7千円!
1ヶ月バイトで手に入ります!


3万でも高いわw


しかたないですねー。。。
では、Adobeの体験版コーナーへどうぞ!!


アドビ - ダウンロード
http://www.adobe.com/jp/downloads/


こちらでは、一つの製品を30日間試用できます。
ここでFlash、Actionscriptを勉強しつつ30日たったら
次は同じActionscriptでFlashファイルが書き出せる
Flex3というソフトを30日間試用します。*2


これで2ヶ月間Flashをみっちり楽しめます!


独学でわかるだろうか?


Flashのコミュニティサイトはたくさんありますので、
検索して面白そうなところから、
いろいろパクったらいいと思いますw


ひとつだけ、僕がお世話になったサイトあげときます。


Flashゲーム講座&アクションスクリプトサンプル集
http://hakuhin.hp.infoseek.co.jp/main/as.html


Flashで読み込めるサンプルファイルもダウンロードできて
ほんと非常にわかりやすいです。
いくつかサンプルがあるので、面白そうな項目を覗いてみてみましょう。



もちょっと高度になるとこういうところもあります。


Spark project
http://www.libspark.org/


ここらへん網羅するだけで一流のFlasherになれそうですが、
他にもたくさんの素晴らしいFlashコミュニティサイトがあるので
いろいろのぞいてみてください。

オススメの本とかは?


まったくの初心者用には何がいいのか知らないのですが、
中級者用になら、僕ももってるこの本をお薦めできます。


ActionScript 3.0 アニメーション
ActionScript 3.0 アニメーション永井 勝則

おすすめ平均
stars数学嫌いのデザイナーにオススメ
starsまるでアルゴリズム大辞典
stars初心者でもなんとか読める
stars教科書にしたいくらい素晴らしい本

詳しく見る

アクションゲームプログラマーなら避けて通れない
物理計算や、慣性の法則を面白いアニメーションにして解説する
運動力学の基礎となりえる本です。
文系にもわかりやすい、、というか、
プログラムは概念の実現なので、理系が有利不利ということはないんですよね。


むしろわかりやすい言葉をしゃべれる文系の人が向いてるということもありますし。


ゲームプログラマーはもちろん、
プログラムで複雑なアニメーションを実現させたい
WebFlashデザイナーにもオススメできる本、、なのですが、、
これも7千円とか高いねw


いい本なのに^^;


2ヶ月たったら終わり?


え、2ヶ月たってさらに面白くなった人が、Flash買わないだって!???????


、、、、、大丈夫!!
まだ方法はあります。



先のダウンロードページ。


アドビ - ダウンロード
http://www.adobe.com/jp/downloads/


こちらの右下にFlexSDKというのがありますね?
これはFlexBuilderという、Flashのコードだけを書く製品の
ビルド部分を無償でAdobeが提供している奴です。


なんのことかわからない?


ウィンドウズのメモ帳とかでActionscriptを書いても、
そのSDKでFlashに変換することができるということですw

それじゃ、FlexBuillderとかいらないじゃん!!


いや、そうなんですけど
FlexBuillderには、Actionscriptをサポートする
至極便利な機能がたくさんついてるという噂で、
それは体験版を試してみればメモ帳と雲泥の差がわかるかと。


まあ、メモ帳でもコード書いてSDKに放り込めば動きますし
上に紹介した本では、SDKのセッティングまできちんと説明してくれたうえ、本のコードはダウンロードできるし、やっぱり全部動きます。


SDKのセッティングはマニュアル読むだけで*3
大丈夫という人もいるでしょうし、
それも検索かければ、教えてくれるサイトがいろいろあると思います。



追記:
ありましたw
ここの通り進めたら無料でSDKインストールできます。



Flashの要となるスクリプト言語「ActionScript」とは?(1/3) ─ @IT
http://www.atmarkit.co.jp/fwcr/rensai2/as3_01/as3_01_1.html



ActionScript 3.0メモ
http://www.saturn.dti.ne.jp/~npaka/flash/as30/



が、、、これ、何かの言語を触ったりMS-DOSコマンドいじってた昔の人ならいざしらず、まったくの初心者には敷居が高くないか?w



Flashは、タイムラインベースでアニメーションを扱える事も利点なので、
最初は無料SDKより、無料体験版からオススメします。


Flash>Flex>FlexSDKとそこまできたら、*4
ここのインストール作業も苦ではなくなってるでしょう。



もしそこまで面白さが持続してたら、
さらに楽しくなる設定もあるようです。


ActionScript+rascutが便利すぎる - think and error
http://d.hatena.ne.jp/ruicc/20081119/1226719272



ActionScript やるなら入れとけ。rascut 導入と使い方。 - てっく煮ブログ
http://d.hatena.ne.jp/nitoyon/20070914/how_to_install_rascut



というところで、ゲームプログラマーを目指す学生さん、
もしくはプログラムに興味があって
面白いビジュアル的なところから入りたい人には
上記の方法をオススメというエントリーでした。




あれ?
FlexBuillderって60日体験できるの?
そしたら3ヶ月も遊べたり?w



さらに追記 Wonderfl


Wonderfl Build Flash Online
http://wonderfl.kayac.com/


Flashのコードをオンラインでpublishするってなにそれw
もしかしてこれが一番面白かったり?
ブログパーツとしても貼れるそうです。


unbland.org blog - Wonderfl が面白い
http://unbland.org/blog/2008/12/18/212.html

*1:安定してないものに手を出すな危険

*2:Flexはタイムラインやアニメーションがない純粋にプログラムだけで全部動かすためのツール

*3:日本語のマニュアルあるのかな?

*4:アニメーションタイムラインに興味なかったらすぐFlexでいいけど、ゲームプログラマー初心者にはアニメーションあるFlashのほうが楽と思う