Linuxのパソコンでもゲームプログラミングはできます。

実際、linuxでゲームをプログラミングする人もゲームをプレイする人もいます。
  • 「linuxでゲームプログラミングは難しそう」
  • 「ゲームをプレイするにもlinuxは向いてないのではないか」

と考える方も多いでしょう。

そこでこの記事ではlinuxとゲームに関する様々な知識を紹介します。

具体的には次の点について重要なポイントを紹介します。

  • linuxでプレイすることが出来るゲーム
  • ゲームをプログラミングする前に知っておきたいlinuxの特徴
  • linuxでゲームをプログラミングする方法

10分程度で読めるように簡潔にまとめています。

ゲームをプログラミングする人もプレイする人にもきっと役立つ知識があるのでまずはご一読を!




linuxでプレイできるゲームにはどのようなものがある?

出典:freepik 「linuxのアイコン」

windowsやmacOSに比べると目にすることが少ないOS、linux

無料で様々なバージョンが配布されているOSであり、多くの人が用途別に改善、変更したものを公開しています。

エンジニアエンジニア

どちらかというと、エンジニアなどが開発に使うイメージ多いのではないでしょうか。

しかしlinuxでプレイすることができるゲームも多くあります。

linuxでプレイできるゲームを知ることは、linuxでゲームをプログラミングすることにも役立ちます。

今回紹介するのはこちらです。

  • 建築、冒険、自由自在!「マインクラフト」
  • 海外ではウイイレに匹敵のサッカーゲーム「Football Manager」
  • やりこみ満載の戦略ゲーム「Civilization V」
  • シンプルながら奥が深いレースゲーム「SuperTuxKart」

ひとつひとつ、詳しく説明していきます。

建築、冒険、自由自在!「マインクラフト」

出典:マインクラフト公式

マインクラフトは草原、海、山、洞窟と、自動生成されていくブロックでできた不思議なワールドを縦横無尽に駆け巡るゲームです。

windows、mac版だけではなく、Nintendo Switchでも発売され、プレイ人口も多いのでご存知の方も多いのではないでしょうか。

マインクラフトの魅力は何といっても自由なことです。

例えば、以下のようなことが出来ます。

  • LEGOのようなブロックで家やお城など様々な建造物をオリジナルで作成
  • スケルトンやゾンビが徘徊する夜の世界や洞窟を探索
  • 他のプレイヤーと同じワールドで、一緒に建築や冒険をする
linux版のマインクラフトは複数のプレイヤーが同じワールドのセーブデータを共有するサーバを簡単に構築することが出来たり、比較的動作が軽いなど他のOSにはないlinuxならではの特徴があります。

出典:マインクラフトダウンロードサイト

ダウンロードは無料です。

linuxでマインクラフトダウンロードサイトにアクセスして、自分のlinuxのバージョンに合ったものをダウンロードしてください。

種類によってはOSにマインクラフトがプリインストールされていることもあります。

海外ではウイイレに匹敵のサッカーゲーム「Football Manager」

出典:Football Manager

次に紹介するのは「Football Manager」です。

様々なサッカーゲームがあるなか、FootballManagerは「世界で最も収録データの多いサッカーゲーム」と言われています。

その理由は、60以上の国と地域に存在するリーグの2500を超えるチームに所属する60万人以上の選手や監督が収録されているからです。

エンジニアエンジニア

このゲームはタイトルの通りサッカーチームの監督になり、世界中のチームから選手を集め、最強のクラブを作るゲームです。

出典:Steam版FootballManager

しかし、ただただ強いチームを作るだけではなく、トレーニングメニュー、チームマネジメント、資金、サポートの人員など様々なことを考える必要があります。

プログラマー志望者プログラマー志望者

サッカーゲームの枠を超えた、マネジメントゲームです。

エンジニアエンジニア

もちろん戦術と戦術がぶつかりあうサッカーシュミレーションゲームとしても秀逸な作品です。

現実の試合結果、選手トレードなどの結果をAIが反映し、現実世界に近いサッカーチーム経営が楽しめます。

linuxでFootball Managerをプレイするには様々なPCゲームを遊ぶためのプラットフォーム「Steam」をインストールし、Steamの中でFootballManagerを購入します。

Steamのダウンロードはこちらから。

やりこみ満載の戦略ゲーム「Civilization V」

出典:4gamer.net

次に紹介するのは、「Civilization V」です。

これは「ターン制ストラテジゲーム」と呼ばれるジャンルのゲーム。

平地、森、海など複数の大陸からなる広大なマップから麦、鉄などの資源を手に入れ強い文明を作ることが目的です。

エンジニアエンジニア

このゲームの魅力はなんといっても「歴史上に存在した文明を操作できる」ということです。

例えば、以下のような文明が登場します。

  • 戦闘機などを大量に使うアメリカ
  • 交易で力を蓄えるアラビア
  • 独自の「兵法」を駆使したユニークな戦略が得意な中国
  • 敵を捕虜にして戦う古代アステカ
  • 海賊を支配下に戦うオスマン
  • 「武士道」で戦う日本

国や時代を越えた文明同士の戦いはやりこみたくなること間違いなしです。

linuxでCivilization VをプレイするにはFootballManagerと同様にSteamをインストールし、Steamの中で購入します。

シンプルながら奥が深いレースゲーム「SUPERTUXKART」

出典:SUPERTUXKART

最後に紹介するのは「SUPERTUXKART」です。

夜の街や、広大な草原、レースサーキットなど様々なコースで動物たちがレースで競い合います。

プログラマー志望者プログラマー志望者

ジャンプ、ドリフト、加速ブロックなどシンプルながらも奥深いレースゲームです。

