Javaで作るスタンドアローンゲーム

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2012/12/27(木) 16:04:18.62ID:rl+qGRHn
スレタイはアプレットとの対比的な意味と考えてください。
Javaでのゲーム開発は賛否ありますが、国外では割と盛んになってきているように思います。
裏を返せば日本語だけでは情報が得辛い状況であり、寂しく開発してる人が多いのでは・・・。

関連スレ
JAVAアプリでゲーム
http://toro.2ch.net/test/read.cgi/gamedev/1033926010/


参考になりそうなサイト
・どのイメージタイプを使うべき?
http://weblogs.java.net/blog/chet/archive/2004/08/toolkitbuffered.html
・弱点と言われる?ベクタグラフィックス関連の改善
http://docs.oracle.com/javase/1.5.0/docs/guide/2d/flags.html
・大量のソースコードを公開して下さっている国内サイト
http://aidiary.hatenablog.com/entry/20040918/1251373370
・Java 2D games tutorial
http://zetcode.com/tutorials/javagamestutorial/
・出入りが最も盛んな?フォーラム
http://www.java-gaming.org/index.php
・スプライトシートの切り方等(国内)
http://sky.geocities.jp/kmaedam/java2/java2.htm

動画
3D Game Programming tutorial
http://www.youtube.com/watch?v=iH1xpfOBN6M
2013/04/02(火) 09:56:30.01ID:NVgqGr2P
>>205-209
なるほどありがとう
211名前は開発中のものです。
垢版 |
2013/04/15(月) 19:17:38.68ID:UO+MIpzy
組み込みスクリプトにサンドボックスを設定して
ユーザが安全にアドオンを作れるようにしたい
何か良いフレームワークはある?

参考
http://ja.softuses.com/15490
2013/04/15(月) 20:07:38.56ID:OCp/UaRz
lwjgl+slick2dほんとに英語しか資料がないからハードルめちゃ高い
日本語の情報なんか個人が作ったブログみたいなの頼りにするしかないもんな
書籍とかいいのあったら教えてほしいわ(日本語の)
2013/04/15(月) 21:18:59.55ID:81X1iHjQ
少なくとも書籍があるんなら見つけてると思うぞ。

ちょいと気になったんだけどJOGL、Java3D、lwjgl、slick2D、遊ぶ側の導入が楽なのはどれ?
全部楽だよってなら気にする必要はないけど地味に重要な気がする。
2013/04/15(月) 22:12:25.73ID:OxLvLhMT
遊ぶ側ならJVMさえインスコしてあればどれも同じじゃねーの
2013/04/16(火) 14:57:09.19ID:kYWnrLY4
slick2Dはlwjglのラッパーだからlwjgl同梱必須だよ
アプレットで動かさなければどれも同じ
2013/04/16(火) 18:28:14.08ID:cWQohAwT
もしかしてJVM+配布側の配慮で全部OKなのか。
2013/06/04(火) 20:52:20.90ID:4z/LrXQA
質問があります。よくゲームフィールドを定義するのに

private int[][] map = new [12][24];
のような二次元配列を用意し、

二つのfor文の中で
switch(map[j][i]) {
2013/06/04(火) 22:50:24.24ID:h/v7VZKU
}
2013/06/05(水) 00:24:25.51ID:JVViz8+I
おい
2013/06/05(水) 02:25:23.16ID:iKNZD4WR
質問
MouseMostionListenerのmouseDragged(MouseEvent e)に関して、
e.getX(), e.getY()で得られる値はどうやらドラッグ開始した地点の座標?
故にドラッグ中マウス移動しててもカレントのマウス座標が得られなくて困った

