質問: Javaの勉強がてらゲームを作ろうと考えました。 目標は初期のドラクエやポケモンくらいのシンプルなRPGです。 処理自体はなんとなく浮かびますし難しくないだろうと思っていましたがUIやセーブ、プレイヤーの入力や画面の描画などゲームにありがちな処理で詰まってしまいました。 javaには、ゲーム制作にありがちな手間を減らしてくれるUnityのようなGUIベースでゲーム開発を支援してくれるようなソフトはないのでしょうか? ソフトを探す過程でゲーム向けのフレームワークなら存在すると知りましたがどれを使うべきかわかりません。 今は簡単なものを作る予定なので、何を使ってもやろうと思えばやれないことはないと思いますが、せっかくなので将来もっと複雑なゲームを作りたいと思った時にも役立つようなものを学びたいです。 最近のjavaのゲーム開発で使われているもの、有力なものがあれば、何がおすすめなのか特徴を教えてもらえると嬉しいです。 --- 追記 簡潔にjavaの勉強がてら、と書きましたがより正確に書くと、クラスや継承などのオブジェクト指向言語らしい手法について学びたいのです。 私が学びたい知識は大半のオブジェクト指向言語で学べることだとは思いますが、私の周囲ではjavaばかりが使われているので、普段使わない他の言語で学ぼうとは考えていません。 また、RPGを選んだのは敵、味方キャラ、技、アイテム、店など同種で処理の違うオブジェクトがあり、それぞれが保持するデータや処理もわかりやすいので、多態性や継承などを学ぶのに適していると考えたからです。 必ずしもRPGを作りたいわけではありませんが、継承なんて使わなくてもすぐ作れてしまう簡単すぎるプログラムや、何をクラスにすればいいのかわからないパズルゲームやノベルゲームは作りたくありません。 そのため、独自に作った処理部分はjavaで書いて、UIやセーブなどそれ以外のよくある要素は手軽に作れるのが理想的なのです。
回答: なかなか厳しい回答(アドバイス)来てますね。 JavaでUnityやRPGツクールのようなGUI(デザイナ機能)によるゲーム開発が行えるものって一般的なものがないんです。Javaという言語の背景からゲーム制作には使われてこなかったので、ゲーム分野では発展してこなかったんですよね。 とはいえ、AndroidはJavaで開発するのでゲーム機能向けのライブラリは存在します。 ・libGDX ・LWJGL libGDXは機能が網羅的で素性も良くお勧めです。 RPGを題材にしようという着眼点は求める知識に適していて良いですね。とはいえドラクエやポケモンのような感じのRPGは、動くところまで作ろうとすると体験された通りなんだかんだと面倒臭いことになります。オセロを作ったことがあるということなので、シミュレーションRPG(タクティカルRPG)にするのはどうでしょう。オセロ→将棋→シミュレーションRPGという感じでステップアップもし易く、求められている知識の要素も十分に盛り込め、ゲーム的な発展も見込めると思います。課題のセーブ関係もいくらか整理しやすいでしょう。 以下蛇足です。 お勧めしたlibGDXはIngressというスマホゲームで使われています。Ingressの開発元はNiantic, Inc.。この会社ってPokemon GOの開発元で元はGoogleなんですよね。libGDXはそんなライブラリです。 モチベーションがあるって素晴らしいことですよね。何かを学ぶにあたってせっかくならこれもって思うのって良いことだと思います。他人との差にはなりますし、いつ何時どんな知識・経験が求められたり役に立つかわからないですからね。 是非ゲーム作り上げてください。