1 :
名前は開発中のものです。 :
2008/10/28(火) 18:23:40 ID:2CMNNHdH Javaでゲームを作ろうと思っている人、今作っている人等が情報交換するためのスレです。 2Dのスレはありましたが、総合スレがなかったので立てました。 2D,3DどっちでもOKで、グラフィックス、アルゴリズム、お勧めサイト等、内容も自由です。
関連リンクも張らない、自分では情報を一つも出さない、 ただ思いつきでスレを立てて、誰かが何とかしてくれるのを口をあけて待っているだけ。 お前、馬鹿とか無能以前に、ただのクズだよ。
3 :
名前は開発中のものです。 :2008/10/28(火) 20:16:30 ID:z9USsX4F
本日の糞スレ記念age
クソスレ祭りまだやってたのか
5 :
名前は開発中のものです。 :2008/10/28(火) 20:30:14 ID:5Y7cky76
昔作った人は参加しちゃだめ?
7 :
名前は開発中のものです。 :2008/10/28(火) 21:20:02 ID:5Y7cky76
8 :
テンプレ候補 :2008/10/29(水) 12:42:15 ID:ASEfFCla
9 :
テンプレ候補 :2008/10/29(水) 12:47:13 ID:ASEfFCla
10 :
テンプレ候補 :2008/10/29(水) 12:53:42 ID:ASEfFCla
それくらいのサイトならjavaでゲーム作ってる奴らは知ってると思うんだが。 JMEくらい出そうぜ
12 :
名前は開発中のものです。 :2008/10/30(木) 10:51:37 ID:ODSXqTQG
Java 3D Scene Graph Editor使ってる人いる? 使い心地どうか教えて。
13 :
名前は開発中のものです。 :2008/10/30(木) 15:16:46 ID:/1mE+/on
Javaで3Dゲーム作るときって地道にグラフィックのコードを書くものなのか?
ゲームに限らずどんなソフトを作るときも地道にコードを書くものだと思うよ俺は
でもグラフィックスのために長時間費やすのは無駄だと思う。 むしろアルゴリズムに集中したい。 グラフィックスをグラフィカルに作成できるツールがあれば便利
作れば?
17 :
名前は開発中のものです。 :2008/10/31(金) 14:15:36 ID:9UPWgN3B
18 :
名前は開発中のものです。 :2008/11/02(日) 10:49:52 ID:V5XVDpwr
あげ
19 :
名前は開発中のものです。 :2008/11/03(月) 13:29:43 ID:l3Pk1BnL
人来ないね
>>15 意図がわからない。Java以外だとどういうのをイメージしてる?
JOGLで解決できるレイヤー?
BlenderのゲームエンジンやQuakeエンジンのようなもっと高位の話?
グラフィカルってKlik & Playのようなのの話じゃないよな?
>>20 ラクガキ王国の自由度が高い版みたいなものだと解釈したが。
iアプリでゲーム作ってる人も語れる場所?
DoJaやMIDP依存の話題なら専用スレがある そうじゃなくてJava依存の箇所ならぜひ
25 :
名前は開発中のものです。 :2008/11/06(木) 11:45:02 ID:Xo+A3ROE
前はJavaスレあったけど落ちたのか
26 :
名前は開発中のものです。 :2008/11/11(火) 07:41:47 ID:H3hp5eDC
保守
おお!! スレが復活してる 速度早いかなとおもってwxWidgets使ってC++で書こうと思ったけど コード補完のひどさに挫折した。 やっぱりJavaがいいよ
JacaFXがどうなるのか楽しみ
JavaFXの間違い
>>31 大丈夫
君がいる
ゲーム完成したらここにあげてくれ
>>31 見た感じでは、そこまで大した事はやってないとおもうけどねぇ。
(java3D関連とかがどの程度の事までやれるのか?
高速化や安定化とかどのくらいやってるのか?まではわからんけど。)
ある程度、普通のプログラムが組めれば時間さえあれば作れると思う。
頑張って!!
あと、今はWindows用だとexeファイルに固められるのがあるから、
外見的に、ふつうのexeだけど、実はJavaで作られたのもそこそこあるよ。
その反面 Net上では・ブラウザ上では、Flash勢力にガツガツにやられてる感は否めないが。
Java6Update10でアプレットが強化されてるんだよな。 全然やってみてないけど、デスクトップにドロップできるってすごくないか? やっとAdobeAIRに追いついたって感じだけど。 (WebStartがあるジャンってはなしもあるけどな。)
JREでググルと公式にインストーラがあるけど、 コントロールパネルからは更新できないみたいだ
36 :
名前は開発中のものです。 :2008/11/22(土) 16:49:55 ID:PjNzdQZS
据え置きのコンスーマーゲームでJAVAで動いてるのって どういったのがあるの?
>>36 正直、コンシューマーで据え置きだとJava使うメリットなさすぎるからなぁ。
ケータイ(電話)ならそれこそ活躍の場だけど、
据え置き機はPS2の時代ですら、アセンブリ言語で最適化!もやる人が残ってるから
Javaみたいなまどろっこしい事やってると、それだけでハード内競争に負けてしまうし。
>>36 PS3のBlueJで何かやってみた、って話を数ヶ月前に見た記憶が……
さらにいうとJVMやランタイム移植せんといかんし。 PPCやMIPSつってもハードやOSは独自だしな。
>>33 Java3D使ってないでしょ。
Java3Dってプラグインが必要だから、大概の環境で動かないし。
ゲーム用途ならどう考えてもJOGLだしな
描画面積が小さけりゃソフトウェアレンダでも
>>41 Jake2が出た時は衝撃だったしな。
「ああ、Javaはここまでできるのか」というショックを受けた。
44 :
名前は開発中のものです。 :2008/11/24(月) 22:14:15 ID:ZGgbgOOt
>>40 というか、Java3Dはフレーム単位で絵を制御したい時には不向きじゃないかと。
自分もJavaゲームの素材として当初Java3Dを考えてたけど、Joglに移行した。
>>33 exe化したjarって、実行速度は大丈夫なの?
実行速度より起動速度が気になるけど、どうなんだろう アマチュアが作る小規模なゲームだと特に
jarの中に必要なものを詰めて、 java3dアプリケーションをjar単体で実行することってできるの?
>>46 Javaはupdate10で起動速度が大幅に上昇したよ
まじで0.1秒もあれば起動する
そのあとはアプリ次第
みんなどんなゲーム作ってるの?
50 :
35 :2008/11/26(水) 02:22:36 ID:CQXWAXH0
>>48 今更新の確認したらアップデートできた!ついに来たって感じ。
アプレットの初回起動が2秒くらいになってたよ、これは凄いね。
JREのインストール先がjre1.6.0_10ではなくjre6になってるのが気になる。
>>49 夏に頓挫してから何も作ってないorz
JMonkeyEngineは何ができるのですか? 何をダウンロードすればいいのですか? 説明書やチュートリアルはどこですか? 1.0と2.0があるみたいですけど、どちらを使うべきですか? そもそも、どこでダウンロードして、何にパスを通せばいいですか? 超大作ゲーム製作予定の私を助けてください
JMonkeyEngineってなんですか?
>>53 ええっとですね
Javaでゲーム作るためのフレームワークみたいです
3D関連の便利なAPIがたくさんあるみたいです
自分は2Dのゲーム作る予定なのですが、ゲームループとかもカバーしてくれてるみたいなので、使ってみたいです
よろしくお願いいたします
55 :
名前は開発中のものです。 :2008/11/27(木) 21:11:39 ID:a79LzXqC
みんなうまいなぁw
>>54 とりあえず英語の勉強をはじめるしかないんじゃないか?
>>54 必須じゃないんだからまず普通に自分で一から作ってみたら?
Javaでのゲーム開発はセットアップも簡単なんだし
58 :
名前は開発中のものです。 :2008/11/30(日) 00:28:31 ID:SB7IJQ5W
2Dゲームに関しては、Swingの標準機能だけでもけっこういけそうだもんなあ。 ただ、VSync同期をやろうとするとけっこう面倒なのと、入力デバイスがキーボードに限定されるのが 問題と言えば問題かもしれない。
垂直同期はフルスクリーン時しかうごかないからね。でもそれでいいと思う。ウインドウ時はタイマー管理で。 ジョイスティックはJNIでいいじゃない。 事実上クライアントの大半はWindowsだけなんだからWin32APIで10行程度記述すればよい。 この程度だとDirectInputだと行数が増えるので無理にDirectInputをやらなくてよい。 同時にジョイスティックを3本以上扱いたいというのなら必要だけど、あんまりそういうのはないだろうし。 一番いいのは標準サポートなんだけどね。
ハードに差がないというJavaの性質上、ジョイスティックみたいなデバイスは統一が取れないんだろうか
>>60 やってできなくはないだろうけど、需要がどれほどあるかじゃないか?
ウィンドウシステムもファイルシステムも違うけど抽象化してるじゃん。 joglがやってるように対応OS毎にJNI用意すりゃあいいよね。 JCP検索してみたんだがJava3D 1.3とJava Joystickで頑張れってことなのか?
javaの方針だと一般的な入力デバイス以外(ジョイスティックとか障害者用デバイス)は自力でサポートしてね。 あくまでも一般的なものしかサポートしないよって方針だったはず。
簡単なゲームを一から作るというと、どのデモが勉強になりますか?
>>64 本家のデモだけでも、経験があれば十分すぎると思う。
何気に、input系(Joystick等はともかく....)output系(簡単な画像処理とか文字表示)も
ちゃんと分かりやすくできてるし。
それ以外にも、Java2Dのsampleとかも備わってるし、自分のやりたいことをしっかり纏めて置いて、
サンプルとチュートリアルを読みながら適当に実装してけば、
簡単な(ミニシューティング・オセロ・テトリスe.t.c.)のは楽に作れると思うぞ。
(Program自体初心者なら、しっかり勉強してから頑張ってね。)
オセロ・テトリス・アルカノイド・シューティング(自機が全方位移動可能)の順がよさそうです。 数学は結構得意なんですけど、3Dだと何から手をつければいいんでしょうか。 それと本家ってのはsunにあるjava2dのサイトのことですか?
標準機能で2Dゲーム作ろうとすると、画面効果で困るのは加算半透明かなあ… JavaAPIに標準で存在しない割に、ゲームではよく使う効果だし。 あと、Swingで半透明使うとハードアクセラレート効かないのかな? かなり極端に遅くなる気がする。
JOGL使うとRhinoでパーティクルエンジン実装しても60fps余裕だった
>>66 オセロはAIが面倒じゃない?
パズルの方が楽な気がする
73 :
名前は開発中のものです。 :2008/12/03(水) 14:50:00 ID:0FMK4MjJ
>>69 技術的にはそんなに難しい話でもないと思うんだが、まだ実装されないと言うことは
需要が無いんだろうな……
「加算合成どうする?」
「いや、そこまで求めるユーザはJOGL使うだろ」
「まあ、それもそうか」
みたいな感じになってそうな気もする。
76 :
名前は開発中のものです。 :2008/12/03(水) 21:32:15 ID:+SBvcgxj
javaで大富豪ゲームを作成したいのですがまったくの初心者なので参考にしたいのですが、どこかにプログラムありますか??検索したけど見つからなかったので。
>>72 今のPCだとスペックは負けないでしょ
いつのPCと比較してるか知らないけど
>>75 でもJOGLがでたのは比較的最近なんだぜ
>>76 カードゲームだと、Java特有の処理はあんまり無いような…
Image2Dクラスの使い方と、Graphicsクラスの使い方を勉強して画面表示を覚えて、
あと、MouseListenerなんかで入力方法を覚える。
ルールなんかのゲームの処理に関してはC++なんかとほぼ共通だと思う。
>>77 最近のPCでJOGL使えば、PS2くらいの表現はできると思う。
>>52 でレスがあるjMEとかあるし。
ただ、性能云々の問題よりも、見てくれのいい画面を作ろうと思うと、
データの作りこみで挫折するような気がする。
>>72 現行のミドルレンジ以上のPCでJava+OpenGLなら
ある種のピーク性能以外はPS3やXbox360を圧倒できそうなもんだが。
デバイスとの連携はデバドラやOSとの絡みが出てくるから
マルチプラットフォームに縛られたJavaよりC/C++や.NETが強そう。
>>77 JOGLはしらんが2000年ごろでもOpenGLのバインドは複数あったぞ?
バイトで3Dチャット作ったりとかしてたし。
>>79 データの作りこみとか言語関係無い。
Xbox360は整数演算がやたら遅い
>>80 結局JOGLしか生き残らなかった
そしてそのJOGLも2年位前にでたばっかり
メンテされてなくて古いバージョンのままなんて使えないからね
需要があるかどうかでで決めているんじゃないか? フレームワークを整備するにしてもその分野に投資するわけだから、開発者の理想とは多少違う原理が作用している。 ただハードについてはどういう進歩をするか未知数だし、xboxとかでjvmが動けば面白そうなのは確かだけど、最近だとネットブックとかあるからな・・・
>>82 JOGLはJava1.4の頃から存在するみたいだから、2年ってことはないと思う。
というか、そろそろJOGLは標準に統合するか、インストーラがついてもいいような気がする。
もう、Java2Dとレンダリングパイプラインは統合してるんだし。
知人にゲーム渡すときも、「できればJava6にしといてね」なら「はいよ」で済むけど、
「JOGL入れといてね」はけっこう敷居が高い。
>>84 正式版がずっとでてなかったのだよ
だからまだ2年ちょい
それとJOGLは配布に含めてもいいし、webstartで落としてきても良い
webstartならばOSによって自動で判別してくれる
>>83 ネットブックはクソみたいなマシンパワーだよ
Windows2000がでる前くらいのスペック
あとnVidiaのJOGLの動き見てるとウインドウモードでも
垂直同期取ってくれるので非常に滑らかに見えてよろしい
IntelとかUMAなやつはもちろんそんなことはしてくれない
>>85 プログラミングの本って高卒なら、英語でも大抵スラスラ読めるよ。
元々半分英語みたいなものだし。
>>87 945くらいのチップセットでも、Jakeあたりはサクサク動くんじゃないか?
Javaでのゲーム制作の話であれば、そのくらいの性能があれば大抵事足りるような。
あの、、、、JMonkeyEngineとかGolden T Game Engineの話もしましょうよ
GTGEは開発止まったままソース公開されてないから終わった。 JMEはまだJOGLに対応してないから始まってない。
ホビーでゲーム制作するにはJavaはかなりいいと思うんだけどね。 絵を出すまでが簡単だし、標準ライブラリが充実しているからサクサク作れるし、 Eclipseが強力な開発環境を与えてくれるし、デバッグもやりやすいし。 あとは、JOGL関係の資料がもうちょっと充実してくればな…
Javaにどっぷりつかってから、マクロ使いまくりのCのソースを見ると暗号に見える…
if ((flag
>>12 ) &~ 0xff == ABC_MASK)...
とかも今の時代は暗号なのか!といわれる。
>>92 JOGLのいいところは大量にあるOpenGLの資料だけみればいいというところじゃないかね?
じゃヴぁ3Dとは違う
96 :
名前は開発中のものです。 :2008/12/06(土) 19:22:36 ID:xrzGyecp
といっても、OpenGLの資料もそんな無いけどな。
>>96 「GLUTを使わないで描画タイミングを直接制御したい」とか考え始めると、
ドカンとハードルがあがる感じがするなあ。
EclipseでGLクラスのメソッドを自動補完しようとすると、クソ遅いのは俺だけ? javadocから引数の一覧読み込んでるのが原因だと思う。 なんか解決策あったら教えてくれ。
>>98 ごめん、うちの環境だとごく普通に補完されて、特にストレスも無かった。
JOGLのバージョンが1.1だからかな?
Eclipse + JMonkeyEngineの話を聞かせてください
>>100 そもそも、jME使ってる日本人で、かつこのスレを見てる人間がどれだけいるのか…
jMEはJOGLがサポートされる2.0待ちだな
>>102 逆に考えると、Ver1.0は自前でやってたのか。
それすごいな。ネイティブコードはターゲットのプラットフォームの分だけ書かなきゃいけないのに。
いやWJGL
Lが抜けた
NetBeans + Golden T Game Engineの話を聞かせてください
JEdit + JOGL の話を聞かせてください
SEDIT+LWJGLの話を聞かせてください
しかし、Javaが登場してから10年以上たったけど、ようやく本格的なゲームを作れる環境が揃ってきたな。 1.4で兆しが見えて、5.0とJOGLで発展して、6で条件が揃ったという感じだろうか。 まあ、Java2Dはもうちょっと頑張ってもらいたいけど。
Java2Dの何をがんばって欲しいんだよ。十分だろw
ぶっちゃけると5.0では速度上昇とかほとんどないよ
言語的にかなり良くなったのは確かだけど
6はゲームに関係なく大幅にパフォーマンスアップしてるからいいとして
>>110 ちょっと前のレスくらい読めないか
1.4から5.0で大分変わっただろ。6が変わりすぎなだけで。 5.0だとString周りの最適化がイマイチだったからソースによっては大して変わらんが。
5.0はVMはあんまりいじってないよ 言語関係の変更が大きいからAPIもあんまりいじらなかった
個人的な感想では、5.0は「バグらなくなった」 総称型と拡張forのおかげで、collectionが格段に使いやすくなった印象がある。
コレクションとかObject型なんていまどきありえんだろ・・・ すでに5.0だって製品終了移行期間だというのに
なんでもいいので、Javaゲーム製作の話を聞かせてください
javaでゲーム作ってるがMIDPだしなぁ
話っていうより、まず皆さんのゲームを見せてください。
オープンにできる奴前提なスレが欲しければ、そういうスレを別途立てる意義があると思いますよ 人集まるかどうかは責任持てませんので、このスレの勢いあたりを参考にどうぞ
>>117 ですがBSDでADVエンジン作ってますが何か?
そういえば数年前に月山プロジェクトってのがあったような
vectorにまだあるよ
>>121 なにそれ?
ググってもよくわからないです
ググッたら一番上にvectorが出てくる。 ググり方が悪い
>>124 すみません
出てこないんですけど、、、
鮫島事件みたいなもんですか?
月山プロジェクト javaとか月山プロジェクト vectorでググってもそれっぽいのでてこないです
よろしければURLを教えてください
懐かしいな。どこかの雑誌で読んだ記憶が。
>>126 そんなに怒らないで下ちゃい><
vectorから本家へのリンクが切れてるね
もう、プロジェクトぽしゃったのかな?
とっくの昔に消えてるがGPLならソース残してくれよ
131 :
名前は開発中のものです。 :2008/12/18(木) 16:29:55 ID:5+hYGmku
スレ違いじゃボケ!!
動いてるゲームを見せてほしいのだ。 自分のじゃなくてもいいから、凄いヤツ。
133 :
名前は開発中のものです。 :2008/12/18(木) 22:16:27 ID:5+hYGmku
だからスレ違いじゃ!! ここはゲームを作成するスレじゃ!!
だって、Javaのゲームなんて全然見かけないじゃん。 ここで「Javaでゲーム作ってる」みたいな話してるけど、 実際は誰も作ってないんじゃないの? って疑問なわけ。
いくらでもあるだろ
137 :
名前は開発中のものです。 :2008/12/19(金) 21:45:07 ID:f7nCI5ip
只今、プログラミングのできる人材を急募しています。以下に当てはまればどなたでも対象となります
1:Javaが使える(専門学生でも可能な範囲)
2:プログラミングが好きな方
仕事内容を簡単に説明すると、携帯アプリを開発する事です。報酬、勤務日数・勤務時間、勤務地などは直接お会いしてご相談させて頂くこととし、極力ご都合に合わせて柔軟に対応してまいります。ご相談時にお会いする場所としまししては都内の六本木とさせて頂きます
少しでも何か質問・興味がごさいましたら下記のアドレスまでメッセージをお待ちしてます。宜しくお願いします
[email protected]
2chで急募とかどんだけ切羽詰まってんだかw 不景気だろうが世知辛い愚行
140 :
オナカ(;´Д`)スイタ :2008/12/20(土) 01:37:42 ID:kxdPfTn6
時給5万なら
つうかマルチうざい
なんか、javaでゲーム製作のためのキラーフレームワークみたいなの出ないかな C#だとゲーム用フレームワーク何個かあるよね javaだとGTEGは開発止まっているっぽいし、jMEは期待したけど公式みてもよくわからんし
java版のXNAが出ればいいんだな。 javaでゲームって海外ですらほぼ趣味の領域なのにそんなもんは出ない気がする。
>>143 そうだとしたら残念
でも、javaだとDIコンテナとかWebアプリケーションフレームワークとかよく使う領域だとオープンソースのフレームワークが何個も乱立してるじゃないですか
それ以外でもあまり使わない領域でSOA関連でもSCAとかJBIとかあるし、、、
だから、ゲーム関連でも1,2個フレームワークがでてきてくれて、そのうちの1個がスタンダードになってくれると嬉しいなと思った
C#よりjavaの方がその手のフレームワークは多い気がする
1,2個ならGTGEとjMEがあるじゃないか。 というかjava.dev.netのgameの項にいくつもホストされてるじゃないか。 ていうかjavaでゲーム作るなら自分で下層のフレームワーク作らないか? 俺はそれ使ってるんだが。
146 :
名前は開発中のものです。 :2009/01/02(金) 09:54:41 ID:FHD5Wl49
ピクセルごとにやると限界がみえてくるよね。結局メイン・メモリのアクセスが問題なんだけど。 最近思うんだけど、ピクセルごとにやるのってゲーム(アニメーション)というよりも画像処理・画像解析なんじゃないの? それと一点法だけど公式をみると比率で出してるけど、もしgpuやopenglなどのハードに頼らない従来の方法(つまりGraphics2D) でやるなら、ベクトル方程式でやるのが妥当だと思うんだけど。
それと、SSEとかJNIの方も実験してみたけど、ループでまわしてテストするとJVMが落ちて使えないしこのバグの原因も良く分からないし、 バグ潰しに時間使うのバカらしいから結局JNIでSSEは諦めた。一応mingwのgccを使って。 それにFPUと比べて、SSEでやると高々2倍ぐらい処理が早くなる程度でGPU(やOpenGL)に比べるとそんなにうまみもないし、 けっきょくCPUとFPUに頼るなら、擬似3Dは試験・実験程度が限界かと思う。無理して3D化するなら品質もFF7ぐらいかな。 Java3DとかJOGLとかのハードにアクセスできるライブラリじゃないと楽しむ目的のゲームは無理だと思う(Javaはプログラミングしやすいから擬似3Dなら実装実験にはいいけど)。 まあ、頑張ってアルゴを考えちゃう人もいるんだけど、そういうのはライブラリとハードで既に実現されているわけで、もし実験目的じゃないならその労力は別のところで使えばいいんじゃないかな。
>>146 3D化ってこうやってやるんですね。参考になりました!
遠近法以外に3D化する方法って他にあるんですか?
何もわからなければ普通にJOGLとかJava3D使ったほうがいいと思う
ええっ!そんな・・・ Javaだと数学公式で書いてあっても結構実装しやすいんですね。
2Dゲームの話もしませう
>>152 アルファブレンディング使わないのなら
Java2Dだけで十分使えるようになった。
u10以降。
標準APIだけでここまでよくなったのはすばらしいが、
せめて加算合成だけでも実装して欲しかったなぁ。
自分でブレンド処理クラスとか加算合成クラスとか作るとそんなに遅いんですか? ピクセル単位でやるわけでu10でそのような処理用クラス用意したとしても結局同じだと思うんですけど。
ハードウェアアクセラレーションがきかねぇって話をしてるんじゃないか?
156 :
名前は開発中のものです。 :2009/01/07(水) 15:09:28 ID:RZ4OcdR7
>147 146の者です。 鋭いですね。 元がゲーム屋さんではなくて、画像処理屋さんなもんで。 3D関連にうといので実験的に作ったのですが、 本格的な話になるとPC上ではJavaよりはC#、C#よりはC++ という話になるんでしょうね。
いやJOGLで十分できるから
2Dとか3D以前に基本的なゲームループの話とか場面管理とかクラス構成の話もしてください
>>156 いや、君のHPの説明は結構参考になったよ。素直なコードだし、数学・物理の公式をコード化するのとか得意なんじゃないか?
ただHPにあったけどjvm上自動で行う、配列のindexチェックで遅くなるという主張はただの妄想でしかない。たしかに20マイクロ秒ぐらいは違うだろうけどw
画像処理(CGとか非リアルタイムも)が得意なら、まずJavaで実験用コード・レファレンス実装して、これをハードに組み込みするという流れになるかもしれない。
その処理コードをハードに組み込みとか会社規模でやるんじゃないなら、PC(個人向け)ではもうすぐ環境が整うだろうけど、gpuやdirectx, openglのハード(ベクトルユニット)でやるようになると思う。
ベクタライズに多少書き直すことになるけど、PGする側からみれば結局は昔からあるコンパイラ最適化技術「ループ展開」の発展版でしかない。
http://pc.watch.impress.co.jp/docs/2008/1225/loilo.htm GPGPU対応動画編集ソフト「Super LoiLoScope」がパッケージ販売
こんなのも出始めたから一般PG向けにそれら計算ユニット(ハード)が使える環境が整うまではあと2年ぐらい必要なんじゃないか?
といっても画像処理は分岐だらけだろうから、従来のようにピクセル毎でチマチマでもあまり差はないけど。
ただ、ベクトルユニットが使えるようになるとプログラミングスタイルやアルゴリズムが少し変わると思う。
リアルタイム処理(つまりあまり厳密じゃなくかなり適当でいい処理なもの)なら今なら普通にOpenGLが旬だし、2年ぐらいならJava3Dも来るかもしれない。
一言で言えばJOGLでおk
それと、sseも試行錯誤の末Javaからつかえるようになったけど、1.2-1.5倍、場合によっては1.7倍ぐらいかな。 よくエンコードソフトとSSE対応批評でこれだけ違うってのと大体同じ。 new float[1024]ぐらいまでなら普通にforでdst[k]+=src[k]とたいした差はなかった(高々1.1の向上程度)。 アセンブラも含めてかなり文書(英語)を読まないと使えるようにならないけど、苦労した割にはそれほど恩恵はないかな。 [16*16]程度の小さいブロックでforで処理すれば済むし、実際にはピクセル画像処理(アルファを使ったブレンドも含めて)は native vectorization_mul (dst=new float[300*300], src=new float[300*300]); とか、[300*300]など大きな塊(画像)を一度にマスク処理するようなことはしないからなぁ。 それと、intel ネイティブなのも痛いかな。opengl やgpu だとintel以外でも使えて汎用性高いし 専用ユニットだから[300*300]とかならsimdはそっちのシフトしていくような気がする(ゲームとかストリーミングとかのリアルタイム性なもの)。 一応[300*300]とかだと1.6倍ぐらいSSEの方が早いんだけど、intel用にチューニングするには結構苦労する。 この用途でのsseはgpuが普及するまでのつなぎ(5年ぐらいかな)かもしれない。 浮動小数FPUと同じくコンパイラ・言語がサポートしちゃえば楽なんだけど今のSSEの普及率はFPU程普及してないし言語・ライブラリのサポートはまだまだなのかもしれない。 これからのプログラムは画像・映像加工処理が多くでかいデータ量を一度に扱う必要があるから、5年後のsseはfpuと同じく気がつかないで使ってるとかになるんじゃないかと思う。 sseをjavaで使えるようにするにはム版のjniスレに試行錯誤を少し書いといた。 sseはintel ネイティブ機能なんだけど、だれかブログとかでまとめといて。
>>156 C++ってことなないよ。ライブラリはCで作るかもしれないけど、それを使うのはC++やJavaでも言語はあまり関係ない。複雑なのじゃなきゃruby(でOpenGLのAPIラップしたクラスを作って)でもいいんじゃない?
つまり今ならJavaでやるならJOGLで十分。
実際SWTみたくOpenGLやDirectXのAPIをJNIでラップしてあるだけだし。C++とJavaの差では、800マイクロ秒ぐらいの差はあるかもしれないけど。
だからなんでJOGLでおkな話をそう長々といちいちレスするんだ。一人で喋ってて楽しいのか?
ソフトレンダならもちろんマルチコア対応してるよね?
>>163 てか、おまえ誰だよ。何も作れないくせにJOGLの宣伝部長かww
無能が能書きたれるのはどこも一緒だなw
167 :
名前は開発中のものです。 :2009/01/08(木) 04:06:29 ID:IHwS1EtB
>>163 じゃJOGLでおkなことを長々と語ってくれないか?
おまえみたいな無能じゃ無理かw
JOGLていうよりもOpenGLすら使ったことないんだろうww
>>154 自前のCompositeを使うと、内部でGeneralCompositePipeという物が使われる。
sun.java2d.pipe.GeneralCompositePipeの88-89行目を見ると、
dstIn = dstRaster.createChild(x, y, w, h, 0, 0, null);
dstOut = dstIn.createCompatibleWritableRaster();
となっている。この時確保されるdstOutのサイズはw×hではなくて、dstRasterと同じサイズになる。
(java.awt.image.Rasterのソースを参照)
多分開発者は、createCompatibleWritableRaster(w,h);と同じ結果を期待していたんだと思う。
そのせいで、大量のメモリの確保を何度も行う事になる。何度も。
しかも、大きい図形は内部で32×32に分割して描画しているからメモリを確保する回数がさらに増加する。
これではアクセラレーション以前の問題。
どう見てもバグだけど、誰もゲームに使わないからか特に問題にならず、一向に修正されない。
描画に使う一時的なRasterは一々確保せずにキャッシュを使ってほしいけど、面倒だったのか毎回確保してる。
だから、自作Compositeをゲームに使いたいなら、Graphics2Dを使わず自分で処理するのが無難。
英語が得意なら、バグを報告して修正を待つ手もあるけど。
あと、Composite内で使うgetPixels()やsetPixels()も妙に遅い気がする。
sun.awt.image.DataBufferNativeが怪しい。自分の所だけかもしれないけど。
>>168 だからその程度の技術力しかないなら、普通にJava API(高度に抽象化したAPI)を使えばいいよ。
確かjdk1.5ではBufferedImageは全てキャッシュされるって書いてあったから、その指摘も数年で色あせるんじゃないか?w
そもそもjava.awtパッケージなのに、内部実装sun.*パッケージのソースにいちゃもんつけてるし、結局おまえじゃ何も出来ないだろww
そんなにこだわりあるならネイティブ向けパッケージ使え。タコがw
>>163 それと、JOGL(OpenGL)はAPIであって、GPUとかSSEはハードであって、上ではハードの話が書いてあるんだけどこの区別ついてる?
君の作ったOpenGLを使ったゲームを出してみ。
何度読んでもツッコミどころ多いな。 一般人程度の知識しかなく大してハード(メモリやCPU)のこと知らないのによくここまで妄想して大口たたけるものだと感心するよ。 そこまでJava/JVM(高度に抽象化したプラットフォーム)にこだわりがあるなら、まずは各ユニットの仕様知り各ハードの役割とか勉強したらどうだ? バスとかいっても何のことか分からないでしょ。ハードのことをとことん知ると、java.awtも含めて君の指摘する文句たらたらのアプローチになるから。 内部に思い入れなくアルゴリズムの研究するだけなら、Javaらしく、良い子はBufferreImage.getRGBを使え。w
もうさぁ、そういうのどうでもいいからさぁ。 ゲームを見せてよ。 みんなそんなに語ってるんだから、凄いゲームいっぱい作ってるんでしょ? どーなのよ? それとも、ゲームは作れないけど知識は凄いよ! みたいなことアピールしてるだけ?
最近Javaアプレットで作られたすげーゲームって何かないですか? 刺激にしたいです
突然喧嘩口調のレスが来たから何事かと思って変なレスしてしまった。ただの人違いか。
特に
>>170 が誰宛なのか判らずに悩んだ。
>>168 はjoglの人とは別人なんだけど。
>だからその程度の技術力しかないなら、普通にJava API(高度に抽象化したAPI)を
そのJava APIの話が
>>168 。java.awt.*とjava.awt.image.*を参照。
あと、「だからその程度の技術力」の根拠詳しく。joglの人と間違えたんだと思うけど。
>確かjdk1.5ではBufferedImageは全てキャッシュされるって書いてあったから、その指摘も数年で色あせ
createCompatibleWritableRasterは0で初期化したラスターを返す。(これは仕様)
つまり、憶測通りBufferedImageがキャッシュされるとしても、
全画面を黒く塗り潰す処理を何度も実行したのと同じ負荷がかかる。
これを防ぐには、無駄な領域を確保せず、staticなソフト参照を使って使い回す必要がある。
それにはGeneralCompositePipeの修正が必須。数年で色あせてくれるんなら助かるんだけど。
>そもそもjava.awtパッケージなのに、内部実装sun.*パッケージのソースにいちゃもんつけてるし、結局おまえじゃ何も出来
java.awt.image.Rasterの方は修正すると既存のプログラムに影響しうる。変更は望めない。
sun.java2d.pipe.GeneralCompositePipeの内部処理を変更するべき。
あと、デバッグツールによりsun.awt.image.WritableRasterNative.setPixels()が遅い事が分かっている。
DataBufferNativeが関係している可能性がある。これは自分の環境が悪い可能性が高いけど。
何もできないのは同意。これを修正できるのはVMの開発者だけ。バグ報告も自力じゃ無理。
あと、BufferdImage.getRGBのソースを見たけど、内部で同じメソッドを呼んでいるから速度は大して変わらない。
>>172 ゲームのエフェクト等に有効な加算合成がJava2Dに搭載されていないから、
自前でCompositeを用意して解決しようとしたら異常な遅さで困った。
一番重い筈のcompose()の中身を全部コメントアウトしても尚遅いまま。
なかなか原因が分からず、苦労している内にGeneralCompositePipeのバグに到達した。
AlphaComposite以外を使うと異常に遅くなるのは主にこの手抜き実装のせい。
この事を話す機会が無かったからつい。ゲームは作れないけど知識は凄いよ。
AlphaCompositeはハードウェアアクセラレーションあるから自前のは勝負にならない 標準APIで加算合成実装してもらう以外に方法がないのでJOGL使うのが一番無難
どうでもいいから黙ってろ。
だから、その程度の知識しかないなら内部にさわるのは止めとけ。 おまえはよく人のソースを読んだりしてるようだからどちらかといえば公式どおりの素直なコードを書くほうが向いていてるんじゃないか? 内部の職人技コードにはついて来れないだろう。さっそく >これを修正できるのはVMの開発者だけ とかついて来れないじゃん。バグ報告はパラダイスでフォームどおりに書くだけだろ(英語)。 俺の場合はたしかキャプチャーのバグ話で送ったけど担当者から丁寧な返事がきたぞ。 つまりおまえ技術力、知識、教養は、ウンチクだらけで実際はたいしたことないってこと。 中途半端な知識しかないのに「ウンチク電波」を垂れ流すのやめてくれないか?
それと、javaで、それもGraphics2Dで作る限り速くなるはずはないな。
たとえおまえが言うウンチクの場所(getRGBやclass Raster)が改善されたとしても、ゲームとして10倍50倍速くはならないだろ?
Java2Dでも複雑なテクスチャや画像を貼り付けたり、頻繁にpaintをしないなら、今のCPUの力技ではゲーム上全く問題ない。
まさかJava2Dだけで、PS3並みのゲームを作ろうと意気込んでないか?wそれ、おまえの妄想だからw
ゲームでも何でも3Dの場合は、画像処理とは考え方が違うし加算合成が速い・遅いとか(ソフト上アルゴリズム上の問題は)関係ないから。
Compositeが遅いとかも、1画像(1フレーム)の処理に3秒以上かかるとかじゃないだろ?
アニメーションにすると遅いって言うなら、それはおまえが画像処理(静的処理)とゲーム(リアルタイム性)の区別がついてないで、
同じ手法(考え方)でやってるのが問題。おまえは、知識が凄いんじゃなくて、おまえは頭が固く、ウンチクの塊だって気がつけ。
どうせ、おまえが書くコードなんかifばっかりなんだろ。w
>>170 はIDのとおり
>>168 だろ。IDでつながってるのから分かるだろwおまえが無能だってことが書いてある(笑)
gpgpu専用画像ソフトのリンクあるけど、販促デモ(動画)みてないの? たぶん、今までの画像とかゲーム・アニメーション(リアルタイム)の処理することに対する考え方が全く変わるから。 それに、既存のC++とかC#(DirectX)と同じ土俵(従来のコンソール型のゲーム)だとJavaは全く不利になるけど、 それ見ると、Javaでゲームを創るていう方向性(どういうゲームを作りたいのか)も変わるんじゃないか。 純粋なゲームは従来どおりOpenGL/DirectXとかのゲーム向けAPIでいいわけで、Javaで言うゲームの場合はそういった純粋なゲームとGUIとの垣根がなるなるんじゃないかな(これもグーグルマップみたいなWeb 2.0なのかww)。
>>175 アクセラレーション以前に重大な問題(バグ)がある。それを解決すれば一応使えるレベルにはなる。
>>178-180 言ってる事はまともなのに何故か微妙に喧嘩腰。2chでは非常に珍しいタイプ。
職人技コードとバグ報告とウンチク電波の関係は謎だけど、とりあえず報告しておいた。サンクス。
あと、RasterやgetRGBはともかく、GeneralCompositePipeのバグは数十倍の差が出る。というか出た。
それから、別にPS3みたいなゲームを作りたいんじゃなくて、
折角Compositeの様な仕組みがあるんだから有効活用したいと思ってただけ。
>>174 の後半参照。
流石に1フレームに3秒はかからないけど、0.3秒はかかる。つまり約3fps。これじゃゲームは無理。
composeの中身を全部コメントアウトしても尚3fps。でもAlphaCompositeを使うと60fps。
バグの影響が出ないようにウィンドウサイズを描画範囲と同じサイズにしたら自作Composeでも60fps。
この時点で、アルゴリズムの問題じゃない事が分かる。処理を省略しても遅いから。
>>170 は確かに自分宛だけど、わざわざ分割する意味が分からなくて悩んだ。
とりあえず、何でさっきから散々に言われてるのかは理解した。
自分は「遅い」を「とても我慢できない遅さ(3fps)」という意味で使ったけど、
相手は「遅い」を「なんかもたつく程度(25fps位?)」と解釈してた。
それで、「お前のアルゴリズムが悪い。それを一々VMのせいにするな」と。
具体的な遅さを説明しなかった自分が悪いんだけど。
>>181 ここはゲームに関係したもんじゃないと、君のウンチク自慢でしかないってこと
リアルタイムなわけで、1ピクセルごとにチマチマやるような手法じゃ通用しないってこと知らないだろ。
チマチマを否定するつもりはないけどゲームではあまり関係ないし、そのうちアルファブレンド関係全て(フィルター処理)はGPUの手法になるよ。
アルゴの実験ならJava2D、Java3Dを画像処理に応用したいならストリープ・プログラミングでも調べてみたら?
今までのプログラミングの概念が全く変わってしまい、君のような石頭オジサンがスカスカのスポンジに変わっちゃうからw
といっても、ゲームとかアニメーションとか君は作れないから無理かぁ(笑)
>>182 だから、この遅さは「1ピクセル毎にチマチマ」以外に大きな原因があるんだって。60fps→3fpsが異常なのは分かるだろ。
報告テンプレのためにあれこれ検証した結果、VolatileImageの部分をBufferedImageにすれば、とりあえず解決する事が分かった。
BufferedImageのサイズを大きく変更すると、描画範囲が変わらないのに少し重くなるから、一応バグはあるようだけど。
GPUの事は知っているけど、Javaの標準機能でやりたくて。
贅沢を言わなければ1px毎にチマチマやっても平気。不具合に遭遇したら話は別だけど。
問題は解決したし、さっきから長文の応酬でスレが流れているからこの辺で。
ところで相手をオジサン呼ばわりって事は学生?
自信満々の態度から経験豊富な本職のプログラマーだと思ったんだけど。口調が違うから別人?
バク見つけたらさっさとバグパラダイス(英語)で報告しとけ。 それぐらいもできない奴が不満たらたらウンチクたらたら書くな。いしあたまw
>>179 2Dゲーだけならu10で実用的になったのにゲームで多用する加算合成がないというオチが非常につらい
あと速度は真っ先に考えるところだと思う
VGAサイズで60fpsとかは普通はやりたいと考えるだろう
Java2Dのハードウェアアクセラレーションの範囲が大幅に増えたのにソフト演算が入った瞬間に速度大幅低下はつらい
>>183 そのバグはu7以下とu10以上でも同様の結果?フレームレートだけだとあいまいすぎるから
μ秒単位でだしてみたら?
へんなのに居座られたもんだな。
187 :
名前は開発中のものです。 :2009/01/09(金) 15:49:56 ID:IMX83G6u
>>185 画像処理してるわけじゃないだろ。そんな凄いゲーム作るんならJava2Dにもうこだわるのやめたら?
どうせVGAサイズで60fpsなんて作れないくせにwwwいしあたま君ww
もう一度いっておくけど、ゲーム作りと、作るための言語(ライブラリ)は全く関係ない。 GPUだと、1600*1200で60fpsとか余裕だけど、ハードのこと全く知らないでしょ? なーんにも作ったことない石頭君は、そのあたりのことを石頭にしっかり叩き込んでおくように!
>>187 ,188
ソフトレンダが入らないのなら60fpsは余裕
だから標準API以外で実装されてないと困るという話なのにどういう解釈してるんだ?
別に60fpsがすごいゲームの基準じゃなくて最低限余裕でクリアすべき部分だから的外れだよ
>>189 ゲームだと論点以外の場所に突っ込み入りまくりなのが目に見えてるんで、
何か単純なサンプルとかないですか?
自分でも何か作ってみようとは思ってますけど。
久しぶりにJavaゲーム製作スレに来たら盛り上がっていて嬉しいでちゅ と書き込もうと思ったら、ものすごい荒れてて怖いでちゅ>< みんな、仲良くするデちゅ><
サンプル作ろうとしたけど思った以上に面倒だな、いきなり挫けそう orz
独自のCompositeの検証だから適当にスプライトを大量に描画すればいいだけかと
>>185 fpsが極端に落ちるのは、多分VMじゃなくて自分のGPUの問題。
(VolatileImageを使用していた所をBufferdImageに変更したら大幅に回復した)
この事に気付かないで、他に原因があると思い込んで調査していていたから、色々勘違いしてしまった。
あと、GeneralCompositePipeのあの部分は別にバグではなくて、Rasterの方が間違っているだけみたい。
(実際に使われているsun.awt.image.IntegerInterleavedRasterクラスでは修正されていたので無関係)
BufferedImageのサイズを大きく変更した時の処理速度低下についてだけど、Compositeに関係なく発生する。
けれど、特に異常なメモリ確保増大とかは無かったし、実害は無さそう。
結局、バグを修正しても遅いまま。これ以上は無理だろうし諦める。
だからハードウェアアクセラレーションが使えないのを選択した時点で速度に文句を言うのはやめよう
あとVolatileImageのほうが遅いのは当たり前だろうと
>>194 でも、加算半透明のための独自のCompositeって、自分のような日曜プログラマにはけっこう面倒。
自分もJava2Dでゲーム作ってるけど、加算半透明はもう諦めたよ。
色々なサイトのjarファイルを解凍して中身のファイルを見てたんですけど ファイルの中に「.au」形式のファイルがあって、データベース的な使い方をしているみたいなんですけど このau形式のファイルはどうすれば中身が見れますか?
>>200 ありがとうございます
しかし、これは拡張子は音声ファイルみたいなんですけど、音声じゃなくてデータが入ってるみたいなんです
極窓で調べてみても拡張子[?]と表示されてしまいます
音声じゃなくてデータってどういう日本語だ ファイルの先頭バイト列みてみるとか、再生してみたの?
はい、バイナリエディタで中身を見たところ音声ファイルの場合は「.snd」で始まっていますが 他のデータベースとして扱っているファイルは拡張子がauなのに「J2SNK」、「G2SNK」、「5」などになっていて 再生なども試みましたが、やはり再生できないみたいです
ファイル形式なんて作ったやつの勝手なんだから、分かるわけないじゃん。
そのjarファイルを直接見ない限り流石に分からないな・・
遠近法とか3D化の続きはやらないんですか。楽しみにしてたのに (;_;)
3Dとか2Dの画面効果の話より基本的な場面管理やクラス構成について参考になるページやソースコードありませんかね? 本格的にjavaでゲーム作る勉強したいので教えていただけると嬉しいです
そういうのはJava特有でもないしJavaに関係ないのでは? そういえばゲーム作りをJavaから始めるなら英語のページが参考になるかな。 日本語のそういうサイトは皆無だけど、OpenGLが使える人が増えてくると今後は個人でやってるJava言語解説と同じくゲーム解説のページも増えていくんじゃないかなと思うけど。 3Dとかの話題は、ベクトルも含めて理論的なところはライブラリはあまり関係ないし、ゲームに特化して昔から先行していたDirectXよりの解説が多い。 結局パズル以上のゲームを作る気ならネイティブの機能に頼ることが多くなるからDirectXのAPIと係わることになるよ。 どうせ無理してLinuxやMacで作るわけでもないだろうし。
>>208 レスありがとうございます
>そういうのはJava特有でもないしJavaに関係ないのでは?
そうなのかも知れませんが、自分はまだまだ未熟でjavaとverilog以外のコードがよく読めないのです
ネット徘徊しているとC++のサンプルコードはよく出てくるのですが、業務でC++使う予定が無いので、できればC++の勉強するよりjavaでコード読んでいきたいのです
javaのコードも出てくるには出てくるのですが、アプレットのものが多く、swing使っているものが少ないように思えます(自分はswing使いたいです)
>結局パズル以上のゲームを作る気ならネイティブの機能に頼ることが多くなるからDirectXのAPIと係わることになるよ。
自分が作りたいのは画面周りはしょぼくてもルールで勝負するRPGやシミュレーションです
そうすると、画面周りは大した機能を必要としないので、ネイティブ機能は使わないつもりです
>どうせ無理してLinuxやMacで作るわけでもないだろうし。
MacはともかくLinuxでは動作するようにしたいですね
最終的(10年後?)にはLinuxのなにかのディストリビューションに入るくらいを目的にしてます(無理かな)
もう少し、情報収集してみます
ぶっちゃけると画像描画さえ出来ればいいからSwingであるとかAWTであるとかは関係ない 実際JOGL使ってもGLCanvas使ったほうがいいしね
あとアプレットとSwingは反対語ではないぞ アプレットでSwing使うとか普通だし
swingしか使いたくありませんといってる時点でゲームなど作れるわけない。 そもそもswingが何だかすら知らないんだろうな。
214 :
名前は開発中のものです。 :2009/01/24(土) 18:42:03 ID:Gq4SkVB3
画面周りはしょぼくていいっていってんだからDirectXやOpenGLの知識はいらんだろ。
グラフィックスなんてものは所詮、点が打てりゃーいいのよ。高速に点が打てれば。
で、
>>213 に質問だがJavaで高速に点を打つにはどうすりゃーいいのかね?
Javaで最速と思われる描画方法を教えてくれ。
ちなみに俺が知りたいのはアンタの知識がどのくらいなのかってことなので誤解なきよう。
215 :
名前は開発中のものです。 :2009/01/24(土) 19:21:24 ID:Ul1ReSTO
てか、笑えるw
216 :
名前は開発中のものです。 :2009/01/24(土) 20:46:30 ID:APWNjMD1
217 :
名前は開発中のものです。 :2009/01/24(土) 20:46:53 ID:APWNjMD1
★大元の流出報告スレ
仁義なきキンタマ ウイルス情報 Part80
http://changi.2ch.net/test/read.cgi/download/1229742858/546 546 :[名無し]さん(bin+cue).rar :sage :2009/01/04(日) 00:24:59
報告する時は、詳しく的確に、一部だけ報告しないでお願いね
[殺人] Administrator(20081230-101522)のキンタマ.zip 2,263,376,860 09ed98f10653c3fc2555621ceeed6bc33e8f6228
[殺人] Administrator(20081230-101522)のメール.zip 59,426,579 4da9459b30eec31f58b86530dbb48d1cf86ef4be
[写真集][IV] Administrator(20081230-101522)のアルバム.zip 2,205,946,474 9d87cc0e08dc0e3afd959fcead6c48d569787cee
膨大な量のファイル数キンタマ ファイル数 13508 フォルダ数2381
以前勤めてた会社の資料など多数 独立行政法人情報処理推進機構などの資料など無いと思うが
有るかも知れない、あまりにも数が有り過ぎる、メールなどは、古いものばかりメルマガなど膨大な量
個人情報などは、披露宴主席者などの住所、名前、電話、メール 数十人分しかしエロばっかり落としてるな
ちなみに ハメ撮りscr 踏んだみたいね
早稲田実業学校中等部卒業
早稲田実業学校高等部卒業
早稲田大学政治経済学部政治学科卒業
卒論「知的財産権とインターネット技術」
当時の同大学理工学大学院の大川功 賞佳作を受賞
コンピュータ関連会社に入社ソフトウェア開発の仕事を経て
2005年に独立行政法人情報処理推進機構に入社
ソフトウェア・エンジニアリング・センター企画グループに配属
同グループ主任 岡田賢治さん33歳
218 :
名前は開発中のものです。 :2009/01/24(土) 20:47:15 ID:APWNjMD1
219 :
名前は開発中のものです。 :2009/01/24(土) 20:47:37 ID:APWNjMD1
220 :
名前は開発中のものです。 :2009/01/24(土) 20:48:53 ID:APWNjMD1
>>213 ゲーム作るのにそんな情報要らないだろ
ベーマガ世代はみんな英語が読めたとはとても思えないぜ
>>214 スーパーバイザモードでVRAM直アクセスしてた時代の話をしたいのかい?
考え方を変えなされ
何のために点を打ちたいのだ?
>>222 そこまでいうなら自分で書いたコードをうpしたら?
どうせ見れたもんじゃないゴミなんだろうけど。
>>222 見てみた
古い話になって悪いんだけど、まだMicrosoftVMが多くのマシンに入っていた頃
MemoryImageSourceを使っていたよ。透過付きGIF画像をApplet#getImageで
読み込んでGraphics#drawImageで描画すると異常に遅くてさ。
その名残で未だにBufferedImageではなくMemoryImageSourceを使っている。
一覧表を見る限りそんなに悪い癖でもないのかなぁ。
>>222 やりたいことがピクセル描画だと遅いよと
やりたいことがキャラクタの描画とか四角の描画とかなら
アクセラレーションが効くからいいよ
遅くても文句は言うなよ
という意味だ
xファイル形式読み込んでグリグリ3D描画できるフレームワークとまだ無いの? だれか3Dゲーム作ってみた事ある?
jMEの日本語資料が出てくると面白そうではあるんだけどな。 誰かが使い始めてwebで試行錯誤を晒してくれると、2番目以降の人はものすごく楽になる。 問題は、最初の一人になるハードルが結構高いことだ。
>>228 jME将来有望なのかな?
公式ページ見てるとどうも先が無さそうに見える
>>229 jMEはムービーとか見るとやたらレベル高そうなんだけどな。
まあ、jMEほど本格的じゃなくていいから、JOGL使った比較的小規模なゲーム用フレームワークを、
コメントびっしり入れてサンプルゲームと一緒にMITライセンスで公開してくれる人がいたりすると、
後進はすごく助かる。
ただ、さすがにそこまで言うのは虫のいい話だしなあ。
jME1.0が出たころは、チュートリアルとか充実しているイメージがあったけどな 今はjME1.0、2.0あるけど、ダウンロード先がよくわからん あんまり丁寧じゃなくなってきた気がする なんか、このままポシャりそう ちゃんと読めば色々と書いてあるのかも知れんが
正直、jMEは規模がでかすぎる。 自分としちゃせいぜい数千行くらいの、「ゲームに特化したJava3Dのサブセット版」みたいな感じでいいんだよなあ。 jMEの規模になってくると、ソースを読もうという気はおこらないし…
みんな趣味でやってるんでしょ?
そんな見た目にこだわる必要ある?
java2Dだけでも
>>227 くらいの3Dできるのに、余計なライブラリいらなくね?
なんか、良いライブラリがないからゲーム作れない、な言い訳に聞こえる。
>>233 趣味だからこそ様々な技術に触れたいわけで・・・
いつまでたってもゲームが完成しない予感!
ぶっちゃけ、「Javaゲーム技術総合スレ」でもいいような気はする。
JOGLいじってて気が付いたんだが、ウィンドウの大きさを変更した時に、 GLEventListnerのreshapeだけじゃなくてinitが呼ばれることがけっこうあるね。 で、そのときにテクスチャのenableがリセットされてしまうっぽい。 その場合、ウィンドウサイズを変えた直後から テクスチャがはがされたポリゴンオブジェクトが表示されてる。 対策としては単にテクスチャのenableをやりなおせばいいんだろうけど、 これってOpenGL的には普通の挙動なのかな? 同じテクスチャオブジェクトで何度もenableをかけると、VRAMに重複して アップロードしてそうなのがちょっと不安ではあるけど。
実装依存デバイス依存の機能を使うのは大変だね 突然CPUパワーが1兆倍とかになって全部ソフトウェアレンダで済ませられるようになればいいのに
ざっくりというと320*240-8bppならばPentiumM/1GHzあればソフトレンダ可能 2次キャッシュからあふれた瞬間にいっきにorzがはいるけど、 GPUがCPUに搭載されるのが当たり前の時代になれば いわゆるソフト演算で演算結果がかなり近いものになると思われ 普及するためには今のPCが死なないといけないから5年後くらいからかな?
640x480 16bitで、K6-2 400MHzのソフトレンダリングでゲームしてたことがある。 10年くらい前のゲームになるが、シーフはそこそこ動いたな。
>>237 に関連して、画面サイズ変更時にglLight関係のenableもリセットされることがあるみたい。
init()メソッドが呼ばれるシチュエーションではVRAMがリセットされるものとみなして、
enableが必要なパラメータは全部アップロードしなおすという方針のほうがいいかも。
…まだ試してないけど、VBOとかディスプレイリストとかもリセットされるのかなあ…
>>240 可変フレームレートでいいのならそんなかんじ
60fps死守する2Dゲー(レンダリングが2Dという意味ではない)ならば
やっぱりそれなりにマシンパワーが必要
>>241 確保するVRAMがかわるからテクスチャ等も含めて消えてしまうのは仕方がない
DirectXでも同じことはあった
ゲーム内で使う3Dのオブジェクトデータってどんな感じに作ってる? 自分はエディタとしてメタセコを使ってるから、オブジェクトもmqoをそのままクラス化したような感じになってる。 頂点とかの最適化はしてないから、たとえば立方体(8頂点)を作ると 各面が共有する頂点が重複して登録されてしまい、 ノンシェーディングだろうがフラットだろうがグーローだろうが、 OpenGLに対しては必ず24頂点になるような仕様だけど。
>>243 俺もメタセコイアだ、ファイルがテキストなのが解析しやすくていいよね
後半の意味がわからんが、頂点バッファを使ってないってことかい?
>>244 自分が無知なだけかもしれないが、たとえば各面の色が違うフラットシェーディングの立方体を表示しようとすると、
8頂点でVBOを作れない気がする。
この場合、一つの頂点はそれぞれ別の色と法線をもつ3つのポリゴンから共有されるわけで、
24頂点で表現する必要が出てくるんじゃないかと。
>>245 Ha Ha Ha! 俺なんかVBOが何の略かも知らなかったぜ!?
>>245 > 各面の色が違うフラットシェーディングの立方体
みたいな場合だけ別クラスにするんじゃダメなんか?
メタセコでゲーム用オブジェクトを作ったら、 フラットシェーディングとグーローシェーディングを混在させるのはわりと普通だと思うが。 メカ系は特に。
プログラムが読みづらくなってきたので整理したいのですが、 インスタンスを一つしか作成しないクラスはstaticにしたほうがいいんでしょうか?
状況による。俺なら ユーティリティ的メソッドの集まり → staticメソッド化 インスタンスを一つしか作らせたくない → シングルトン化 今はインスタンスが一つしか必要ない → そのまま
251 :
名前は開発中のものです。 :2009/03/21(土) 19:59:38 ID:n/Ajktw5
>>249 の質問がいまいちわからん。
内部クラスならstaticにできるが普通クラスstaticにできんだろー
それとも
>>250 の解釈のようにstatic methodのことなのか・・そうだとすると何故シングルトンにw
Jakeはstaticメソッドばかりで辟易した 基本はインターフェイス定義/インスタンスメソッドにして 外部から実生成クラスを指定できる形のシングルトンってのが モックや改造用の実装入替えができる作りにできてマシだと思う
>>252 Jakeの場合、Cからの移植だから、
オブジェクト指向に徹して構造をガラリと変えるのはやりたくなかったのかもね。
スキンメッシュってどう実装してるんだろ? 形状が変形した時点でVBOを作りなおさなきゃならない気がする。 glBegin〜glEndでなら実装方法も思い浮かぶけど、それじゃ 頂点数が増えてくると破綻するだろうし… …やっぱり、頂点シェーダ使うのが正道なのか。
JOGLのテクスチャオブジェクトって、シーンに必要な複数のTextureオブジェクトをenableしておいて、 実際にポリゴンを描画する時にenable済みのTextureオブジェクトをbindするという認識なんだが、 これってひょっとして間違ってる? なんか、ポリゴン描画時にどのテクスチャオブジェクトをbindしても、最後にenableした テクスチャが適用されてしまう…
もっと基本的な話もしてください><
なら、そういう話題を振ってみよう。
>>257 振ります
場面管理とか、ユーザ入力の基本的な実装の勉強はどこでしましたか?
たとえば、オープニング場面と実際のゲーム場面の切り替えとか、マウスやキーボードからの入力にあわせてプレーヤーを操作するとか、その手の勉強はどうすればいいのでしょう?
みなさんで、知恵を出し合って、私が一人前のJavaゲームプログラマになれるようにがんばりましょう!
>>258 俺はテンプレのサイトにあるコードとかを参考にした
最近全画面表示試してみたが、意外なほどあっさり動いて拍子抜けした。 WinAPIをよく知らないけど、ひょっとするとJavaの方が簡単かも。
ひょっとしなくても簡単だ
Javaの方が何より簡単なんだ
WinAPIをよく知らないけど ってあるからWindows開発環境とだろ
Windows開発環境って言ったっていろいろあるじゃない Java並みに簡単なのもあるし
そりゃそうだな。 ただ、Windows直のAPIをたたくかのような表現なので、 VC++でWin32Applicationで作ってるとみた!
そりゃあ、ひょっとするどころじゃないなw
ちょうどC++でゲーム作ってるとこだよ。 Seleneっていうゲームライブラリ使ってるけど、それでもめんどい。 いやSelene自体は便利だけど、とにかくC++がめんどくってJavaに戻りたくなる。
java.exeとjarファイル単体配布を認めてくれると配るのもだいぶ楽になるんだけどね。 動かすためのランタイムだけならかなり小さくできるし。
>>268 privateJREってしらんのか?
配布規定に従っていればJREとアプリ同根で配布できるんだぞ?
そのためのランタイムだ
ファイルサイズはいらないのを消せば一応多少減らせる
ただし、同梱必須のものもあったりするからなにをはずせるかは注意すること
逆にSDKにあってJREにないものもいくつかは同梱可能だったりするので
ちゃんとドキュメント読んでください
>>269 なんかコメントがすれ違ってないか。
>>268 は最小構成で配布したいって言ってるわけで、JREをアプリに同梱できることは前提だと思うんだが。
「java.exeと、そのアプリの起動に必要なjarだけ付けて配布したいのに、
ランタイムを配布しようとすると同梱必須のファイルが多くてでかくなってしまう」
という意味の書き込みだと解釈したんだが、漏れが深読みし過ぎてるのか?
ふと思ったんだが、javaで市販のゲームってどのくらいあるんだろ。 ほとんど聞かないけど、tribal troubleくらいかね? Mac(というか非windows)のシェアがもっとでかければ意味があるんだろうけど、 今はWindows用に作っておけば市場の99%は確保できるからなあ。 でも、ホビーの分野ではもうちょいJavaって選択肢が見直されてもいいと思うけど。
携帯では圧倒的か。 あとWinは99%のシェアないから。シェアは下がってる。 LinuxやMacで動作確認しておくってのは意味あることかと。 マイナーOSだけに有名になりやすいかも。
>>272 >携帯では圧倒的か。
そういう話はよく聞くね
実際携帯のソフト開発やったことないけど、素人でも簡単に開発環境とかデバッグ環境とか入手できるのかな?
>あとWinは99%のシェアないから。シェアは下がってる。
ただ、Serverとか業務除いた純粋な個人使用だと、やっぱりWindowsが高いんじゃね?
あと、Macユーザはともかく、Linuxユーザがわざわざ有料のゲームを買うところはそうぞうできない
せいぜい、バンドルされてるフリーの有名ゲームを5分程度プレイするだけのような気がする
>LinuxやMacで動作確認しておくってのは意味あることかと。
>マイナーOSだけに有名になりやすいかも。
Macは知らんが、Linuxはフリーのゲームであふれてるからな
有名になるのは難しいと思う
あと、MacはなにげにJDKの新しいのがでるの遅かった記憶がある
>>271 俺も知りたい
市販だけじゃなく、ソースを読むことが出来るフリーの有名作も知りたい
どうも、ネットで検索するとC++が多くてよくない(俺はC、Java、Rubyと業務で使うもろもろのスクリプトしかだめなので…)
インストールベースだと、Windowsのシェアは9割切るのかな? PCゲーム売上における比率だと、余裕で9割越え(というか、本当に99%くらいかも) だと思うけど。
たまにニュースに統計でてるのが90%〜95ぐらい。 調査ごとに若干違うがそれでもさすがに99%はない。
276 :
名前は開発中のものです。 :2009/04/04(土) 13:03:07 ID:7rkbAzh1
とはいうけど、PCゲーム市場(流用できるからXBOXも入れて)というのはいくらぐらいの規模なの? たとえばwiiの何パーセントぐらいか知ってるのか?
>>273 携帯の方が開発は簡単。
システム自体が、ゲーム前提になっているから。
開発・テスト環境は、iアプリ/MIDP(日本ではオープンアプリ、S!アプリ)とも誰でも無償で入手できるよ。
>>276 日本のPCゲー市場はWin95がでたあたりでコンシューマと比べるとほぼ0に近くなった
コンシューマが安くて性能高いからね
PC向けにゲーム作りたいのなら20年早く生まれるべきだったな
PCの普及数は遥かに増えてるし、ネットという配布手段もあるから、フリー作家にとってはいい時代とも言えるかも。
コンソール市場に比べてどれくらいなのか聞いてるんだけど理解できなかったのか? それと、win95以前でも昔は昔でニフティーとかパソ通があったしあまり変わってないよ。 ゲーム製作スキルもなければ時代を読む眼力もないみたいだね。 たとえば、もしある程度のPCゲーム(3D)を数人で作れるとしても、PCゲーマー(グラボに3−5万も出すようなのが)相手なわけじゃないでしょ。 日本ではファミコン以降コンソールの歴史が長いしそのノウハウもあるし、PCでゲームをやるという考え方をもつPCゲーマーという存在が理解できない。 このあたりを解説してくれる人いるかな?
>>280 >ゲーム製作スキルもなければ時代を読む眼力もないみたいだね。
せっかく、この板が久しぶりに盛り上がってきたのに、なんでそんな他人を挑発して荒れるような事書くんですか><
この板で有意義に情報交換するためにも、礼節を持った書き込みをしましょう^^
>>280 昔はMSX,PC88、PC98、X68、TOWNS等ゲームは普通に手に入るものだったよ。
今じゃ国産のゲームはエロ以外ほぼゼロに等しい。
だから、歴史はFC出現以前からあるPCのほうがあったんだけれども、
商業的には95登場あたりで終わったんだよ。
それにマイナーな一部の人だけが使うパソコン通信とインターネットくらべたらあまりにもシェアが違いすぎる。
ベースとなるPC自体の普及も何倍も違うし。
当時から変わっていないといえるのはアンタくらいでしょ。
そもそも、Javaゲームスレでフリーソフトの話をしているときに家庭用ゲーム機を出されても…という気はする。
昔はパソ通で配布という手段があったし2chのような情報交換BBS(会議室)も活発にあった。
つまり今のインタネットとあまり違いはないってことを書いてあるんだけど、これを読み取る知能もないのか。
いちいちレベル低いよね。このスレは。
たとえば
>>282 とか長文書いている割には、コンソール市場とwindows市場のゲーム市場の比率(売上ベースとか)とか知らないんでしょw
まあ、据え置きハードにはパッケージじゃなくともネットで課金できるシステムというか ネットゲームそのものが市場として駆動してるからな。 総計すると、実はコンシューマとPC市場の差はそれほど無いのかもしれんな。
そろそろJavaゲーム作成の話題に戻りたいが、話のネタが無いなあ…
ゲーム市場の話してるお子様はいつになったら消えてくれるのか。
Ajaxならシェアが取れるかもしれない
サーバー介してなにをするのだ?
というか、このスレ住人のほとんどはアマチュアなわけで、 オンライン系のゲームはホビーで作るのはけっこうハードル高いよ… ホビープログラマが趣味で作るゲームとなると、Java単体か、+JOGLくらいが主な守備範囲だろう。
291 :
名前は開発中のものです。 :2009/04/07(火) 06:48:16 ID:nGO2l7HE
ajaxがjavaと何か関係あるの? ゲーム市場の話にもついてこれないし、javaのゲーム製作の話もできないし、このスレってjレベル低すぎるよねw
JOGLいじってると、VBO関係がけっこうややこしいな。 C系の言語だと、メモリに各変数形の配列が並んでいるイメージがすぐに思い浮かぶけど、 Javaだと一回Bufferに変換するから一手間多くなる。 JOGLは「配列+オフセット」の形に変形してポインタを隠蔽してくれてるけど、 VBOみたいに、どの順番でどの要素が入るかプログラマが指定するようなメモリ領域を扱う場合、 どうしても「面倒な処理」を表に出さざるを得なかったんだろうな。
>>291 芝君元気だな
サーバーサイドじゃねーの?
それともu10以降のscriptほうれるようになったjavaプラグインとか(意味ねーけど)
>>292 JOGLはOpenGLそのまんまべたで実装することに主観がおかれてるからあんなもんだ
Cより面倒でJavaより面倒という(そのかわりJavaでラップはしやすいか)
定数とか普通のオブジェクト指向ではやらないタイプだしね
JOGLの気持ち悪いのはGLUやGLUTだなあ。 GLU glu=new GLU(); glu.gluLookAt(…) とか、いきなり普通に使えてしまう。 お前はどうやってGLにアクセスしているのかと。 CのAPIそのままなんだけど、Javaの感覚に慣れてるとかなり違和感がある。 GLU glu=new GLU(gl); とかなら、直観的にわかるんだが、
JOGLのソースファイルの場所についての質問なんですが、 先日JOGLのプログラムでエラーが発生しまして、 Caused by: java.lang.UnsupportedOperationException at java.nio.FloatBuffer.array(Unknown Source) at com.sun.gluegen.runtime.BufferFactory.getArray(BufferFactory.java:124) at com.sun.opengl.impl.GLImpl.glBufferData(GLImpl.java:783) VBOを実装してたんですが、バッファ関連でエラーのようです。 // 頂点データ配列を転送 gl.glBindBuffer(GL.GL_ARRAY_BUFFER, vboId[0]); gl.glBufferData(GL.GL_ARRAY_BUFFER, vtxBuff.capacity()*BufferUtil.SIZEOF_FLOAT, vtxBuff, GL.GL_STATIC_DRAW); <<ここでエラー とりあえず、なにが起こっているのか確認しようとしてGLImpl.javaを探すものの… ………なんか、このファイル、JOGL1.1.1のソースファイルの中には入ってないっぽい。 GLImpl.javaの所在をご存知の方いたら教えてください。
Buffer.capacity()は要素数じゃなくてバイト数だから、floatのサイズをかける必要はないんじゃないか? ただ、このエラーはそれとは別で起こってる感じがするが。
ゲーム作成とは関係ない、煽りとしか思えないような書き込みが頻発したり、 ゲームの話に戻るかと思えばOpenGLの技術的な話になって初心者がついていけなくなったり、 なんか、このスレの話題は極端から極端に触れてる気がする。 住人がもっと増えれば、ゲームの話題でもうちょっともりあがれるのかね。
>>295 GLImpl.javaの場所は知らんけど
Buffer#hasArray() で true 返す Buffer 渡さないとだめなんじゃね?
>>298 >>295 です。
どうもです。配列をwrapするようにしたらエラーが出なくなりました。
が、まだ表示されるところまで行きません。
もうちょっと試行錯誤が必要なようで、現在悩みつつ調査中。
Bufferまわりはけっこうややこしいので、日本語の解説書がほしいところです。
オライリーからJOGL本が出たら、5000円や1万円は出すのになあ。
JavaでOpenGLだとJOGLを使うのが普通だけど、ジョイスティック関係でデファクトスタンダードってあるのかな? 標準仕様ではまだ存在しないけど、JSRになってるくらいのものがあれば割と安心して使えるんだが。
jinput
302 :
300 :2009/04/16(木) 00:44:42 ID:Ge+Eyh9Z
303 :
名前は開発中のものです。 :2009/05/16(土) 16:06:53 ID:1PTlJmFk
>>171 `∧_∧
(´・ω・)
( つ旦O
と_)_)
ちょっと休憩。
304 :
名前は開発中のものです。 :2009/06/14(日) 00:51:47 ID:YAYpVdk3
物だけ見せられても宣伝乙としか
>>304 死なないシューティングゲームって爽快感があっていいね
もっと弾とか相手がぶっ壊れるときのエフェクトを派手にして
爽快感だけのシューティングゲーム作りたいなあって思った
307 :
名前は開発中のものです。 :2009/06/14(日) 11:28:09 ID:YAYpVdk3
>>304 です
>>305 確かにこれだけじゃただの宣伝ですね。すみません。
どんな物にしたいか:
・要するにいくつかのステージに渡って隕石を駆除するゲーム(制限時間付き)
・まず巨大だが速さが低い隕石がいくつかある状態から開始する
・直径50pixel以上の隕石は破壊されると分裂する。
・隕石の最大速度はサイズに反比例する。
・隕石に衝突すると、何らかのペナルティが発生する。
・隕石を破壊(分裂)させると、得点が隕石のサイズに応じて増える。
こんなところです。
よろしくお願いします。
>>306 見た目に関してはこれからも色んな効果を追加していくつもりです。
まずはもうちょっと画面を揺らす効果を強くしてみます。
実は途中までは死亡出来る仕様だったのですが、「死ぬまで続ける」よりも「制限時間内でより効率的に隕石を掃除する」
ようにするために急遽死亡判定を取り除いてみました。
超巨大な隕石にちっぽけな自機が挑むっていう構図がいいね。 ただ、主砲が小さな隕石に当たってかき消されちゃうのは少しさびしいと思った。 爆風とかあってもいいんじゃないかな。 そうすれば効率的に隕石を掃除するっていうコンセプトにも一致するし。 あと反射、分裂ってところでbio100%の蟹味噌思い出した。
309 :
名前は開発中のものです。 :2009/06/14(日) 15:23:29 ID:YAYpVdk3
>>306 と
>>307 の意見を参考に、少し細かい修正を施して見ました。
http://nsj.hp2.jp/asteroid002/ ・ゲームの速度を全体的に上げた。
・隕石が分裂する際に粒子を放出するように。
・隕石のサイズを更に少し上げた。
・主砲の仕様を変更。「ただの強力な弾を発射」→「貫通性を持った削岩機を射出」するように。
爆発物もその内実装してみようと思います。なんで思いつかなかったんだろう。
結構発想を得る事が出来ました。ありがとう。
>>306 少しは爽快感増えましたかね。
>>308 俺も気に入ってます、この構図。
主砲弾のダメージ量を変えずにダメージの与え方だけを変更してみました。いかがでしょう。
>>309 速度が上がって隕石を早く壊せるようになったから、ただ弾を撃って待ってる時間が減ってテンポが良くなってて、
爽快感も増えてる。
今のところ画面内だけを飛びまわれるけど、このゲームはテンポが速いからもっと広いマップを飛びまわれれば
面白いかなあと思った。でも、あまり広いマップだと隕石を見つける作業が大変になってつまらなくなりそうかなあ。
311 :
名前は開発中のものです。 :2009/06/18(木) 19:43:08 ID:qodO8hsI
GTGEのオープニング画面消せませんか?
ライセンス違反
GTGEはだいぶ前に開発止まって、JMonkeyEngineに人が流れたと思ってた ちょっとgoogleで検索してみたけど、JMonkeyEngineはほとんど情報ないね 2.0もよくわからん状態だし Javaでゲーム作る人はフレームワークとか使わんのかね?
314 :
名前は開発中のものです。 :2009/06/21(日) 19:11:59 ID:7M0/xeSN
GTGEはちょっとしたゲームにはすごくいいっぽいね 最近ゲーム勉強してフレームワーク作ろうとしてたけど使って見て馬鹿らしくなったw
Java自体が半フレームワーク みたいなもんじゃね。標準で付いてるクラス使いこなせてれば
フレームワークって概念をどうとらえているか知らんが、 普通はそういう言い方はしない。 Javaは基本的なAPIは提供するが、 フレームワークで準備されるような拡張API的な部分はかなり少ない。 多いなら、JakartaCommonsやらは出てこない。 とはいえ、PC上でやりたいことのほとんどにたいしての、 基本的なAPIを提供してくれているのには同意。
JMonkeyEngineがバージョンアップして、日本語の解説記事がガンガン出てきたら本気でゲーム作る それまでは、会社でWebアプリ作ってます
そういえばjME2.0、鯖が重くてうまく落とせなかったな。 F/Wの話だが俺は2DゲーメインなんでjME程の3D機能はいらんな。 JOGL使って小型のものを作った。 ただ、スプライトをどう制御するか悩むね。 スプライトクラスが個々のフレームの表示時間も持つのか描画する時に管理するかとか。
スプライトの当たり判定をアルファ値考慮して実装したら平均68msの実行時間がかかってしまう。 どうやって高速化するんだろ?
厳密なアルファ値判定が必要な物だけをリストしたらいいんでない。 もうやっているならスマン。
クロスプラットフォーム目指してるならSDLがあるでよ Javaの方が手間がかからないけどね
SDLならjavaにもあるんだが
JavaのSDLでいきてるのってるのか?
>>319 大きさや個数が分からんから何ともいえんが
ピクセル単位の判定前に矩形チェックで弾くのはやってるとして
・大きなスプライトを使うんならあらかじめ32x32くらいの判定ボリュームを
用意して精度を落としてしまう
・輪郭線に該当するピクセルだけをあらかじめ列挙しておき、
そのピクセルから相手のキャラのアルファ値を見に行く(相互にやる)
・衝突判定用描画バッファを用意し、各ピクセルに色ではなくキャラクタ番号を
書き込みながら、書き込み先のピクセルを見て判定する
※描画順序に判定条件が依存するので注意
のうちのどれかを実装するとか
データ構造の仕様も判定の仕様もわからんが あらかじめ判定のある不透明部分だけ抜き出して適当なデータ作っとくとか
>>319 ゲームの種類にもよるけど、ドット単位で厳格な判定をしようと言うのがそもそもの間違い。
(これはスプライト同士の場合。マウスカーソルとアイコン等、点とスプライトの判定ならドット単位でも大丈夫)
例えば、格闘ゲームの判定なんかは長方形の判定が数個配置してあるだけ。
キャラの喰らい判定も、パンチやキックの攻撃判定も、みんな2・3個の長方形で表現されている。
衝突判定が重要な格闘ゲームですらこうなんだから、他のジャンルもこんな感じ。
どうしても気になるんなら、当たり判定を複数の円や三角に分割して処理すれば軽さと精度を両立できる。
あまり細かく分割すると余計重くなるので、多少の誤差なら無視してしまってok。
STG等、敵の大群と自機の弾幕の間で判定を行なう場合の高速化方法もあるけど、
アルファを考慮して68msって規模なら必要無いので省略。
327 :
319 :2009/06/27(土) 02:44:14 ID:jkJfUe9s
い、忙しい。コード書けねぇ。
スプライトの仕様は以下
・スプライトの描画座標系での位置(x,y)を持つ
・スプライトのサイズ:w * hを持つ
・表示される画像を持つ
・可視性-visibleを持つ
で当たり判定の実装は以下
1) 可視性をみる
2) 二つのスプライトの位置とサイズから重なっているか見る
--- ここから実際にアルファ値考慮 ---
3) 二つのスプライトの共有された矩形の情報を得る
4) 3)を元に二つのスプライトの画像の共有部のみそれぞれint[]に各ピクセルのargb情報を格納
5) 4)より得た配列二つのピクセルの全アルファ値をみる
6) 見たアルファ値の両方が完全に不透過ならば当たっていると判断
こんな感じ。
それで当たり判定メソッドにアルファ値を考慮するかどうかのフラグを指定できるので、
>>320 の"アルファ値判定が必要な物だけ"というのはこれをoffにすればいい。(そのとき実装の 2) までやってreturnする)
それ以外は上記に挙げたこと以外は特にやっていない。
とりあえず
>>324 の"あらかじめ32x32くらいの判定ボリュームを用意して精度を落としてしまう"
を時間がある時に実装しようと思う。
レスくれたみんなありがと。
スレ違いだとおもうけど 就職作品で提出する場合 MIDPとDojaどっちで作るのがいいと思う? てかどっちが主流なんだろう
どっちでも作れるなら両方作っておいたほうがいい。 私なら使うかどうかは別として常に保険は持っておく。 ただ「提出」となるとMIDPの方が用意しやすいんじゃないか?
その会社の製品がどっち優先か調べて決めれ
いまDojaじゃないけどな
質問させてください Javaでゲーム作る場合は、Swingを使うのでしょうか?それともAppletを使うのでしょうか? 勉強中なのですが、ネットで色々と検索するとJFrame上に画面を生成している人とAppletに画面を生成している人がいます どちらが一般的なのでしょうか? PC用、携帯用とかで使い分けるものなのでしょうか? よろしくお願いいたします
アプレットでSwingが使えるJAppletというのもあるよ! ブラウザ上で動かしたいならアプレット、単独で動かしたいならJFrame やろうと思えば両用に作ることもできるが、好みで選べばいい 携帯用は根本的にまったく異なる
SwingかAppletかっていう選択はおかしい。 選ぶのはまずターゲットにする実行環境を選ぶ。 ・アプレット(ブラウザ内で実行) ・アプリケーション(ダウンロードして実行) ・携帯 WebStartとかFXとかもある それとは別に使うライブラリとして ・Swing ・AWT を選択。他にもSWTやJOGLを使う手もある。
レスありがとうございます 基本的に、ダウンロードして遊ぶアプリケーションを考えています 色々と調べましたけど、appletは過去に現在のFlash見たいな位置づけにあった技術ってことでいいんですかね? Java Web Startとかも同じようなことやっているみたいですし、今回はappletは無視の方向でがんばってみます
ゲームでSwingはJOGLが安定してからの方がいいような
質問者のレベルからいっておそらくJava2DだけでいいからSwingでもAWTでもかまわんかと
>>333 いつの日かAndroidにRhino組み込んでゲーム作る日が来るよ
皆さんどんなゲーム作ってるの?
皆さんゲーム作ってないのですか??
誰もいないでちゅか?
誰もいないなら削除依頼だしたほうがいいですかね?
削除依頼を出す必要性が見つからないんだが。
よかった!私以外にも人がいたみたいですね!! 削除依頼は延期させてもらいます!!!
Javaだと、標準機能だけで2D系ゲームならすぐ作れそうだよね。 新入社員教育で、「期間8時間x5日間の課題としてテトリスクローン作成」 程度のメニュー組んでも大丈夫そうな気がする。
>>346 テトリスだとアルゴリズムの部分を除けば必要な機能はキー入力の処理と画像表示だけだよね
疑問なんだが、C#とかC++とかにはそういう機能は標準ではないの?
>>347 C++は画面出力用の標準ライブラリは存在しない。
C#にはあったと思うけど、本格的に使ったことがないんで自信なし。
Javaで40時間で作れそうなゲームというと、大抵の落ちものパズル、インベーダー、パックマンとかかな。
黎明期のゲームはわりとどうにかなりそう。
もちろん、敵も味方も丸や四角になるけど。
>>343 スレがのこってるということ自体に意味があるので自然の落ちない限り残すのが普通だろ
たとえば間をおいて質問等があった場合スレを新規に立ち上げるのと書き込むだけでは敷居が違いすぎる
スレは一個人のものではないんだぜ?
スレはたった時点で「1」の手を離れてるんだぜ…
今のJavaはゲーム作成環境としてもけっこうこなれてきたと思うんだが、 フリーや同人の世界でもJava製ゲームってあんまり無いね。
PCのスペックがどんどん上がってきて、比較的大規模なソフトウェアがJavaで 作られて実際に使われることが多くなったから、Javaの評価は少しづつ上がってると思う。 開発者にとっては楽な言語だからもう少し増えてもよさそうなのになあ。
楽な言語ではないんじゃないかなw 楽な環境だとは言えなくもないけど 今時ならScalaやJRubyでゲーム製作ってのもアリかもな
最近、Applet動かすとき一瞬で起動してきもちい。 Java6になってだいぶ良くなった気がする。 FlashやDirectXに浮気せずAppletやJOGLで頑張りますよ。 やっぱり俺はJavaが好き。
>>348 俺の中ではC++とC#はVisualStudioのイメージしか無いからGUI関連は充実してると思ってた
>>350-351 JavaはなんだかんだでWebアプリが主戦場だからね
SwingはSwingUtilities使ってイベントディスパッチスレッドでアクセスするようにしなければならないとか、仕様だかバグだかわからん状態だし
Sunも買収されちゃって、今更Webアプリ以外の分野に大量の技術者投入してくれるとかありえないだろうから、この状態のままだろうね、、、
JMonkeyEngineとかもあるけど、プロジェクトの勢いはあまり無さそう
それと、ネットに落ちているサンプルコードが少ないのが痛いかな
C++は大量にあるのに、Javaは少ない
どう考えてもC++よりJavaの方が書きやすいし、C#と比べても別に遜色ないから、もっと流行って欲しいけどなー
>>354 GUIは安全にやろうと思ったらシングルスレッドモデルになるのはなのはどれも当たり前
Javaに限らんぞ
マルチスレッドなGUIライブラリを作ろうと思ったらそういったものも作れるはずだけど、 GUIを扱う人すべてがマルチスレッドに精通してないといけなくなってしまう スレッド、同期、排他制御等の正しい知識がなくこれらを扱えない人はGUIお断り、ってのは門戸が狭すぎる そもそも別スレッドを起動しなきゃイベントディスパッチスレッドを気にする必要なんて無いんだから、 スレッドを使う人だけがスレッドを知ってれば済む今の仕組みがたぶん一番いいんだよ ところでゲームでSwing使うの?
>>356 Window動作するゲームだとJFrameは使うと思う。
JMenuBarとかも使われそう。
どうせBufferStrategyかGLCanvasになるからFrameにCanvas張り付けて中で全部自前だなぁ。 設定ダイアログを別に付けるならSwing。
>>358 基本的にFrame一個作って、その上のBufferStorategyに全部処理させるのが基本なのか
RPG作るとしても、コマンドとか戦闘画面とかは全てお絵かきすべきであって、いちいち新しいFrameとかPanel立ち上げたり、コマンドをあらわすTable作ったりはしないのが正解かな
>>359 Swingコンポーネントを使う意味があるとしたらSLGだと思う。
RPGとかACTなら、基本的に全部自前で処理じゃないかと。
RPGのウィンドウやなんかは独自L&F実装したSwingでやってもいいんじゃね?
半透明パネルとか可能だからそれもありかもね。 メリットとしては、マウス関係のイベントとかをswingで取得できることか。
GLCanvas/GLJPanelとかつかってるならSwingの重ね合わせ鬼門だな
SwingとJOGL混ぜたら透過周りがすごいことになったような・・・あれはJava3Dだったかな。
どうすごいの?
>>364 GLCanvasとswingは混ぜるな危険だけど、GLJPanel使えば問題ないんじゃないか?
いまのGLJPanelはまだ不安定な部分が
JAVAのゲーム作り関係の本で初心者にお勧めなのってどれだろう? 古すぎるやつは買わないほうがいい? amazonの中古で1000円切ってるのあるけどさ 環境はeclipseです
基本的な質問かもしれんが、RPGとかシミュレーションを作成する場合、命令入力やステータスを表すWindowをあらわすクラスを生成して、それをpaintComponent(Graphics g)で描画するのが基本なのかな?
Webアプリしか作ったこと無いから、イメージがわかない
>>369 「14才からの〜」が評判良かったような気がします
読んだことは無いけど
>>370 アクション要素なしならそれでもいいけど、どの方式でやるにしろ、
オフスクリーンバッファで全部描画処理を完成させておいて。
そうすれば出力方法は何でもいいし、ウインドウにあわせて描画を拡大縮小させるとかできるから。
paintComponentやpaintメソッドとかでゲームのオブジェクトの描画処理はだめね。
また、これらのイベントの場合ダブルバッファだと問題が起きるからトリプルバッファにすること。
アクティブレンダリング自前で書く。
>>369 少なくともJava5以降を対象にしたものを買った方がいい。
総称型や拡張forのお陰でプログラムスタイルがかなり違う。
ただ、本気のゲーム作りのための参考書ってあんまり無い気がする。
JOGLやLWJGL系は皆無。
>>371 ごめん、何を言っているのかまったく理解できない、、、
レベル低くてすみません
paint系メソッドはすでに非推奨なの?
てか、描画はどうすればイイの、、、
サンプルになるものとか紹介していただけると嬉しいです
>>374 単にGL使えって意味じゃないか?
GLCanvasとかGLJPanelを使う場合、paintとかpaintComponentじゃなくて
displayが呼ばれる。
>>375 2DのゲームでもすでにGL...系使うのが当たり前なのかな
俺はてっきり、JFrameに直接描画するか、上にJPanelかなにか張って、それにpaint系で描画するものだと思ってた
いずれにしても、参考にしても良いサンプルが欲しい…
2DゲームならGraphicsクラスのメソッド使ってもそれなりに実装出来そうなきがするなあ… 加算半透明以外の要素は大体そろってるし。
>>376 paintのメソッドでもかまわないよ。
ただし、きれいにまわすには描画用のバッファが2枚必要。
paintイベントはOSによっていつ呼ばれるかわからないというのに注意しないといけないからね。
再描画はrepaint自前で呼び出すのみにするという方法もあるけどフレームレートが言っていないと厳しい。
その場合setIgnoreRepaintをよんで無効にしておくこと。GLでもそうだけど。
Java5以降は標準でダブルバッファだと思ったけど、トリプルバッファまでやる必要あるかなあ…?
>>379 >ダブルバッファだと思ったけど
そうなの?
だとすると、トリプルバッファ以上やらない限りはBufferStorategyは使わなくていいのかな?
あれは、JFrameとCanvasでしか使えなかったから、JPanelで自動的にダブルバッファにしてくれるなら、嬉しいよね
>>379 Swingの自動のダブルバッファとは違う話。
ゲームの処理がまわるスレッドがあると思うけど、そこで使う描画バッファが1枚だと
次のフレームの描画に使用可能なバッファが存在しない。
paintイベントで表示するときに前のフレームで描画したバッファが使用中だから。
アクティブレンダリングならその問題は起きないが、フレームレートが一定はないと厳しい。
paintイベントはいつ起こされるか判らないから。
>>381 自分が前に実装した時はゲームスレッドを用意して、そこからrepaint呼ぶようにしてた。
この場合、システムがrepaintしたときは内容に変更が無いから同じ絵が再描画される。
フレームレートとかはあんまり気にしてなかったな。
実際問題として、全画面のアクションゲームとかでなければあんまり気にしなくていいと思う。
>>382 そのrepaintする際のバッファが1枚だと描画中はだめなんで排他制御が必要になる
1フレーム画面が乱れるとかなら、ホビーゲームのレベルで特に気にしなくてもいいような。 そこでハングアップにつながるようだと問題だけど。
イベントディスパッチスレッド以外でゲームの描画すると不具合は生じるね。 フリーズ等はないとは言い切れない。 ハードウェアアクセラレーションを使うってことは実装上オフスクリーンバッファを VRAMに確保しているはずなのでへんに動くと怖い気もする。 実装依存にするのも将来のバージョンで動かなくなる可能性もあるし。 ダブルバッファの場合ゲームのスレッドから描画処理だけ抜き出して InvokeAndWaitで処理させてからのrepaintというのが必須になる。
トリプルバッファってのはオフスクリーンバッファと画面エフェクト合成用バッファがいるって意味じゃね?
>>385 AWTと並列処理の組み合わせでいける。シングルスレッドなSwingを使うから余計変なことになる。
というかそもそもパッシブレンダリング使うからrepaintまわりで排他制御が必要になるんじゃ?
AWTもシングルスレッドモデルだよ。 それに今の話の流れはパッシブレンダリング上での話。
排他処理する場合、repaintをオーバーライドする時にsynchronizeつければいいだけ?
描画バッファに対してrepaintの中と描画処理部分にsynchronizedブロックをつけるとよい。 少しでも高速化したい場合はLock構文を使うとよい。 したがって描画部分をまとまるようにすること。ゲームのロジックの中で描画していくのはさける。
14才からはじめるJavaゲーム製作だかなんだかの本を軽く立ち読みしたけど、排他制御には触れていなかったような、、、 JFrame上でBufferStoratgy使って描画するように書いてあったと思うんだが、これだけじゃ、不足なのかな?
JOGLだとFPSAnimatorに任せられるから、その辺は全然気にしたことなかったなあ。
>>390 それはアクティブレンダリングでしょ?今回の話とは違う。
ペイントイベントつぶすsetIgnoreRepaint()使ってるはず。
>>391 FPSAnimatorはイベントディスパッチスレッド上でdisplayがきれいに動くようになってるからね。
AnimatorやJava2Dなどでパッシブレンダリングやろうとすると自前での管理が必要になる。
しかし、なかなかゲームとしての完成品にたどりつかん。 「JOGLをいれてGLCanvas…、おお、動いた!」 「GLSL? ためしにウェブ参考にPhongシェーダー実装して…、おお!これがピクセルシェーダー!」 みたいに、断片断片を動かしては満足してしまう。 社会人になると、なかなか本腰いれてやろうって気にならないしなあ。 jMEは面白そうだが、趣味のために英語資料を読むのはめんどい。 日本語資料がもっと充実してるといいんだけど。
動画がうごかねぇ・・・ マック環境でうごかねぇ・・・
さすがにそれだけではなんとも言いようが無い
AWTはシングルスレッド前提じゃないでしょ?
イベントディスパッチスレッド前提なんでおなじだよ
そういや、みなさんモデル情報の持ち方ってどうしてる? 三角分割するのは当然として、自分はフラットポリゴンとグーローポリゴンが混在する場合の効率のよい 持ち方が今一つ詰め切れて無い。 現状だと、ポリゴンが頂点を共有しないという不効率な実装になってて、かなりメモリを浪費してる。 というのは、メタセコイアの形式に慣れてるんで、ポリゴン中心の設計だから。 マテリアルをポリゴンごとに指定できるようにすると、座標を共有する頂点でも ポリゴンごとに別管理しないといけない。 正四面体で言うと、本来なら頂点は4つで済むところ、各ポリゴンが頂点を指定するので 内部的には12頂点が存在する。 そのかわり、各面それぞれ色が違っても問題ない。 頂点中心の設計にするとこの辺は効率化できるはずなんだけど、そうすると 各面それぞれ色が違うような多面体は例外処理が必要になり、メタセコイアからのインポートが面倒になる。 現在思案中。
>>399 > マテリアルをポリゴンごとに指定できるようにすると、座標を共有する頂点でも
> ポリゴンごとに別管理しないといけない。
メタセコイアは面がマテリアル番号を持ってるから、頂点を共有して面を色分けしても
何の問題も無いはず。
部分フラットシェーディングについては俺も頂点を共有しないことで対応してるよ。
フラットな面がある程度多いなら、その範囲だけ別オブジェクト(レイヤ)にして
スムージング角度をゼロにすれば、範囲内外の境界以外は頂点を共有できる。
>>400 >>399 だが、glBegin〜glEndだとマテリアルバラバラでも問題ないんだけど、
同じ頂点でマテリアルが違う場合、VBOにできないんだよね。
あれは頂点を座標、法線、テクスチャ座標でパックするから。
まじめに考えると、メタセコから読み込む時点でその頂点を共有するポリゴンを解析して、
法線とマテリアルとテクスチャ座標が同じなら同一頂点とみなし、そうでないなら別の頂点とみなすという
処理をいれるのが一番という気がしてきた。
内部フォーマットはあくまでOpenGLに寄り添う方向性で。
>>401 デバイス側も含めた問題でしたか、トンチンカンなレスしてすみません。
いや、別に謝られるような内容じゃないっす あと自分のソース見直してみると、モデルのクラスに 頂点登録やポリゴン設定とかのメソッドがあって、設計の不備に気が付いた。 同じクラスにしてるんで面倒なことになってたようだ。 つまり、頂点やポリゴン単位で細かく制御できるクラスと、 「コンパイル済み」みたいな、Bufferで管理するクラスに分けるべきだったんだな… どうせいったんVBOにしたあとは頂点とかいじれなくなるんだし。 (Java3Dはそういう発想だね) ただ、その場合はボーンとかの処理をどうするか。 頂点座標をCPUから参照できなくなるから、頂点とシェーダを使わざるを得なくなる気がする。 なんか、趣味プログラマには敷居の高い領域になってくるなあ。
エディタの場合、考え方として、 「このポリゴンはどのマテリアルか」になるけど、 ゲームとして実装する場合は 「このマテリアルが使われているのはどの頂点か」という考え方になるわけだよね。 そうしないと、描画中にマテリアルの切り替えが大量に発生してしまう。
Nordとか見ると、Javaゲームもかなりのことができるんだよね。 WebStartでMMOゲームが起動するというのは、オンラインゲームの管理としては 非常に分かりやすいし。
半年振りくらいにこのスレ来たけど、 まさかの盛り上がりだな。 俺も2年ほど放置したアプレットゲームの制作を再開するか。
皆さんJAVAでゲーム作る際に環境は何を使ってゲーム作ってますか? 俺はエクリプスです
EclipseときどきEmacs最後にantでjar化。
EclipseのJAR Export Wizardって微妙に使いにくいと思ってたんだが、そうかみんな使ってないのか 俺もantかなんかにしよ・・・
NetBeansだな。 ビルドにant使ってるのでカスタマイズも楽な上に、 何もしなくてもライブラリへパスを通す設定がされた 実行可能jarが出来上がるようなant設定がしてある。 Eclipseのプロジェクト開けるのでEclipse使いにもやさしいかも。
JDK6 + eclipse3.5で今度こそゲーム作る シミュレーションRPG作る 絶対に作る 宣言しておけば、たぶん作り始めると思う
宣言すると同時にコテつけて ここで進行を記録しておくと、さらに完成に近づくと思う
2DベースのSRPGなら、比較的完成にこぎつけやすいゲームかも。 シナリオの区切りがあるから、メリハリもつきそうだし。
EclipseでJBuilderみたいな感じのjar作成ウィザードが使いたい
416 :
411 :2009/10/15(木) 21:22:48 ID:lHaDd0Hq
応援ありがとう いきなり仕事が忙しくなったので、開発ははかどらないかもしれないけどがんばるよ とりあえず、毎日何かすることに決めた 今日はJDK6のアップデートとeclipseのアップデートをしました このスレのログみると自分はかなり低レベルだけど、とりあえず、簡単なものから作ろうと思います コテハンとか進行記録は無理そうだけど、毎日なにかやるよ!
俺もがんばろうっと。 作成しているゲームがあまりに恥ずかしいので アドレス晒せないのが申し訳ないが。
418 :
名前は開発中のものです。 :2009/10/16(金) 18:37:59 ID:Wrwd6j5r
誰か僕にLWJGLを教えてください
そもそも、LWJGLでゲーム作ってる日本人って三桁いないと思う。 …二桁もいないかも。
昔は居ただろうが今は標準拡張のJOGLが正式リリースされたからな。
…まあ、JOGLでゲーム作ってる人もそんなに多いとは思えないけどな… そもそも、日本でJavaゲームというと商用はほとんど皆無だし、フリーor同人ゲームにしてもほとんどがWindowsだし。 Win32>.net>flash>mac>Javaと、勢力順でこんな感じじゃないかと思う。
Win32>flash>.net≒Java>mac だろ
w
オライリーからColladaの解説書とかでないもんかな? OpenGLと相性のいい設計になってるはずだし、JOGLゲームで3Dを扱う場合の参考になりそう。 というか、正直、仕様書読むのめんどいので…
ツクール系>個人製作のアドベンチャー作成スクリプト>>>>>>>>>>>>>>HSP>>>>>>>>>>Javaとか.netとかじゃね? 吉里吉里とかも意外と使ってる人多いし、HSPも多い、ツクール系に関してはものすごく多い それと、ちょっと前まではVisualC++が結構多かった気がする
何いってんの? ここはPLでゲーム作るスレ。ここだとそのツールから作るわけになるんだが。
バカはすぐ同人やフリーウェアの話をしたがる。それはこの板の伝統。
>>426-427 すみません。
馬鹿ですみません。
スレタイが「Javaゲーム作成総合スレ」なので、基本的にJava以外の話は禁止だと思ってました。
しかしながら、.netだとか色々な話がでてきたので、自分も調子にのってしまいました。
本当にすみません。
もう、二度としません。
.netはPLでflushはいまやASがあるだろ。ツールがスレチと言ってんだろ。
しかし、話がJOGLに行ってしまうとJava固有のネタはあんまりでなくなってくるな。
GLCanvasとか語ればいいではないか
GLCanvasとGLJPanelはどっちが好き? 自分はSwingと組み合わせることを考えて汎用性でGLJPanelを使っているが、 性能的にはGLCanvasの方が良いって聞くよね。
ゲームにSwing使わないんでGLCanvas
統合環境等ツールで使いたいのならGLJPanel ウインドウ占有するゲームならGLCanvas ただし、GLJPanelを使えば重ねあわせがちゃんと動くというものでもないのが厄介。
OpenSceneGraphがJava対応してくれないもんかな。 jMEに比べれば資料も多いし、ゲームにも使えそうだし。
Javaで商用ゲームが少ないのは、動作確認がしんどいからというのがあるのかな? OpenGLからGPUが叩けるようになると、VM上で動くことのペナルティはもはや ほとんど問題じゃないような気がするし。 …もっとも、フリーや同人ゲームも少ないから、単にC++プログラマとJavaプログラマの 数の差が大きな理由かも。
デスクトップのjavaやってるマが少ないのかと。 海外のネットゲーだとクライアントがjavaだったりする。マイナーだが。
「javaでもそれなりのゲームが作れるんだぜ」 というデモンストレーションがJake2だったと思うんだが、 だからと言ってJavaゲームが登場するわけでもなかったね。 Javaはデバッグしやすいし、プログラム作成の工数はC++系よりも少なくてすむと思うんだが、 最近のゲームの工数だとデータ作成が圧倒的で、プログラムの占める割合はそれほど多くない感じだしな…
工数減らすアドバンテージなら既存のLLのが大きいし学習曲線もぐんと右肩上がりだから いっそそれでフレームワーク作っちゃおうていう発想も十分通用するからね。 javaは色々容易ですよは選択肢として弱い。 じゃあjavaでどこまで作れるの?って疑問に直行じゃないかねぇ。 javaでゲーム作ったことないなら至極当然だけどこういう感じで作りますってサンプルが少ない。 あとはライセンスかね。java界だとオープンソースが多いからやれGPL,LGPLになっちゃう。 ライブラリ探してる段階でogg vorbisデコードにLGPLですとか言われるとほかに無いかと思うだろう。 C++だとdeeたんのアレがあるし。 ファルコムからエロゲ屋までどこでも見るぞアレ。
GPLはともかくLGPLは問題になるとは思えんが
PS3LinuxでJOGLが使えたら、ちょっと面白げではあったんだけどね。 PCで作りかけのゲームとか動かしてみたかったし。 …現実にはGPU封印だったけど。
よし!俺がJavaでゲーム作るお! 半年ロムって待ってろ!!!
仕事や学校に通いながらの半年ってけっこう短いけどな… 落ちものパズルとかならどうとでもなるだろうけど、 本格的なのを最初から作ろうとするとまず挫折するよ。
まぁ、このスレの平均的な住民像は「35歳独身無職引きこもり」だから何とかなるだろ
445 :
注目 :2009/10/28(水) 11:33:04 ID:QwfmzkGR
ほ
しゅ
448 :
名前は開発中のものです。 :2009/11/10(火) 23:28:35 ID:jiRKtvC7
保守するならついでに話題提供してくれよ。例えばJavaFXとかってどうなの? ムービー対応してるなら、割と本格的なゲーム基板になり得るの?
449 :
名前は開発中のものです。 :2009/11/12(木) 08:13:58 ID:NaPi8Zf3
最近Javaを始めたのですが、みなさんよろしくね! 保守
>>448 スタンドアロンの配布が絶望的な時点でFXはねーよ
そもそもメリットないし
FXは位置的にはSilverlightとかFlashの対抗馬なんだよな 昔のApplet全盛期には考えられないけど、完全に後塵を拝している感があるな
JAVAアプレットでシューティングゲームを作っているのですが、 サウンド関連で質問があります。 au形式だとかなり音質が悪いので、wavでサウンドを実装したいのですが、 そのままのwavでは容量が大きすぎるので、中身mp3のwavに変換したら 音がなりませんでした。 ある程度の音質を保ったまま、JAVAアプレットで実装可能で容量の小さい形式に変換する 良い方法はありませんか?
現在のJavaで圧縮音源に対応するには外部ライブラリが必須。 どうしても外部ライブラリを使いたくない場合は、java.util.zipパッケージの機能でwavをzip圧縮して使う。 mp3と違って容量が1割くらいしか減らないけど。
JavaSoundは無圧縮WAVとauのみかな mp3はライセンスが絡むので公開するならやめとき わからないならwavのビットレート下げるのが一番いいよ たとえば効果音はステレオである必要は大概の場合ないし、8bitでいいよね 8bit-11KHz-monoならそれほどでもないかな 音質が問題になるようなものは22KHzにすればよい BGMでストリーム再生するならoggVorbis等のほうがよい これはWindowsでも同じだが ライブラリはググれば一発で出てくる
Vorbis SPIでもバンドルしてJava Soundでいいんじゃないだろうか。 俺はBGMはogg vorbis、音声はFlac、ジングルは無圧縮wavにしてる。
456 :
452 :2009/11/18(水) 19:56:52 ID:aee6rcNi
>>453-455 レスありがとうございます。
アプレットは勉強し始めたばかりで分からないことばかりですが、
皆さんのレスを参考に調べてみます。
Vorbis SPIはバグもちなのが厄介 Jorbisのバグつきサンプルそのままいれこんでるっぽい
音楽ながしたいなら、画面にテキストで「このシーンは○○のCDをかけながらプレイして下さい」とか出したらいいんじゃね? そしたらdrawStringかなにかの知識さえあれば問題ないし
真面目にいってんの?
著作権の問題も解決!
BGMならApplet.getAudioClipでmidiが指定できるんじゃなかったっけ 実行環境が対応してるかは知らんけど
mp3といってるからサンプリングデータがいいんじゃないの?
463 :
名前は開発中のものです。 :2009/11/21(土) 17:36:08 ID:QGK3+ipq
2Dポリゴンでゲームを作ってみたいんだけど、JAVAでできる(動く)かな?
2Dポリゴンてイミフ
465 :
名前は開発中のものです。 :2009/11/21(土) 22:42:39 ID:QGK3+ipq
処理上は3Dとかわらなさそうだからjoglつかえばいいんでない?
Zソートなんてどの環境でもできるだろ・・・
ワールド変換を事前にやってるだけに見えるんだけど
皆さんは完成させたゲームとかアップしてますか? アップするとしたら、JREが必要であることをどう説明してますか? 参考にさせてください。
privateJREにすればネイティブアプリと見分けはつかないよ
JWSとか
皆さん、逆コンパイル対策は実施してます? 難読以外で
一応してるけど無意味かもなぁ
>>470-471 調べてみます
ただ、その前に配布するソフトを完成させなきゃならないんですけどね^^;
逆コンパイルを防ぐ意味ってあるの? 不正防止ならユーザーがホストになれないような ネットワークゲームとかでも無い限り無理でしょ。
>>475 一部だけ書き換えて我が物顔で再配布する奴がいるんだよ
やられたことないのか?
海外の鯖ちょっと探すとわんさか出てくるよな。 特に勝手に翻訳されたflashゲー。
>>476 いつかはコピーされてしまうようなゲームを作りたいです
479 :
478 :2009/12/07(月) 19:23:11 ID:vxMhXY6d
すみません。 私の書き込み以降書き込みが無いのですが、なにか気に障ることでも書き込みましたでしょうか?
もともと過疎気味で話題が無ければ特にスレすすまない
そうですか よかったです 私に話題を振る能力がないのが残念ですが
じゃあ俺が振る。 ・Androidでゲーム用ミドルウェア作ってるやつ居る? ・javaでモーションポートレート実装しようぜ! これだけしかでなかったorz
おまいら、shortって使います?メモリ節約なら使うべきだが キャストうざいのでintだけです、なんか間違ってる?
でかい配列作るときと外部APIとのやり取りぐらいにしか使ってない ふと思ったんだがキャッシュにのるかどうかで速度変わったりするんだろうか
ああ、shortなんてあったなぁ。 どうせ32bit単位に詰められるぞ。
PCならintでいいよ。 配列で大量にもつならshort使ってもいいけど。
javaの配列じゃ意味ないだろ
nioじゃないと4バイト使います?
スレチな質問かもしれませんが、 名作ゲームのパロディを作って(Javaアプレット)公開する場合、 キャラクタに基のゲームのスクリーンショットから切り取った物を使ったり、 BGMやSEを録音して使用するのはやっぱり著作権的にアウトでしょうか? また、キャラクタの色を塗り替えたり、サウンドのキーを変えるなどの加工をしても 回避できませんか?
ダメ。
著作権法と著作関連法くらい暗記して来い
ゲームでマルチコアとかどうやって最適化したらいいのだろうか。 描画周りがDepth処理などの関係で単一のゲームループでやってるんだよね。 AIゲーとかじゃなきゃマルチコアとか要らない?
>>492 すげぇ、、、
俺なんて基本的なRPGすらまともに完成できそうになくてなきそうなのにorz
やっぱ、ソフトウェアは個人の能力差がもろにでるな
まあ、もうちょっとがんばって完成目指すよ
>>487 WindowsXP sp3 32bit
java version "1.6.0_17" (Client VM)
VM引数 -Xms64M
この環境だとプリミティブ型の配列確保でメモリ使用量変わったよ。
booleanの配列は1bitではなく1byte使ってるがw
1000000個の配列を確保した時のメモリ使用量
long 226,488 → 8,226,504 (8,000,016)
int 226,488 → 4,226,504 (4,000,016)
short 226,488 → 2,226,504 (2,000,016)
char 226,488 → 2,226,504 (2,000,016)
byte 226,488 → 1,226,504 (1,000,016)
boolean 226,488 → 1,226,504 (1,000,016)
おまけ
BitSet 226,488 → 351,504 (125,016)
それ一次元でしょ
多次元だとリファレンスの配列になって32bit分喰うっていうのはあるな しかし1次元少ないから大きい配列だと支配的ではない
498 :
名前は開発中のものです。 :2009/12/22(火) 00:27:08 ID:m1M3sFMT
>498 java.io.FileNotFoundException: world.bmp (指定されたファイルが見つかりません。) at Baller.init(Baller.java:672) が出るけどいいのかな? 思ったより面白かった 2面とか、次々発生するようにするのかな だが視点によって変になるときがあるな・・・これはしょうがない?
>>499 とりあえず使ってないので,ゲームが正常にできるなら良いです.thx.
>だが視点によって変になるときがある
なんかバグはあるかも.
501 :
名前は開発中のものです。 :2009/12/31(木) 06:42:10 ID:VlIgB2+S
javaでゲーム作ろうって人こんなにいるんだ。勇気付けられるねぇ。 中身見てないけどjava3dとjoglって組み合わせると良くないとか 聞いたことなくはないけどどうなんかね。 あとjava3dやjoglを使う場合はゲームに始めから同封したほうが いいと思われるよ。ファイルサイズが何MB増えても、やはりユーザー としては訳分からんものをとって来させられるのは苦痛らしい。 実行ファイルと同じフォルダに入れてマニフェストファイルから classpath指定してやるだけで動くから。
反町って韓国から帰ってきた?
ライセンスがダメなのかなーと思ったけど大丈夫そうだしね >Java3D
>>502 アドレスを見る限り、そんな容量は使えそうにない人だろう。
ま、どこか適当な場所を用意すれば済むんだろうけど、
そこまでするもんでもないと思ってるんじゃないかな多分。
いずれにしろ俺は遊んでないので、
>>502 の意見は真理だと思う。
ocn鯖って10MBしか置けないんじゃ… java3dってライセンスよく分からないんだけど誰か説明してくれてる人いないのかな…。 再配布に関してはlicenseのRedistributableの項目に「自作アプリから利用する目的のみでバンドル する場合なら再配布可能」とはあるんだけど、GPL v2 CLASSPATH exceptionというのが よく分からない。多分「classpathで動的リンクされる場合のみGPL守らなくていいですよ」 ということなんだろうけど、コレを説明している公式の英文が読みづらくて 分からないのよね…。
>GPL v2 CLASSPATH exception これどこにある? 俺が読む限りだと、商用/非商用問わず、バンドルする場合で、 修正/変更なしなら再配布可と書いてあるように読めるんだが・・・ もちろんドキュメンテーションや免責を含めろとも書いてあるけど。
509 :
508 :2010/01/06(水) 02:59:17 ID:89pgGn6V
その日本語でよく分かるな。
511 :
名前は開発中のものです。 :2010/01/09(土) 01:03:31 ID:Vzjk76l2
>509のリンク先の日本語が我慢ならないレベルだったので 自分なりに訳してみた As a special exceptionって段落 特殊な例外として、このライブラリの著作権者は、 独立したモジュールをこのライブラリとリンクして 実行可能ファイルを作ることを、 それらの独立したモジュールのライセンス条項に関わらず許可する。 また、結果としてできた実行ファイルを任意の条項の下に コピー及び配布することも許可するが、 リンクされた他の独立したモジュール全てに対して 各モジュールのライセンス条項と使用許諾を守る場合に限る。 ここでいう独立したモジュールとは、本ライブラリの派生物でも、 本ライブラリに依拠したものでもないモジュールを指す。 本ライブラリを改変した場合、この例外条項を 改変版ライブラリに適用してもよいが、 そうすることに義務はない。 例外条項を適用する意志がないのなら、 改変版からこの例外条項を削除すること。
>>509 おお…素晴らしい。もうwikipediaの文章コレで書き換えたほうがいいんじゃないかw
>>513 どうなんだろう。そもそも「独立している」という定義が良く分からない。おそらく
ライブラリA→B→Cみたいに中間コードを噛ませることで
ライセンスを逃れるみたいな状況を回避するために書かれている所もあるんだろうから、
動的リンクか静的リンクかが問題になっていない可能性はある。
LGPL…どんなに巨大なアプリケーションでもLGPLライブラリの派生物だと強制される
GPL classpath exception…独立していると認められればライブラリの派生物ではない
いずれGPL linking exceptionはLGPLと違って結構安心できる(甘いライセンス)はず
でしょう。リバースエンジニア(=デコンパイル)を禁止できないLGPLでは、デコンパイルが
容易なjavaにとってはGPLとなんら変わらないことになってしまう
そういう理由でGPL classpath exceptionが採用されたのかもしれない
クラスパス例外付けなきゃ生成物までGPL継承するでしょ。 JDKやJava3Dはクラスパス例外付けなきゃそれで作ったアプリケーションまでソース公開になるがPhoneMEはただのランタイムだから付いてない。 そういう問題。 LGPLでソース修正なしに動的リンクすれば独立してると認められるけど SFSは今後はLGPLではなくクラスパス例外付きGPLを使ってくれとアナウンスしたからそれにしたがったんだろう。
それよりおまえら、JOGLで2Dと3D混在するときはどういう実装してる? com.sun.opengl.util.j2dパッケージのレンダラ群つかうと2D描画するときにJava2Dパイプライン経由になって 劇遅になるからdrawImageは板作ってテクスチャ貼ってて感じでやってるけど。 ちなみにGraphics2DをオーバーライドしてるからコードはJava2Dと変わらん。 (というかライブラリで描画バックエンド差し替え可のインターフェイス統一だから Java2DだろうがバッファーストラテジだろうがJOGLだろうが変わらん)
517 :
名前は開発中のものです。 :2010/01/20(水) 21:51:21 ID:kTDZ/tcO
俺はjava3dで2D描画してるから分からんけど、D3DだろうがOpenGLだろうが
普通2Dを描画するときも3Dと同じモジュールを使用するんじゃないか。
3D空間上でカメラの向きと垂直に存在する平面にテクスチャで2D画像を入れれば「2D」になる。
基本3Dデバイスを利用して2Dを描画するゲームは大抵そういう処理をしていると思われる。
だから
>>516 のやった記述で正解だと思われる。
Direct3Dにはトランスフォーム後の(x, y, depth_buffer)座標で描画できるモジュールが
用意されていた気がするけど、OpenGLでは見たことがない。少なくとも私は…。
javaに限らずC#でもdrawImage()は鬼のように重いので、出来る限り使わないのが無難だと思われる。
アニメーションを表示したいなら、あらかじめ複数のテクスチャを用意して
3Dモデル上に貼り付け、表示を切り替えるのをお勧めする。
「2Dも3Dで描画したほうが速い」という事実があるように、一切3D要素を持たない
2D画面でも、3D空間上でテクスチャとして表示した方が速い。
DirectDrawも下位互換のために残ってるだけで 2D表示はビルボードが推奨されてるね 最近のGPUに至っては2Dのハードウェアアクセラレートをしないのもあったはず
520 :
名前は開発中のものです。 :2010/02/06(土) 21:11:41 ID:uFKJJ/6Y
自作ゲームエンジンを手間かけてVBO化して 「これでOpenGL3.x時代にも完全対応だぜ!」と喜んでいたら、 ディスプレイリスト+glVertexの方がむしろ高速だった。 泣きたい。
glVertex()をglDrawArray()にかえるともっと早いぞ。
ディスプレイリストいいよな なんで廃止するんだろう
手続き型臭いからじゃね? OpenGL ESには元からないでしょ
glBegin、glEndを無くしますと言われても、 我々のような趣味のゲームビルダーはVBOに移行すると思う。 ゲーム的な発想からすれば、それほど違和感無いし。 問題は、ゲームやCGが専門でない研究者とか技術者が、 「可視化の手段」としてOpenGLを使っていた場合じゃないか。 彼らに三角形表示するためにシェーダ書いてくださいというのは酷だろう。 …というか、GLUTや赤本はどうなるんだ?
526 :
名前は開発中のものです。 :2010/02/18(木) 19:42:59 ID:elgZU+Tz
javaでプログラミングの勉強始めたいが、何をダウンロードしたらいいのかもわからない。 2003年発行の「ゲーム作りで学ぶJavaプログラミング入門」を借りてきたら、 J2SE 1.4.1を使って解説してるけど、ググったらすでにサービス終了だった。 今だったら、どれをダウンロードしたらいいの? 最新のをダウンロードしても、J2SE 1.4.1準拠のテキストで勉強できるの?
>>527 基本的には、1.4世代のコードは最新のJava6でも普通に動く。
ただ、これから勉強するならJava5以降の方がいいと思うが。
>>527 入門レベルならJavaのバージョンはあまり関係無いはず
極端に言えばオブジェクト指向言語でさえあればJavaである必要すら無いよ
おれもまともに勉強したのはC++だけだけど、
その他の高級言語もリファレンス読むだけで使いこなせてるし
C++ができれば、大抵の言語は大丈夫だろう。 高級アセンブラ+オブジェクト指向というなんでもあり状態だし。 逆に、JavaからC++に行った時の方が混乱しそうだ。
531 :
527 :2010/02/20(土) 16:23:21 ID:oPyOq2Qj
色々と意見をありがとう。 これから始める初心者なんで、扱いやすくて簡単と聞いたJavaから始めようと思ってたんだが C++から始めた方がいいのだろうか。 ちなみに俺が作りたいのは歴史SLG 3Dとか使うやつじゃなくて、2Dの古典的なやつ。
>>531 それだと、javaとかC++というより、rubyとかの方が作りやすいかも。
javaだからRhinoで変態脳汁噴出コード書こうぜ。
俺はPythonをお勧めする。 もうJavaとかと違いすぎて、新たな気持ちになれた。 py2exeというexe化ツールもあるでよ。 ocamlとかもどうよ。
535 :
機会おんち :2010/02/22(月) 16:27:40 ID:P/wA3u7l
konsoleでjavaのチャットを作りたいのですが作り方教えてくれる方いませんか? つくれなくてなやんでます・・・。
537 :
527 :2010/02/22(月) 19:56:56 ID:ybrOgo8H
もうどれで始めればいいのか、わからなくなってきたw
>>536 C言語は難しいというイメージがあるけど、初めてやるプログラミングとして正しい選択なんだろうか。
自分としては
・グラフィックとかはあまり重視しない
・AIとかは出来たら賢く、複雑にしたい。
・わかりやすい、覚えやすいプログラムがいい
この3つのバランスが取れたものを探してるんだけど。
>>537 初心者にとってはどの言語もほとんど差は無いよ。
C言語を奨めたのも参考書や解説サイトが多いからというだけなので。
考えているだけ時間の無駄だし、何でも良いので早く始めた方がいいよ。
>RubyやPythonも参考になる情報が非常に少ないので初心者には向いていないと思う。 rubyはともかくPythonはいらないほどにあるだろ。 英語読めないなら別だが。
読めないんだろほっといてやれよ
541 :
527 :2010/02/22(月) 23:36:23 ID:ybrOgo8H
Cと決めたところで悪いんだが、 Cは実際の画面を作るところで悩むぞw Windowsなりの実行環境での作法・手順があるから。 素のCじゃなくて、VC++でXNAとかのほうがまし。 Windowsしか考えなくて良いのであればC#で良いと思う。 それこそ書籍・ネットで情報がいくらでもある。 画面・入力部分で楽できる環境が良いからね。 ロジックに凝った物を作るのが目的だったら、言語は何でも良い。 いまあるメジャーな言語なら、やりたい事が出来ない言語なんて無い。
最初と最後で言ってること違う気がしなくもない
俺より先にゲーム作らせないために悩ませてるの!
545 :
名前は開発中のものです。 :2010/02/24(水) 00:49:51 ID:r64JoLGK
ゲームのシーンごとにkeylistenerを持たせようとしてるんだけど・・・ そのキーリスナーはシーンオブジェクトへのアドレスを保持していて、そのシーンも キーリスナーへのアドレスを保持している。そうすると、コンストラクタの中だけでは変数の 初期化ができなくなる。なんかきれいに繕う方法ってない?
・循環依存とか相互依存になってるならそれをなくす。 ・初期化を遅延する
初心者がCでゲーム組むとか、おれが初心者の頃なら途中で挫折してただろうな モチベーション維持のためにも画面に画像を簡単に表示できる環境が良いんでないかい 画面で絵が動くの見るとやる気出てくるよ
>>545 参照(ポインタでもいい)と言わずにアドレスと表現してるところがよくわからん。
せめてハンドルって言ってほしかったな
>>547 初心者向けの参考書を見ると専用のライブラリを使っているので心配ないと思うよ。
画像を表示させるのも数行のコードを書くだけで実装できる。
Win32APIやDirectXは言語とは別の問題だし、初心者がいきなり覚える必要は無いしね。
もうWinMainはいやだお・・・。 NN5でいやというほどコンパイルしたお。
Javaおすすめ JDKの中にGUI関連のツールも含まれているからJavaだけ勉強すればとりあえずゲーム作れる
iPhoneはあるけどAndroidのスレってないよね ここでやればいいの?
とりあえず、JDK6とeclipseインストールした これから何をすればいいんだろ?
目標を立てる。 それによって次に何をすべきかが変わってくるので。
>>555 とりえあず、作りたいものを具体的に考えてみて、
こことかで
http://javagame.skr.jp/ 近そうなものや、役立ちそうな機能を探してみては?
そこのサイト、実行できる jar の中にソースコードあったと思うし、
簡単なやつを eclipse 上で動かしてみるとか。
555じゃないけど、入門用の書籍を選ぶのが難しいな。
>>557 のサイトで紹介されてる本をアマゾンのレビューで見てみたら
微妙な評価だし。
Javaでゲーム作ってる有名どころの洋書全部漁ればいい。 google book searchでlimited previewくらいできるだろ。
>>555 まずはキャラクターをカーソルキーで動かしてみてはどうだろう
>>558 参考書籍みてみたが確かにあんまりよくないのが多いね
言語自体がはじめてなのかゲームプログラミング自体が始めてなのか
どっちもはじめてだと多少厄介だが、目標を高くしないなら大丈夫か
EclipseよりNetBeansのほうがライブラリへのクラスパス設定された
実行可能jarが自動で作られるので楽な気もするが
しかしみんなやさしいな
561 :
名前は開発中のものです。 :2010/02/27(土) 18:32:56 ID:HySRugFq
学生時代勉強したサーバサイドjavaの知識だけでゲームも組めたよ "だけ"といってもネットで情報収集はしたけど参考書の類は特に使ってない 基礎さえ身につけば応用で何でも作れるんじゃないかと
Graphics2DのdrawImageが重いって話が上にあったけど JDK 1.5 -> 1.6 の流れでかなり早くなったはず。 ほどほどの2Dゲームなら十分だと思うよ
デフォで無効化されてる描画用オプション有効にすれば1.5でもほどほどならでる。
こんなつぶやき見たいな適当な書き込みにレスありがとうw
せっかくのご好意なので、返信
>>557 最初に色々と読んでみた
ドラクエクローンはゲームループから入力処理、描画まで色々と参考になりそうだね
>>560 Javaはちょっと使ってる
でも、大きなソフトウェアの一部分を言われるままに作成してるので、わけわかめ
Webアプリだったので、Swingとかキーボードやマウスの入力処理は初体験
ゲームプログラミングはもちろん初めて
まあ、コツコツやってみるよ
NetBeansは面白そうだけど、eclipseが主流ならそっちを使いたいな
NetBeansの方が明らかにゲーム製作に向いているなら考えるけど
>>563 いいこと聞いた
ここ見ると色々なフレームワークがあるみたいだけど、勉強めんどうなんだよね
JDKの機能だけでそれなりのものが作れるなら、俺の作りたいのは大戦略とか信長の野望みたいなゲームなので問題ないかな
>>563 1.5ののdrawImageが遅いっといっても初心者向けでまずそれが問題になるレベルではないだろう
ハードウェアアクセラレーションが効く描画が少ないってだけだ
遅いDXライブラリとかでも普通に使われてるよね
むしろJava2Dはαブレンディングが弱いほうが致命的
>>565 そういったタイプのゲームなら1.3以上なら問題なし
使い慣れてるIDEでかまわないよ
NetBeansはダブルクリックで実行可能なJarが作りやすいというだけ
ただ環境設定画面とかSLGならメイン画面以外のウインドウの描画等はSwingつかったほうがいいかな
環境設定等の定型的な画面ならNetBeansが圧倒的に有利という話にはなるが
必要になったときでいいと思う
よく分かんないんだけど、 αブレンディングが弱いってよく言われるけど それって誰かが自前で重ね合わせルーチンとか 書けばいいだけのことじゃなくって?
確かにピクセル単位で処理は可能 ただし、ハードウェアアクセラレーションは効かないからアクション系はきついんだ VolatileImageはVRAM側へ配置するので(というかJavaSE6から積極的にVRAM使う) ソフト描画との相性は最悪 というわけでほとんどの人はOpenGLへいく
-Dsun.java2d.ddforcevram -Dsun.java2d.translaccel か -Dsun.java2d.ddscale でおk
αブレンディングというか、特殊な合成が弱い。
画像のスクリーン合成(1-(1-src)(1-dst))はゲームのエフェクトで良く使うけど、Java2Dでは使えない。
自前で処理を書いても、遅すぎて使い物にならない。他のライブラリに頼るしかない。
この話題
>>150-200 あたりでも出たな
java3Dでゲームを作ろうとしているんですけど、市販されているゲームのポリゴンと、Geometrryクラスで定義したポリゴンって何か違いがありますか? 何かイメージと根本的に違う様な気がします・・・
tet
お前さんが3Dにどういうイメージが抱いているか知らんが、
java3dのgeometryはかなり「実際の処理」に即しており合点がいく。
「市販されているゲーム」ってのは一体何だ…。市販のゲームは
末端で行われる原始的な処理を、見てる人にイメージし易いように
高度な変換を加えているだけのものだ。イメージだけで
いきなりあんな美麗な物体を描けるようにはならない。
いくらjava3dでも、末端で行われているdirect3dなどの
実際の3D計算方法をまったく知らない状態では厳しいぞ。
http://msdn.microsoft.com/ja-jp/library/aa515581.aspx とりあえずこの4つの項目くらいは目を通しておくんだ。
俺はmanaged DXから入って、かなり読みやすかったのでこれが一番
分かりやすいだろう。
ブレンディングに関してはそもそもハードウェアアクセラレーションの
効かない場所でやるべきじゃない。自前処理でjavaだと遅いからc++なら
早いかって言ったらそこまで速くはない。結局openglなりd3dなりの
恩恵下で計算するのが一番速いんだから、言語を問わず
画像処理は2dであっても3dを利用しましょうということになる。
>>519 が本当なら、そもそも2dのアクセラレーションは推奨されないこと
になる。
javaでゲームを作る場合、javaアプレットにするつもりがないなら
必ずGTGEなりjoglなりjava3dなりの3dデバイス系を利用することを
絶対に勧める。というかそれ以外で動きの多いゲームを作るのは
不可能だぞ。
>>573 一番の問題は
>>570 だけかな。
速度に関しては今のJava2DはDirect3DやOpenGLでアクセラレーションがきいている。
ただし、VMの実装次第だし、どこがきくのかといったドキュメントは無いはず。
Java2Dはアクセラレーションの効きかたを意識しないで使えるのが利点ではあるが
ゲームだとそうはいっていられないのが厳しいところ。
ただ、2Dゲーなら速度的にはブレンディングの種類が少ないこと以外では問題にはならないね。
「必ず」というのはいいすぎで、不可能ではないよ。
ただしJavaSE6 update10以上必須ね。
これより前だと回転拡大縮小系はアクセラレーションきかないから、いっきに処理速度が1/100とかになる。
通常のJavaの実行速度も大幅に上がってるしアプレットでもJNLPかけるようになったので
update10未満使う理由はないのだけれども。Vistaの不具合回避したらすごいよいものになったというのが笑える。
u10からOpenJDK6の成果が本格的にマージされて確かに実行速度は上がったがバグもかなり増えたぞ。
どんなバグなのか具体的に
公式のBTS全部見ろよ。 OpenJDKのパッケージがあるlinuxの適当なコミュニティにも上がってるぞ。 毎度のこと量があるのにスレに貼れる程度の具体的なバグなんてここに貼っても意味はない。
578 :
571 :2010/03/03(水) 03:06:07 ID:/DdOkaZg
J2SE 5.0はサポート期間が終了してバグあっても放置だからもうJavaSE 6つかうしかないだろう でもupdate10未満も大量にバグがあってupdate10以降で直ってるのも大量にあるのがな でもゲーム程度で問題になるバグなんてまずないだろ
明日、韓国からのテロ攻撃の第2波があるかもと言う情報が・・・。 下手したら週末にまた2chが落ちるかもしれないね  ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ <丶`∀´> ∧_∧ / \ ( ) はぁ?黙ってろ在日w .__| | .| |_ / ヽ ||\  ̄ ̄ ̄ ̄ / .| | | ||\..∧_∧ (⌒\|__./ ./ ||. ( ) ~\_____ノ| ∧_∧ / ヽ 氏ねよクズ \| ( ) | ヽ \/ ヽ. 祖国に帰れよ | |ヽ、二⌒) / .| | | .| ヽ \∧_∧ (⌒\|__./ /
jinputでアプリケーションの起動中にジョイスティックの追加/削除を検知する事って出来ますか? ControllerEnvironmentにControllerListenerを追加してもイベント飛んでこないす。
>>583 最後に")"をつけちゃったから、それがURLの一部にされていると思われ
URLから")"消してみて
それはそうと、他にも読んでおいたほうがいいソースコードあったら教えてね^^
586 :
名前は開発中のものです。 :2010/03/07(日) 20:31:59 ID:seQ6S77i
>>585 GOFのデザインパターンやっとくといいよ
ストラテジー、メディエーター、シングルトン、ファサードあたりを
意識すると上達が早くなる
GOFぱっと見で理解できんならオブジェクト指向の利点を知ると良いね するとGOFを見たこと無くても無意識にデザパタを適応していたりする でもまあリファクタリングの勉強は最後でもいいはず 動くゲームを完成するまでの気力維持の方が大変だw
589 :
587 :2010/03/08(月) 09:38:02 ID:0N3PdWPF
俺の経験則としては、デザインパターンなしで
テトリス以上のゲーム作るのは無理だと思う
たとえばSwingを始めた
>>585 は、分離されたGUIコンポーネントや
イベントリスナーをどうつなげたらよいかについて困惑するはず
引数で無数に参照を渡す力押しとかでも不可能ではないけど
それじゃやっぱりコード書く楽しさがない
>>589 構造化プログラミング主体の頃の人間だったおれは、
デザインパターンを知らんでも作れたんだが・・・・。
C言語ライクなJavaプログラミングだったけどな。
こういっちゃ悪いがデザインパターンについて何か勘違いしてる OOPの理解とデザインパターンの適応は別物だぞ デザインパターンは使える状況なら使ったほうが良い物ってわけでもないし テトリス以上の複雑なゲームとなるとパターンがまんま適応できる状況がまず少ない 以上現役奴隷の勝手な意見
>>584 被っちゃいましたね^^
>>586 自分より遥にレベル上の方みたいですね
自分は古いかもしれませんが地味に2Dでがんばっていきます
お互いがんばりましょう
>>587-591 GOFはとりあえず読みました
半分も理解したか怪しいですが
とりあえず、ゲーム作るうえでは、入力なり出力なりのインタフェース切って、場面ごとに実装するクラス作ろうかなーっと漠然と考えてます
まだ、他人のコード読んでばっかりで、一行も書いてないのでどうなるかわかりませんがw
それはそうと、Javaでゲーム作りますがなにか?のページ見ていて思ったのですが、ゲームループはwhile文で自作するのが常道ですか?
TimerTaskがあると思うのですが、使わないのでしょうか?
while文の中で、遅延を考慮してたりして、結構がんばってるように感じたのですが、TimerTaskはその辺美味くやってくれるもんじゃないんですかね?
>>5 auのオープンアプリの関連スレ無いですか?
オープンアプリ作る人が集まるスレ
java.util.Timerはスケジュールできなかったらタイマースレッドじゃなくてその場で実行する。 それすら実行できなかったらそのタスクは実行されなかった気がする。 あとスケジューリングの精度もそんなに厳格じゃなかったはず。 それでもいいならjava.util.Timerでいい。 でも、java.util.Timerつかうよりは並列ライブラリで自分の要件実装するんじゃないだろうか?
>>594 どーもです。
オープンアプリでゲーム作ってる人のスレは無いってことっすね・・・残念ですぅ
おまえの目は節穴か
だって、プログラム板のローカルルールでゲームの話題禁止なんですもの
>>594 の板で大丈夫じゃないかと思うよ
過激な自治厨もいないしゲームプログラムの話題も出てるし
>>592 問題ないよ
処理落ち等の実装は人によるけど、TimerTaskで実装するのではなくここでは時間管理だけして、
そこから他のスレッドをコントロールするのが理想かな
垂直同期とって60fps、処理落ちも垂直同期単位という昔ながらのアプリのような挙動がほしい場合はね
それ以外ならTimerとTimerTaskで問題なし
repaint()使っているようなものなら正直TimerもswingのTimerでいいと思う
確かThread.sleep()でループを組めば、javaのバージョンによっては windowsの高精度タイマーを利用するのでより品質の高いループが組める はずだ。現に俺はsleep()で100fps以上の高分解能ループを組めている。 ループをあまり組んだことがないなら「timer 分解能」あたりで 一度ググっておくことをお勧めする。多くのwindowsではTimerでも 60fps回せるんだが、別に60fpsを回せることが保障されているわけでは ない。ディスプレイのリフレッシュレートも影響するのかもしれないが、 ユーザの環境では35fpsになったり70fpsになったりするかもしれない。 whileでループ組んでいるというのがどういう状況か知らんけど、 それはwhile内部にwait()する区画があって始めて成り立つことだ。 初歩的なことだがビジーループなんて絶対に組んではいけない。
>>601 XP前期くらいの古い話になるけど
Windows98SEではちゃんと30FPSで動いていたゲームがXP(2000だったかも)で20FPSくらいに
なってしまい原因が分からず悩んでいた時期があった
推測だけどデフォルトではタイムスライシングが16msになってて、ゲームを30FPSで動作ささせる
ために1フレームを33msにあわせようとすると48msになってしまってたんだと思う
メディアプレイヤーを起動していると精度が上がることを見つけて、自前のアプリケーションを起動し
timeBeginPeriodを呼び出しておくと同様の効果があることを確認し、それをユーザのマシンで
再現する方法を探してたよ
FLASHを一度でも再生したブラウザのプロセスが残っていると精度も上がったままになり、
IEの場合はbgsoundタグに空のmidiファイルを設定しておくという泥臭い逃げ手もあった
Windows以外のOSで試したことはないけど、どうなってるのかなぁ
昔はSystem.currentTimeMillisの精度が10〜20msecで困ったな。 sleepは時間通りに動いていたかもしれないけど、対応しようがなかった。 今はnanoTimeで1msecの精度が出せるから良いね。
え、まともにnanoTime動くのSunだけじゃないの?Windows7とかだと動くの??
10000くらいの要素があるとして、 Map(HashMap)で全要素にアクセスするのって十分に遅いと思う? List(ArraryList)と両方に要素を詰めておいて片方が苦手な面は スレッドでごまかしたほうがいいかな
十分に早いと思うんだがなぁ。 やってみた? 要素を取ってからの処理がが1ms掛かってりゃ、隠蔽できるレベルと思うんだが。
1万要素くらいならおれは速度よりメモリを気にする。 10万とかなら考えるが。
>>604 まともってのがどの程度を意味するのか分からないけど、
XPでnanoTimeを実験したときは1ミリ秒くらいの精度は出たよ。
JOGLをインストールして実行したら 「jogl.jar で制限されているためアクセスできません」 って出た jogl-1.1.1a-windows-i586.zipの中のやつをコピーするだけではダメなのですか?
ム板の初心者スレに行け
>>604 WindowsでもsunのVMなら
currentTimeMillisも1msの精度でてる
nanoTimeは高精度カウンタつかってるんでちゃんと1ms以下でてるっぽい
そのかわり特定の時刻はわからないけど、ゲーム系なら問題は無いな
Sleepとかタイマイベント系+nanotime使ったビジーループが最も高精度だけど、
そこまで必要な場合むしろ垂直同期をしたほうがいいと思うんだ
そこまでする理由はなんだい? 格ゲーでも作るの?
>>612 16.66msのつもりが32msになっていた、なんて精度だとライトなアクションゲームどころか
コマンド選択式RPGのエフェクトすらまともに表示できないと思う
でも市販されてるPCゲームの精度なんてそんなもんじゃん 猫ぐらい目が良くないと一般ユーザでは気付かんレベルじゃないかね
2Dゲーはほとんどの場合フレームスキップ起こさないから精度はいつだって気になるものさ 3Dのほうが精度はいらない ティアリングも2Dのほうが気になるしね
3D格ゲーマーなめんなよ!!
2DPCゲームも盛んだった約10年以上前のintelのチップセット統合グラフィックコントローラには 主にゲーム中などの高負荷描画時に意図的にフレームスキップする機能が組み込まれていたけど 見て分るレベルじゃなくてほとんど気にならなかった思い出があるよ
i810ってハードで勝手にフレームスキップするのか?
ゲーム用のactiveXインストールさせておいてアンインストールの時に消さないのはクソゲー
>>615 ふ〜ん。よく知ってるね。ネット(笑)で調べたんだ?
アプレットの2Dの戦術シミュレーションゲームをAWTで書いてて 加算合成とかやりたい程度なんですが、 JOGLとかライブラリ使ったら結構早くなるものなんでしょうか? 標準APIしか使ったことないんですが、使うとしたらJOGL一択?
加算合成ならBufferStorategyとJava2Dのシステムプロパティー有効にすれば標準ライブラリでいける
ありがとうございます すいません、調べてみたら、BufferStrategyってアプレットから使えなくないですか・・・? テクスチャで2Dの描画だけできれば十分なんですが、 drawImageのような処理はどう実装するのが普通なのでしょうか? とりあえずJOGLについて調べてみたのですが、 特定の画像を読み込んだテクスチャごとに、予め指定した各々のz座標にまとめて描画 という風なものしか思いつきません・・・
625 :
622 :2010/03/29(月) 01:33:25 ID:SqZ8R8TT
OpenGLを理解するところから始めようと思います 失礼しました
>>624 素のAppletを使う必要性が現時点で無いわけだから、
JAppletを使うわけにはいかんの?
とはいってもかなり作法が違うから、今から変更できないってのなら
わからんでもないが。
>>627 JAppletでCanvasを描画するって方法があったんですね!
アプレットでBufferStrategy使えました。ありがとうございます
BufferStrategyが4,5回の起動につき1回程度、酷く処理落ちするので
自前のダブルバッファリングと切り替えるようにしたのですが、
スマートな方法はありませんか?
システムプロパティの方は、
Appletから設定出来るのかどうか分かりませんでした
>>623 半透明合成はAlphaCompositeでアクセラレーション効かせれるけど、
加算合成はどうすれば標準ライブラリで速度出せるの?
>>628 BufferStrategyのせいで処理落ちしてるとは思えない。
たぶん、GCのせいだよ。
結構でかいメモリを使い捨てにしてるんじゃないかな。
で、GCのタイミングを制御してないと。
まぁ、ゲームとかサーバサイドじゃないとGCが気になること無いんだけどね。
GCの情報をログに吐かせてチェックしたら良いよ。
>>630 たまに描画アクセラレーションが効いてない状態になるのとGCは関係ないと思うぞ
>>631 描画アクセラレーションが効いてないって話はどこから?
>>632 > 4,5回の起動につき1回程度、酷く処理落ちするので
原因はわからんけど同じようなことが起こった事あるから
俺はそういうことは無いなぁ。 しかし、俺が読み間違えてた部分があるな。 >BufferStrategyが4,5回の起動につき1回程度、酷く処理落ちするので は、4,5フレームごとに処理落ちすると言うことかと思ってた。
問題に直面してる本人が原因をある程度特定しないことにはなんとも 新人の頃当たった上司は不具合の原因を完璧に特定して理詰めで説明 せんとソース触らせてくれなかったなぁ
たぶん昔の俺と同じミスしてんじゃないかな。「ひどく処理落ちする」 ってのはどうやって計測してるの?Timerを使って計測する限り大抵の 環境で60fps以上のループを回せないので(Timerの分解能でググれ)、 17ms以下の時間を計測できないことになる。つまり処理の時間を計測 すると「0msと17msが交互に出てくる」という現象が起こる。この 17msを処理落ちと思ってしまっているのでは。 結構前に書いた気がするけど、どんなにVolatileImageで高速化したところで その前処理である「drawImage()」がjavaでは(というか最近の言語では) 絶望的に重いので、よほど小さい画像か低いfpsじゃない限り drawImage()で再描画回すのは無理だよ。画面全体の再描画は無理なので、 一部だけにしないと。 だから「複数の画像をテクスチャであらかじめ読み込んでおいて、それを 3D空間上で順番に表示する」ということになるのよ。 drawImage()はリアルタイムで使用してはいけない。 だから3Dデバイス無しで動きの多い2Dの描画は無理。java以外の2Dゲームも 最近はほとんどこの処理で描画している。 アプレットでjoglやjava3dやGTGEを使いたい場合は、「あらかじめモジュールを プレイヤーに各個インストールしておいてもらう」か「java web startを使用 する」かの2択になる。私はアプレットに興味がないので 知りたければ自分で調べて…。
drawImageが絶望的に重いってのが理解できないんだがどういうこと?
>>630 >>636 具体的に書かなくてすみませんでした
「ひどく処理落ちする」というのは、
普段1フレームの処理が10〜40ms程度なのが、200〜300くらいになります
createBufferStrategy、getBufferStrategyをやり直しても直らず、Appletを起動し直さないとダメでした
ハード依存のせいで不安定なのかな、などと勝手に思ってましたが、よく分かりません
とりあえずGCのログ調べてみます
ありがとうございました
>>636 java6update10でもそうなる?
アクセラレーションの効き方がupdate10以降全然違うよ。
Javaで3dソフトレンダラー作ってるんだがテクスチャマッピングが糞重い。 テクスチャ無しの時と比べて3倍近く重くなる・・・ ピクセル単位でマテリアルの色とテクスチャの画像の色とを乗算してるんだが、 速くする方法はないだろうか・・・
ソフトだとそんなもん。srcとdestのバッファが2次キャッシュに収まっているうちは早いのでそれを意識するしかない。 符号なし精度やSIMD直接発行したくなるけど、せいぜいマルチスレッドしかないね。
VolatileImageと-Dsun.java2d.accthreshold=0組み合わせるとか
3Dで思ったんだけどブルームてどういうふうに実装するの? 高輝度部分と重なる物体の輪郭をぼかせばいいの? CGで木漏れ日とか表現してる人はどうやってんだろう。
645 :
名前は開発中のものです。 :2010/04/24(土) 16:15:02 ID:wWfiheja
マルチスレッドで組んだことないけど、 レンダラーの場合はどのあたりをマルチスレッドにすべきだろう? やっぱ座標変換より描画処理か?
646 :
645 :2010/04/24(土) 16:17:32 ID:wWfiheja
ごめ、、sage忘れた
>>644 それ用にテクスチャを作っとくことが多いんじゃ?
んで加算合成とか
専門じゃないからよく分からんが
ゴーストやレンズフレアならテクスチャ使うこともあるけど ブルームだけならレンダリング後のイメージ処理じゃないかな。 HDRIでレンダリングして一定以上の輝度の部分を抜き出して ぼかしたあとに加算合成するとかそういうの。
tes
>>651 私も知りたいです。
3D用らしいけど、2Dのゲーム作るのにも使えるかな?
Java3Dでゲーム作っておりまして、フルスクリーンに対応させようとしているんですが、 「Fail to create reference rasterizer 3D Device. - D3DERR_DEVICELOST」というメッセージのダイアログが出て上手くいきません。 DirectXのデバイス消失のエラーらしいんですが、どうすればいいかわかりません。 OS :Windows Vista SDK :1.6.0_21 JRE :6 Java3D:1.5.1 DirecX:DirectX11 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice dev = ge.getDefaultScreenDevice(); GraphicsConfiguration gc = dev.getDefaultConfiguration(); JFrame frame = new JFrame(gc); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setUndecorated(true); Canvas3D canvas = new Canvas3D(SimpleUniverse.getPreferredConfiguration()); SimpleUniverse universe = new SimpleUniverse(canvas); Container con = frame.getContentPane(); con.setLayout(new BorderLayout()); con.add(canvas,BorderLayout.CENTER); dev.setFullScreenWindow(frame);
>>653 マルチポスト死ね。そこら中に同じコピペしやがって…。
俺の環境ではエラーでないから知らねぇ。java VM、java3d、
directX全部入れなおせ
会社がC#を推奨しだしたorz せっかく、jMonkeyEngine勉強しようかと思ってたけど、もう、Javaはおしまいなのかな。 Oracleは資金力あるみたいだから、ここらでJavaにドカンと投資してくれないかな
Androidがjavaなんだからこれから上り調子だろうて
JOGL2はまだベータなのか…… LWJGL使ってみようかな
>>656 今のところ、JavaはWebアプリ専用みたいな扱いだから、広がって欲しいね。
言語仕様的にはGUIもサポートしているし(使いやすいかどうかは別にして)、Webアプリ以外も使い道あると思うんだけどなぁ。
ゲーム作るにしても、画像、音、入力と一通りJavaだけで管理できるからいいと思うんだけどね。
スピード面も6になってかなり改善しているように感じるし。
Javaにはまだ、ジョイスティックが使えないという 致命的な欠点があるからねぇ。 それさえできれば、AWTで、非ブラウザの 秒間60フレームの2Dゲーぐらいは作れるというのに。
>>659 JNI(JNA)使えば簡単にできるけれど、「(コスト的に)使えない」ということ?
Javaである以上、ターゲットはマックだからね。 そのJNI(JNA)とやらが、マックでどれだけ対応していることやら・・・
>>661 >Javaである以上、ターゲットはマックだからね。
ここは理解できん
ターゲットはWindowsとは限らないからねならまだしも。
Javaのランタイムは、Windowsだと標準じゃないけど、 MacOSなら標準だからね。 Windowsなら、C#なりHSPなり、いろんな開発キットがあるから、 Java以上にゲーム向きの環境があるもんねぇ。
ソースを見てびびった。 書き方がなんか・・・。Cのほうから来ましたな人? 文法はJDK5以降なのになぜ。 動くことが正義なのは良いと思うんだけどさ、 Javaの命名規則なんて無視しまくりやぞ。いいのかそれで。
プログラマーキャリアは長いから、 確かにJavaの前にはCをやってた。 最初に覚えたのはN-BASICだしね。 Javaの命名規則てのも、正直よく知らんねぇ。
いや、知らんねぇじゃなくて、公開する以上気にしろよ。 Javaでゲーム作りました。遊んでください。 ってスタンスならここに来ている意味がわからん。
意味? そりゃあもちろん、宣伝乙としか・・・
669 :
名前は開発中のものです。 :2011/01/06(木) 01:41:29 ID:9xgj1835
めーめーきそくなんて統一されてればいいよ。 Cスタイルなら読むのに苦労する奴少ないし。
ジョイスティック使えるようにしてみたけど(GamePadCodingのとこの) 俺のヘボPCだと結構重いね でも刺したPSのコントローラーが使えるのは感動だ PollingContllolerしだすと処理落ちするのが、うーん
すみません。質問させてください。 2Dのシンプルなゲーム製作を考えているのですが、フレームワークとして、JMonkeyEngineを採用するのは、 愚かな選択でしょうか? 自分は、Webアプリ作ったことはあるのですが、ゲーム及びGUIは作ったことありません。 ゲームループや画像描画が楽になるかと考えていますが、2Dのゲームには重過ぎますかね?
JMonkeyEngineは3D用じゃなかったっけ? 2D特化ならSlick2D、GTGEなんかがあるからまずそっち試してみたらどうだろう
すまん、Slick2Dは日本語ドキュメントが皆無だな GTGEはググってみると日本語の情報がなんぼかあるのでやりやすいと思う
>>674 あっちに書くのは面倒だからこっちに書こう。
多分、製作手順はかなり違うだろうね。
ゲームだと、絵も描かなきゃなんないし、
音楽や効果音も作らなきゃなんないし。
そもそも、モノ売るってレベルじゃねーからねぇ。
と、だれかコピペでもしてやるがよい。
2Dのシンプルなゲームと言うレベルなら、 標準Javaのクラスたちで十分。 外部クラスを使うと、マックなどで使えない恐れがあるからねぇ。 Swingは、いかにもなJava画面になっちゃうから、 awtにとどめた方がよさそうだ。 BufferStrategyクラスが必須だよ。 アプレットだとまた別だけど、JMonkeyEngineてのが アプレットで使えるのかどうか・・・
Andoroidアプリのゲームを作るとしたら JMonkeyEngineなのかなぁ? JMonkeyPlatform入れてみたけどhelpが読めねぇ googleとexicite翻訳様に力を借りるしかない・・・
678 :
名前は開発中のものです。 :2011/01/23(日) 12:53:47 ID:vpMC2CYY
679 :
Now_loading...774KB :2011/03/04(金) 13:56:25.23 ID:7ZfO3S4Z
>>661 Macて最近Javaのサポート切ろうとしてなかった?
過疎ってるな(´・ω・`)
Javaでゲーム作る人もすくないからねぇ(´・ω・`)
682 :
名前は開発中のものです。 :2011/03/17(木) 13:31:44.50 ID:kd8KFBa3
いや、一気に増えているだろ スマートフォン開発ではJavaが最大勢力なんだから
>>682 スマートフォンとかだとJava人気なのか
未だにゲームというとPCゲームしか思い浮かばない俺は時代に取り残されてるな
そもそも、スマートフォンもってないし
PCゲーのこと考えると、そもそもJavaで作られたゲームどころか、Javaで作られたアプリ自体が少ないからな
Webアプリは腐るほど例があるのに、普通のアプリは驚くほど少ないのが不思議だ
最近minecraftとか見るとjavaもそう捨てたものじゃないと思うんだが。 それは俺だけだろうか。
プラットフォーム考えないで良いのは面倒くさくなくて良いよね
昔はJava=遅い=ゲームに使えないってイメージがあったけど。 今はそうでもない気がするんだが、やっぱり遅いんだろうか。
>>684 マルチプレー用のサーバをユーザ個人で立てるときに
linuxベースのOS上でやれるのは結構便利だと思う。
>>650 でうちのゼミの先生が作ったライブラリが紹介されててワロタ。
Java3Dと組み合わせて使うと結構面白い事が出来そう。
689 :
名前は開発中のものです。 :2011/03/28(月) 00:42:27.49 ID:jFJ/OZ03
質問させてください Javaで作られたゲームのソースコードを読みたいのですが、これだけは読んどけ!ってのありますか? 自分は3Dには特に興味ないので、3Dに関するコードはなくてもいいです その代わり、入出力関係や設計の参考になりそうなコードが読みたいです よろしくお願いいたします
目当てのゲームのバイトコードをjadにでもかけて丸パクリすればおk
>>690 さすがにそれは…w
そもそも、Javaで作られた有名ゲームを知らないから、それすら出来ないです。
Javaでゲーム製作を考える人間が参照にすべき鉄板のコードはないのでしょうか?
もしくは、鉄板でなくてもいいので、一応ゲームとして完成している小さめのコードは存在しないでしょうか?
よろしくお願いいたします。
>>691 昔の課題スレ、土日スレあたりに完成したミニゲームがうpられてたよ
ソース付もあったような・・・
ろだとwikiが一度潰れてるから拾えないかもしれないけど
自分のサイトにあげてる人の分はまだ残ってるかも
不確定情報でごめんね
携帯のゲームとかJavaが主流だろ
携帯ゲームの話なんて誰もしてないのに
CとJava、どちらをメーカーが用意してくれたかっていう程度の差だと思う MSはCを、携帯メーカーはJavaを用意した ただ、それだけの事であって、言語の優位さはあまり関係ないのでは? Javaでネイティブアプリが作れれば状況は変わる気もするけど EXEを作れない言語をあまりゲームでは使いたくないよね
exewrap
699 :
名前は開発中のものです。 :2011/04/05(火) 22:29:19.98 ID:f03XufOI
マウス操作の参考になるゲームのソースコードないっすか?
>>700 レスどうもです!
自分が知りたかったのは、もう少し具体的に実装をどのようにするかの参考になるコードです
例えば、ゲーム中とオープニング画面ではマウス操作が異なると思うのですが、どのような設計に
なっているのだとか、シムシティではマップ上でクリックすると、その場所の建物の情報が取得
できたりすると思うのですが、どのように実装しているのかとか知りたいです
ちゃんとマウス使って遊べるゲームのコードが読めればかなり力をつけることができると思い
質問させてもらいました
まだ何か情報がありましたら、お願いいたします
702 :
名前は開発中のものです。 :2011/04/08(金) 06:57:47.72 ID:1t1Tct0J
それ、マウス操作と関係ないやん。 Javaともゲームともほとんど関係ないやん。 とりあえず、オブジェクト指向設計の本でも読んでみたら。
普通にマウスの位置を調べてその座標にある情報を読み書きするだけだと思うが
シムシティでの建物をSwing/AWTコンポーネントとして作ってマウス操作を ライブラリにやらせようとしてる?
>>701 オープニングやそれ以外マウス操作のリスナーを切り替える関数を作ると便利だった経験がある。
たとえば
changeMouseListener(MouseL.OPNING)
とかいう関数を作っておけば問題なし、
俺はシムシティ触ったこと無いけど、マウスでクリックした物体に当たり判定もたせればいいんじゃないの?
タスクシステム書いた人いますか?
タスクシステムとは何ぞや?
708 :
名前は開発中のものです。 :2011/05/05(木) 08:50:16.93 ID:XjJqwCFC
随分アバウトだな・・・ フレームワークのことなのかな? だったら多かれ少なかれ、みんな書いてるんじゃないかな
ゲームに不向きと言われる理由も無くなってきたような。 JInputでジョイパッド入力が取る必要があるけど、 これを元に標準で実装してくれたりしないかな。 JNIのダイナミックリンクファイルが増えて嫌だ・・・
ダイナミックリンクの.dll等をjarに含める方法があるようだけど Eclipse使って簡単に実行可能jar生成してる俺には manifest.cfてのが無縁だった これはコマンドラインでやる必要があるのか・・?
Eclipseのjar生成機能にもマニフェストを指定する項目があったはず
thx、そして調べ不足でスマンorz 試してみます。
714 :
712 :2011/05/06(金) 21:20:54.29 ID:B/tT4s9w
と思ってみてみたんだけど、 Runnable JAR file の方には無かったな・・・すまん。なんというお手軽機能。 普通の JAR file のエクスポートには色々あった。
ああ、「実行可能jar」はお手軽機能だったのか ちょっと頑張ってみます。。。
716 :
713 :2011/05/07(土) 07:54:44.15 ID:CyiYoqx1
まず、出力するとき実行可能jarじゃないjarを選ぶと、使ってた外部ライブラリjarが出力したjarに含まれなかったので とりあえず使っていた外部ライブラリを全部解凍し、クラスフォルダとして含ませた。 で、早速うわさの通りmanifest.cf作って中にBundle-Native-Codeを書いて ビルドしてみたが、無意味。 よくよく調べてみるとこれはOSGi(?)のものらしい。 そのあとも調べたけど、jarの中にdllやsoを含める方法は無いという 結論に至ってるとこがほとんどだった。 でもJOGLのnativeのjarには解凍してみるとdll入ってるけどこれはどうしてるんだ・・・ 実行可能じゃなくライブラリならできる事なのかな 出来る事ならJinputもこの方式にしてほしい・・・。
717 :
713 :2011/05/08(日) 08:48:27.65 ID:BLYepg1P
すいませんJOGLのdll入りjarも、解凍して使うもののようでした・・・。 JOGL使う前に言った結果がこれだよ ネイティブライブラリをリソースに含んでおいて起動時にカレントにコピーする方法も試してみたけど、 最後の終了時に削除できなくて無理でした。 素直にjarと同じディレクトリに配置するしかないのかorz
joglは起動時にjarをHOME下に展開してクラスパスいじるラッパーあるね。 終了時に消す機能は知らない
719 :
名前は開発中のものです。 :2011/05/16(月) 16:53:08.39 ID:v6e7v91o
>>666 >Javaの命名規則てのも、正直よく知らんねぇ。
頑固親父プログラマー乙
>>719 いいね
まあチェスのルールさっぱり分からん俺には
オートボタン連打ゲーだったわけだが
>>719 正常に遊べたけど、エラーが出るよ。↓
Exception in thread "AWT-EventQueue-1" java.lang.Error: Unresolved compilation problem:
The type Normal must implement the inherited abstract method MouseListener.mouseEntered(MouseEvent)
at Normal.mouseEntered(Normal.java:8)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
(以下略)
>>719 すごい。
しっかり作られていますね。
できれば、ソースコードを参考に見せて欲しいです。><
725 :
名前は開発中のものです。 :2011/05/20(金) 23:50:04.96 ID:4jedvZd9
>>724 ソースコードは5000行あります。
一部分だけコピペします。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.lang.Math;
public class Main extends Applet implements ActionListener, MouseListener, MouseMotionListener
{
Image Banner;
Image Bishop_Black;
Image Bishop_White;
Image Board_Black;
Image Board_White;
Image King_Black;
Image King_White;
Image Knight_Black;
Image Knight_White;
Image Pawn_Black;
Image Pawn_White;
Image Queen_Black;
Image Queen_White;
Image Rook_Black;
Image Rook_White;
>>725 メインのクラスはいろんなリスナーを実装してて、
駒は Image クラスか〜
実に参考になりますな〜
…
って、バカw
727 :
名前は開発中のものです。 :2011/05/21(土) 12:21:32.28 ID:lqY6+dRY
>>726 ソースが汚くて申し訳ございません。
独学でJavaを勉強しましたので・・・
しかしプログラム言語はただの道具です。
ソースが汚くても動けばいいのです。
逆に動かないプログラムはたとえ美しいソースでも一円の価値もありません。
だめなやつの典型の意見 先はなさそうだな
729 :
名前は開発中のものです。 :2011/05/21(土) 12:31:00.38 ID:lqY6+dRY
>>728 じゃあ何かすごいJavaアプレットを作ってここで公開してみてください。
私が評価します。
一生独りでオナニーしてればいいタイプだな大規模プログラミングにも向かない 協調性もないようだし
731 :
名前は開発中のものです。 :2011/05/21(土) 12:51:37.13 ID:lqY6+dRY
>>730 そもそもオダチェスは一人で作ったものです。
大規模プログラミングを考えてプログラムなどしていません。
何でもいいからあなたの自慢のアプレットを公開してください。
楽しみに待っています。
732 :
名前は開発中のものです。 :2011/05/21(土) 13:00:29.87 ID:ObUmmaC7
痛いjava厨が集うスレと聞いて
733 :
名前は開発中のものです。 :2011/05/21(土) 13:02:58.06 ID:5peastFj
マルチポストするようなクズは相手にするなよw
>>730 職業プログラマーの嫌味?
大規模結構だけど小規模批判とは度量がちっさい
735 :
名前は開発中のものです。 :2011/05/21(土) 13:15:13.90 ID:H8388xve
いいぞもっとやれw
>>734 向かないと言ってるだけ
批判とかどこに書いてあるんだよ?
そもそも動きゃいいなんて言ってる時点で
他人とプログラムは出来ないって意味だよ
わからなかったか?
他の奴も言ってるがあちこちのスレに同じ内容で俺のゲームを見て見て
って書いてる時点で相当痛い。
737 :
名前は開発中のものです。 :2011/05/21(土) 13:28:41.80 ID:H8388xve
量産型Javaプログラマが嫌われる所以
>>736 >だめなやつの典型の意見
>先はなさそうだな
>一生独りでオナニーしてればいいタイプだな
批判じゃなくて感想?辛口アドバイス?
個人的には悪意しか感じなかった
739 :
名前は開発中のものです。 :2011/05/21(土) 13:35:33.17 ID:3RIjEd85
以下、顔を真っ赤にしたレスが続きます
>>738 どう感じようとあんたの勝手。
だいたい2chの掲示板の文章に何を期待してるんだか。
個人でゲーム作って公開しようって奴が
この程度でぐだぐだぬかしてるようでは
駄目だこいつとしか思わなかったけど?
741 :
名前は開発中のものです。 :2011/05/21(土) 13:46:27.88 ID:/q/xsFZ8
称賛コメだけ欲しかったのだよ恥ずかしいな言わせんな
そうなのか悪かったな。公に公開した時点で大概そうはいかないがな。 ニコ動にでも動画うpって感想もらえば? 正直な感想が返ってくると思うよ? まあ、スルーされるのが落ちだと思うけど。
きもい流れ。くそスレあげんな
珍しく盛り上がってると思ったら。
>>740 最初の1,2レスで駄目かどうか試したと?
それなら見事に釣られたな
最初に何がだめか聞くのが”正解”だったのか
746 :
名前は開発中のものです。 :2011/05/21(土) 14:58:59.48 ID:lqY6+dRY
煽り耐性が足りなかったようです。 神奈川県の足柄茶を飲んで精神修行して出直します。
端から見てる分にはどっちも顔真っ赤だったから安心しろ
なんだなんだ批判する方もされる方もひたすらに痛いな
なんだかよくわからんが
作品作って広く公開する事はいい事だぞ
みんなもっと自己主張していい
あと今更蛇足かもしれんが
>>726 が「ってバカw」言ったのは
これだけじゃ何もわかんねえよwって意味だろw
>>727 正論だと思います
実装に関して質問したいのですが、コンピュータの思考はご自分で考案されたのですか?
単発自演スレ乙
753 :
751 :2011/05/22(日) 08:43:07.80 ID:hDmmS2cS
>>752 私のことかな?
だとしたら、違います
自分はチェスの方とは別人です
754 :
オダチェス ◆FQjsC3RYHg :2011/05/22(日) 09:28:15.78 ID:O38HRSHZ
>>751 すべてのプログラムが我流によるものです。
他人のソースコードを改造しながら作るよりもすべて一から作成したほうがうまくいくということがわかりました。
プログラミングで大事なことはアルゴリズムの作成です。
脳内にアルゴリズムマップが作成できればどんなに複雑なゲームでも必ず作れます。
チェス作っただけで世界征服したような物言いだな
まあ、ヘボプーが舞い上がるとこんなもんでしょ
>>754 自分はチェスのコマの動きがだいたいわかる程度で定石とか全然知らない人間だけど、負けちゃった
仮に自分が将棋のAI作ることを考えると、矢倉さえまともに組めそうに無い
何回も言うけど みんなもっと自己主張していい 周りより少しでも目立ったら悪いみたいに考える事無い
お前は単にソースが欲しいだけだろ… 周りに対して悪いと思うから公開しないんじゃなく、 単純に自分のプログラムソースを配布したくないからしてないだけ。 周りに負い目なんて感じてない。
ソース出すならまだいいけど、 出さないならウザいだけだから消えろカス
あ
>>763 >作品作って広く公開する事はいい事だぞ
>みんなもっと自己主張していい
なんでも何も、これ見たら自己主張=作品の公開(ソース公開) と読めるんだけど。
自己主張とうぬぼれは違うと思うけどな
766 :
763 :2011/05/23(月) 16:49:50.65 ID:skyR9yv5
誤解させてスマソだけど とにかく、チェスの人はこれからも精進してほしいし、ここ見てる人は おそらくプログラミングに関係ある人だろうから 皆もためらわないで、こんな風に積極的に発表していくといいんじゃないかと。 (別にここに限らず、どういった形でも、場所でも。) うぬぼれだとかマイナスイメージな言葉はいくらでも思いつくけど、 チェスの人は別に何もまずい事やらかしたわけじゃないし 批判のようなレスが他にもいくつか見られるけど、結局はただ 「お前だけ調子に乗って目立ってんじゃねえよ!」程度の意味にしか取れない。 こういうネガティブな動きは作品の公開をためらう要因になりえないか。 むしろチェスの人のような積極性は見習われるべき。 そういう意味で、自己主張するのはありって言いたかった。
767 :
名前は開発中のものです。 :2011/05/23(月) 18:16:13.50 ID:HMhOkdig
まずいことしてる。複数のスレに自分の自慢を書き込み上げてるじゃない。
768 :
名前は開発中のものです。 :2011/05/23(月) 18:25:02.46 ID:+xaIlyu1
なんていうかマナー以前の問題
769 :
763 :2011/05/23(月) 21:22:25.17 ID:skyR9yv5
それのどこがまずいのか。 何が迷惑なの? もちろん2chやその他でそれが一般に「ウザい」とか言われるのは知ってる でも何か不合理な点でもあるのか? それ自体について疑問を上げたつもりだが。 リアルに考えればむしろ一番自然な作品発表の仕方かと。 自サイトだけでやってく人もいるけど、こうして宣伝するのもありじゃないかなぁ
>もちろん2chやその他でそれが一般に「ウザい」とか言われるのは知ってる 自分で言ってるじゃないか
>>769 同感
ただ、うちの親も同じニュース2回目見ただけで「チャンネル変えて」言い出すから、感覚としては仕方ない
好きなだけ公開アリ派が多数であってほしいけど
>>769 住人の意見を尊重すべきなんじゃない?
現実だろうとネットだろうと結局のところ、そこに前からいる他人を無視した自己主張は、それだけで迷惑なわけで。
ただでさえ盛り上がらない板だし 別に公開くらいいいじゃない 俺は別にコード晒すのは嫌じゃないけど、見たがる奴がいないだけでwwwww
マルチポストの類が嫌われるのはこの板に限らないし。 不合理云々の問題ではないな。そういう風潮なんだから仕方ない。
ってか、プログラムを公開することの是非を論じてる流れになってるけど、
チェスの人がうざがられてるのは、プログラムを公開したことに対してじゃないでしょ?
ソース公開したわけでもないし。
自己主張とか作品発表とか言う表現を使うから意味が分からなくなる。
ID:skyR9yv5は、
>>763 を見る限り、
発言に対して批判はやめてくれって言いたいだけなんだろ?
>>755-756 は、プログラム(非ソース)を公開したことを批判してるわけではなく、物言いに対する批判。
ID:skyR9yv5は、これが嫌なだけなんだろ?アホらしい。
776 :
763 :2011/05/23(月) 22:28:07.55 ID:skyR9yv5
>>771-774 なるほど、ありがとう
迷惑に思えるのは、感覚的には仕方ないっていうのは確かにあるかもしれない。
でも、ありったけのマイナスな言葉を吹っかけて罵るやり方には
そのマナーを守るニュアンスは感じられない。
その辺りは変わっていってほしいな。
ここに限った事じゃなく、現状ではとても作品を広めやすい環境じゃないし。
>>775 とりあえず「批判」で辞書れ。これらは本来批判とは言わない。
>物言いに対する批判。
そうか?そうは取れないと書いたが。
こういった建て前に合理性はあるのか?
チェスのプログラムで世界征服するとか言い出してからおかしくなった
で、何が言いたいの?簡潔に書いてくれない? 分かりにくいんだけど。 そもそも、作品を広めるための場所じゃないからね。ここ。
じゃあもうこうなったらJavaでゲーム作ろうぜ Javaいじったことないけどwwww
つか、気持ち悪いくらい一人だけ擁護してるやつがいると本人乙と言いたくなるな
781 :
763 :2011/05/23(月) 22:51:18.45 ID:skyR9yv5
ほんとJavaゲームとか2chに限った話じゃなくなったけど、
これからは ためらわないで公開できる環境になっていってほしいってだけ
>>778 >そもそも、作品を広めるための場所じゃないからね。ここ。
作品公開する場であってもいいんじゃないか、って提案だと。
>>780 違いますよ!
私チェスの人じゃありません><;
マターリの心を大切に・・・byローカルルール
いや、サッカーグラウンドで野球できる環境じゃねーな。って言われても困るでしょ。 そんなに作品公開したいなら専用にスレ立ててくれ。 それに2chに限った話じゃなくても、専用の場(例えばSource Forge)があるのに、 そういう場を使わず、そういう場じゃないところに来て公開できる環境じゃない!とか勘弁して欲しい。
784 :
名前は開発中のものです。 :2011/05/23(月) 23:01:31.68 ID:zFHjxf18
>>784 サンクスコw
そこからか〜先は長いな〜w
786 :
763 :2011/05/23(月) 23:06:51.36 ID:skyR9yv5
ID:LHuPZuob氏とかはとりあえずもう一度落ち着いて読み直してほしい ここが本当にサッカーグランドなら(野球できない場なら)何も言わないけど そうとはどこにも書いてないし 公開できる環境じゃない!と言ったのは周りの流れについてであって 場所のルールとか風潮とかの問題じゃない。
787 :
763 :2011/05/23(月) 23:08:12.09 ID:skyR9yv5
>>784 サーセンww
サンクスコw
流石に自重するサーセンw
ここにおいて、周りの流れがそういう環境じゃないなら、その流れに乗って欲しい。 そろそろ、自分の望む流れがあるところでやってくれないか? その方が互いに幸せだと思う。
まあ、変わっていってもいいんじゃないかという提案程度にとらえてください。 もちろん今すぐでなくとも。 JavaはCよりも手軽にGUIが作れる感じがして好き。ゲームに限らないがw
住み分けという言葉を覚えてもいい年頃だと思うがな
オレの経験から言わせてもらおう 他人の批判(悪口)に耐える(流す)能力がない人は 世の中に作品を公開しないほうがいいってことだ 簡単に言うと公開した作品に「クソ」と一言いわれてカチンとくる奴はダメだな クソという奴は、それ以上にダメな奴だろうが。
過疎スレが盛り上がっていると思ったら、大変なことに、、、 なにわともあれ、Javaでゲームを完成させることと、それを公開することはこのスレ的には素晴らしいことかと Javaゲーム作成スレは既に数スレ消費しているけど、雑談ばかりで完成したゲームは少ないからね チェスの人みたいに、ゲームをJavaで完成させて、公開してくれるのは大歓迎
公開を認めることと、批判を許さないのは全然意味が違うからね。 別に公開なんて好きにすればいい。だれも公開したことを咎めてるわけじゃない。 受け入れられないのは、別の言動にあるだけの話。 公開を歓迎とか言うけど、論点がズレてる。 元々、誰も公開を禁止したりしてない。ただ批判や文句も許されるってだけ。 全体的に読む限り、公開を認めて欲しいというより、批判を禁止したいだけじゃないか。 批判って言葉が嫌なら、悪口とか苦情とか好きな言葉に変えてもらって構わない。 辞書的意味云々は、単なる論点ずらしに過ぎない。
批判も程度問題というか内容次第というか 批判の批判もある訳だし、マターリの心を持とう・・・Javaの話しよう
もっとましなソースを出してくれたらスレ的には面白くなってたのかもしれない 俺も参考にして作ってみたとかね
>>793 論点ずれたのは認めるけど
批判まがいの悪口が正当化はされてないかと。
>受け入れられないのは、別の言動にあるだけの話。
その言動の何に問題があったのか疑問。
でもってその「批判」は本当に必要なの?
前も書いたけど、結局は書いた本人が気に食わなかったってだけ。
批判でも文句でも苦情でもない。言うなれば単なる挑発。
それを「批判」と呼んで元々正当な物のように仕立て上げるなよ。
言動とかも全て含めて「自己主張」から「作品発表」だの言ったせいで話は少しそれたけど
最初から結論は一つだったし何も矛盾した事言ったつもりは無い。
ストレートに結論付ければ結局は、
悪口はいらない、無意味って事。
そろそろ本当に終りにしてJavaの話に戻りたいです。。。
あ、ここって Android の話もおkなの? 純粋な Java オンリー?
798 :
名前は開発中のものです。 :2011/05/24(火) 18:15:04.17 ID:YN6A1Yr/
Androidは別にスレがあるからなぁ 固有の話だったらそちらでやったほうがいいかもね
終わりにしたいなら発言しなきゃ良いのに。 互いに納得いってなきゃ、どっちも最後に発言したいに決まってる。 どっちかが黙らなきゃ終わるわけ無いんだから、 本当に終りにしたいなら反論したくても黙ってろ。
サーセンw
せっかくJavaやってるんだし、Androidでも開発したいな。 回線契約なしで端末手に入らないかな。
オダチェスの人まとめ ・「ゲーム作ったよ」と 2ch に書き込み ・「何かを作り上げるとは良いことだ」と賛辞が上がる ・一方、マルチポスト&ソース非公開&上から目線に批判が集中 ・織田君消える 俺的結論: 「ゲーム作りました。俺より上手い人は是非ケツの穴掘ってください」とソース公開すれば良かったのに…。 (2ch の空気読めば良かったのに…) 嘘を嘘と見抜く能力とともに、情報をホイホイくれそうな人に餌を与える能力も必要なようで。
オダチェス見て思ったんだが、アプレットって今でもバリバリ現役? いつの間にか、Flashに駆逐された感があったけど、そうでもないのかな? それに、JavaFXとかも新しくできたらしいけど、流行ってないのか? 自分はwebアプリの一部分しか担当したことがなくて、GUI周りはよくわかって ないけど、仮に今からゲーム作るとしたら、どうするのが常道なんだろ? Swing?、アプレット、JavaFX、それ以外? どなたか、ご意見下さい
JFrame と BufferStrategy
807 :
名前は開発中のものです。 :2011/05/27(金) 16:32:27.23 ID:BamFcjaB
>>804 JavaWebStart
と、なるはずだった・・・
風来のシレンや、トルネコなどの敵の行動パターンのアルゴリズムの組み方、ソースの書き方教えてください。 プレイヤーが移動したら、敵もそれぞれ移動する。 プレイヤーの座標を取得して最短距離を求め移動するなどの組み方がわかりません。
812 :
805 :2011/05/30(月) 21:40:42.22 ID:hdVKsrtd
>>810 特に意味はないよ.
試しにAWT使ってとりあえずうまく行ったので,そのままにしてる.
趣味で一人で作ってるので,興味の無いところはテキトー.
結局、BGMはwavが一番安定・・・ 容量はかさばるけど、zip圧縮すればそこそこ小さくはなるので。
XNAがいろいろ参考になる。 もうC#使えよって声が聞こえて来そうだけど。
>>814 どこを参考にしてるの?
JavaでXNAライクなフレームワークを作っているってこと?
フレームワークっていうほど大げさなものではないけど、そんな感じ ほんと基本的なところのみだけどね。 状態管理とか、どうすべきかわからなかったので。
>>816 俺もXNA勉強してみるわ
ロジック書くのは得意だけど、設計とか状態管理とかが全く出来ないもんでorz
JavaもEffective Javaとかデザインパターンの勉強したけど、大きなソフトウェアが作れないんだよな
DBを介したバッチシステム作成を学ぶんだ 要するにCOBO(ry
COBOLゲーム作成総合スレ?
820 :
名前は開発中のものです。 :2011/07/11(月) 13:57:40.49 ID:7nUqX2PT
みんなSwingとAWT、どっち使ってる?
System.outとSystem.inでヒットアンドブロー
Swingで作られたゲームの例一つ見たい
画面表示にはJOGLの利用がデファクトだと思うんだが、バージョンが上がってから情報が少なくなったような。
面もう倒だし AWTで十分。やりたい事できる
825 :
名前は開発中のものです。 :2011/07/25(月) 15:05:15.42 ID:vrRC0MjJ
そもそもゲームにAWTだのSwingだのって、関係ないだろ? システム標準のGUIコンポーネントなんて使わないし、描画は全部MemoryImageSourceに自力でピクセル情報書き込んでいくんだから
MemoryImageSourceなんだそれ Imageじゃだめなの
久しぶりにこのスレを見てみたら、 なにやらマウスイベントの制御の話になったみたいだねぇ。 ゲーム、特にアクションの場合、マウスとキーのイベントの中では フラグのセットとか座標の抽出だけにとどめて、 すぐさまイベントから抜けるのがセオリーだよ。 で、スレッドを作って、そのループ内でフラグを読んで判定する、と。
なるほど!回答ありがとう。
かつてはマックのためにJavaの勉強をしてたんだが、 そのマックは、せっかくのJavaを無くそうとしているねぇ。 やはりJavaは、サーバー用の言語に成り下がってしまうのだろうか・・・
Apple以外のモバイル
831 :
名前は開発中のものです。 :2011/08/13(土) 09:57:47.69 ID:MQUQXB8Y
androidにjavaを選んだのは失敗だったと思う
Androidはなんとか和解してくれたらいいんだが・・・
そしてAndroidでもiPhoneでも 同じjavaのアプリケーションが動いたら最高なんだが・・・
javaとかまじ勘弁 もっとましな言語で統一しろよ
たしかに 俺もHSPに1票
hspはすでにiphone androidどっちも書き出せるだろカス
javascriptなんてどうでしょうか
HTML5で全部書けばどちらでも動くけどな。 ネイティブなJavaScriptってのは流行らないだろうが。
html5笑 google様が作ったパズルのおかげで糞だって身にしみたろ
まだ発展途上な物くさしてもなぁ。 あのパズルでHTML5全部を糞って判断できるってすごいね。
google chromeをDownloadしてくださいwwwwwwwwww 他のブラウザではまともに動きませんwwwwwwwwwwwwww
どうしたw
やっぱりjavaが一番いい
javaがflashに駆逐され、そのflashがjavascriptに駆逐されようとは誰が想像しただろうか?
845 :
835 :2011/08/29(月) 05:28:00.80 ID:wOkB3Vba
>>844 難しい漢字使ってるけど
知識自慢して楽しい?w
沖縄弁でおk
javaがflashに駆逐されたとか初耳
appletの方だろ
あれは元から死産だったような気もするが……
>>845 どれが難しいんだ?駆逐?駆逐艦とかって知らない?
安価ミスか誤爆だろ気にスンナ
Androidみたく 普通のPCのJavaアプリでOGG形式のBGMやSEを再生できたらうれしいんだが・・・ JOrbisでまずデコードして、という手順を踏まなきゃいけないのか 情報も無いし全くわからんorz もうwavでいいか
javaでタイピングソフトを作りたいと思っています。 言語などの知識は全くありません。タイピングソフトを作るのに参考になるサイトなどありましたら教えてください。 よろしくお願いします。
タイピングソフトなら何も難しい事ないんじゃないかな まず言語の初歩的な事を学んでから、 AWTなどで「画面に文字を描く方法」とか「押されたキーボードを調べる方法」など、 具体的な事を調べるといいと思う。
>>856 ありがとうございます。
とにかく知識がないもので、困っています。
自分で用意した文を表示させて、キーボードを打ち終わると次の文が表示されるように作りたいです。
この程度の物を作るとするとどれくらいの期間で作れる物でしょうか?
>>857 >この程度の物を作るとするとどれくらいの期間で作れる物でしょうか?
そういう質問されたって誰も答えようがないと思う。
せいぜい「作る本人のがんばり次第」としか言いようがない。
頑張って一週間くらいでできるかなぁ
>自分で用意した文を表示させて、キーボードを打ち終わると次の文が表示されるように作りたいです。 この条件を満たすだけの物作るなら、やろうと思えば1日でできる。 もちろん言語に慣れてからの話。
Javaスレで言うのもなんだけど
言語未経験ならまずはJavaに似てるC#のC#.NETで作るのもアリだと思う
無料の開発環境もあるしJavaと比べて圧倒的に敷居は低いよ
.NETのフォームデザイナ使えば
>>857 程度の物なら
実質10数行のコーディングで作れるはず
>>861 .netのフォームデザイナとはなんですか?
検索してもわかりませんでした。
>>862 検索で腐るほど出てくるじゃないか
ほぼマウスクリックだけでフォーム作れる代物
これ以上はすまんがC#.NET質問スレででも聞いてくれ
検索してたくさんヒットすれば何だってわかるもんでもない気もするが まあJavaの話題じゃないしごめん
ググってどうにかできるレベルになって 細かい所を聞く感じじゃないと答える方もつらいよな。
androidAPIって何か作りやすくない??eclipseやってて思った あんな感じの開発が素のJAVAGUIで出来たらなぁ
同意。 「30億のデバイスで走るJava」のキャッチコピーにSmartphoneがある件
Java超初心者です。 というかJavaをやるべきかどうか悩んでいる段階です。 ちょこっとムービーが入った アドベンチャーゲームを作りたいです。 サイトで公開もしたいし、できれば DL販売的な事もしてみたいのですが、 Javaでそういう事は可能でしょうか? 以前、独学でActionScriptなど、いろいろ な言語をちょいちょいかじって、 前述のようなゲームを作っていたのですが、 身内の不幸や病気をしてるうちに 言語がバージョンアップして ついて行けなくなってしまいました。 最近、新しく何かを覚えようと考えた時に Javaが良さそうだと思ったのですが、 いろいろ情報が不足しています。 どうぞご教授下さい。
結論から言えば、できる jarファイルに出力してjavaアプリケーション作るといい javaアプレットはwebページ上で動くやつだから違う
>>869 早速ありがとうございます!
自分で少し調べてみて、また質問させて
いただきます!
Javaでムービーは意外と大変だよね 特定のOSのみ対応なら問題ないけど
約20年ぶりにゲームプログラミングをしようと思っています。 昔のシングルタスクOS上では画面モードを切り替えV-SYNCで出力していましたが、 最近のマルチタスクOS上ではリフレッシュレートを考慮しないといけないような気がします。 単純に60HzならV-SYNCで良いような気がしますが、 この辺り皆さんはどうされているのでしょうか? また、Windowsであれば方法はあるようですが、 Linux GNOME等のJavaでV-SYNCって検出可能なのでしょうか? タイマでの書き換えは考えていません。
まあやってみそ
リフレッシュレートは昔、専用スレ立てて結論でてなかったっけ? 開発環境・実行環境別でもう一度やる?
>>874 なんと言うスレであるかお教え願えませんか?
jsp/サーブレットで動かしてるサーバに c/c++のクライアントでアクセするにはどうしたらいいのか どこか勉強できるサイトが有れば教えて欲しい・・
何でゲーム作成のスレでjspのことを聞く?
天鳳や東風みたいな麻雀ゲー作りたいんだけど ゲームサーバってjavaで動いてるんじゃないの? そういうプログラムについて書いてるサイト見つけられなくて手探り状態
普通にブラウザと同じことすりゃいい SOAPとかならライブラリ使えばいいし jsp,servletの麻雀サーバがあるの?
さぁ どういう仕組みで動いてるのかすら分からない状態だから 適当に検討漬けて調べてるんだよ
通信プロトコル同じなら言語関係ないでしょ
なるほど、となると後はサーバ側でどんなプログラムを書けばいいかか
>>882 あまりシステムに詳しく無さそうなんで、とっかかりだけヒントを・・・。
まず、
ユーザー間の入出力通信をP2PにしたいのかCS方式にしたいのかを決め(東風はCS方式)、
サーバー側にどんな機能が必要なのかを明確にする。
P2P方式はイカサマ対策ロジックを施さないと
イカサマを許してしまう可能性が高いがサーバへの負荷は軽い(認証とマッチングとDBのみとなる)。
ちなみにCS共に言語は何でも良い。
まずこの辺りの仕様を明確にした方が良いと思う。
884 :
883 :2011/12/03(土) 18:17:36.90 ID:k22blWrj
追記。 P2P方式はクライアント側の作りこみの比重が高くなり、 CS方式はクライアント側はただのUIになるので リソース設計含めサーバー側の開発比重が高くなる。
885 :
883 :2011/12/03(土) 18:27:05.93 ID:k22blWrj
更に追記。 僕だったら開発期間の短縮を考慮し、 CS方式にしてUIはJavaScript(Webブラウザ)で簡単に済ませちゃうね。
ありがとう CS方式にしたいけれど無料レンタルサーバを使うことを考えたらP2P方式のほうが良さそう
無料のレンタルサーバでサーブレットコンテナが使えるのがあるんか。
俺、昔C++でマージャンゲーム作ったことあるよ。 ソースコードあげよっか?
くれ
Javaに移植するのか
どうせアップしたって、中身わかんねーだろ。 あきらめろよ。
DXライブラリ(c++)みたいな、猫にもわかりそうなライブラリってないの? 三角形と線と文字列を描画できて、カメラのセットを出来ればいいだけなんだけど。 Java学びたいから、c++→Javaの移植をしようとしてる。
>>893 その程度なら標準のJava(3D)でできない?
>>893 Swing自体がもうDXライブラリ並に簡単だろw
SwingだってDirectX使って描画してるし速度は問題ないはず
java3dで javax.media.j3d.GraphicsContext3D#draw(ジオメトリ) javax.media.j3d.Canvas3D#swap() とかしてると、 デバッグ実行と普通の実行とで結果が異なるんだけど何でだろ? 普通の実行だと行うべき動作が省略されている感じになっている。 たまにデバッグでもそうなる。 JD-Eclipseのクラスファイルの逆コンパイル見ると同じなんだけどな…。 c++で作ったものをJavaに移植するとどうなるか試してみようと思ったんだけど、不安定すぎて全然進まない。
897 :
896 :2012/01/02(月) 01:28:49.57 ID:qwRGZprZ
>>893 俺がいる、と思ったら、書き込んだの俺だった。
898 :
896 :2012/01/02(月) 11:26:49.76 ID:qwRGZprZ
何度も書き込んで申し訳ない。コレにて去ることにする。 どうも、デバッグ実行で、ブレークポイントあり/なし で実行結果が変わるみたいだ。 デバッグビューを見る限り他のスレッドが起動しているわけでもないし、無茶苦茶だ。 c++に帰る。 ありがとうございました。
>>898 いくらシングルスレッドで動いているからってデバイス自体が非同期なんだから
ブレークで止まってる間に処理が完了してたり、止めなければ未完のまま次のコードが動くことくらい
当然じゃね?
C++より資料は少ないし俺もいつかつまづきそう でも速度なんかよりWindows以外への移植性やプログラムの書きやすさ(独断)を優先する俺にはJAVAゲームがぴったり
jogl (jogamp) を使って3D表示してるのだけど、 「同じ表示エリア」に2DのOpenGLの表示もしたい。 同じ場所にCanvasを設置して背景色透過とか。 (固定サイズでOpenGLな文字表示をしたいだけだけど。) 出来るかな?
joglほとんどやった事ないけど、C言語のOpenGLならちょっとだけいじった程度の者だけど そういうのはOpenGLそのものの2D表示でできたはず。 画面に張り付いたポリゴン描く?みたいなイメージだったかと。 透過もできる。透過や半透明は描く順序に注意。この場合一番手前の文字を最後に描画するとうまくいく・・はず。 曖昧でごめんorz
903 :
902 :2012/01/18(水) 10:40:58.83 ID:vqmxGCo4
んーなんか俺わかってないかも; Canvasに文字描画してそれをポリゴンのテクスチャにするって事なら たぶんそれでいいと思います 頼りなくてごめん
905 :
902 :2012/01/18(水) 19:46:36.31 ID:vqmxGCo4
そういうのあるのか、適当な事言ってまじごめんorz
906 :
906 :2012/01/20(金) 15:30:05.48 ID:YSg71yIQ
javascriptを使ってブロック崩しのゲームを作っているんですがよくわかりません キーリスナーが動かなかったりとか問題ばっかりです。 誰か教えてくれませんか??
教えません
>>906 マジレスしてやる。 Javaとjavascriptは別物だ。
Q.JavaはJavaScriptどこが違いますか? A.全部違います。 なんでこんな紛らわしい名前付けたの・・・
え。 javascriptという名前になった理由を知りたいという文章であると読み取ってるの?本当に?
もう皆ECMAScriptの呼び名でいいじゃん。
915 :
909 :2012/01/31(火) 13:39:43.92 ID:RrHJFIuX
本物の909です期待 教えてくださいググりません
ここまで誤解を招いてもこう呼ぶ意味は?
917 :
909 :2012/02/01(水) 14:35:42.35 ID:DT+EnOCn
いいえ私こそが本当の909です 早く教えて
javaのアプレットで複数の画像を一つずつ動かせるにはどうすればいいですか?
アプレットなんてやってどうすんの?
920 :
909 :2012/02/02(木) 18:00:17.13 ID:QBljV9NN
それは禁句、それぞれ理由はあるだろうに 画像は、複数描画できてるなら簡単では?それぞれ別の座標を指定する
jME使ってる奴いないの?日本語リソースが少ないから気になる
JAVA自体特に日本でマイナーで資料少なめな気が;
javaが日本でマイナーて・・・ 書店行けば一番参考書の種類多いけど
Javaはメジャーな方でしょ 開発の現場だと、1.4とかが現役で最新バージョンに追いついていないとか聞くけど 問題は、Javaの主戦場がwebアプリでGUIのソフトが少ないから、ゲームに参考にならないものが多いことかな
linuxの適当な鳥いれてパッケージ管理からゲーム調べれば色々出てくるぞ
>>925 確かにそうかも
外人はJavaとPython大好きだよね
自分はWindowsすらまともに使いこなせないダメプログラマだから、ダメダメだね
こんなんじゃ、Javaでゲーム作るなんて、夢のまた夢だよね
欝打詩嚢
927 :
922 :2012/02/16(木) 01:21:57.91 ID:mIdJhvZN
>>926 ちょwww
Windowsアプリ作った事ある?wwwww
>>927 CUIの自分用のアプリなら何個か
全部、数値シミュレーション用
最近GUI物作るのもJavaにする事が多くなった。 普段使ってる言語で作れるってのは良いことだな。 人に配布する様な物を作ろうとは思わんが。
>>929 配布とか考えなくていいならJavaいいよな
配布かあ jarをダブルクリックしたら解凍されましたとか勘弁; Web startとか言うやつはそこを改善したのか?でも、ゲームで使われるファイルをやりとり(リプレイ等を他人と交換しあったり)がやりたい自分は使えないかも・・・
ブート用のスクリプトファイルつけとけ
.exe内部で子プロセスとして起動できんかな。 Slickっていうフレームワーク始めてみた。 チュートリアルもないけどjavadocだけでなんとかなってくれるといいのだが。
マップEditorとかは結局Swingでつくることになりそうだ。
Java最高ー! ※これは個人の感想です。
Javaゲームの製作ノウハウが詰まってるサイトない? 2ちゃんの過去ログみたけど1.4時代あたりで急に人がいなくなってて いまいちわからん
Javaを書くと、なんだか若返った気分になります。 ※これは個人の感想です。
> jarをダブルクリックしたら解凍されましたとか勘弁; ワロタ。確かにありそう
jogl と lwjgl どっちがいい?
たしかにJavaなんて18年ぐらい前に触ったきりだから あの頃を思い出すわ
jmonkey engineの方が良いらしい。 www.nicovideo.jp/watch/sm15356948
ゲーム本体ならLWJGLで、ツール内にOpenGLでレンダリングしたいとかならJOGL。
944 :
名前は開発中のものです。 :2012/08/05(日) 19:28:01.11 ID:eq3+MEKH
初歩的すぎて申し訳ないんだが Javaで2Dアクションゲームでマップ(足場)作る際にどうしたらいい!! ググって2次元配列が関わってるのはなんとなくわかったんだが・・・ ソースコードみても製作者の自作メソッドがまじってたりでわからん! だから、Javaのクラスライブラリに入ってる範囲でマップを作る際に必要(または便利)になってくるメソッドを教えてくれないか その後は自分で調べるからオナシャス!
グラフィックの表示はともかく、 2Dアクション作るのにあんまり言語ごとのクラスやメソッドは関係ないと思うけど。 長方形同士の物体の判定ぐらいはできるよね?
足場の判定関数なんて汎用性の無さそうなものあるわけ無いじゃん。 下が足場なら落下停止、それ以外は落下。それだけだよ。
>>945 >>946 ああ、説明不足だった。。
当たり判定は大丈夫だと・・思うまたこけるとおもうけど
マップチップを2次元配列にセット・・・この段階で躓いてる。
適当だけど
// マップ
private int[][] map = {
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,2,2,2,2,2,0,,0,0,0,0},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
};
とかにしてそっから
0なら何も書かない。
1なら通り越せない壁。
みたいな感じで画像表示させて(ここでわかんない)てか配列自体も良くわかってない気がしてきたわ。
ただ基礎が足りないだけだった・・・スマナイ。でも、方法というか考え方としてはあってるよね?
ふぇぇ・・・下から2行目欠けてたよぉ・・・。
>>947 まず、画像は10*10とかのチップ単位で表示されることはわかるんだよな
配列の縦 * 画像チップのサイズ=画像チップの縦の位置
配列の横 * 画像チップのサイズ=画像チップの横の位置
判定はキャラの1歩=1マス分の移動
/* まあ超単純にするとこんな感じ */ private Image img; private int size_x, size_y // 画像1チップサイズ private int[][] map = {{ ここにデータ挿入。のちにファイルから読み込むとよし }}; public void init() { img = getImage(getCodeBase(), "img.gif"); // 画像読み込み(サイズ:32×32) size_x = 32;(1チップサイズ:32×32)とした場合 size_y = 32; } public void paint(Graphics g) { for (int y = 0; y < 10; y++) { for (int x = 0; x < 10; x++) { // 今回は地形を表示するかしないかって事なので if (map[y][x] != 0) { // 画像を表示させてる所 g.drawImage(img, x * size_x, y * size_y, this); } }} }
>>947 ごめんチップ単位とかわからなかった。pixelのこと?
あと1マスずつ移動するって感じで作ろうと思ってないんだスマナイ。
>>950 神。ありがとう、泣きそう。
getCodeBase()、drawImageの第4引数のthis←が初見だったからggったらアプレットとか出てきたんだが・・・
なんせ初心者だからアプレットに変換?アプレット形式って言っていいのかわかんないけど
アプレット形式で作ってることを前提にして無いから動くか心配やぁ
あと、gifも扱ったこと無いからわかんねw
俺初心者すぎて話進まないかもなまじで申し訳ない。
でもfor文の中はやりたいことは分かったありがとう。そうやってずらしてくのか!って感動したw
そしてIDが「BAG」なのが腹立つんだがwwww
>>952 おおふ・・。なるほど、理解力が足りなかったorz
そこら辺はわかってる気でいるけどまだ実現出来てないから真の理解には至ってないかもしれん。
とりあえずGIMPで64*32pixelで灰色と真っ黒のpngを2分割して作ってみた。
それを代用してみたいと考えている最中。
そして更に詳しくありがとう!
fmfm・・・絶対これ聞いてなかったら当たり判定でも死んでただろうな・・・w
今日書店いってゲームプログラミングの教本探しに3件くらい回ったけどjavaで良いのが見つからなかったプンプン!
もう、わくわく!なんちゃらかんちゃら見たいな教本に頼らないで純粋にjavaの基礎固めて「ゲームプログラマーになる前に知っておきたい〜〜」を買って自分で組んでみるかな。
プログラミング暦半年くらいで皆どんなゲーム作れた?ちょっと気になる。いや、すごい気になる。
>>953 あ、3分割にしなきゃw
一個背景用の作んなきゃwww
ゲームプログラマーになる前に〜はC++よ 普通に14歳〜を買ったほうがいい
>>955 14歳〜はC++とJavaを一応終わらせた。次Objective-Cかな。
RubyとかPHPとかJavaScriptとかも勉強したほうがいいんかな?ガッチリ基礎固めるまではやらないけどw
最初は浅く広くして全体像をつかむ作戦なのだよムフフ(吉と出るか凶と出るか・・・)
で、理解を深めるため今改造中w
C++でもあの書籍何かと良いサンプルは載ってる気がしたんだがそうでもない?
いいとこどりしようかなって考えなんだけども
でも正直もうC++で書きたくないwwww
キモすぎワロタ死ね
出来たぜ!協力してくれた人ありがとう! 2chも捨てたもんじゃないな。
959 :
名前は開発中のものです。 :2012/08/15(水) 02:10:50.50 ID:G1u9geXz
JavaSE7で大戦略かリアルタイム大戦略みたいなシミュレーションゲームを作りたいと思っています。 参考に出来るソースコードやオープンソースのゲームがあれば教えて欲しいのですが、なにかありますか? マウス入力に対する処理や、その他全体的な設計を参考にしたいです。 よろしくお願いいたします。
何がしてーんだこいつ
>>960 プログラミング経験は5年ほどです。
Javaだと2年ほど。
WEBアプリのロジック系をよく書いてました。
GUIは初体験です。
とにかく、参考となるコードが読みたいです。
Javaでオープンソースのゲームだとコレってのがあれば紹介していただけると嬉しいです。
よろしくお願いいたします。
つーか、そんな都合の良い物が転がってるわけないだろ。 まず、適当なOSSのソース読んで理解できるかどうかから始めろよ。
>>963 そうなんですか
昔、仕事でJavaの勉強始めたころは、Struts(古すぎ?)とかJUnitとかのコードを読むのが鉄板で、自分も読みました。
ゲームだとそういうの無いんですね。
ありがとうございました。
おそらく、このスレの住人の大半はJUnitのコードすら読んでないからあまり差し上げられる情報は無いかと
十人十色のソースコードにこれという決まりはないでしょ せいぜいが他人の色に染まるだけよ
ソースをちょっと見れば大戦略が作れると思ってらっしゃるその自信、羨ましいです
ある程度経験積んでれば参考ソース無くても作れると思うんだけどなぁ。 で、気にくわなくて何度も作り直す。と。
>>968 業務系開発のベテランを制御系開発に放り込んだ場合
参考ソースが無くてもまともなものが作れると思うか?
少なくとも他分野で開発経験があれば、しかも5年もあれば 自分で資料を集めるべきってことくらいわかるはずだけどな。 しかも今回自分で作りたいって言ってるわけだろ
ゲームという分野の開発を初めてしようという時に、 参考になるソースコードを見たいと考えるのは、 ごく普通の感覚だと思うけどなぁ。 何も見なくてもとりあえず動くものくらい作れるかもしれないけど、 経験がある人ほど「とりあえず動くもの」を敬遠するとも思う。 そうじゃない人もいるみたいだね。 定石から外れた自己流で開発をして失敗することで学ぶのが好きな人もいるのかもね。
ソース見て手法を学ぶものじゃないの?
地雷みたいなクソ情報で道を誤りたくないから 定番くらいは聞いておきたいという気持ちはわからないでもない。 でも勧められるものは無いなあ。
いや俺も良いソース探してるw
>>969 まともな物が最初から作れるとは思わないし、
まともな物を最初から作ろうと思わないと思うんだが。
部分部分ググったりして、参考ソースは必要だと思うけど、
「大戦略みたいなシミュレーションのソース」という具体的な物が必要かな?
普通はもっと細かく、描画、AIとかつまった部分を探すと思うんだ。
>>976 俺も全く同じ感じでやってるわ。でも最近は違うみたいね
某所よりコピペ。 > 何を言ってるんだ、こいつは?と思った時は > > 参考にする=>コピペする > 考える=>検索する > 調べる=>解説しているサイトを探す > 勉強する=>模範解答を丸暗記する > (書いてあることが)よくわからない=>読む気がしない > 詳しく書いてあるところはありませんか?=>自分のレベルに合わせてくれるべきじゃないんですか? > ・・・・ > という具合に読み替えてみる、意味が分かることが多い。
>趣味なら自分の好きな方法でいいのでは? その通り。強制じゃなく自分からやろうとしてるんだからね。 ならば、辞書を目の前にして「××という言葉がのっているページ番号を教えて。」 とか普通言わないし言えないのでは?
つーか、それ誰宛のレスだ?