加えてドラッグ中はmouseMove(MouseEvent e)メソッドのほうのそれらも座標が更新されない(当然?)
e.getXOnScreen()なるメソッドはドラッグ中も更新されるのだけれど、スクリーン基準の座標はどうも扱いづらいしバグを生みそうでできれば避けたい
何か良い方法ないですかね?
221220
垢版 |
2013/06/09(日) 16:03:16.49ID:k71SnmVJ
Swingがシングルスレッドなのが原因かもしれない
ドラッグ中は処理が止まって離すときにそれぞれ更新される?
素直に自前でスレッド用意することにします
222176
垢版 |
2013/06/28(金) 12:42:09.96ID:U3hHRtQl!
うおぉ〜漸く球がキャラの向いている方へ発射されるようになった。
長かった。
2013/07/05(金) NY:AN:NY.ANID:p077YvOc
ボンバーマンの爆弾のアルゴリズムってどうすればわかりやすいですかね
爆弾を置くのはボンバーマンだから、ボタン押したときに
ボンバーマンが爆弾クラスをnewする設計でいいのかな
すると、Factoryパターン?

そんなことするより所持可能な最大ボム数(8だっけ?)を、
どのキャラも初めからnewしてリスト登録しておくべきか

・爆弾が時間に左右されること
・爆発の連鎖があること
・後から表示された爆発が先に爆発する可能性があること

この辺りがゲームプログラミング初心者の自分には難しいです
2013/07/05(金) NY:AN:NY.ANID:RaygrmWM
最初はメインプログラムに全て詰め込んで後々再利用出来そうな処理だけ他クラスで良いんじゃね
2013/07/11(木) NY:AN:NY.ANID:YrFP7L1n
>>130のサイトのマリオカート凄いな
自分の自作ゲームは数十倍もサイズがでかいのに何百倍もクオリティが低くて少し凹む
2013/07/14(日) NY:AN:NY.ANID:xl2VX9QI
かいじょかいじょ
2013/07/14(日) NY:AN:NY.ANID:xl2VX9QI
おお〜やっと規制解除された!
228名前は開発中のものです。
垢版 |
2013/08/06(火) NY:AN:NY.ANID:tPkwuHiT
oggをツクールみたいにループ再生したいんだけど、コメントをどうやって取得すればいいのかわからん
2013/08/16(金) NY:AN:NY.ANID:w8E+MSLB
よかったじゃん
2013/08/24(土) NY:AN:NY.ANID:+f+kX8MI
jnlp を置いたディレクトリの絶対パスが日本語文字を含んでいたら動作しなかった
なんてこった。配布するとき困る
2013/09/14(土) 14:10:40.99ID:cy1XSJ6p
drawImage とかで指定する ImageObserver って何の意味がありますか?
自分いつも null にしてます。というか this とか指定すると変になりました
2013/09/14(土) 15:16:45.85ID:cy1XSJ6p
AffineTransform で混乱する…
「座標系」を変換するのか、「座標」を変換するのか
右手系なのか、左手系なのか
どうもはっきりしない
2013/09/14(土) 15:38:41.06ID:zONL1qkf
通常nullだってどっかで読んだ
多分非同期読み込みとかに使うんじゃない
2013/09/14(土) 18:11:37.03ID:cy1XSJ6p
>>233
サンクス。null で良かったか
2013/09/14(土) 19:31:47.44ID:GBbBS2U3
Image をネットワークから読み込んでいる場合、まだダウンロードが完了しておらず、画像を表示できない場合がある
そのような場合に ImageObserver を指定しておくと、読み込みが完了したタイミングを知ることができる
そのタイミングで、例えば、読み込み完了した画像を改めて表示し直すことができる
闇雲に this を指定すれば何か役に立つというわけではない
2013/09/14(土) 22:22:34.81ID:cy1XSJ6p
>>235
なるほどっす。
Swingのイベントディスパッチスレッドから呼び出されるわけじゃないのかな?
Swingコンポーネント上でImage使ってる時は注意が必要かも
2013/09/15(日) 20:30:00.65ID:cXwe4017
GCが動いてゲームループがトマトになる現象を防げるか…?

