Java ゲーム作成 〜LWJGLを学ぶ〜

イントロダクション

マインクラフトはJavaで出来ていることは多くの人が知っているかと思います。
実際にどんな風に作ってるの?という部分に足を踏み入れたいと思います。

LWJGLを学ぶ

GitからLWJGLのチュートリアルをクローン(ダウンロード)

上記のドキュメントのリポジトリにある1章(Chapter01)を参照すれば、サンプルを起動する方法がわかりす。筆者はMavenを使用して行いました。
詳細は、LWJGLの学習履歴をご覧ください。

LWJGLとは

マインクラフトよろしく、下のような3Dオブジェクトを表示したり、操作したりすることができる。いわゆるフレームワークです。
使用しているテクノロジーとしては、OpenGL、OpenALなどいろいろあります。ちょっと難しい感じの内容がありますが、表面部分であればそこまで難しくありませんでした。※サンプルを実行するだけですが。。。

下のような感じで操作ができます。その仕組みを学ぼうというところがこちらの記事にあります。


以下、古い情報です。

参考サイト: LWJGL3

上記のサイトを参考に写経しました。ソースはここからダウンロードできます。
※参考サイトからコピペもできます。初めのrun()のみ抜粋
TODOコメントをつけておくとIDE(Eclipseなど)でタスクの一覧を取得して
「あ〜直しておかないとな....」と気がつくことができる

/**
*  初期化処理<BR>
* ※間はよくわからなかったので TODOコメントをつけております。
* エラー時のコールバックのデフォルト設定<BR>
* GLFWの終了処理設定と自由呼び出しのコールバック関数指定
*/
public void run() {
   System.out.println("LWJGJL Version = " + Version.getVersion());
   // 初期化処理
   init();
   // TODO-[よくわかりませんでした。]
   loop();
   // TODO-[よくわかりませんでした。]
   // Free the window callbacks and destroy the window
   glfwFreeCallbacks(window);
   glfwDestroyWindow(window);
   // Terminate GLFW and free the error callback
   glfwTerminate();
   glfwSetErrorCallback(null).free();
}

とりあえず、参考サイトから写経しました。
実行結果は以下の通りです。
 ←バージョン名を表示しています。

とりあえずで表示しただけなので「おお〜起動したよ」ということ
以外に何もありませんが、まぁここから戦いの始まりということです(笑)

<JavaDoc:クラス(メソッド)の使い方が書いてあります>
ここのURLから参照できます。

<Wiki: ここにポイントとか色々と書いてあります>
WikiのURLはこちら

<DEMO: デモンストレーション>
Gitからソースをダウンロードしてビルド、Jarファイルを作成して実行

<その他: 実装中に困ったときに助かります。>
Memory FAQBindings FAQTroubleshooting

参考にしたチュートリアル

関連ページ一覧

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseCDTをインストール〜
  3. Setup OpenGL with JavaJOGLを使う準備 for Eclipse
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
  6. Eclipse SceneBuilderを追加する
  7. JavaFX SceneBuilder EclipseSceneBuilder連携~

Java Basic一覧

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜

Git関連

  1. Java Git clone in Eclipse 〜サンプルの取得〜
  2. Eclipse Gitリポジトリの取得 GitからソースをPullしよう〜
  3. IntelliJ IDEA GitGitリポジトリからクローン〜

JavaFX関連ページ

  1. Eclipse SceneBuilderを追加する
  2. JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~
  3. JavaFX SceneBuilder〜ボタンにメソッドを割り当てるワンポイント〜
  4. Java プロコンゲーム 〜見た目の作成(SceneBuilderの使用)〜

投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す