Rubyでゲームを作ってみたい!
Rubyでゲームを作るにはどうしたら良いんですか?
このようなお困り事をお持ちの方のために、この記事を書きました。
ゲームというとゲームエンジンのUnityやプログラミング言語C++が有名ですが、もちろんRubyを使って作ることもできます。
しかし、最初のとっかかりや効率的な方法がわからなかったりしますよね。そこで今回は、Rubyでゲーム制作をする前に知っておきたい情報を全てこの記事にまとめました!
この記事を読んでおけば開発効率が段違いで変わってくるので、ぜひご参考ください。
Rubyで作れるゲームとは
Rubyではさまざまなゲームを開発できますが、作るのが得意なゲームと不得意なゲームがはっきりと分かれています。大まかには、以下の通り。
得意なゲーム | 2Dゲーム/ブラウザゲーム |
得意ではないゲーム | 3Dゲーム/据え置きゲーム |
以下で詳しく紹介していきます。
ブラウザゲーム
Rubyで作れるゲームとして最もお手軽なものが「ブラウザゲーム」です。ブラウザゲームはその名の通り、パソコンやスマホのブラウザ上で動作するゲーム。
ゲームといえば「スマホゲーム」「据え置きゲーム」を真っ先にイメージするかもしれませんが、世界のゲーム市場ではブラウザゲームは多くプレイされています。
代表的なブラウザゲームの「艦隊これくしょん」や「ビビッドアーミー」などは、ブームが起きたり広告をよく見かけるので、名前を聞いたことがある人もいるのではないでしょうか。
2Dゲーム
Rubyは「2Dゲーム」を作るのが得意です。今でこそゲームといえば3Dが多いイメージですが、一昔前は2D(平面)が主流でした。
ブラウザゲーム、スマホゲームには2Dゲームが多く、プレイヤーもたくさんいます。この記事で紹介する「ライブラリ」を使ってキャラクターやアイテムの設定をすれば、比較的簡単に2Dゲームが作れます。
据え置きゲーム、大規模ゲーム
Rubyで作るのに向いてないゲームとして、据え置きゲームや大規模ゲームがあります。据え置きゲームとはPS4やXBox、Nintendo Switchのような家庭用ゲーム機のことを指します。
これらのゲームを作ることは可能ですが、Rubyは処理速度がそれほど早くないため、ロードに時間がかかったりスムーズに動かなかったりと不具合が起きやすいです。結果的にシンプルなゲームを作ることになり、それなら家庭用ゲーム機じゃなくても、スマホゲームやブラウザゲームでいいよね、となります。
「大規模ゲーム」の定義はハッキリしませんが、同時に複数のプレイヤーが参加するゲームや美麗なグラフィックのゲーム開発もRubyは向いていません。もっとシンプルで、一人で楽しむゲーム制作が向いています。
3Dゲーム
RubyはUnityなどと比べると処理速度が早くないため、3Dゲームの開発も向いていません。3Dゲームは2Dゲームと比べると何倍もの処理速度が必要になるので、Rubyでやるべきではないでしょう。
「どうしても3Dゲームが作りたい!」という人は、無理してRubyでがんばるよりも、Unityなどの勉強を始めた方が効率が良いでしょう。
Unityについては以下の記事で詳しく解説しています。
Rubyでゲームを開発するための3ステップ
次に、Rubyでゲーム開発する方法を3ステップに分けて解説します。
- ステップ1:ゲーム開発に必要な環境を構築する
- ステップ2:「ライブラリ」を利用してゲームを制作する
- ステップ3:ゲームを公開する
今回は理解しやすいように3ステップで紹介します。
ステップ1:ゲーム開発に必要な環境を構築する
まずはパソコンにRubyを実行できる環境を用意します。MacとWindowsで必要なことが変わるので、以下で詳しく解説します。
Macの場合
Macには標準でRubyがインストールされています。
スポットライト検索(Macの一番上のバーの右側あたりにある虫眼鏡マーク)から「ターミナル」と検索し、ターミナルアプリを開きます。
そこで「ruby -v」と入力すると「ruby ●.●.●〜〜」と表示されます。それが現在インストールされているRubyのバージョンとなります。
それ以降の方法は以下の記事を参考にしてください。MacでRubyをインストールする方法について、詳細に解説しています。
Windowsの場合
WindowsにはRubyはインストールされていないので、RubyInstaller Downloadsのページにアクセスし、「=> Ruby+Devkit 2.6.5-1 (x64)」を文字をクリックするとダウンロードできます。
ステップ2:「ライブラリ」を利用してゲームを制作する
Rubyでゲームを作るときは「ライブラリ」を使うのが一般的です。ライブラリとは、Rubyの複数のコードが既に書かれて用意されているパッケージのことです。
適切なライブラリを選び、キャラクターやアイテムのイメージや動きを設定することで、とても簡単にゲームが作れます。
ライブラリの種類によって作れるゲームの種類が違うため、適切なライブラリを選ぶのが重要。自分に作りたいゲームのイメージにぴったりのライブラリが見つかれば、Rubyのゲーム作りがグッとラクになります。
ライブラリについての詳しい解説は後述します。
ステップ3:ゲームを公開する
ライブラリを使ってゲームが作れたら、ゲームを公開しましょう。Rubyなので、ブラウザゲームかスマホゲームのどちらかでしょう。
ブラウザゲームの場合はオンラインにアップすれば公開ですが、知り合いにURLを送ったりSNSで宣伝しないと誰も遊んでくれません。多くの人に遊んでもらいたい場合は、積極的に宣伝すると良いでしょう。
スマホゲームであれば、AppStoreかGooglePlayストアに公開すると、多くの人の目に止まる可能性があります。それぞれのストアで以下の費用がかかるので、チェックしておきましょう。
- App Store 99ドル(約11,800円)/年
- Google Playストア 25ドル(約2,800円)/初回のみ
Rubyでゲームを開発するために必要なライブラリ4選
Rubyでゲーム開発する場合「ライブラリ」を使うのが一般的です。ライブラリは、必要なコードがある程度書かれてセットになっているものをイメージすると良いでしょう。
適切なライブラリを選べば、一からコードを書くよりも格段に少ない労力で作れます。
ここでは、Rubyでゲームを開発するために必要なライブラリを4つ紹介いたします。
動作の速さが魅力の「DXRuby」
DXRubyは、Rubyのライブラリのなかでも人気があります。初心者が楽しくゲーム開発できるように作られており、全体的にシンプルな構成です。
その特徴は「シンプルで高速」の一言に尽きます。Rubyは処理速度がそれほど早くないのが難点ですが、DXRubyは動作速度にも気を使って設計されています。
DXRubyは「Windows専用」なので、Macユーザーは使えないので注意が必要です。
2Dゲーム制作に必要な全てが整った「Gosu」
DXRubyはMacでは使えないので、MacユーザーであればGosuがおすすめです。2Dゲーム開発に適したライブラリで、スーパーファミコンのようなゲームが作れます。
2Dゲーム開発に必要な機能は全て揃っているので、よっぽどのグラフィックや複雑な仕様を求めないのであれば、Gosuだけで作れてしまいます。
DXRubyと同じくらい人気のライブラリで、初心者にも人気です。
対応プラットフォームが広い「Ruby/SDL」
Ruby/SDLはその名の通り、RubyでSDL(Simple Direct Layer)が使えるライブラリです。
SDLは「クロスプラットフォームなマルチメディアアプリケーションを書くためのライブラリ」。要するに「さまざまなOSで動くゲームが作れるライブラリ」です。
SDLはもともとはC言語のためのライブラリですが、Rubyでも使えるようにしたものがRuby/SDLです。WindowsやMFac、LinuxなどいろいろなOSに対応したゲームを作れるのが特徴です。
ただし、処理速度が遅い欠点もあります。そもそもRubyはCの5〜50倍遅いので、速度を要するものの制作は難しいです。
3Dのゲームはもちろん、2Dでも複雑な描画が必要なものは作らない方がいいでしょう。
ブラウザゲームに特化した「DXOpal」
DXOpalは、ブラウザゲーム作りに特化したライブラリです。
OpalはJavaScriptでも使われ、速度の速さとシンプルさが特徴です。DXRubyと似た形式で作られており、DXRubyの命令をブラウザに移植したものです。
ブラウザゲームを非常に簡単に作れるので、初心者にはおすすめです。
Rubyでゲームを開発するためのおすすめ勉強法3選
Rubyでゲームを作るにはライブラリが便利ですが、並行してコードの勉強が必要なのは言うまでもありません。
Rubyを勉強する方法を以下で3つ紹介します。
- 書籍で勉強する
- 学習サイトで勉強する
- プログラミングスクールで勉強する
それぞれのメリットとデメリットを紹介していきます。
書籍を手元に置いてリファレンス(参照)として使う
何かを勉強するときに、まず「本」を買ってみるのは非常に良い方法です。プログラミングでも書籍で勉強するのはとても大事です。
とはいえ、書籍のみで身につくほどRubyは簡単ではないので、以下の「学習サイト」「プログラミングスクール」も並行して利用するのをおすすめします。
書籍は手元に1〜3冊置いておき、詰まった部分や気になった部分を調べる「リファレンス(参照)」として利用するのが一番おすすめです。
おすすめ書籍は、3ステップでしっかり学ぶ Ruby入門。初心者向けなので一冊手元に置いておくと良いでしょう。
Rubyのおすすめ書籍は以下にまとめているので、併せて参考にしてください。
学習サイトで実際に手を動かして学ぶ
プログラミングを学ぶのであれば、「学習サイト」を利用するのが最も一般的です。サイト内で実際にコードを打ちながら学べるので、最も効率よくプログラミングを学べる方法のひとつです。
ここではおすすめの学習サービスを紹介いたします。
エンジニアに質問できる「侍テラコヤ」
SAMURAI TERAKOYAは登録無料で、以下のサービスをうけられます。
- 豊富な教材
- エンジニアに質問できる掲示板
- 月1回のオンラインレッスン
SAMURAI TERAKOYAは、オンラインでプログラミングを学習するために必要なことが全て揃っています。このサービスだけでエンジニアとして自立するのも、不可能ではありません。
回答率100%のQ&Aサイトや、月に一回の講師とのオンラインレッスンがあるので、学習に行き詰まったりわからない部分を解決するのに役に立ちます。
ぜひ一度チェックしてみてくださいね。
スライド形式でサクサク学べる「Progate」
プロゲートは、プログラミング勉強者のなかでは定番のサイトです。学習教材は全てスライド形式で、高品質なプレゼンテーションを受けている感覚で勉強できます。
サイトに直接打ち込みながら勉強できるので、最短で成長できる可能性があります。
無料でもいくつかのスライドは閲覧できますが、月1,000円程度の有料会員になるだけで全てが見られるのでお得です。
豊富な動画で学べる「ドットインストール」
全て3分以内の、プログラミングを学ぶための動画を大量に見られるサイトが「ドットインストール」です。ダラダラと長い説明をされるのではなく、全ての動画が3分以内なので集中力が持続します。
自分で開発環境を構築したのちに必要なレッスンの動画から見ていくことで、確実に実力がつきます。
こちらも無料でもいくつかの動画は見られますが、月1,000円程度の有料会員になることで全ての動画を見られます。
プログラミングスクールで短期集中で学ぶ
「一刻も早くRubyを習得して、現場で活躍したい!」と考えている方は、プログラミングスクールがおすすめです。
特にマンツーマンでのレッスンや、個別最適化されたカリキュラムを作成してくれるようなスクールは、確実な成長が期待できます。
ちなみにSAMURAI ENGINEERは「マンツーマンレッスン」「個別のオーダーメイドカリキュラム」を完全オンラインで提供しています。
本気でRubyを習得し、就職、転職を目指しているのであれば強くおすすめします。
【参考サイト】Rubyゲーム製作者の参考になる記事
ここではRubyのゲーム製作をしていて、行き詰まったときや「他の人はどうしてるんだろう?」と思ったときにおすすめのサイトを紹介します。
Ruby/SDLで始めるゲームプログラミング【前編】
この記事は、「Ruby/SDL」を使って簡単なゲームを作っていく内容になっています。
- インストール方法
- 画面描画方法
- 画像の読み込みと動作付け
などの基本的なところから優しく解説してくれています。
Ruby on Railsなど、WEB系の用途で知名度を上げているRubyですが、Rubyでこんなこともできるんだ!と思ってもらえるような内容になっています。
Rubyist Magazine – Ruby/SDLで始めるゲームプログラミング【前編】
ゲームを作るときにあまりにもRuby+DXRubyがラク過ぎたので
上で紹介したおすすめライブラリ「DXRuby」でゲームを製作してみた方のブログ。実際のコードも複数掲載されており、初心者には参考になる記事です。
レゴブロックで遊ぶ感覚で、自分の作りたいものを作れるので、DXRubyは最初の一歩にはもってこいです。
ゲームを作るときにあまりにもRuby+DXRubyがラク過ぎたのでまとめ – いつクリはてブロ
初心者が簡単にRubyプログラミングを覚えられる!
この記事では、Rubyに変換できるビジュアルプログラミングツール「Smalruby」を使って、ビジュアルプログラミングとRubyの学習をした過程が紹介されています。
「Smalruby」は、ブロックを組み合わせて作ったプログラムを、ボタン1つでRubyに変換して見ることができるという、一からRubyを学ぼうという人にはもってこいのツールとなっています。
スクショ多めで流れに沿って解説してくれているので、わかりやすくゲーム開発の雰囲気を掴むことができるでしょう!
初心者が簡単にRubyプログラミングを覚えられる!Smalrubyの使い方 – paiza開発日誌
まとめ
Rubyもプログラミング自体も、どうしても向き不向きはあると思うので、まずは一歩踏み出していて実際にコードを触ってみるのが大事です。
学習法については複数ありますが、なかでも「SAMURAI TERAKOYA」はサブスク型でコスパを重視する方には特におすすめです。まずは30日間の無料入学から試してみると良いでしょう。ぜひチェックしてみてくださいね。