オプション: -XX:MaxGCPauseMillis=200

Sets a target value for desired maximum pause time. The default value is 200 milliseconds.

参照:
http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html
2013/09/19(木) 14:57:32.91ID:teJIpav3
.classファイルをバイナリエディタで見ると、先頭に

cafe babe

っていうマジックナンバーが見える。凝ってるな
2013/09/27(金) 00:44:08.10ID:FOeLnzNv
>>238
あー
よく知らないが、Java開発者達の近所にあった喫茶店だそうだ。
2013/09/28(土) 02:14:26.45ID:1G2ugWm1
javaがコーヒーブランド、cafeはコーヒー、+babeって説が一般的だけど諸説あるな。
babeってマジックナンバーは昔はたまに使ってたし。
2013/09/29(日) 17:08:46.52ID:kgbSHSbg
javaでゲームって「now loading」のどさくさで(full)GC強制したくならない?
2013/10/09(水) 22:56:30.33ID:JeIpUTuA
ざっとぐぐったらfullGCが呼ばれる処理を呼びだすことで間接的に可能っぽいねぇ

ここスタンドアローンってスレタイにあるけど
gcjに関する情報とかないでしょうか?

ゲームでgcj使ってる情報が少なくて、ライブラリ関係をどう扱えば良いのかがわからない・・・
特にライセンスがなんともよくわからない
2013/10/10(木) 01:21:00.33ID:rWd2dlNb
>>242
ライセンスはクラスパス例外のないGPLだから成果物もGPLになる。
ライブラリのリンクは元がnativeだとgcjが対応してない部分はリンクに失敗する。
これだけじゃん。いまでもwin用にはクロスコンパイルが必要かは知らん。

それよりgcjがAOTコンパイルしたバイナリよりjavaのJITコンパイルの方が早いからゲームには使いどころないと思うよ。
2013/10/24(木) 17:20:16.75ID:BIU10uO4
>>243
亀だけどありがとう、JITってそこまで進化してたんですね
2013/10/24(木) 23:21:24.86ID:HkVOqNBP
javaのJITコンパイラはキャッシュミスして脱最適化しても次の直近のタイミングで
別の最適化されてまたキャッシュされたりするしコンパイル時間かけてでも効率重視だから結構速いよ。
GCとかヒープのデカさが超ネックになってるから全体ではチューニングせんとパフォーマンスでないけど。
2013/11/02(土) 21:57:26.98ID:wzULkq5O
Javaっておいしい?
2013/11/03(日) 08:19:18.45ID:h3H0javF
初恋の味
2013/12/08(日) 20:51:14.66ID:K3VE5nXT
テトリス+ぷよぷよ作ったよ

http://kie.nu/1x45
249名前は開発中のものです。
垢版 |
2013/12/08(日) 20:52:04.42ID:K3VE5nXT
あげ
2013/12/21(土) 23:50:19.82ID:iQvUwIgS
Slickライブラリでゲームを作ってますが、
どこか参考になるページなどありますか?
ライブラリやyoutubeのチュートリアルを見て実際に動かしていますが、
使い方がイマイチわかりません。
2013/12/23(月) 02:52:57.10ID:o56P3+7D
サンプルコードが入ってるだろ
javadocとそれで分からないことだったら外人に聞いたほうが早いよ
2013/12/26(木) 00:14:49.70ID:dQLQT8i8
>>206
JOGLでゲーム作ろうとしている俺涙目
253名前は開発中のものです。
垢版 |
2013/12/26(木) 00:33:50.91ID:Vr4Op8xr
>>252
Minecraftでもやって自信出せ
Javaでも十分3Dゲームは作れるよ