このゲームはなんと無料でプレイすることが可能です。

ゲームプログラミングをする前にしっておきたいlinuxの特徴

ゲームプログラミングをする前に知っておきたいlinuxの特徴は以下の2つです。

  • linuxは利用できるソフトウェアの種類が少ない
  • linuxはゲームプログラミングではサーバの役割で利用されることが多い
windows、mac、linux、それぞれのOSの特徴を生かして利用することが重要です。

それでは2つの特徴を詳しく説明します。

linuxは利用できるソフトウェアの種類が少ない

linuxはwindows、macに比べると利用者が少なかったりOSの作りが違ったりするので、対応しているソフトウェアが少ないという欠点があります。

そのため、他のOSで作成したファイルをlinuxでは開くことができない、という状況もよく発生しやすいです。

例えば、以下のソフトウェアはlinuxでは対応していません。

  • Microsoft office(word,excel,powerpointなど)
  • Adobeのソフトウェア(Photoshop,Illustratorなど)
  • Unity

他のOSと共同作業を行う場合は注意が必要です。

プログラマー志望者プログラマー志望者

また、PlayONLinuxというソフトウェアを利用すれば、windowsで動くソフトウェアをLinuxで利用することが可能です。

出典:PlayOnLinux

MicrosoftやAdobeなどの提供元の公式ソフトウェアではありません。

利用は自己責任であることに注意が必要です。

linuxはゲームプログラミングではサーバの役割で利用されることが多い

対応するソフトウェアの種類が少ないからといって、linuxはゲームプログラミングで使われないわけではありません。

OSが無料、動作が軽いなどの利点を生かして、セーブデータを保存したりプレイヤーの端末の処理の一部を引き受けるサーバーとして利用されることが多いです。

特に、ゲームが大規模になると、サーバー用のパソコンは多くの数を用意する必要があります。

そのすべてにwindowsやmacをインストールするとOSのライセンスの費用だけで高額になってしまいます。

また、ネットワーク通信に関する情報を細かく設定できるのもlinuxがゲームのサーバーの役割になる特徴の一つです。




linuxでゲームプログラミングをする方法

linuxでゲームをプログラミングする方法は以下の4つです。

  • linuxにC言語のライブラリを入れて使う
  • UnrealEngineなどのゲーム開発ソフトを利用する
  • html5やJavaScriptを利用してブラウザゲームを作成する
  • pythonのゲーム用ライブラリpygameを利用する

ひとつひとつ、紹介していきます。

linuxにC言語のライブラリを入れて使う

一つ目はliunxにC言語のライブラリを入れて使うということです。

linuxでC言語を利用するためにはGCC Linuxというツールを利用する必要があります。

出典:Malavida GCCLinux

C言語は非常に動作が軽く、多くのゲーム開発用のライブラリが公開されています。

利用している人が多いので、インターネット上に有益な記事があったり、コミュニティで質問をすると早く回答が返ってきたりします。

また、詳細に執筆された書籍もたくさん発行されてるのでそれらを利用するのも有効です。

出典:Amazon

おすすめはこの「Linux技術者のためのC言語入門」です。

他のC言語の書籍とは違い、linuxでC言語を利用することを前提に記述されているのが特徴です。

Unreal Engineなどのゲーム開発ソフトを利用する

出典:アンリアルエンジン公式

次に紹介するのはUnreal Engineです。

Unreal Engineは高クオリティな描画が特徴のゲームエンジンです。

以下のようなゲームの開発で利用されています。

  • ストリートファイターV
  • モンスターハンターワールド
  • ファイナルファンタジーⅦ REMAKE
  • ドラゴンクエストⅪ

Linux版のUnreal Engineのダウンロードの詳しい方法はEpic Gamesの公式サイトに記述されています。

html5やJavaScriptを利用してブラウザゲームを作成する

3つ目に紹介する方法はhtmlやJavaScriptを利用してブラウザゲームを開発するということです。

htmlとJavaScriptを利用するメリットは何といっても、

テキストエディタとブラウザアプリケーションがあればソフトウェアをインストールせずに作成やプレイできるということです。

ブラウザさえあればプレイすることができるので、一度製作すればlinux以外のOSでもプレイすることが可能です。

近年、インストールが不要なブラウザゲームは手軽に遊び始めることができるので人気が再燃しています。

pythonのゲーム用ライブラリpygameを利用する

最後に紹介する方法はpythonのゲーム用ライブラリpygameを利用することです。

pythonは近年利用される場面が増えている言語であり、pythonのスキルを身に着ければ他の場所でも応用ができます。

pygameやpython用のゲーム開発用ライブラリであり、pythonのみでは難しい画像の表示や音の再生を簡単に実装することが可能です

また、pythonもC言語のように利用者が多いので有益なインターネット記事や書籍がたくさんあります。

出典:Amazon

おすすめはこの「ゲーム開発ではじめるPython3 」です。

ゲーム以外の用途でも使えるpythonのスキルを学習することが出来ます。

まとめ linuxでもゲームのプログラミング、プレイが可能

この記事ではlinuxでゲームをプレイしたりプログラミングしたりするうえで便利な知識を紹介しました。

大切なのはOSの特徴を理解して、用途に応じて使い分けることです。

ゲームのサーバーやブラウザゲームを構築するのにはとても優れているので、上手にlinuxを活用してください。

進路や学習法など、なんでもご相談ください!
プログラミングの学習や将来について迷っていませんか?
「キャリアはこのままでいいのか?」
「学習法が合っているのか?」
など
あなたの悩みをご相談ください^^
ご相談はお気軽にLINE@まで