Oepn:2011/02/04
LastUpdate:2011/07/18
「ゲームを作ってみたい!」
少年・少女時代に思ったことのある方は結構いるんじゃないでしょうか。
でも、よくよく考えれば「ゲームを作る」ってコンピュータゲームじゃなければ、そんなに技術的に難しいものでもないですよね。
トランプ、麻雀、じゃんけん、ボードゲーム、TRPGなど、まぁアナログでできるゲームも沢山あります。
私の友達にTRPGのゲーム制作をすごく熱く語っているやつがいます。
まさに「ゲームする内容」を作りたいのであれば、むしろこっちの方がゲームらしいのでは?と思ってしまうこともあります。
ノベルゲームというのもありますが、あれも言ってしまえば本質は小説や漫画に近いものです。
ですが、やっぱり「コンピュータ上で動くゲーム」が作ってみたいですよね。
近年では、3DCGが出てきて、色んな複雑な動きもできるようになり、さらにインタフェースもWiiリモコン・キネクトなどが出てきて、非常に高度なこともできるようになってきました。 また、携帯やブラウザでのゲームなんてのも大量に出てきました。
私はARの研究をしていたので、なんとなくですが「これからARのゲームなんてのも沢山増えるんだろうなぁ~」なんて思っています。
Nintendo 3DSには、ARゲームもありますし。
今までの概念を飛び越えて、すごくゲームの幅が広がってきました。
さて、これらを1から一個一個触っていくと、とんでもなく時間がかかります。
非常によくあるパターンなのですが(体験済み)、ゲーム制作というよりプログラミング生活が始まります。
プログラミングが好きなら別にいいのですが、私はそんなに好きではないです。
デバッグ作業とか発狂しそうになる。
まず、「作りたいゲーム」の目標を決めましょう。
できるだけ完成形が見えていた方がいいです。
ある程度妄想はできたでしょうか?
では、レベルに分けていくつか作り方を挙げていこうと思います。
レベル1:初級(プログラミングってなに?おいしいの?レベル)
プログラミング生活の挙句、挫折するくらいなら、ツクールシリーズを使ってある程度しっかりしたゲームを作った方が、ゲームを作る楽しみが得られますし、多分そっちのゲームの方が面白いです。
また、ゲームを作る際のノウハウなんかも得られるんじゃないかと思います。
- 関連サイト
-
ノベルゲーム
-
ノベルゲームはプログラム的にそれほど難しいものではないので、制作ツールが沢山あります。
↓のサイトの方がまとめてくれています。
レベル2:初級(ちょっとくらいならプログラミングをしてもいい)
-
Hot Soup Processor(HSP)
-
無料で使うことのできるプログラミング言語HSPです。
といっても、いわゆるC言語などのような難しいものではないです。ゲーム制作に利用している人が沢山いて、資料も沢山あります。
どんなものができあがるのか気になる方はHSPの公式サイトからたどっていけば色々見れると思います。
本を見ると、本当かどうかは知りませんが12歳でも作れるみたいですね。- 関連サイト
- FLASH
-
Webではもう当たり前となったFLASHです。
作例は「FLASH ゲーム」とでも検索すれば大量に出てきます。
FLASHゲームはブラウザ上ですぐ遊べて、結構遊んでもらえるゲームの1つです。作る側としてはツール(Adobe Flashなど)が必要になりますが、それに見合ったものは作れると思います。
本来はブラウザでアニメーションを再生するためのもの(YoutubeとかニコニコとかはFLASHで再生されてる)なので、当然ながら動画の再生といったこともできます。
なので、ゲーム中にFLASHムービーを差し込むなんてこともできます。当然のことながら、資料も山ほどあるので、資料に困ることはほとんどありません。
ウェブアプリ開発に慣れておくと、携帯アプリやmixiアプリなんてのを作るときも非常に役立つと思います。(むしろFLASHベースのものもある)私の弟が中学生くらいのときにFLASHゲーム作ってたので、多分そんなに難しくなく作れると思います。 ただ、初級に割り振りましたが、やりこめば普通に上級に割り振れるようなものなので、やりようによっては色々なことができます。
近年ではスマホなどの普及から、こういうミニゲーム的なものが流行ってきているので、個人的にはオススメです。
レベル3:初級~中級(プログラミングをしてもいいけど、面倒な部分ははぶきたい)
- DXライブラリ
-
Windowsのゲームにほとんど使われているんじゃないかと思われるDirectXのゲーム用ライブラリです。
2Dゲームを作るならこれがオススメです。
DirectXのややこしい部分はDXライブラリがやってくれるので、ゲーム制作に集中できます。
利用している人が沢山いて、資料も沢山あります。3Dでも作り込まれたものではなければ作れるみたいです。(公式によると頑張ればプレステ2くらいの見た目らしい)
- 関連サイト
レベル4:中級(プログラミング生活はある程度覚悟している)
ここから先は主に3Dゲームです。
とりあえず、このレベルまでくれば大体のものは作れます。
-
XNA Game Studio
-
マイクロソフトが開発したゲーム開発者向けの統合開発環境です。
マネージ環境(.NET環境)に対応しています。
とりあえずC#言語で開発できるのだと思っておけばいいと思います。Expressバージョンというものが無料で配布されています。
趣味プログラマ向けに作られているようで、割と簡単にゲームの開発ができます。これのすごいところは、Xbox360で実行できるようなものも作ることができるところです。
ただし、Xbox360で実行するには年間99ドルを払わないといけません。
Windows(PC上)で利用する分には無料です。特定のジャンルのゲームのフレームワークを提供する「スターターキット」なるものもあるようで、作りやすい環境が整っています。
XNAを使っている人が沢山いて、資料も沢山あります。- 関連サイト
-
Unity
-
様々なプラットフォームに対応したゲームエンジンです。
通常版は無料で、Pro版は1500ドルです。
とりあえず、大儲けしない限り(10万ドル以上の売り上げがある場合はPro版を使う)無料なゲームエンジンです。
勿論商用もできます。ゲームエンジンというのは、要するにゲームを作る際に必要な機能(3D描画、物理演算、音など)をある程度提供してくれるものです。
ゲーム会社なんかでは、大体それぞれ独自のゲームエンジンを会社内で持っています。
このゲームエンジンの売りとしては「民主的」であることらしく、趣味レベルでできるレベルに作られています。
と言っても、PhysX(物理エンジン)、fmod(サウンド再生)、Umbra(レンダリング高速化技術)などの超高度な機能も標準で盛り込まれているので、やろうと思えばとても素人とは思えないようなものも作れます。
というか、これだけのものを個人または少人数で実装しようと思ったら、多分数年かかります。
また、なんと言ってもプラットフォームが広い事が挙げられます。
PCだけでなく、iPhoneなどのスマートフォン、家庭用ゲーム機の開発もできます。
資料については、日本語は少なそうですが、英語であればコミュニティがにぎわってるそうなので大量にありそうです。
日本ですでに開発されている方もいるみたいなので、もしかしたらそのうち日本語の解説が沢山ふえるかも?
とりあえずチュートリアルをしてくれているサイト↓
個人的には注目の技術です。
みんな試して日本語化を進めてくれと言いたい(*'∀`*)
- 関連サイト
-
ミニゲーム
-
3Dゲームでも実行した瞬間にすぐ遊べるようなミニゲームです。
特に割と簡単なロジックのもの。
雰囲気的にはミニゲーム集みたいなゲームの一個をつくるイメージです。これはとても勉強になり、発想力みたいなものも鍛えられます。
特に新しい技術なんかを使うときは、これを大量に作ってみることをオススメします。ミニゲームに色々な面やシナリオをくっ付けてシーン遷移などをすれば、それだけで一本のゲームになります。
レベル4:中級~上級(プロを目指しているor作りこんだゲームを作ろうと思っている)
若干このレベルって説明する必要あるのかなという感じですが一応。
やることはいっぱいあります。
-
基本描画
-
DirectXやOpenGLなどを使った描画です。
ただ「描画ができました」とかいうレベルならレベル3です。
様々な描画手法やシェーディング、影付け、エフェクトなど、速度を気にしながら、そのゲームにあった見栄えを作ります。
メッシュの読み込みなども自分でフォーマットを作ったりします。 -
数学
-
3DCGには数学が付いて回ります。
ジャンルによって様々ですが、幾何計算くらいはできるようにする必要があります。 -
AI
人工知能です。
全部プレイヤー操作ならいいのですが、コンピュータが勝手に動かすキャラがいる場合がありますよね。
あれをどう動かすかといったところです。
スクリプト
チーム制作でプログラマじゃない人がいる場合は、これが重要です。
敵の動き方やマップの配置やシナリオの流れなどを、それぞれの担当の人がある程度簡単に作れるようにするものです。
書いてもらったものを実行エンジンに通して使います。
物理演算
物理演算を盛り込むのならば、物理を勉強する必要があります。
物理エンジンを使うのならば、その物理エンジンの使い方を覚えなければなりません。
アルゴリズム
ゲームには「高速化」という問題が付いて回ります。
いかに最適な形で計算をするかという問題です。
ゲームエンジン、フレームワーク、デザインパターン、設計
ゲームエンジンを作る際に、各機能をどういう風に使えるようにするかとか、その設計関係です。
シーン遷移やメモリの管理なども多分この辺が絡んできます。
ロジック
面白いゲームが思いついたとして、それをどういう機構で動かすかといった問題です。
以上です。
ぱっと思いついたものを挙げただけなので、これ以外にも沢山作り方はあります。
探すとツールだけでも結構あるので探してみてください。
とりあえず、これはあくまでプログラム的な部分を書いただけで、加えて画像や3Dモデルや音といった素材を作ることや、シナリオやゲームデザインといった考えることもあることを忘れないでください。
ある程度のものを作ろうと思ったら、チームを組んで分担することをオススメします。
0 件のコメント:
コメントを投稿