ただ、やっぱりJavaでゲームっていうのはPC向けオンリーになっちゃうけどな
だけど任天堂とかPS、XboxがJavaVMのせてくれたら最強言語はJavaになると思うけどね俺は
2013/12/26(木) 02:49:04.09ID:ERqude5/
2Dゲーム製作の勉強がてらにJavaでゲーム作ってるけど
CPUがAMDのE-300で非力マシンなのに60フレームで640*480をヌルヌル描画出来て凄いわ。
これだけパフォーマンスあれば80〜90年代の2Dアーケード程度のゲームは
企画力とゲームデザイン能力があれば楽勝で作れそうだ。
ちなみに今のところゲーム用フレームワークは使わずに自力で擬似スプライトとか
衝突判定機能を作ってる。
ゲームパッドはフリーウェアさんが作った物で普通に使えてる。
とりあえずJavaで1本完成したらPlayStationMobileかiPadとかに移植しようと思う。
2013/12/26(木) 02:54:26.64ID:dQLQT8i8
>>254
2Dゲームを作るには、純正Swingだけでもかなり使いやすいよね
困るのは加算半透明が難しいことくらいか
2013/12/26(木) 17:13:59.78ID:fCfxjEwL
Swingはキーボードのボタン全部取れないのが嫌だわ
なんかいい方法ある?
2013/12/26(木) 20:09:22.25ID:IHbxv94i
なんでみんなSwing使うんだ
AWTだけじゃいかんの?
2013/12/26(木) 20:18:57.03ID:yA5nEDHu
>>250
Slickってまだサポートされてる感じですか?
>>254見て思ったんだけど、Javaでゲームパッド入力取りたいときって
Slickみたいなの使うのがラクかな?

>>257
AWTわからないんだけど、GUI使わずにJava2Dで描画するだけなら
AWTもSwingも一緒なんですかね?

あと、J「avaFXならJava2Dと違って描画にネイティブな機能使ってる」ってどこかで見たんだけど
Java2DのGraphicsクラスなんかもネイティブの機能使ってるんだよね?
2013/12/26(木) 21:00:03.90ID:fCfxjEwL
>>258
>パッド
たしかslickが内部で使ってるDirectInputのラッパー
row_input(だっけ)を使うかもっと高水準のライブラリを拾って来たいところ。

>AWT/Swing
ネイティブって普通はJNAで実装してるのかって意味になると思うが
エスパーするとDirect3D/OpenGLだよね?

Direct3D/OpenGLでは三角ポリゴンのテクスチャしか描画できない。
なのにJava/Graphics2Dで自由に図形描いたりできるということは
ソフトウェアレンダリングしてるから。

だから同じようにDirect3Dを内部で使っても
例えばDXライブラリとかより圧倒的に遅いんじゃないかな。
2013/12/26(木) 21:08:06.74ID:cBobrvWL
クリックして進めるゲームはGUI使うもんだよね?
でもGUI途中で追加したりするのが難しいからマウスの反応拾ってやるべきなのかなあ
2013/12/26(木) 22:15:54.82ID:fCfxjEwL
例えばslickのフォーラムで見かけた話題だと、
「slickとswing GUIを組み合わせられるのか」という質問に対して
「簡単にできるけどswingの遅い描画と歩調を合わせてOpenGLが描画するから
OpenGLの速度がでなくなる。非推奨だよ」という回答があった。

一応slickにはOpenGLを使った自作ボタンを作る仕組みがあるのだが
JScrollPaneのOpenGL版などは用意されておらず、UI作るのは面倒。

そういったことがあるから、俺は結局swingだけでしょぼいゲーム作ってる。
2013/12/26(木) 23:44:15.36ID:Ct7GHZvi
TWL - Themable Widget Library
http://twl.l33tlabs.org/

こんなんあるけどどうよ
2013/12/27(金) 00:42:06.83ID:xQKugg9x
そういや、JOGL使ってるとウインドウサイズを激しく動かした時とかにinitが呼ばれてしまうんだが、
そういうときってVRAMが初期化されるんだろうか。

