イントロダクション
Javaでゲームを作成したいと思ったら、一から作るのは面倒、というか無理です。やることが多すぎて。。。
そんなときに使えるのがフレームワークであり、それぞ支えるライブラリ群になります。
ここでは、有名なマインクラフトで使用している。LWJGLを使用して、作成されたアプリケーションを見てみようと思います。
なんでこんなことをしようかというと、「何かしらゲームを作りたいな。。。」と思ったけどゲームの作り方なんて知らんしな。。。と思ったので
「知らなければ、知ればよい」ので調べることにしました。
つまりは、LWJGLというフレームワークについて調べようということです。
Javaでのゲーム作成
LWJGLでのゲーム作成に関して、LWJGLはOpenGL(3Dモデルの描画)、OpenAL, OpenXXといろいろなライブラリを統合しています。
これらのライブラリ群を使用することが可能です。なので、3D以外でも2Dなど、イメージとしてはUnityで実行できるようなことは大体できるということです。
そして、Javaで、できているので、ネットワーク通信などは得意分野になるのですがいろんな方面にて拡張する実装が可能です。
そして、LWJGLドキュメントがあるのでそれを学習するのも良いと思います。※英語なので日本語(Google翻訳)で学習しました。
合わせて、コードもあるので、それらをGitからPULLしてくると自分のPC上で実行することができます。下の動画は、それぞれプログラムを実行してみたものです。 ※パスの指定など多少コードを修正して実行しました。
LWJGLの内容について
大まかに、下のような感じで3Dモデルの操作ができます。
<環境構築>
<スカイボックス>
<間接描画>
新しいバージョンでのセットアップ
こちらのセットアップは、Maven, Gradleなどでサクッとできます。
上記のリンク先に細かいセットアップ方法を記載しています。
古いバージョンでのセットアップ
LWJGLを使うとこんな感じの処理ができます。文字が見切れていますが(笑)
Javaでのゲーム作成を行う為に「LWJGL」(フレームワーク)を使用して行う
LWJGLのインストール
このサイトからダウンロードする
・上記の様な画面(2018/05/05)で「Natives」の部分で使用しているOSと
あっているか確認
・Zipでダウンロードする(「Mode」の部分でZIPが選択されていること)
・緑色の「Download」ボタンをクリックしてダウンロード
・上のZIPファイルをEclipseなどのIDEから参照しやすい場所へ展開
セットアップ(Eclipse-Oxigenを使用した場合)
参照したサイト: http://wiki.lwjgl.org/wiki/Setting_Up_LWJGL_with_Eclipse.html
・Eclipseを起動し以下の手順でライブラリを作成する
※「LWJGL_LIB」はすでに作成済みのライブラリフォルダ(JARファイルを配置しているフォルダ)です。
1. 設定画面を開く(使用するプロジェクトを右クリック→Properties(設定))
2. 「New(新規)」を選択してライブラリ名を決める
3. 作成したライブラリに参照する「JARファイル」を追加する
右側にある「Edit(編集)」ボタンを押下
4. ダウンロードしてきたZIPファイルの中にある全てのJARファイル(*.jar)を選択
・読み込みの確認
以下のクラスを作成しアプリケーションを実行する
(1) クラスの作成、メインメソッドを実装する(クラスの作成方法はこちら)
import org.lwjgl.Version;
public class TestSetUp {
// 下のものがメインメソッド
public static void main(String[] args) {
System.out.println("LWJGJL Version = " + Version.getVersion());
}
}
クラスを作成したら、実行するときにVM引数に以下を追加
>-XstartOnFirstThread
(手順)
作成したクラスを右クリック→実行→実行構成
下の引数タブ(Arguments)のVM引数(VMarguments)に上の引数を入力して実行
実行結果が以下の様に表示されればOK
LWJGJLのバージョンが表示されます。参考にしたサイトでダウンロードした
ライブラリのバージョン名を表示しています。
(余談)
初めのプログラムで「Hello World」をやりましたが、これもやってることは
同じで、「Hello World」の代わりにバージョン名を表示しています。
関連ページ一覧
<Java Step1〜ミニゲーム作成>
- Java Hello World はじめのプログラム 〜 Step1-1〜
- Java 四則演算 演算子 〜Step1-2〜
- Java データ型 変数の扱い方〜Step1-2-1〜
- Java Basic Booleanなどの意味 〜Step1_2_2〜
- Java Basic for文 〜Step1_3_1〜
- Java Basic While文 〜 Step1_3_2〜
- Java Basic try catch文 〜Step1_3_3〜
- Java Basic クラスとは〜Step2_1〜
- Java Basic API Listの使い方 〜Step2_2〜
- Java Basic インターフェース 〜Step2_3 〜
- Java Basic ミニゲーム作成 〜Step3_1〜
- Java Basic ミニゲーム作成 〜Step3_2〜