VBO登録しなおしはともかくとして、シェーダーのコンパイルとかもやり直しになるのはけっこうストレスになるなあ…
2013/12/27(金) 02:02:34.89ID:RcX+Zbl3
なにそれDirect3D9/OpenGLでいうデバイスロストなら
フルスクリーン・ウィンドウモードの変更で起きるかもしれんが
Javaのせいじゃないぞ。
2013/12/27(金) 05:17:41.48ID:P+1BALO6
>>258
ゲームパッドは
ttp://www.ayamenet.com/app/index.html
の人が作られたJInputというのを利用してますが
サンプルもあるので簡単に組み込めてイベント取得も簡単でした。

今日の作業でフルスクリーンで動かした時に処理に余裕があるのに
画面のコマ落ちが酷かったのが疑問だったけど、
DisplayModeのリフレッシュレートをDisplayMode.REFRESH_RATE_UNKNOWN
にしてたのが悪かったようだ、60にしたら
ヌルヌル動く様になった。
266258
垢版 |
2013/12/27(金) 12:06:33.28ID:x+/UZ836
>>259 >>265
ありがとう〜。
ドキュメント読んでみます。
2013/12/27(金) 17:00:30.44ID:iL78j3sI
JInputって同名の海外のもあるよね
そっちはWindows以外にも対応してる
2013/12/28(土) 14:10:21.89ID:os0Do0OO
>>253
>任天堂とかPS、XboxがJavaVMのせてくれたら最強言語はJavaになると思うけどね俺は
Unity経由でC#がそれに近くなるのはありそう
2014/01/01(水) 00:57:35.76ID:bSKouUWX
Javaは実用性が高くてフリーのネイティブコンパイラがあると相当に使いやすくなるんだけどね。
GCJだとまだ完成度に難があるし、完成度が結構高いExcelsiorJETは、ホビープログラマが個人で買うような値段じゃない。
2014/01/01(水) 22:00:44.61ID:bSKouUWX
ん、ノートPCのIntel HDG4000だと、GLSLでウィンドウの大きさが変わったreshape()の時に
VRAMが破壊されているにも関わらずinit()を呼んでくれないみたい。

IntelはOpenGL対応が弱いと言われてるけど、これはOpenGL対応の問題なのかGLSLとの相性なのか良く分からんな…
2014/01/01(水) 23:33:21.62ID:TDYNLr8C
直にOpenGL書いてる?

SlickとかEasyWayで適当にウィンドウとスプライト貼って試してみたら?
それでOpenGLの使い方が間違っているのかハードウェアやランタイムの問題か
わかるでしょ。
http://www.jroller.com/bantunes/entry/java_game_engines_and_frameworks
2014/01/01(水) 23:52:05.83ID:bSKouUWX
>>271
昔GL2で書いたコードを動かしたら普通に動いたので、GL3以降を使うと問題があるっぽい様子…
というかシェーダー関係なのかなあ…

自宅のGF560では問題なく動いてたコードなんで、ちょっと悩んでる。
帰省中に最近のOpenGLを勉強しようと思ったら、思わぬところでよく分からん事象に遭遇した。
2014/01/03(金) 23:20:28.78ID:1Q3FtKvn
そもそもopenglのポーティングは何使ってんの?
274270
垢版 |
2014/01/04(土) 00:05:52.26ID:ZD/ROmwt
>>272
JOGLです。
>>270でGLSLって書いてるのはJOGLって書こうと思って脳と指がずれてた。

ウェブ情報を参考にVAOを使ったサンプルコードを作ってみたんだけど、
最初の一回は正常に描画できて、2回目以降の描画ではプリミティブが描画されず、
背景色で塗りつぶされてしまう。
VAOを使わないでVBOで描画すると問題ない様子。
2014/01/04(土) 01:52:37.37ID:4Kus4sgx
関係有るかわからないけどJOGLはバージョン変わるたびに激変してるからwebの情報は古いよ。
自分で変更点追うしかない。
276270
垢版 |
2014/01/04(土) 22:43:55.31ID:ZD/ROmwt
原因が分かったので報告。
VAOを使って描画した後、
glBindVertexArray(0)
を呼んでバインドを外してなかった。

GPUによって、それでも動作する場合と動作がおかしくなってしまう場合があるみたい。
2014/01/05(日) 17:57:44.52ID:Mpn6RVWq
オブジェクト化されたOpenGL APIの規格ができるとゲーム作りなんかは随分楽になりそうだが、
そういうのはもっと上位のフレームワークでやれってスタンスなんだろうな
2014/01/05(日) 18:15:21.07ID:cB3+M9N2
インスタンスつくってメソッド呼んでーって感じにしたらってこと?
2014/01/05(日) 18:33:29.28ID:Mpn6RVWq
>>278
そうそう、VAOとかVBOとかがオブジェクトになる感じ
2014/01/05(日) 18:45:24.60ID:cB3+M9N2
>>279
確かに便利だけどそれやると言語によってはAPIにアクセスできなくなってしまうよ
2014/01/05(日) 19:01:50.30ID:Mpn6RVWq
>>280
理想は、C言語(またはもっと低級な言語)を前提としたOpenGLと
JavaやC#やJavascripstを前提にしたOpenGL++の二本立てになるとありがたい
WindowsAPIとかもそんな感じになってなかったっけ?

とはいえ、Cからドライバにアクセスするための関数は容易に作れるけど、
オブジェクト指向言語のAPIとなるとそうはいかんからなあ…
2014/01/05(日) 19:12:09.46ID:cB3+M9N2
>>281
WindowsAPIはよく知らないけど違う気がする
.Netのことかな?

独自に「オブジェクト化」を試みてるプロジェクトならいくつかあるみたいだよ
自分が知ってるのだとOGLplusとか
2014/01/05(日) 23:01:14.37ID:xXQO5mvS
JavaFXでUSBゲームパッドの入力取りたくて、今JInputの>>267の方の海外版を
試してみてるんだけどやっぱ日本語情報ってないよね?
更新もかなり頻繁だし、フォーラムも賑わってるのに公式の
Getting Startedが2007年だからなんとも不安
2014/01/09(木) 02:04:38.73ID:X+lgFy1k
>>283
キーボードやマウスはもっと前から安定しているだろうし、
DirectX(Input)は8で更新終了。XBOX(XInput)に対応しなければ
更新する必要もないんじゃない?
2014/01/11(土) 23:48:00.80ID:xr3zgGUx
>>284
なるほど〜、サンクス


Slick使ってると、Ubuntuで実行したとき書き込み可能テクスチャいじってるとXlib関係のエラーが出て、
内容としては、Xシステムに複数のスレッドからアクセスすんな!みたいなのなんだけど、
mainだけのシングルスレッドで試しても起きるんだよね・・・。似たような経験した人いますか?

いろいろ試した感じだと、テクスチャの解放が終わらない内に次のテクスチャ生成すると起きるんだけど、
ライブラリ側でそういう風に出来てる以上、Sleep挟むくらいしか対処法ないのかな?
2014/01/12(日) 19:57:33.93ID:XBDcFGBU
いってる意味分からん

Texture.release()を呼んでも直ちに開放されないってこと?
2014/01/17(金) 23:03:46.53ID:Wfv0W6gk
>>286
意味というか自分も原因がよくわかってないですね・・・
普通に使っててエラーが出るといいますか、Windowsだとエラーにならないのですが
2014/01/21(火) 13:21:22.15ID:HN69Ellt
前からちょくちょくlinuxでopenGLの挙動がおかしいとか書いてる人?
そんなことばかりしてたら何も作れず時間ばかり無駄にしてしまうぞ
2014/01/22(水) 02:34:00.21ID:4/7cpvbC
それでなくても最近のOpenGLは難しいしな。
「久しぶりにゲームとか作りたいなあ。やっぱり漢ならエンジンから自作だぜ!」
と調子に乗ってたら、フォンシェーディングされた三角形をくるくる回すだけで2週間かかったぜ…

glBeginってなんだかんだで便利だったんだな
2014/01/22(水) 18:40:13.65ID:wHmsrBK5
矢印キーの押下状態を使いたいのですが
キーが離されたときには必ず key released イベントが発行されると考えて大丈夫でしょうか?

例えば処理がビジーになってるときでも、イベントが取りこぼされたりスキップされたり
しないで、遅れてでも必ずイベントハンドラを呼んでもらえると保証しても大丈夫でしょうか?

キーを離しているのに押しっぱなしと認識されてしまうと困るので
お願いします
2014/01/22(水) 19:25:26.73ID:Oq+LUbbM
処理がビジーなら何を使うにしてもイベントは取りこぼすだろ
そんなことより、そんなにkeyreleasedの取りこぼしが気になるなら「keydownが連続で2回発生したらどうするか」という考え方で対処したほうが無難
2014/01/23(木) 00:40:49.49ID:zd7YqPgB
うう、そうか…キューにためておいてくれて必ずイベント発生してくれると期待していた

コードは
boolean up, down, left. right;

if( ↑キー押下 ) up = true;
if( ↑キー離す ) up = false;
なので、
key release を取りこぼした時点で失敗していて、
後から key down が2回発生したことを検出しても時すでに遅しなんです
2014/01/23(木) 00:53:30.22ID:hfja1pt3
あれ、キューに溜まらないんだっけ?
特に意識してなかったけどなんか不安になったからウインドウのフォーカス判定見直しておこう
2014/01/23(木) 01:01:38.27ID:y0vYWKn+
なんの話だろう?swingからdirect inputしかわからんが、
全てのキーの状態を毎フレーム取得して、前回と今回のデータから
判断するのが基本だよ

swingのKeyListenerはそのへん致命的やな
2014/02/12(水) 01:02:51.34ID:9PrO8hR2
Slick2D使ってちょっとしたゲーム作ってる
2014/02/14(金) 00:35:12.81ID:RASlhvE9
Javaの場合、2DならSwing直叩きでもどうにかなるような気がするけど、Slickって効率よくなるのかな?
Swingでも、加算半透明がない以外は2Dゲームを作るのに必要な機能は一通り揃ってる気がする。
2014/02/14(金) 00:43:22.41ID:mTpNkZDO
Slickは音声の再生とか当たり判定?の機能が結構あったから、そういう部分を最初から作らなくて済むという点ではいいんじゃないかと思う。
でも日本語表示が面倒なうえに遅い。
2014/02/15(土) 17:49:18.48ID:XLIWRIqh
>>297
まず、ビルボードフォントのロードが遅いのはしかたないよ。
それはロード画面でも作るしかない。

ただし、UnicodeFontでaddGlyphAscii()で半角英数全部読み込み、
addGlyph(unicode_start, unicode_end()で日本語数千文字全部読み込みは
やめたほうが良い。ロード重くてVRAM消費大きいのは当然。
使う文字だけaddGlyph(String text)ならOK。
でもチャットとか使う文字コード不明だと一工夫必要だな。

ただslickのばあい、"あいうえお"なら、
"あ","い","う","え","お"でそれぞれ別のテクスチャとして
生成or描画してる感はある。

slickのコードを参考にオレオレライブラリつくるべく、
OpenGLを少し勉強中だぜ^^
2014/02/16(日) 14:14:02.89ID:alwCO1iA
ゲーム作るときによく思うんだが、Javaは行列とかベクトルを標準ライブラリでサポートしてもいいんじゃないか?
自前で実装するとjavaコードでループ回して計算させることになるけど、
標準ライブラリに入っていれば、そこはベクトル化してSSEを使うとかの小細工が出来るだろうし。
2014/02/16(日) 16:34:35.48ID:xrpwGl5O
>>299
完全に同意。
行列ライブラリは、自作しようにもJavaだとジェネリクスがただの型安全のための機能だから
C++みたいに使いやすくてカッコいいライブラリつくれないんだよね

拡張性と再利用性考慮してインターフェース駆使するとパフォーマンスゴミになるし、
かと言ってvecmathみたいに全部のプリミティブ型別で書いていくと面倒臭すぎる(double限定にしても良いかも知れないけど)
この部分の解決のためだけにScalaを使ってみようかなと思ってしまうほど


ただ、最近だとJVMが賢くなってプリミティブラッパ型で計算しまくっても
さほど遅くならないらしいね
2014/02/27(木) 00:55:40.21ID:Z09ptZ8a
>>299
普通にあるんじゃね?
おれJavaでシステム構築ばっかりしてる会社で7年ぐらい働いてるけどいまだに標準の中にも新発見のライブラリがゴマンとあるから
2014/02/27(木) 23:04:33.97ID:yUehUjJD
>>299-301

行列とかベクトルって,3Dの?
俺はJava3D使ってるけど,インストールする(してもらう)の多少面倒だから,
確かに標準にあって欲しいねぇ.
# 標準だとLine2DやPoint2Dがあるくらいだよなぁ.
# Vectorはこの場合は違うものだし.
2014/02/27(木) 23:10:39.87ID:IrJ/L48F
>>302
Java3Dは俺も最初使ってみたけど、シーングラフを自由に変更したり
描画のタイミングを自由に決めたりしたかったんで、結局自前で実装することにした。
2014/02/28(金) 15:32:00.06ID:0rEIeBjK
気になったんですが、
Javaでパソコンで動くスタンドアローンゲーム作るとしたら、
配布はjar形式でJVMにマウントしてもらうってことですか?
その場合、やはりプログラムコードの暗号化は諦めてるんでしょうか?
2014/02/28(金) 16:54:12.60ID:piLveIui
埋め込まれたクラス名や関数名から
容易にリバースされてしまうのの対策としては
難読化ツールを使うかもしれないが

難読化したバイトコードから読み取れるほど
スキルのある人に対しては自分は対策は諦めるな
2014/02/28(金) 21:41:33.68ID:0rEIeBjK
>>305
ありがとうございます
ProGuardですかね、調べておきます
2014/03/02(日) 16:49:33.89ID:4Ufi5mJP
パッケージ名に使えるドメイン名を取得したいのですが何か方法はありますか?

Package BOF というのはあるんですが、もうサークル向け用に1つ取得してしまって
一人につき1つなので自分個人用のはもう取得できません

サーバ会社に申し込んでドメイン名を買うのもアリですが
毎年維持費がかかってしまうし、もし失効したときに
配布してしまったアプリをどうすればよいか分からないので困ります

できれば低コストでほぼ永続的にドメイン名を使わせてもらえる方法ないでしょうか?
2014/03/02(日) 17:32:49.38ID:eSGAMgB8
>>307
サークル用と個人用は完全に関連性を匂わせたくないってことでしょうか?
匂わせてもいいならサークル用に取得したドメイン以下で自ら割り振れば良いと思いますが

しかし、あのサービスってサークル用と個人用を別々に登録するのってダメなんでしょうかね?
よほど悪意のある登録の仕方(複数組織を名乗って片っ端から登録しまくるなど)をしない限り
違反だと言われることはないんじゃないかなぁとか、甘いこと考えていたのですが・・・
2014/03/02(日) 20:17:31.47ID:4Ufi5mJP
>>308

確かにゆるい感じしますね
自分はいちおう規約まもっとこうかなと思っただけです

家族はたぶんこれからもプログラミングと縁はなさそうなので
家族に頼んで取得してもらうって使わせてもらうことにしました
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況