Javaアプレットのゲームの限界は!at GAMEDEV
Javaアプレットのゲームの限界は! - 暇つぶし2ch50:32
01/11/17 12:49 Fn+9I1SG
>>45
じゃあ遠慮なしに。

>ファミコンで今までこのスレに出た物の技術レベルの事が出来るのか?
Win動作前提のアプレットと比較してどうするのよ。
Win以外でまともに動作するとでも思ってるの?
俺が言いたいのは、WriteOnceRunAnywereを実現するには、
ファミコンレベルが限界だってこと。

>NC4.7xに訂正する。
JVMの起動に数分フリーズするのですが?

>>>41のようにするなり内部処理では別なサイズで計算しておいて後から戻せばいい。
メモリ転送が今のCPUでは一番のボトルネックだということを知らないの?

>MMXを直接いじって最適化できる物はAppletと競合するものにあるのか私は知らないのだが。
例えばFlashやShockwave、MMX使って最適化されている。

>MSIEならDirectSoundを、それ以外ならsun.audioを使うようコーディング
>したらよい、という意味で書いた(muhmuaudio)
つまり、MSIE以外は8bit8KHzモノラルPCM、ブツブツでがまんしろと?

>Appletの技術的限界についてだけならそうなるが、別の方法でカバーできるのではないか?
例えば?8bit8KHzモノラルPCMでBGM鳴らすのか?

で、結局Javaアプレットの方がFlashでゲームを作るよりどういう
アドバンテージがあるのよ。

51:名無しさん@お腹いっぱい。
01/11/17 12:54 NQwbGr1M
Javaのほうがプログラムしてゲームを作ってるという実感・風情があるじゃん(w

52:名無しさん@お腹いっぱい。
01/11/17 13:02
>>32 >>34
どうでもいいのだが、とにかく少し落ち着け。

53:名無しさん@お腹いっぱい。
01/11/17 13:13
ゲームに限れば自力描画でいろいろ弄べる、くらいかな>Javaアプレットのメリット

54:名無しさん@お腹いっぱい。
01/11/17 22:41 Nt0xPQGT
iアプリみたいにJフォンのJavaアプリ対応携帯に自作のJavaプログラム実装できますか?

55:名無しさん@お腹いっぱい。
01/11/17 22:43
>>54
意味が良くわかりません。
小学校でも行って日本語の勉強からはじめたほうが、

56:名無しさん@お腹いっぱい。
01/11/17 22:50 Nt0xPQGT
>>55
意味が良くわかりません。
幼稚園でも行って日本語の勉強からはじめたほうが

57:名無しさん@お腹いっぱい。
01/11/17 23:05
>>56
怒るなよ。スレ荒れてきたな。

58:40
01/11/17 23:16
>>54
APIだけならココで公開されとりますが、詳しくはしらね。
URLリンク(www.jblend.com)

59:名前は開発中のものです。
01/12/03 13:10
URLリンク(www.dp.j-phone.com)

12月中旬SDK公開だそうだ。

60:名前は開発中のものです。
01/12/03 23:37
>>59
なんか 3D Polygonの文字が…
携帯の小さい画面で3Dって意味あるんですかね?

61:名前は開発中のものです。
01/12/16 23:10
URLリンク(www.cfxweb.net)
さすがに playable gameっつーお題はキツイのか、
未だに投稿作品無し。腕に自信のある人は投稿してみては?

62:名前は開発中のものです。
02/03/03 10:20
投稿しる


63:無人君
02/03/03 10:22 bTChClea
僕ページ作ってたらお宝見つけたので紹介します
URLリンク(www.geocities.co.jp)


64:名前は開発中のものです。
02/03/03 10:31
ジャ川必死だな(藁
アプレットなんかもうIEでは標準で使えなくなるっつーの

65:名前は開発中のものです。
02/03/03 15:07
うそーん!?

66:名前は開発中のものです。
02/03/03 15:26 oL4NzMRO
>>62
playable gameのコンテストはとっくに終わってます。
いまは natureだったかな?

>>64
ちなみに 最近買ったDELLのWindowsXPプリインストールマシンには
Microsoft製 JVMばっちり入ってましたけど。
標準で使えなくなるって具体的にどーゆー事いってるんでしょうね?

67:名前は開発中のものです。
02/03/03 21:13 xvTs5o8u
>>66

市販されているXPには、標準でJVMは入っていない。


68:名前は開発中のものです。
02/03/03 22:22 yQZYuYZy
やっぱり.NETFrameworkで
DirectXに代わるゲーム用APIを用意してもらうって方法が
みんな幸せになれると思うなぁ。
結局プラットフォームホルダーは強いのよ。
上のJAVAはボタン同時推し出来ないって発言みてそう思った。

69:名前は開発中のものです。
02/03/04 02:05
>>67
パッケージのXPに標準でJVM入ってないのは知ってるけど、
どっちかっつーと JDK1.1レベルのMicrosoft製JVMが入ってて
Java2以降のJVM普及しないよりは マシだと思うこともある。

それに パッケージのXP使ってるユーザーって
Windowsユーザのどのぐらいの比率なわけ?

それにもうひとつ言うけど比率は
あんまし問題じゃないような気もする。
例えば Nintendo64 ってプラットフォームとしては
PlayStation より小さかったと思うけど、
ランキングに入るようなゲームをかなり出してたし。
今まで「標準で」JVMついてたわけだけど
「面白いアプレット」がどれだけあったか、
っつーと ほとんど皆無なわけで。

70:名前は開発中のものです。
02/03/04 03:21
>今まで「標準で」JVMついてたわけだけど
>「面白いアプレット」がどれだけあったか、
>っつーと ほとんど皆無なわけで。
でも、JVMでソフトレンダでバンプとかやってる人もいるわけだから、
プラットフォームとしてはもう申し分ないと思う。
というか、ソフトの中身だよ。
「面白いアプレット」が皆無っていうけどさ、じゃ「面白いネイティブコード」だって
意外と皆無じゃん。

中身を造るのが難しいんだってば。プラットフォームの問題ではない。


71:名前は開発中のものです。
02/03/05 00:32
>>70
うーむまったくその通りって感じ。
オラも只今某 open-prog のアレを見て自前 3D 勉強中なので、
勉強が終わったら面白いゲームをズギャッと作るぞ~!
って、そういうこといってる時点でアウトなんだけど(笑

# 3D は別にゲーム作りに直接は関係ネーよな、という。

72:名前は開発中のものです。
02/03/26 18:06 ZqwdIhf5
「先行者ゲーム」ってjavaでできているんだよね。


73:名前は開発中のものです。
02/03/26 23:14
あとゲームじゃないけどお絵描き掲示板とかもあったな。
JavaAppletが最も効果的に利用された例だな。

74:名前は開発中のものです。
02/03/29 12:25
えー、Sun純正のVMで
ソフトレンダリングやリアルタイムゲーム作ると酷いことになりますよ。
バージョン上がるたびにGCの挙動が思いっきり変わって
滑らかに動いていたのが遊べないほどつまづくようになったり。
私はこれで手を引きました。

MSVMがサポートされているぶんには、
もう挙動変わらないだろうからいいけど。


75:名前は開発中のものです。
02/03/29 14:44 FT2GGdqg
>>74
一体いつの事を言ってるんだ?

76:74
02/03/29 15:30
J2SE 1.1~1.2~1.3~1.4まで。


77:74
02/03/29 15:49
まあ、つまりJava黎明期から今までですわ。

なんか疑われてるっぽいので書くけど、
Java 2、1.3への移行時に、今まで作ったゲームがことごとく
ふんづまり頻発するようになって、起こらない方法求めてあれこれ修正。
でも、1.3でスムーズに動くのが1.2では駄目だったり、
1.4でまたダメになったりで法則性も解決策もまったく見えんので
手に負えないと判断して逃げ。もうガベコレは完全にトラウマDEATH(C#も)。

ちなみに、OPEN PROGRAMMINGのサイトのアプレットも
純正VMだとふんづまり頻発するよね。


78:名前は開発中のものです。
02/03/29 18:11 UXTJ6z+A
>ちなみに、OPEN PROGRAMMINGのサイトのアプレットも
>純正VMだとふんづまり頻発するよね。
Java plug-in1.3,.14共にちゃんと動くぞ。
マシンに問題があるんじゃ

79:名前は開発中のものです。
02/03/29 18:53
画面の色数が256色とかでやると、フルカラーの
一世代古いマシンよりも遅かったりするけど。
そーゆーことではなくて?
もしくは メモリ32Mしかないとか

80:名前は開発中のものです。
02/03/29 21:27 pGmG/uty
Javaが悪いんじゃなくてSunが悪いんだい!といってみるテスト

81:名前は開発中のものです。
02/03/29 21:42
意味の無いテストだね

82:名前は開発中のものです。
02/03/30 03:08 Ya+dfZdJ
利用者の利用の仕方を評価してスコア表示するブラウザ。
ネットに接続しハイスコアを競い合う。


83:名前は開発中のものです。
02/03/30 10:49
2ch覗いたら -1点とか?

84:名前は開発中のものです。
02/03/30 20:39
>>78
うちでは確かに詰まる。数秒に一回カクッと。



85:名前は開発中のものです。
02/03/31 00:00
もうAppletではファミコンレベルが限界だな
と言ってもファミコンでは面白くものしかないのかと言われたらもちろんNOなわけで、
結局製作者側のセンスなんだろうなということに落ち着くだろ

86:名前は開発中のものです。
02/03/31 01:40
>もうAppletではファミコンレベルが限界だな
それはどっちかっつーと、作る側の限界だねぇ

87:名前は開発中のものです。
02/03/31 02:06
ファミコンレベルだったらほとんどなんでもありじゃないの?

88:74
02/03/31 12:57
>>78-79
むう、本当にちゃんとスムーズに動きます?
空きメモリの変化追うと、実際GCが動くところで露骨に引っかかってるんだけど。

ちなみに環境はCeleron450A、RAM 256MB、GeForce2MX、Win2kSP2
ってとこなので、特に変でも非力でもないと思ー。
同じ環境でDirectXもいぢくってるので、無論後ろで変なプロセスも動いてない。
なんか不可解な環境依存でもあるのかしらん。(Sunだから大いにありうる)
少なくとも私んとこでは高いフレームレートのアプレットのゲーム全滅ってことで。


89:名前は開発中のものです。
02/03/31 17:00
URLリンク(homepage1.nifty.com)
↑のもふん詰まりになるのか?

90:名前は開発中のものです。
02/03/31 19:23
>>88
System.gc()とSystem.runFinalization()は使ってるか?

91:名前は開発中のものです。
02/03/31 22:06
>>90
もしかしてSystem.gc()をこまめに実行してやるとふんづまりしなくなるの?

92:名前は開発中のものです。
02/03/31 23:17
GCによる停止が分散されるだけ。長時間とまるよりはマシという発想。

捨てられるオブジェクトをなるだけ減らすという非生産的作業(DQN仕事)
でもってGCを起こり難くするのも有効。
ただしコードがグチャグチャになるので素人にはオススメできない。
iアプリやるなら必須のテクだけどね。

ところで今アプレットってそんなに利点あるの?
ネットが普通に使えるようになった今となっては、
制約しか見当たらないのだけど。

93:名前は開発中のものです。
02/03/31 23:25
プログラムのちょっとしたアイデアを
見せるのには手軽でいーんじゃない?
OPEN PROGRAMINGでやってるみたいに。

オブジェクト使いまわす程度で
そんなにソースグチャグチャになるかなぁ?

94:名前は開発中のものです。
02/04/01 13:27
でもFlashはタダで始められないやん。

95:名前は開発中のものです。
02/04/01 15:19
System.gc()連発するぐらいなら
インクリメンタルGC試したら?


96:74
02/04/02 13:15
>>89
なります。大体10フレーム単位で固まって動く感じ。
カタ、カタ、カタ、カタと。ちなみにWinMeでも同じでした。
特にMemoryImageSourceでアニメーションしてるやつは全滅です。

>>90
その辺は全部試しました。効果ないよん。

>>95
アプレットで動かす限りインクリメンタルGC入れられないからなあ。


97:名前は開発中のものです。
02/04/02 13:39 1LH67bf9
>>96
URLリンク(homepage1.nifty.com)
これはどうよ?


98:74
02/04/03 10:32
ダメです隊長。


99:74
02/04/03 10:42
というか動かない。StackOverflowかなんか例外出てる。
(マシンごと固まるのでコピペ不能)


100:名前は開発中のものです。
02/04/03 15:25
>>99
当方256MBだか問題なく動く。まったく止まらない。
やはりマシンの問題でないか。違うハードウェアでテストしたことあるか?

101:74
02/04/03 19:09
Win98とJREクリーンインストール直後状態の
(以前この件について試してそのまんまなんで)
まったく別構成のPentium133MHz機で同じ結果。


102:名前は開発中のものです。
02/04/03 19:43 ibPSHn4K
横槍で申し訳ないがこちらでも全く普通に動いてます。
環境:P3-733Mhz メモリ128MB Win98

103:名前は開発中のものです。
02/04/03 20:39
>>74
同じような報告を貰った覚えがあります。
クリッピングを再帰的に行っているんですが、一部のVMでは永久再帰になって
スタックがオーバーフローするらしいです。

おそらく単精度浮動少数演算でもIntelのFPUの内部精度が80bitあるのに対して、
SUNのJVMは浮動少数点演算の結果の共通化を測るためにわざと内部精度を落としているのではないかと思います。
その誤差の影響で、クリッピングが失敗しているのだと思います。
コア処理を倍精度にすれば解決できそうではあるのですが。

あと最新のデモではMemoryImageSourceとImageを毎回newするのをやめて、
newPixelでアップデート掛けています。
多少ガベコレ頻度は改善できるかと思ったのですが。


104:名前は開発中のものです。
02/05/04 01:40 bpLDCFME
Javaアプレットは常時接続環境が普及しつつあるので、
昔の電話の時間課金のネット接続や、
iモードの高いパケット料金と違い、
好きな時に鯖に繋いで、
アプレットに必要な
データを落としてこれるので、
プログラムの題材として、面白いかなと思いますが。

ここ読んでる人だとその様な環境が
整っているのではないかと。
エロゲー(じゃなくてもアドベンチャーゲームで良いのですが)なら、
好きなだけデータを使えるので
実装簡単そうな。
必要な画像とかもADSLとかなら
そのつど一瞬で落とせますし。

105:名前は開発中のものです。
02/05/04 07:55
うちでも別に止まらないで動いているけど。
環境:P3-700Mhz メモリ512MB Win2000

106:名前は開発中のものです。
02/05/04 09:36
パソコンと回線が限りなく早ければ何でもできそうだな。

107:名前は開発中のものです。
02/05/04 15:40 ulqh9XN.
浮動小数点の挙動を一致させたい場合って
strictfp 使うんだったような? あれって
どのバージョンから追加されたんだっけ?

108:名前は開発中のものです。
02/05/04 15:40
sage忘れ… 鬱…

109:名前は開発中のものです。
02/05/04 17:14 PZlyx2gA
sunがJavaのどこに一番力を入れてるかで諸。
今一番金になるのはサーバーサイドで動くエンタープライズ製品。
だからそっち方面のパフォーマンスチューニングは物凄い。
そのおかげで今や皆Java使ってるじゃんか。

Appletはもう見捨てられたんでしょ。

110:名前は開発中のものです。
02/05/04 17:47
Appleが結構クライアントサイド、とは言わないのか、なんて言うんでしょう、デスクトップ向け?GUIアプリ向け?Javaに力入れてるんじゃないでしょうか。
今後、SwingやJava2Dなどの高速化、ハードウェア最適化を行って行くんじゃないかと思われます。
AQUA、Quartsを用いるJavaアプリがネイティブアプリ並みに快適に動作するように・・・・
...って、そんな努力されてもAppleユーザー/デベロッパ以外に恩恵無いか。

111:名前は開発中のものです。
02/05/04 18:00
>>109
>そっち方面のパフォーマンスチューニング
具体的には?
>Appletはもう見捨てられたんでしょ。
だから何?

112:名前は開発中のものです。
02/05/04 19:34 IDR1uRSY
なんでアプレットに
そんなにこだわrか?
アプリケーション配れば
いいじゃん

113:名前は開発中のものです。
02/05/04 19:34 IDR1uRSY
なんでアプレットに
そんなにこだわrか?
アプリケーション配れば
いいじゃん

114:名前は開発中のものです。
02/05/04 20:05
別に? で、言いたい事はそれだけですか?

115:名前は開発中のものです。
02/05/04 20:08
それだけです

ただどうやって
Java実行環境を普及させるか
が私の関心事です

アプレットはいろいろな
ブラウザで動くから
ある意味実行環境が
普及しているといえるかも

116:名前は開発中のものです。
02/05/04 20:15
んー。確かにリンク先があってDLして解凍して実行という手順が面倒な
ことってあるよね。その点、JAVAは便利。
だけど実行効率を考えると、JAVAって悲しい。
それに、JAVAがサクサク動くのも実はIEだけだしね。

117:名前は開発中のものです。
02/05/04 20:18 PZlyx2gA
sageで書くID隠し野郎はほっとけ。こいついちゃもん付けてるだけ。
こんな奴相手にしても何にもならん。

118:名前は開発中のものです。
02/05/04 20:21
>だけど実行効率を考えると、JAVAって悲しい。
>それに、JAVAがサクサク動くのも実はIEだけだしね。
MSJVM 以外だと、それほど遅くなるんですか?
おまけに、それが自分の腕が悪い所為だと
これっぽっちも思わないわけですね?

119:名前は開発中のものです。
02/05/04 20:25 IDR1uRSY
>>117
いちゃもん付けてるだけ

てのは心外です

最初の書き込みが
まずかったならスイマセン

まじめにアプレットはできること
限られるから
最近は書かないようになりました

Web飾るぐらいならいいけど
実際本格的なもの書こうとする、どうもアプレットじゃあ
と思うようになりました

120:名前は開発中のものです。
02/05/04 20:50 K6Z4Jq4A
>>119
用途にもよるのじゃない?
>>104に書いたみたいに、

アドベンチャーゲームとかなら、
簡単に実装できそうだし。
個々のセーブデータみたいのは、
Cookieなどなどで認証すれば良しな
気がします(個人でここまでやるのは面倒だけど)

iモードや普通のもでむ接続時の
課金制度時代と違って、
アプレット実行時に扱うデータすべてを
PCに突込んどく必要が無いので、
アプレットの可能性大分広がったかと。

J-PHONEでかまいたちの夜を
Javaアプリとして、公開しているチュンソフトが
PC版はFlashなのがゲンナリですが。

>>113
アプレットはインストールせんで良いので
良さげ。URLだけ書いときゃいつでも実行できるし。

エロゲーは全部アプレットに移行スレと思う。
PCのゲームの最大の人気ジャンルだし。
アプレットに移しやすいだろう。
Sun、簡単アプレットエロゲー開発ツールを
配れば良いのにと思わぬ事も無し。

121:119
02/05/04 21:02 IDR1uRSY
>>120

>用途にもよるのじゃない?
それは賛成

>アドベンチャーゲームとかなら、
>簡単に実装できそうだし。
>個々のセーブデータみたいのは、
>Cookieなどなどで認証すれば良しな
>気がします(個人でここまでやるのは面倒だけど)
これは疲れるなあ
アプリケーションで書いたほうが楽
アプレットでする理由があまりないような


>アプレットはインストールせんで良いので
>良さげ。URLだけ書いときゃいつでも実行できるし。
これは賛成

やっぱりアプレットは手軽に動くとこが
利点と思う
そこを考えてアプレットにするか決めればよい
と思う

122:120
02/05/04 21:10
>>120
最後の部分ちょっと訂正。
エロゲーは全部アプレットに移行スレと思う。
アプレットに移しやすいだろう。

PCのゲームの最大の人気ジャンルだし、
Sun、簡単アプレットエロゲー開発ツールを
配れば良いのにと思わぬ事も無し。
エロゲーは家庭用ゲーム機でいうと、
RPGに当たるジャンルだろうし。
家庭用のRPGよりもっと重要だと思うけど。

123:名前は開発中のものです。
02/05/04 21:17 0J3nwaxo
国民年金に関して
ソース
URLリンク(www.mhlw.go.jp)破綻させないための新規税金が5年計画で導入されます
払ってなかった人は搾取されるだけの立場になります
気をつけてください

破綻すると情報をながしているのは厚生省の策略です
支払う人は少ないほうがいいからです


【国民年金】収めていない人-----→
スレリンク(hoken板)l50

124:120
02/05/04 21:17 K6Z4Jq4A
>>121
個人で認証までは面倒ですね。でも法人がやるのなら、
良いか藻と思うので、実験的にでも良いので
エロゲ系は移って欲しいなと思います。

スレタイトルの話題に戻すと
何回も書いてますが、高速常時接続の登場で、
アプレットの限界も変ったので面白いかと。
アドベンチャーでなくとも
風来のシレンとかああいう系統のポリゴンばりばりとかじゃ無い、
ゲームは結構アプレットで
いけそうなので、色々なゲームが出ると良いなあと思います。

125:名前は開発中のものです。
02/05/04 21:20
ここでぐだぐだ言ってる野郎ドモは Java Plug-In 1.4 は使ってみましたか?
Java Web Start はどうですか?

126:名前は開発中のものです。
02/05/04 21:39
>>125
あのね、プラグイン入れなきゃならない時点で意味がないの。
アプレットではJava1.0しか使っちゃいけないの。
OK?

127:名前は開発中のものです。
02/05/04 22:13
>>126
そのOK?っての、かなり寒いでちゅ。
何故、どういう面において意味が無いのか、簡潔に説明したまえ。

128:名前は開発中のものです。
02/05/04 22:20
>>127
標準のブラウザでデフォで動くのがアプレットの利点だからだよ。

129:名前は開発中のものです。
02/05/04 22:25
特定のアプリを突っ込まないとダメという時点で
アプレットの意味ないわな。
そういう意味ではアプレットは終わってる。

130:名前は開発中のものです。
02/05/04 22:26
>>128
利点は利点であって、他方を「意味が無い」と否定する根拠にはならないと思うけど

131:名前は開発中のものです。
02/05/04 22:32
>>129
EXEを個別にダウンロードしてはウイルスチェックしてはインストールして実行する事と同じだと思うわけなんだね
あるいは個別のプラグインをイントールする事、
あるいは著名なしActiveXをダウンロードして実行する事と同じだと

132:名前は開発中のものです。
02/05/04 22:55
>>131
ん?
サンドボックス的な環境が標準でついてくるかどうか、ただそれだけが問題なのでは。
i-modeではiアプリというのがその標準環境だし、
WindowsではIEがその標準環境。んでJavaのバージョンは1。
これが現実では?

133:名前は開発中のものです。
02/05/04 22:55
Flashだと何も言われなくて、Javaだと「Plug-inをインストールしないとダメ」
と言われてしまうのは可愛そうだと思います。

134:名前は開発中のものです。
02/05/04 23:42
>>132
あのう、>>129は「特定のアプリを突っ込まないとダメという時点でアプレットの意味ない」って言ってるんだけど
ただそれだけ?うーん。ただそれだけじゃ「意味が無い」って思うわけだね?

135:名前は開発中のものです。
02/05/04 23:46 IDR1uRSY
いみがわからん

136:名前は開発中のものです。
02/05/04 23:49
>>133
Flashはプラグインのサイズが軽いのが良いよね。コンテンツの重さは別として。
Shockwaveはプラグイン自体がけっこう大きいし、大抵のコンテンツも大きい。

QuickTimeなんかはインストーラをダウンロードしてインストールしないと使えないよね。

137:ヘリクツクン
02/05/05 00:01
それならHTMLだってブラウザを以下略

138:名前は開発中のものです。
02/05/05 00:58
>>137
それをいうなら「OSを」の方が良かったね、屁理屈くん。
メーカー製PCを買ってきてブラウザが入って無いのは今時珍しいよね。
いいかげん、うんざりだ・・・・・

139:名前は開発中のものです。
02/05/05 04:36
悲しいながら、Flashプラグインの普及率 >>>> Java1.0以降の普及率

140:名前は開発中のものです。
02/05/05 04:40
マックはずいぶん前からJAVAはデフォルトでインストールされるようになっとるな。
ただ、バージョンが常に一つ遅れなのがなんともアレだが。

141:名前は開発中のものです。
02/05/05 06:35
Java1.0以降って何よ?
MSJVM は JDK1.1.4互換だ(とMSは言っている)し
Mac の MRJ は JDK1.1.8互換のはず。
Netscape 4.7xのJVM も JDK1.1互換だと思ったが。

っつか JDK 1.0レベルの実行環境なんて、
殆ど手に入らないと思うんですけど。
もしくは Java1.0ってなんか別の意味で使ってるんかいな

142:名前は開発中のものです。
02/05/05 06:45
>>141
ゴメンいいかげんなこと言った。実はJava全然知らんの。

143:名前は開発中のものです。
02/05/05 10:05
JVMのインストールの話しは別でやってくれないか。
別に古いのが入ってるのなら、新しいの
いれれば良いし。サイズの大きさもインターネットの
ヘビーユーザ層の間ではDSL等が普及している事を
考えればそんなに問題ないし。
スレタイトル通りの話しに戻そうぜと思う。
JVMのインストールの話なんか、どうでも良いよ。
これがインストール出来ないやつはここにはいないだろうし。

アプレットでやりたいゲームが出たら、
ゲームインストール出来るやつなら、新しいJVMインストール出来るだろう。

144:名前は開発中のものです。
02/05/05 10:38
>>142
しね

145:名前は開発中のものです。
02/05/05 11:24
ネットに接続できない環境は切り捨て?

146:名前は開発中のものです。
02/05/05 13:25
>>145
このスレに相応しい話題なの?

147:ネタなし小僧
02/05/08 11:14
現状だと、そもそも今になってJavaアプレットを使うのが妥当かというのが
真っ先の疑問として出てくるのはしゃーないべよ。
そのラインより上層の話がしたければ、話題振ってくだせえ。

148:104
02/05/08 21:52 4.Cpn0wA
URLリンク(hp.vector.co.jp)
Javaアプレットのアドベンチャーゲーム開発キット発見。
よく見るゲームアプレットとは一味違うのでちょっと感動するかも。

Javaアプレットは高速接続で利用範囲が広がったけれど、
定額ネット接続も大きいのでしょうね。
上のやつで作ったゲームを遊んでても、ちょっと前と違って、
通信料金の事を気にせずに、ハードディスク上のゲームみたいに遊べるし。

149:名前は開発中のものです。
02/05/08 22:29
ゲーム機のブラウザにアプレット機能搭載すれば
ゲームを無限に遊べる。
ドリームパスポートはアプレット使えなかったよな

150:名前は開発中のものです。
02/05/08 22:40
>ゲームを無限に遊べる。

プッ

151:148
02/05/09 12:56 aXSMpJhg
ゲームを無限に遊べる事は無いだろうが、
PS2でJavaアプレットが動作するようになれば、
エロゲーが遊べる様になると思う。
こうなったら流行るかもね。

エロゲーが快適に動作するにはADSL程度の
回線で充分だし。

152:名前は開発中のものです。
02/05/09 13:37
ライセンス契約していない開発者がPS2で動作するプログラムを作れる、っていう意味はあるね。
ただ、PS2上のJavaには動作速度は期待出来そうもないよね。
(低速なimode機よりは速いかもしれないけど、扱うデータ量が違うしね・・・)
紙芝居ゲームなら速度は気にならない、と思うかもしれないけど、どうだろうね・・・・・・
むしろ、PS2で紙芝居ゲーなら、Flashの方が実用性が高そうでは。

153:名前は開発中のものです。
02/05/09 20:52
アプレットなんて要らないでしょ。Flashで十分。

154:名前は開発中のものです。
02/05/12 01:24
用途によるとしか言い様が無い。
Flashじゃやってらんない、Javaでやらしてもらえた方が楽、ってケースも無くないよね。
ゲームの場合なら....やっぱり場合によるだろね。
けどApplet実行環境(特にJava2以降)って大掛かり過ぎだよなぁ・・・・

155:名前は開発中のものです。
02/05/27 21:15
JavaPlug-inいれてもらえよ。
サイズ忘れたが、今の時代「でかい」部類には
入らないだろ?

「やりたいと思う」人はそれくらいの労力はいとわない。
それとも「やりたいと思っていない」人まで釣るために
わざわざデフォの環境でも動くもの作るのか?
もっと、「やりたいと思う」人を増やすところに
労力つぎ込めよ。

WinXP・IE6にデフォで搭載されてないというのは、
もう古いMSVMは普及しないってことだろ?
それで動くもの作ってどうするんだ?

作り手がそんなんだからはやらねーんだよ。

156:名前は開発中のものです。
02/05/28 10:24
>サイズ忘れたが、今の時代「でかい」部類には

154じゃないが、でかさは問題じゃないってのに。
JREのインストールページ↓、一般人が先に進んでくれると思うか?
URLリンク(java.sun.com)
一般への普及を阻害しているのは他ならぬSun自身だ。

>それで動くもの作ってどうするんだ?

だからそもそもJavaで作らないという選択肢もあるわな。

>作り手がそんなんだからはやらねーんだよ。

卵が先か鶏が先か。そもそも流行らせる義理なんかねーし。┐(´Д`;)┌
大多数の開発者(Sun含む)の心理がすでにクライアントJavaを見捨ててる以上、
個人レベルであがいたところでどうにもならんよ。

ウェブページ上で何かやりたきゃ、今なら.NETのコントロール埋め込む手もあるぜ。

157:155
02/05/28 22:25
???
JavaPlug-inは必要なページに行くと
勝手にダウンロードがはじまるんじゃないのか?

URLリンク(java.sun.com)
を見ると、ダウンロード後勝手にインストール
されるようだが。

違うのか?

158:悲惨な156
02/05/29 00:02
そういえばそんな仕様に変わったんだっけな。
一度も試したことがないので忘れておったわ。すまん。

159:名前は開発中のものです。
02/05/31 13:21 TkG93Yss
JVMの件が一段落したところで、
ガイシュツかもしれんが

URLリンク(www.gamelet.com)

160:名前は開発中のものです。
02/05/31 13:46
JavaPlug-inは起動にかなり時間がかかるし、今のところ好かれる存在とは思えないよ。

161:名前は開発中のものです。
02/05/31 14:15
>>159
適当に試したがあっさりフリーズした。

162:名前は開発中のものです。
02/05/31 15:08
うちの環境では、複数のウィンドウを開いたりアクティブな窓を切り替えたりしてるとJavaPlug-inがIEごと固まる事がよくあります。安定して動作する環境もあるんでしょうけど・・・・
古いバージョンのJREじゃないと動かないアプレットがあったり、JavaPlug-inの自動インストール(バージョンアップ)中に古いプラグインのアンインストールに失敗して中断してしまったり、なにかと問題が生じてます。
Sunだけの問題では無いでしょうけれど、期待してるだけに、もちょっとなんとかならないかなぁと思います。

163:名前は開発中のものです。
02/05/31 22:25 9ytySeJE
>>124
エロゲをネットでやるのは技術面より改正風営法か何かの関係で面倒だとか

164:名前は開発中のものです。
02/05/31 22:26
>>155
で、インストールを前提とするならFlashでもActiveXでもいいじゃん、
と無限ループ

165:名前は開発中のものです。
02/05/31 22:49
ActiveXは・・・・

166:名前は開発中のものです。
02/05/31 23:20
>>160
未だにISDNだから、起動時間より
アプレットの読み込み時間のほうが長いっす。

167:名前は開発中のものです。
02/06/01 00:18
>>166
ちなみに最近のJavaPlug-inはclass、jar、その他リソースをキャッシング出来るの知ってる?
当然キャッシュがきかない場合(1回目他)は意味無いけど。

うちの場合はプラグイン起動に5秒くらいかかるかな?
例えばBizTechのページとか見に行くと、プラグインの起動が終わるまでリンクなどがアクセス不能で待っていなくちゃならない。かなりストレス。
一度起動しちゃえば気にならないんだけど。
(BizTechサイトではJava使ってユーザーのトラッキングしてるらしい)

168:名前は開発中のものです。
02/06/01 11:42 zMTxHoSs
ぢゃぱ1.4てどんなのか全然わからない。
噂では表示が高速化されて3Dのゲームも作れるようになる
とか言われてたけど。

どこかにくわしく説明してるとこないですか。
チップス集とか。

169:名前は開発中のものです。
02/06/01 12:43
URLリンク(java.sun.com)
URLリンク(java.sun.com)

どこかって、少なくとも本家のサイトには行ったんだよね?
3Dのゲーム云々って、どこで言われてたの?

170:名前は開発中のものです。
02/06/01 20:22
1.4のVolatileImage関連は
URLリンク(www.javagaming.org)
にサンプルと解説があるよ。
実際になんか書いてみるならjava.awt.image.BufferStrategy使うのが楽。

1.4での3Dの強化って言うのは多分DirectBuffer使って
OpenGLラッパーが高速になるって話だと思う。これ↓
URLリンク(java.sun.com)

171:名前は開発中のものです。
02/06/02 15:45
>>167
最新の1.4でもURLの末尾が.jarか.classで終わってないとキャッシュしない。
まあ.jarに必要なリソース全部ブチ込めば済む話だけど

172:名前は開発中のものです。
02/06/04 05:06
そーいやアプレットで jar ファイルから
リソース読めないってバグがあったような…

173:名前は開発中のものです。
02/06/22 10:44 4frAFN1U
まだだ、まだおわらんよ
URLリンク(japan.internet.com)
MS、XP でも Java を標準サポートするよう路線変更

各種報道によると、Microsoft (NASDAQ:MSFT) は、今夏リリース予定の Windows XP 用サービスパック1 (SP1) に『Java Virtual Machine (JVM)』を含めることを決定したという。
Microsofot は Sun Microsystems (NASDAQ:SUNW) から反トラスト法違反訴訟を起こされており、打開策をさぐっているのがうかがえる。

174:名前は開発中のものです。
02/06/22 10:51
バージョンが1.1.4という罠

175:名前は開発中のものです。
02/06/22 11:09 dD3kwTx.
どのみち2003年12月31日までの命という罠
URLリンク(itpro.nikkeibp.co.jp)

176:名前は開発中のものです。
02/06/22 12:02 1339MhGY
>>160

JRE1.3.1 なんかは Applet 含んでいなくても Java コンソールとかいうのを起動して、
それで結局 Swing のクラス群をだらだらと長い時間かけて読み込むんだよね。

やる気無いとしか思えなかったね。JRE1.4 は、確か、ディフォルトでは Java コンソール
起動しないから、割と起動が速い。

177:名前は開発中のものです。
02/06/22 12:03 1339MhGY
Applet 含んでいなくても -> Applet に Swing 含んでいなくても

178:名前は開発中のものです。
02/06/22 13:54
>>171
そう?ウチのキャッシュ見たらgifやjpgがかなり溜まってたよ

179:名前は開発中のものです。
02/06/22 15:34
>>178
ブラウザ一般のキャッシュとごっちゃにしてないか?
ブラウザが直接読み込んだ画像はもちろんキャッシュされるが
Java Plug-inは利用しないから意味ない。
少なくとも漏れの場合は実際にキャッシュしてくれなかったから
URLの末尾に ?x=.jar を付けるとかの回避策が必要になった。
それがバグなのか仕様なのか調べて発見したソース↓
URLリンク(java.sun.com)
URLリンク(java.sun.com)

180:178
02/06/26 01:17
>>179
>ブラウザ一般のキャッシュとごっちゃにしてないか?

はぁ・・・・・脱力・・・・
ちなみにウチのキャッシュのディレクトリは・・・・
C:\WINDOWS\.jpi_cache\file\1.0
だよ。
コントロールパネルから「キャッシュビューア」で確認しても、種類がJPEGやGIFのファイルが沢山溜まってるよ。
Javaコンソールでも(トレースレベル1以上で)
「キャッシュから URLリンク(xxxxx.xxxxx.xx) をロードしています」
ってメッセージが確認できるし。実際そうなんだから仕方ないよ。

181:名前は開発中のものです。
02/06/26 21:52
もしかしてこっちのキャッシュの話ですか
URLリンク(java.sun.com)

話は変わるがキャッシュディレクトリのパスが予測可能というのは
ある種の攻撃が可能になりそうでフアーン
URLリンク(memo.st.ryukoku.ac.jp)

182:名前は開発中のものです。
02/06/26 22:32
>>180
確認した。確かに.jpgや.gifはキャッシュされてた。
つまりドキュメントが古いままなのか。スマソ。
でも漏れの場合必要だったのは.lzhで、これは相変わらずディスクには
キャッシュされなかった。これも確認したから間違いない。
なんかメモリにはキャッシュされてるっぽいけど。

ファイル名の後ろにランダムな文字列がつくからローカルファイル起動は大丈夫だな。

183:名前は開発中のものです。
02/06/26 22:43
>>182
lzhって…
kiss でも作ってんの?

184:名前は開発中のものです。
02/06/27 22:55
URLリンク(java.sun.com)
Java Web Start バージョン 1.2 Beta のダウンロードが可能になりました。

MacOSでは標準インストールされているらしい、"Java Web Start"。
Windowsマシンでの普及率は・・・・・・・・
キラーアプリが現れればイッキに普及もあり得るけど、現状のJavaじゃ苦しいでしょうねぇ。Web Start 自体の熟成度もまだイマイチっぽいし・・・・

185:名前は開発中のものです。
02/06/28 00:37
そんなセキュリティーホールになりそうなヤバイものを入れるわけないでしょ

186:名前は開発中のものです。
02/06/28 00:42
>>185
どのへんがセキュリティホールになるんでしょうか?

187:名前は開発中のものです。
02/06/29 14:36
半端な知識を持ったユーザーにとってセキュリティホールになりえるとは思えますよ。
「*.exeは安易にダウンロードして実行しては危ない」という知識はある。けど
「Javaは安全」のような、誤った認識を持っていたりした場合。
Web Start アプリケーションには、ローカルリソースにフルアクセスする権限を持たせる事も出来る。確か権限を与えて良いかどうかなどの確認を求めてくると思ったけど、知識の無いユーザーがそんな事聞かれても困っちゃう訳で。
*.exeをダウンロードして実行するのは危ないって言い聞かされてたけど、Javaは安全らしいし、ウィルス検知ソフトもインストールしてあるし・・・・みたいな。
ブラウザ上のリンクをワンクリックして自動インストールされたJavaアプリの安全性なんて、普通のユーザーには解らないだろうから。
>>185も、そのレベルのユーザーであると自分を認識できているという事では。
或いは、アクセス制限を課せられているはずのアプリが制限以上の権限を持ってしまうセキュリティホールがあるだろうって事だろうか?

個人的には Web Start は便利なシステムになり得ると思う。可能性として。特に会社内のイントラシステム向けアプリの自動配布(アップデート)に便利かなと。
けど、現状のクライアントサイドJavaアプリのパフォーマンスはどうも。GUIの応答速度とか。なぜJavaで組んだのかと、ユーザーから不評を買いそう。

188:187
02/06/29 14:40
....っていうか、186の反応がやけに早いね。sage進行スレの割にさ。自己ツッコミ(自作自演)だろうか....

189:名前は開発中のものです。
02/06/30 03:29
なんだかんだで結局、今ネットで大流行してるのは
脱衣ブロック崩しなんだよな…

190:名前は開発中のものです。
02/06/30 04:12
>>189
Javaアプレットの?

191:名前は開発中のものです。
02/06/30 11:29
> 「Javaは安全」のような、誤った認識を持っていたりした場合。

バカ供が変にアジったおかげでそういう嫌な認識が広まってるよね。

192:名前は開発中のものです。
02/06/30 17:28
>>191
さほど広まってはいないだろうとも思うけどね。
そういう中途半端な知識を持っているのは、やっぱり限られた特殊な層だろうと思う。(けど、そういう半端な層のユーザーが一番厄介な存在なんだろうなぁ・・・・)
大部分の人はJava自体を知らないでしょう。
セキュリティに敏感な人の多くは「MSのJavaVMにセキュリティーホールが発見されましたので、安全の為にブラウザでJavaを使用しないように設定変更しましょう」のような知識は持っているかも。
ソフトウェア開発関係の人なら、正しい認識を持っている・・・・・とは言いきれないでしょうね。Javaから逃げているMS信奉者も少なくないだろうし。

一般向けにJavaとは何かを紹介したオンラインの記事があったら、見てみたいな。どんな風に紹介されているんだろう。
やっぱり「巨大企業マイクロソフト対その他大勢」的な記事の一部で触れられる事が多いのかな。

193:名前は開発中のものです。
02/07/04 23:43
>>192
いや結構流行ってるぞ
俺ニュースあたりを見ると2、3日に1回ぐらいで脱衣ブロック崩しのニュースが入るぞ。

194:名前は開発中のものです。
02/07/05 11:58
俺ニュースってなんすか?

195:名前は開発中のものです。
02/07/05 14:38
検索しなさい。

196:名前は開発中のものです。
02/07/05 21:34
>>193
192は189へのレスじゃないぞ。よく読め。

197:194
02/07/07 23:45
URLリンク(www13.xdsl.ne.jp)
俺ニュースってコレであってる?

198:名前は開発中のものです。
02/08/08 22:00
ageてみる。

199:名前は開発中のものです。
02/08/08 22:21
空ageは、
バカの習性。

バカの習性。

200:◆sA5ZfsnM
02/08/08 23:03
200

201:名前は開発中のものです。
02/11/03 01:58
Javaも各OSにプリインストールっていうことにしてほしい。
SUNも変な意地張らないでさ。

202:201
02/11/03 01:59
そうすれば、もう少し使えるのに…。

203:あぼーん
あぼーん
あぼーん

204:名前は開発中のものです。
02/11/03 21:19
Java1.4で全画面アプリとか作れるようになったけど、
結局はやってないのかな。

205:名前は開発中のものです。
02/11/09 23:32
もうすぐCPUが60GHzくらいになるから気にならなくなるよ

206:名前は開発中のものです。
02/11/10 12:51
Javaが遅く見えるのは起動時間とGUIのせいなので
現状でもそんなに使えないわけではないよ。


207:名前は開発中のものです。
02/11/10 14:15
起動時間とGUIが遅いって致命的臭いんですが

208:名前は開発中のものです。
02/11/10 21:47
ゲームにとっては致命的とはいえないでしょ。
1.4からはゲームに使えるような機能の拡張もあったし。

とはいえ、ランタイムがほとんどのOSで標準ではないという、こっちは致命的っぽい問題があるんだが…。

209:名前は開発中のものです。
02/11/11 20:51
起動時間 : lazyなクラスロードを行う事で、ごまかす事は十分可能。
GUI : SWTという早くて恰好良い(Java臭くない)GUIのツールキットがある。アルファブレンド使えるし。
ランタイム : 配布パッケージに含めてしまう。10MBくらいしかないので、大作だったら誤差の範囲内。

・・・負け惜しみ臭いモナー

210:名前は開発中のものです。
02/11/11 21:18
>>209
まぁ、アプレットだとそうだよなー
Javaアプレットゲームなんて昔のショックウェーブに次いでショボゲーの代名詞だし。
というかちっともスタンドアロンのほうが立ち上がらないほうが問題?

211:名前は開発中のものです。
02/11/12 18:39
>>210
Java好きだけど、スタンドアロンが立ち上がる(ex.最新JREのPC普及率が5割を突破する)のは
もうあり得ないだろう。Javaの生みの親がSUNじゃなくてIBMだったら・・・と思うことしきり。
それに、生産性が高くてスタンドアロンのゲームが作れる言語と言えば、
Javaはいまやその代表の座をC#に譲っているからね。

生産性が高くてスタンドアロンでマルチプラットフォーム、という限定をつけたら
まだJavaがトップを突っ走っているとは思うけど、ゲームってマルチプラットフォームで
ある必要性が基本的に存在しない分野だからなぁ。

212:名前は開発中のものです。
02/11/12 19:19
>Javaはいまやその代表の座をC#に譲っているからね。
C# ってゲームにおいては Java の座を継いだのか…
それはそれで哀れだなぁ…
代表ゲームが Robocode と Terrarium だからまぁ、
どっちもどっちなんだけど。

213:名前は開発中のものです。
02/11/13 00:20
>>212
いや、C#を褒めるつもりで書いたんだけど・・・
でもC#はJavaの座を継承した、というのは誹謗中傷に近い発言だったかも。

C#って、Javaよりも生産性が高く、しかもWindowsべったりだから高速で、
セキュリティには無関心だけどパフォーマンスとUIには力を入れるMSが
オーナーだから、ゲームに凄く向いていると思うのですよ。

といいつつ僕はJavaでへこへこ書いてるんだけどね。

214:名前は開発中のものです。
02/11/13 01:45
というか、リアルタイムゲームで実際GCってどれくらい問題になるんだろう?
大きめなやつを書いたことが無いから分からん。


215:名前は開発中のものです。
02/11/13 09:11
JavaはCOBOLを継承したからねえ。

>>214
急に描画が止まったり、フレームレートが揺らいで
ユーザーにとって不快、という問題につきますな。

GCなくてもそうなるヘボいプログラムばかりなので、
ちょっとぐらいよさそうな気がしますが(汗)

C#+DX9でどれくらい行けるかが注目してます。

Javaアプレット?
何年たってもあのままじゃあ誰も使わなくなるって。

216:名前は開発中のものです。
02/11/13 12:14 d9pe3DQB
>>214
何か大きな変更を加えたり、VMの種類やバージョンが変わるたびに
GCで引っかかるポイントが変わるのでブチ切れそうになります。
確実な回避方法がないだけにいっそう。

217:名前は開発中のものです。
02/11/13 12:19
ふむ。
スムーズな動きが必須のゲーム(格闘ゲームやシューティングとか)は
作りにくいって事かな。

ところでC#もGCあるよね?

218:名前は開発中のものです。
02/11/13 17:37
GC ってオブジェクト使いまわしとかじゃ回避できないモンなの?

219:あぼーん
あぼーん
あぼーん

220:名前は開発中のものです。
02/11/13 21:54
>>218
ライブラリが使いしてたら自分が使いまわしても意味ないし…。


221:あぼーん
あぼーん
あぼーん

222:名前は開発中のものです。
02/11/14 07:51
>>220
なるほど。

223:名前は開発中のものです。
02/11/14 08:08
>>220
それだと API 内部の挙動がバージョン毎に
違うのが問題で、GC だけどうにかすれば良いってモンでも無いような。

そーゆー意味では C# は GC があっても Java よりは相当楽だろうね。

224:名前は開発中のものです。
02/11/14 12:11
>そーゆー意味では C# は GC があっても Java よりは相当楽だろうね
C#はバージョンごとに共同が違ったりしないの?

225:名前は開発中のものです。
02/11/14 12:15 n6HwOeB2
C#については優秀なDirectXチームがついてるから
それなりにリアルタイムゲーム方面も考慮してくれるんじゃないかと。
俺は人柱になる気はないけどね。

226:名前は開発中のものです。
02/11/14 13:05
>>215
> 何年たってもあのまま
な責任の10%くらいはMicrosoftにあるかと。
90%くらいはSunの自爆だが

227:あぼーん
あぼーん
あぼーん

228:名前は開発中のものです。
02/11/14 19:15
だから、ageないでくれぇ

229:名前は開発中のものです。
02/11/14 20:58
> C#はバージョンごとに共同が違ったりしないの?

まだバージョンが少ない(藁
M$が事実上独占してるしなあ・・・

Server版の.NETランタイムはGCの挙動がチト違うそうだ。
違いをたしかめたわけじゃないけど。

230:あぼーん
あぼーん
あぼーん

231:名前は開発中のものです。
02/11/15 12:36
>>229
これからバージョンが増えてってWin32 APIの悪夢が
再来することは目に見えてるだろ
JavaだってSunが事実上独占してるけど(ry

232:あぼーん
あぼーん
あぼーん

233:名前は開発中のものです。
02/11/15 21:29
事実上SunとIBMのVMしか使われてないからなあ・・・

234:あぼーん
あぼーん
あぼーん

235:名前は開発中のものです。
02/11/15 22:02 19ikqMY5
JDK1.4 でつくったアプレットが古いJREだと動きません。
だれが助けてください。

236:あぼーん
あぼーん
あぼーん

237:名前は開発中のものです。
02/11/16 01:28
>>235
複数の原因が考えられるので、答えるのが面倒くさい。

238:あぼーん
あぼーん
あぼーん

239:名前は開発中のものです。
02/11/16 04:22
ageた奴はこのスレに対する破壊行為者として認定。

240:あぼーん
あぼーん
あぼーん

241:age
02/11/18 03:43 hCRk4P1V
>>74
私も同じ問題で困っていました。おかげで、アプレットがFlashに置き換えを
迫られてしまい、非常に悲しい思いをしていました。
Thinkpad Windows2000
○MicrosoftVM 5.0
○Sun 1.3.1_05
×Sun 1.4.0_02
○Sun 1.4.1
以上の環境の×がついている環境でふんづまりが起きています。
バージョンによってMemoryImageSourceの使用方法が悪いと固まるようです。
以上の環境で問題なく動作する変更方法を見つけましたので報告しておきます。
①MemoryImageSourceをnewするときに
 DirectColorModel(24, 0xff0000, 65280, 255)を用いる。
②MemoryImageSource#newPixcelsメソッドを使う。
Open-Programingの例に修正方法を書きます。


242:age
02/11/18 03:44 hCRk4P1V
source002のRender.java
static final public void EndScene(Applet applet,Graphics offscreen)
{
offscreen.drawImage(applet.createImage(new MemoryImageSource(BUFFERW,BUFFERH,pbuf,0,BUFFERW)),0,0,null);
}

static boolean initf=false;
static MemoryImageSource mis;
static Image img;
static final public void EndScene(Applet applet,Graphics offscreen)
{
if(initf==false){
mis=new MemoryImageSource(BUFFERW,BUFFERH,new DirectColorModel(24, 0xff0000, 65280, 255),pbuf,0,BUFFERW);
img=applet.createImage(mis);
mis.setAnimated(true);
mis.setFullBufferUpdates(true);
initf=true;
}
mis.newPixels();
offscreen.drawImage(img,0,0,null);
}

243:あぼーん
あぼーん
あぼーん

244:名前は開発中のものです。
02/11/18 05:31
>>241
それってディスプレイの設定が24bitカラーのときっすか?

245:sage
02/11/18 06:07 hCRk4P1V
>>244

いや、内部形式として、24bitカラーとして扱う場合です。
いちお、256色モードのときも試してみました。
MicroSoftだと、ディザ256で、Sunだと、タイリング256で表示されました。
通常のnew MemoryImageSource()だと、32bitカラーで、上位8bitがαチャンネル
として認識されるので固まるときがあるのではないかなぁと思います。


246:名前は開発中のものです。
02/11/18 06:09
あ、名前の欄にsageっ手書いてしまった。
鬱だ氏脳。

247:名前は開発中のものです。
02/11/18 06:21
>>245
>通常のnew MemoryImageSource()だと、
>32bitカラーで、上位8bitがαチャンネルとして認識される
のは知ってるんだけど、
>ので固まるときがある
とどう結びつくのかが良くわからん。詳しい人解説キボンヌ。
Java内部でアルファブレンドしようとするので遅くなるとか?

248:名前は開発中のものです。
02/11/18 06:36
URLリンク(www.gimlay.org)

最後に、パフォーマンス・フォーラムの外では Niels Jorgensen が、
アルファ・チャネル(alpha channel)を使わず、
MemoryImageSource.newPixels()と一緒に
DirectColorModel(new DirectColorModel(32,0x00ff0000,0x0000ff00,0x000000ff))
を使用したところ、デフォルト・カラーモデルを使用する場合に較べてどれほど画像描画が
著しく速くなったかについて説明していました。
そのスレッド( JavaGaming.Org Message Board: 2D Graphics Programming in Java: AWT: Oddities of drawImage() )
には newPixels() の使い方についてのより詳細な内容があります。



249:名前は開発中のものです。
02/11/18 06:39
URLリンク(www.javagaming.org)

Yieeeha!

If anyone else out there has similar problems, try this, after creating the MemoryImageSource:

cm=new DirectColorModel(32,0x00ff0000,0x0000ff00,0x000000ff);
memimgsrc.newPixels(aPixels,cm,0,iW);

Subsequent calls to newPixels does not need the color model (Once set, it appears as if the MemoryImageSource keeps on using it)...

とか書いてあります。よくわからないけど、
32bitのほうが速いのかなぁ???謎。


250:あぼーん
あぼーん
あぼーん

251:名前は開発中のものです。
02/11/18 07:19
>>249
実験できるソースがあるんだったら 24bit と 32bit で
実験して報告してホスィです。あんま変わらん気もするけど。

javagaming.org って Java2D チームの人とか書いてるのか…
しっかし nativeの英語はわからんっす。
辞書に載ってない単語とか、誤字なのか、造語なのか区別つかんし。


252:名前は開発中のものです。
02/11/18 08:45
ベンチとって見ました。
①newPixcelsをひたすら1000回やった場合のスピード
②表示しながらテスト。
③表示しながら、gc。
◆32bit 640x480
MS ①5958ms,②66.6fps
131 ①6829ms,②?すぐ遅くなる
140 ①5458ms,②47.6fps(しばらくすると遅くなる)
141 ①5358ms,②43.5fps(しばらくすると遅くなる)
◆24bit 640x480
MS ①5748ms,②最大66.6fps
131 ①6449ms,②最大62.5fps(しばらくすると遅くなる)
140 ①5408ms,②最大41.6fps(しばらくすると遅くなる)
141 ①5588ms,②最大50fps(しばらくすると遅くなる)
◆パラメータなし
MS ①15642ms,②62.5fps
131 ①18206ms,②50.0fps(カクカク)
140 ①5428ms,②55.5fps(カクカク)
141 ①5428ms,②83.5fps(カクカク)

24bitが速そう。
ウェイトなしでぶん回してしばらくたつと遅くなってしまうので、
sleepをかませないとうまく行かないようだ。
どうして、sleepを入れないといけないのかはわからない。
謎が多いなぁ。


253:名前は開発中のものです。
02/11/18 09:53
>>252
ご苦労様です。

254:名前は開発中のものです。
02/11/18 14:35
謎がある程度、解けてぶん回しても大丈夫になりました。
◆問題点
①MemoryImageSource#newPixcels()等を使うと、ImageObserver#imageUpdate()が呼ばれupdateが呼ばれてしまう。
 createImageでAppletをImageObserverに指定しているので、update()、paint()と呼ばれてしまうので無駄に処理が走る。
②sleep無しでぶん回すとrepaint()を呼ぶrun()とpaint()で同期を取っていないので
 paintでimageアクセス中にrun内でimageに追いついて衝突するため、カクカクしたり、止まったりしていた。
◆解決方法
①は、imageUpdate()をオーバーライドし何も処理しないようにする。
②は、同期を取るか、getGraphicsメソッドで、Graphicsオブジェクトを取得し直接アプレットに描画する。
 前者は、デッドロックの可能性があるので注意が必要。
 後者は、update,paintを呼ばれたときに、何もしないようにするのがよいが、fpsが遅い場合に、他のウィンドウを
 上に乗せた場合に気になる。


255:あぼーん
あぼーん
あぼーん

256:名前は開発中のものです。
02/11/18 21:46
GUI的なアーキテクチャとゲーム的なアーキテクチャはやっぱり合わないんだなー。
Javaももうちょっとそういう部分を支援すべきかもね。

257:名前は開発中のものです。
02/11/19 01:12
>>256
あわないんだよなぁ。
今流行のSWTなんてGUIに偏りまくってて、ゲームに応用するの辛いんだ。
なんせピクセルの論理演算さえできないという。アルファブレンドはできるのに。

258:名前は開発中のものです。
02/11/19 01:50
色と画像を掛け算しながら描画できないのが痛い・・・

259:あぼーん
あぼーん
あぼーん

260:名前は開発中のものです。
02/11/19 03:44
>>257
Java でゲームすんだったら素直に AWT & Java3D にしとけば…

261:あぼーん
あぼーん
あぼーん

262:名前は開発中のものです。
02/11/19 08:30
お前ら、文句ばっかり言ってないで手を動かせよ
たまにはデモ見て精進汁!
URLリンク(www.komplex.org)

263:名前は開発中のものです。
02/11/19 15:00
>>262
何年前のデモですか… 見飽きたよ。

264:あぼーん
あぼーん
あぼーん

265:名前は開発中のものです。
02/11/19 16:17
というか、画像読み込みまわりが嫌い。スレッドとコールバック前提だし。
まぁ、Webに適合させるためにああなったのは分からないでもないけど、
ゲームにはあわないよなぁ。

それ以外は、GUI部品使わなければいいだけなので、気にならないな。
全画面表示も出来るようになったし。


266:名前は開発中のものです。
02/11/19 16:50
Observerパターンを嬉々として使ってるImageクラスっすか。
正直、あれは俺も余計なお世話だと思う。

267:あぼーん
あぼーん
あぼーん

268:名前は開発中のものです。
02/11/19 23:04
>>265
1.4からImageIOてのが付いて、同期方式になりやした。
確かに余計なお世話多すぎだね。

269:あぼーん
あぼーん
あぼーん

270:名前は開発中のものです。
02/11/25 21:21 MzAMlQtU
アプレットだと、Javaなのに、XMLが使えない。
Flashだと、普通にXML使えるのに、、、。
と、思いチッコイxmlパーサ探したら、kxmlってのがありました。
URLリンク(kxml.enhydra.org)
これで、必要なところだけjarに入れて使えば、問題なくxmlが使えるし、
そんなにでかくないし、日本語化けないし、いい感じ。

271:あぼーん
あぼーん
あぼーん

272:名前は開発中のものです。
03/02/21 09:17 PTBH3u8F
>>6
超亀レスだけど、凄いな・・・
こんなのJavaでも作れるのか・・・
これってOpenGLをつかってるの?
Java3Dなわけないよね、こんなに軽いんだし。

273:名前は開発中のものです。
03/02/21 09:20 uZqnzI2f
URLリンク(homepage3.nifty.com)
( ´_ゝ`)


274:名前は開発中のものです。
03/02/21 09:35 ugkqy7rq
URLリンク(www.agemasukudasai.com)

275:名前は開発中のものです。
03/02/21 09:42 eCjWRLRD
>>272
なにげに舞えやったときよりバージョンアップしてる気が?
路面のレンダリングが問題だね。1行づつコピーしてるのかな?

276:名前は開発中のものです。
03/02/21 13:44 runOoWla
            o.
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無様に .  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /    モララーより     /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)


277:名前は開発中のものです。
03/05/21 20:23 Xr9rJYyQ
てts

278:名前は開発中のものです。
03/06/20 23:54 DeguR1Lj
MSVMってもう完全に抹殺されたんかいな。

今年に入ってからの動向全然知らずに、一般人向けのアプレットゲーム作ってた。
そういやMSVMで動作確認してないなと思ってMSのサイト行ったらどこにもねえ。
Windows Updateにもねえ。ダウンロードでけへんがな。

とほほ、Flashで作り直すべ。

279:名前は開発中のものです。
03/06/27 14:15 8I/cjQFx
MSJVM は新規ダウンロードできなくなったみたいね。

来年一月だったかでセキュリティホールに対する修正も出来なくなるとかで、
そのうち WindowsUpdate で MSJVM 削除するようになるかもしれないってさ。


280:名前は開発中のものです。
03/07/02 12:15 /h88Q6Sl
Sunのを入れれ。

281:Homa
03/10/02 16:31 MRWcIN/e
URLリンク(kutipatti.fc2web.com)
上記のサイトを作ってみた。
ゲーム製作や、基礎講座等色々あるからドンドン活用してくだされ。

282:名前は開発中のものです。
03/10/05 13:10 nWzLeATY
何もないじゃん。

283:名前は開発中のものです。
03/10/13 18:41 Fi8p2+E6
誰か一緒に先行者ゲームに似たゲーム作らない?
先行者をギコに見立てて、ギコパロの先行者ゲーム版みたいな感じでさ

284:名前は開発中のものです。
03/10/13 18:50 eiZ2Znq9
Javaアプレットで?

285:名前は開発中のものです。
03/10/13 21:03 vAaZAwR4
× 一緒に作らない?
○ 作ってくれ。

286:名前は開発中のものです。
03/10/13 23:20 Fi8p2+E6
アプレットでイインジャナイ?

287:名前は開発中のものです。
03/10/15 02:02 384+STG0
ここはどうよ?
URLリンク(www.din.or.jp)

288:名前は開発中のものです。
03/10/15 08:40 1SM2wGBr
>>287
お、結構すごい。ちゃんと3Dなんだ。。。


289:名前は開発中のものです。
03/10/22 13:14 AqHNgwI1
Java3Dでゲームを作りたいんですが、ひな形を教えてもらえませんか?
メインループとキー入力、描画処理といったところの書き方が、
よく分かりません。お願いします。

290:名前は開発中のものです。
03/10/24 23:56 CUmyDoVD
Java3Dなんか使ったら一般ユーザが実行環境用意できないんじゃ…
ところでこいつの開発を再開して欲しい。
URLリンク(www.geocities.co.jp)

291:名前は開発中のものです。
03/11/25 02:33 bFC0Dkpb
誰か、>>287の最強のデータとか持ってないか?

292:名前は開発中のものです。
03/12/24 23:12 JEiw4c+Q
誰か凄いの紹介してくれよ。

293:名前は開発中のものです。
04/01/16 02:00 IBnrTlSi
かなり重めだけど、
URLリンク(ikebukuro.cool.ne.jp)


294:名前は開発中のものです。
04/01/16 17:03 OpJhtAPE
フライトシミュレータって操作むずいんだよな。

295:名前は開発中のものです。
04/01/17 00:56 /8vojqoK
3Dだから限界って訳ではないけど、
URLリンク(www.benricute.com)
にも3Dのゲームが

296:名前は開発中のものです。
04/01/17 02:21 6ai+veDu
作るならアプレットより
アプリケーションで作った方がいいよ。



297:名前は開発中のものです。
04/01/18 00:05 R2AUtvDl
>>295
ちょっと面白いかも。
ここってオリジナルのゲームなんでしょ?
なのに、フリーで出まわってるゲームも置いてるなんて、なんだかなぁ。

298:JAVA初心者・・・
04/01/19 04:41 7ZOz3AkQ
はじめまして!!
今宝探しゲーム作っているのですがどなたか参考になるソースもってませんか?
目標はFF9のミニゲームだった「ここほれ!チョコボ」です。
どなたかご協力お願いします<(_ _)>

299:名前は開発中のものです。
04/01/19 15:27 snVCA4Sa
>>298
スレ立てといてなんでここで聞いてるんだよ

300:名前は開発中のものです。
04/01/21 00:26 j6QTKwUD
海外のサイトだけど、
URLリンク(www.javagameplay.com)
とか。
あまり面白くはないけど、すげーなと思う。


301:名前は開発中のものです。
04/01/21 02:01 JJmOkv2J
漏れも海外のサイト紹介しちゃうぞ
URLリンク(www.classicgaming.com)

302:名前は開発中のものです。
04/01/21 09:01 j6QTKwUD
紹介されているページを見る限りでは、
グラフィックスに関してはほぼ何でも出来るが、
音まわりの処理が苦しい?

303:名前は開発中のものです。
04/01/22 21:10 sEG1ecAb
URLリンク(www1.jawink.ne.jp)

既にでてるかな?

304:名前は開発中のものです。
04/01/23 01:56 hxTgIGSZ
何回かチャレンジしたけど、
ヘリも飛行機も操縦がムズ過ぎ。速いマシンほど速く動いてる?
もっと簡単だったら楽しいような…

じゃ、更に追加で、
URLリンク(www2.odn.ne.jp)
同じサイト内だけど、
URLリンク(www2.odn.ne.jp)
も。
下のは複雑すぎでした…


305:名前は開発中のものです。
04/01/25 01:26 hok/ATwA
このすれっどをみて
ぼくは
じゃばよりふらっしゅのほうがいいんだなと
おもいました。

306:名前は開発中のものです。
04/02/10 01:23 roXOg29f
>>305
そう思ったなら多分それが正解。
適材適所。

307:名前は開発中のものです。
04/05/12 17:29 +KwjynEM
URLリンク(www15.tok2.com)

308:名前は開発中のものです。
04/05/15 11:19 atd2UrGF
おお、久しぶりの書き込みだな。
せっかくの書き込みなのにすまないんだが、

>>307
すまん、全然たいしたことない。
ってゆーか、ほとんど正男じゃん。
もっと凄いjavaゲームはないものか。

309:名前は開発中のものです。
04/06/07 18:19 KZ9AiAg4
ゲームの限界というより作り手の限界…

310:名前は開発中のものです。
04/06/21 18:11 uNmG74S6

URLリンク(java.sun.com)

JAVAサウンドプログラマーズガイド

311:名前は開発中のものです。
04/06/21 18:50 WQ1GKg6I
>>307のゲームは一体何もどきなんだろう?

312:名前は開発中のものです。
04/09/27 00:03:41 aLBna6ae
質問です。
Javaアプリでゲーム作ってますが、どうしても逆コンパイルかけられて
ソースを覗かれるのがいやなのです。
何か良い方法はありませんか?


313:名前は開発中のものです。
04/09/27 00:41:30 be/ifB4A
難読化とかすればいいんじゃね?

もしくは、すべてのクラスファイルを独自で暗号化して、
自前の複合化クラスローダー無しには読み取れなくして、
そのクラスローダーの使い方を難しく&難読化して、読めなくするとか。


以下、参考までに。

jarg - 最適化ツール
URLリンク(jarg.sourceforge.net)

RetroGuard配布サイト(英語) - 難読化ツール
URLリンク(www.retrologic.com)

RetroGuard日本語解説サイト?
URLリンク(mascot.mis.ous.ac.jp)

Java無関係用語集 - 難読化について
URLリンク(www.netgene.co.jp)

314:名前は開発中のものです。
04/09/27 00:42:36 be/ifB4A
マルチだったのか・・・

315:名前は開発中のものです。
04/09/27 07:34:52 aLBna6ae
>>313
ご親切に、ありがとです。
早速、jargで難読化したり、jodeで逆コンパイルして確かめてみたり
してみました。
・・ん~、簡単に覗けてしまいました。

根本的な解決方法としては、
>すべてのクラスファイルを独自で暗号化して、
>自前の複合化クラスローダー無しには読み取れなくして、
>そのクラスローダーの使い方を難しく&難読化して、読めなくする
かもしれません。是非、もう少し掘り下げて教えていただきたいです。

316:名前は開発中のものです。
04/09/27 07:51:00 MzHevRDp
URLリンク(java.sun.com)

317:名前は開発中のものです。
04/09/27 19:28:31 n84gmfqB
>>315
jarg で最適化すれば、それなりに読みにくくなっているはず。

難読化ツールは、逆コンパイルを不可能にするんじゃなくて、
逆コンパイルされても、読みにくくて解読したくなくなるように出来るって事。

昨日言い忘れてたけど、jmangle って難読化ツールもある。 結構、サクッと使えていい感じ。

Jmangle 配布サイト
URLリンク(www.elegant-software.com)


> 根本的な解決方法としては、
> > すべてのクラスファイルを独自で暗号化して、
> > 自前の複合化クラスローダー無しには読み取れなくして、
> > そのクラスローダーの使い方を難しく&難読化して、読めなくする
> かもしれません。是非、もう少し掘り下げて教えていただきたいです。

この説明で分からないなら、ちょっと解説に時間がかかりそうだが・・・どうするか・・・
まぁ、自分も近いうちに、これをやってみようと思ってたから、まとめてみるかも。


つーか、マルチ('A`)イクナイ

318:名前は開発中のものです。
04/09/30 22:22:50 oihGIM+f
やっぱマンドクセ

319:名前は開発中のものです。
04/09/30 22:36:30 SJALzkxF
Web開発ではやったことあるけど、ゲーム作る程度でやる気ないなぁ。
どうせ、作るつもりないだろうけど。

320:名前は開発中のものです。
04/10/02 13:58:02 mB8JJc6Y
これが一番手っ取り早いのでは!?
>>スレリンク(tech板:152番)


321:25
04/10/03 01:54:29 clInMJlt
>>320
JNIか。
確かに手っ取り早いかもしれないけど、ネイティブ 絡むとマンドクセ。


>>315
見てるかどうか知らないけど、まとめてみた。

URLリンク(potage.s58.xrea.com)

とりあえず脳内にあるのをメモっただけだから意味不明かもしれないが、まったり考えていく予定。
実際に作るかどうかは分からん。

322:名前は開発中のものです。
04/10/03 01:58:11 clInMJlt
ぐはぁっ _/\○_
名前が…

323:315
04/10/03 12:02:03 drsRfI5F
>>321
毎日拝見しております・・。
321さんのHP覗いてみたのですが、インスタンスをClassクラスで生成する際の問題は、
newInstanceメソッドで引数なしでnewした後、初期化処理を行うメソッドを呼び出すようにすれば良いかと。
それとも、別のクラスにコンストラクタの引数に渡したいオブジェクトをsetterメソッドで登録しておけば、
引数なしのコンストラクタ内でその値をgetterメソッドで取り出すルールを
設ければうまくいくのではないでしょうか?
暗号化する・しないはクラス設計時に判断しないと無理ですけど。
出来れば、呼び出す側で暗号化ロジックを通す通さないで、ハンドリングできれば
便利で良いのですが。
クラスの直列化や複製もインタフェースをあらかじめ実装しないと
例外が発生するから別に当たり前の実装方法かも。

324:315
04/10/03 12:32:06 drsRfI5F
続き
内部クラスもクラスファイルをロードしないと無理です。

325:321
04/10/03 13:53:25 aFzOfy+1
ってか、シリアライズでちょっと思ったんですけど、
暗号化したいクラス(以下A)のメソッドを定義したインターフェイス(以下AI)を用意して、
A をシリアライズでファイルに書き出して、その時暗号化しとく。

んで、読み込み時に AI にキャストすればソースに手を加えなくても、
なんとかなりそうな気がする。

326:321
04/10/03 14:37:14 t6nSKj1T
なんか思いつきで書き込みしてしまったけど、
本質的なコンストラクタの呼び出しの問題は全く解決してないですね^^;

> newInstanceメソッドで引数なしでnewした後、初期化処理を行うメソッドを呼び出すようにすれば良いかと。
コンストラクタでしか呼べないモノの問題が出てくるのではないでしょうか?(super とか。)

> それとも、別のクラスにコンストラクタの引数に渡したいオブジェクトをsetterメソッドで登録しておけば、
> 引数なしのコンストラクタ内でその値をgetterメソッドで取り出すルールを
> 設ければうまくいくのではないでしょうか?
これなら、いけそうな気がしなくもないですね。
いろいろと面倒な感じになりそうですが、現実的かと。

> 出来れば、呼び出す側で暗号化ロジックを通す通さないで、ハンドリングできれば
> 便利で良いのですが。
暗号化したクラスも、暗号化していないクラスも同じように呼べるって事でしょうか?

> クラスの直列化や複製もインタフェースをあらかじめ実装しないと
> 例外が発生するから別に当たり前の実装方法かも。
頭悪いのでよく理解できません(;´д`)
申し訳ない。

> 内部クラスもクラスファイルをロードしないと無理です。
やはりそうですか・・・


ってか最初、マルチやってたので、ぶっちゃけ見くびってましたが
意外に実力のある方のようでつね。 ごめんなさい&内定ください。(何

327:315
04/10/03 16:44:18 Ab3yDh7p
>>326
> クラスの直列化や複製もインタフェースをあらかじめ実装しないと
> 例外が発生するから別に当たり前の実装方法かも。
説明へたくそですみません。
クラスをシリアライズする時、Serializableインタフェースが実装していないと
NotSerializableException例外が発生。
複製するときも、Cloneableインタフェースを実装していないと、
CloneNotSupportedException例外が発生。
なので、暗号化させたいクラスにも暗号化に必要なメソッドや変数を定義してある
暗号化インタフェースを実装していないと
"暗号化インタフェースが見つからない"例外を発生させて、
コンパイル時に開発者に警告をうながす事も使いづらいの反面
合理的なのかなと思ったわけです。

328:321
04/10/03 18:19:21 l36e1OTn
>>327
なるほどなるほど。そういう意味でしたか ^^;
しかし、そうなると疑問なのは、実装どうなるのかなぁ?と。

自分の中では、

・クラスファイルをデコンパイルさせたくないぜ。
・専用クラスローダーでしか読めなくすればいい。
・コンストラクタの呼び方が面倒になっちゃった。
・暗号化対応ソース自動変換ツールで、暗号化を意識しなくても大丈夫なシステムを!
・自動置き換えの、置き換え方を考えるぞ~

って流れなので。

暗号化インターフェイスで暗号化を制御するとなると、実装はどうなるんだろう?って思うわけです。
暗号化インターフェイスを実装していたら、暗号化する?
暗号化するのは誰?
com.sun.tools.javac.main.Main を使って自力で暗号化コンパイラを作る?

みたいな。

329:名前は開発中のものです。
04/10/05 00:20:10 vzG1Y+sw
>>328
その前に一つ問題があるのですが、独自で実装したクラスが独自で実装した
インタフェースをimplementsしていた場合、どうやってクラスオブジェクトを
ClassLoaderから取得できるのでしょうか?
インタフェースだけならClassオブジェクトを取得出来るのですが、
インタフェースを実装したクラスの場合では、NoClassDefFoundError例外が発生します。


330:名前は開発中のものです。
04/10/05 01:03:07 2w/Bi/QR
Javaアプレットって、やっぱりサーバにプログラムを置いていても
クライアントから持っていかれて逆コンパイルされるんだよね?

331:名前は開発中のものです。
04/10/05 01:07:54 vzG1Y+sw
>>330
なので、逆コンパイルできないネイティブコードでClassLoaderクラスを
独自実装するか、それとも、逆コンパイルされても解読が難しくなるように
ソースを難読化するかのどちらかに分かれて検討しているところです。


332:名前は開発中のものです。
04/10/05 12:43:28 pyJtAE+Y
クラスローダをネイティブコード?
アプレットならデフォだとセキュリティでひっかかるんじゃないの?

署名したりインストールの手間とか考えると
普通にアプリケーションベースでネット経由でJNIをまぜつつ
ダイナミックにクラスをロードするほうが便利な気がするんだが


333:名前は開発中のものです。
04/10/05 13:06:55 J9uCsa2u
どんな暗号使っても
その独自クラスローダを勝手に呼び出されたら
それで終わりだと思うんだけど。

結局ユーザ側で実行できるってことは
どっかで普通のバイトコードに落ちるんでしょ?
それを読む方法が何かしらあるわけで

334:321
04/10/05 14:53:07 UnlMJM9l
>>329
すみません。今のところ全て机上論なので実際のところは分かりません。
今から実際にソース書いて実験します(´д`;)

>>333
独自クラスローダーのインスタンスの作成の仕方を難読化すればいいと考えています。

沢山の偽者コードの中に本物を一つ書いてスパゲッティーにしたり、
さらに難読化ツールでメソッド名なんかを変えると、読めなくなると思います。
また、ダミークラスローダーなんかも、いくつか作れば、どれが本物なのか分からず
解読を諦めるのではないでしょうか?
藁の中から針を探す難しさだと思います。

アプリケーションの中身とは全く違う部分で労力をかけますが ^^;

335:333
04/10/05 15:45:56 J9uCsa2u
>>334
いや、同じことだと思うよ

ClassLoader#(String,byte[],int,int)に
ブレークポイント張ってデバッガで実行されたら
アウトなんじゃないの?

336:321
04/10/05 16:37:25 oJqqTbhC
ぐはっ!!!
そうっすね…少々焦点が狭かったか…

あと、

new Exception().printStackTrace();

とか、コードに埋め込まれたら
処理の流れが分かるって事も、今思い出しますた。

工夫しても解読されるのは時間の問題か…

モウダメポ('A`)

337:321
04/10/05 16:51:04 oJqqTbhC
RMI 使ってインスタンスを取得すれば大丈夫そうな…
うーん。サーバーが常に動いてないとダメだけど。

338:名前は開発中のものです。
04/10/05 17:00:29 pyJtAE+Y
そこまで暗号化が必要なアプレットのゲームってのはそうそう多くない希ガス

339:321
04/10/05 17:43:10 oJqqTbhC
まぁ、アプレット限定の話しではありませんです。

340:名前は開発中のものです。
04/10/05 18:28:28 pyJtAE+Y
>>321
このスレの名前をいってみろ


341:321
04/10/05 18:37:44 oJqqTbhC
放置・過疎スレ。

342:名前は開発中のものです。
04/10/05 21:51:30 qIq4WQNz
>>339
いきなりスレの前提からはずれとるがなw
それならJAVA使わずネイティブコードでやる方がより良さそうだし

343:名前は開発中のものです。
04/10/05 21:57:58 u1RKRDG3
リバースエンジニアリングをどうしても防ぎたいのなら、ネイティブコードを吐く言語を使用したほうが良い希ガス。

344:名前は開発中のものです。
04/10/05 22:38:11 pyJtAE+Y
ネイティブなバイナリでもそのプログラマとコンパイラの癖わかれば
それなりに簡単にわかるぞい

あたりがつけばどんどん加速度的に分かるものだ

クラックされるくらい関心度の高いゲームが作れるかどうかのほうが重要だと思うんだがね


345:321
04/10/05 23:10:54 oJqqTbhC
>>342
> いきなりスレの前提からはずれとるがなw

>312 で逆コンパイルを防ぎたいとのマルチ質問があり、
俺がうっかりマジレスしたのが始まりで、それからは逆コンパイルを防ぐ話題でした。
>>312 以降、アプレットの話しは一切してないっす。
人も全然いないみたいだし、問題ないか、と思って。

>>343
そりゃそうだけど・・・_| ̄|○

>>344
> クラックされるくらい関心度の高いゲームが作れるかどうかのほうが重要だと思うんだがね
ごもっとも。


どこかのスレで、

実行できるものを配るということは
暗号化したファイルと、複合化のキーを一緒にして配るようなものだから。
いくら暗号化しても防ぐのは無理。 解析されるのも時間の問題。

って読んだ希ガス。今、思い出した。

346:名前は開発中のものです。
04/10/05 23:55:58 2w/Bi/QR
解析されるのが手間になる方向しかないわけね。

347:名前は開発中のものです。
04/10/06 22:03:14 dUtJtg+D
難読化ってそういうことだからなぁ。

先進的なアイデアなら特許取れるし。
昔なら実行時書き換えって技もあったけど、いまどき現実的でないしなぁ。

どうやって難読化しようかって考えるより、一行でもコード書いたほうが
自分のためになるんだよな。

.NET用のは結構いいのがあるようなのだが。

乱文失礼


348:名前は開発中のものです。
04/10/06 22:22:02 CQVHxZ5S
>昔なら実行時書き換えって技もあったけど、いまどき現実的でないしなぁ。
VM依存言語だと実行時中間言語生成ってな話かねぇ。

>.NET用のは結構いいのがあるようなのだが。
確かに。
Javaな方面ではサイズ縮小だけが狙いで、本来の意味での難読化の要求が少ないのかも。


349:名前は開発中のものです。
04/10/06 22:34:27 WwhPAGcr
test

350:名前は開発中のものです。
04/10/06 22:44:22 Em+Tmfm5
まぁ10年くらい前から開発されてきたものだしなぁ

351:名前は開発中のものです。
04/10/06 23:04:15 ekr4P7Le
Java Pressのvol35に、難読化とクラスローダーについて書いてあった。
RetroGuardか何かが、クラス名やメソッド名をaとかbにするみたいだが、
クラスサイズを犠牲にしても、a05470210303とかの方が難読化にならないかな、
と思ったが、リファクタリングで変換一発か。

352:312
04/10/07 00:34:57 SXGuxMIT
>>351
詳細希望。ま、買えばいっか。

Javaアプレットでは無い時点で論外ですが、自分の作っている
ゲームアプリはJavaWebStartを使用しています。
なぜか、メインフレームの部分が解読不可能でした。
jodeとかmochaで試したのですが、エラー起きちゃいます。
そんな訳で当分は検討しなくてもよいかな~と考えている所です。
勝手ながら、この件のレスはここでクローズと言うことで。


353:名前は開発中のものです。
04/10/07 01:32:11 WcODZ6m5
変なフォーマットのclassファイルを作って
MSのVMでは動くけどSunのjavapではエラーが
出るようにしてたアプレットがあったなー

たしかkomplexのデモだったと思うけど

354:名前は開発中のものです。
04/10/07 01:42:39 +NyIBcQo
クラスファイルのバージョンに対応してないとか

355:名前は開発中のものです。
04/10/07 02:05:51 7BhZIGQ/
webstartはアプレットとアプリケーションとあるから
一応また次元の違う話ではある

あとメインフレームってのが独自用語か?
なんとなくわかるが

356:312
04/10/07 02:36:24 SXGuxMIT
>>354
いえいえ。jodeで試した結果では、Java1.4でclassファイルを普通に認識しました。
ですが、複数のクラスを読み込んだうち、ソースに変換するものと例外が発生するものと様々でした。
例外はjodeパッケージに含まれている独自の例外クラスでしたので、詳細は分かりません。

>>355
>webstartはアプレットとアプリケーションとあるから
WebStartってアプレットでも配布可能でしたっけ?

>メインフレームってのが独自用語か?
すいません、これは、mainメソッドを実装しているFrameクラスの継承クラス
の事を指します。


357:名前は開発中のものです。
04/10/07 11:01:50 7BhZIGQ/
webstartアプレットってしらんかね
JNLPしらべてみそ

ちなみに新しいウインドウが出てブラウザから独立するので
ブラウザを終了させてもいいとかそういう感じ

もはやアプレットである利点はさほどないけど
すでにアプレットになっているやつをwebstartにするならそれなりに価値もあるのかも
あとはinsetsを気にしなくていいくらいかな

もちろんいろいろなやりとりはJNLPAPIでやるというのもかわらない

358:名前は開発中のものです。
04/10/10 11:51:36 RlxkQKMF
>>357
webstartを起動したときに、クライアント側にアプレットのモジュールを
DLしておき、ブラウザを自動で起動した後で、クライアントにDL
したモジュールを読み込ませるって事ですか?

単純にブラウザを起動するアプリをjnlpのAPIを使って実装し、
ブラウザ側ではアプレットを配置してあるページを表示させる
だけであるなら、webstartはあまり関係が無いような。
jnlpAPIでブラウザを起動するとき、何か利点あるのでしょうか?



359:名前は開発中のものです。
04/10/10 14:23:36 2gZf+UVq
WebStartは

・ブラウザを閉じても起動したままで終了処理とか管理が楽
・JNLPAPIでローカルの資源を(デフォで警告は出るが)比較的危険のない範囲で使える
・キャッシュ処理によりアプレットのように毎回ロードしない
・細かいVMのバージョンチェックが可能
・2回目からはデスクトップやランチャーのショートカットでブラウザに関係なく起動できる

質問の意味がちょっとわからないが
URLClassLoaderを勉強するといい

これを使えばスタンドアロンのJavaアプリケーションでもバージョン管理とかが可能
これで俺はシステムたくさん組んでいる

ゲームでもjarファイルを別管理することによりゲーム本体と拡張部分を分けて管理が可能
RPGならソーサリアンとかのシステムとシナリオを分けるとかSTGだとコアと面データを分けるとか

360:名前は開発中のものです。
04/10/10 15:07:46 RlxkQKMF
>>359
質問はwebstartって何?
では無くて、
質問はwebstartappletって何?
です。

私も、webstartで2DRPGを作っています。


361:名前は開発中のものです。
04/10/10 19:15:39 2gZf+UVq
jnlpファイルの書式みてみろ
普通のアプレットを指定できる

利点はWebstartのAPIが使えるなど上に書いたのと同じだ

362:名前は開発中のものです。
04/10/10 19:36:52 7+4TU6CI
アプレットも署名すれば、ローカルPCにアクセスできるよね。

363:名前は開発中のものです。
04/10/10 20:13:16 inJquGiH
署名ってどうやるの

364:名前は開発中のものです。
04/10/10 20:25:04 RlxkQKMF
webstart経由でアプレットが起動されれば、
クラスローダーやセキュリティマネージャがwebstartに依存されているため、
アプレットの時のようなややこしい設定プロセスを簡略化できる。

ということは、アプレットプログラム内でコンソール出力したり
すれば、webstartにログ出力されるという事か。

もし、そうだとしたら、使えるかも。
やりたいことがあるが、ちょっとセキュリティ上無理かと思っていたことが
可能になるかも・・。(独り言)


365:名前は開発中のものです。
05/02/22 18:59:11 KzKSqXlr
やっぱりみんなそこまでしてソースを隠したいんだよね。
だから参考にしようとソース探しても全然ない。
結局掲示板で質問房が増える。
なんだかな~。

366:名前は開発中のものです。
05/03/28 02:49:42 kEg8t2iM
ってなわけで、作ってみました。

367:367
05/04/04 01:42:44 29VrGWc9
こんな感じになりましたが、どうでしょう?
>>URLリンク(gbsaga.ddo.jp)



368:名前は開発中のものです。
05/08/02 10:06:22 T+awd9IP
保守

369:π
05/12/14 00:42:07 au/Ihpoc
質問です。
Linux環境でアプレットのアニメーションを作っています。
ダブルバッファリングしているのにちらついています。
どこかの大学の講義のページでダブルバッファリングするとこうなる、っていう例を見てもちらついているようなので、LinuxとNetscapeで実行するのに何か問題があるのでしょうか?
不思議なことにアプレットビューワの上でマウスを動かし続けていると非常になめらかに動き続けます。
カーソルを止めるとまた、たまにカクッカクッと止まります。
なんなんでしょう?アプレットビューワの上でカーソルを動かしてる間はなめらかってのは…。

370:名前は開発中のものです。
05/12/14 03:26:56 UOIsfffY
>>369
ソース公開汁。
アプレットビューワはそんなに信用しないほうがいい。
ブラウザでは出来ない動作が可能だからだ。



371:名前は開発中のものです。
05/12/14 09:22:28 VHYWcMtd
Flash 8.5が出たらJavaアプレットは今度こそ死ぬな。

372:π
05/12/14 12:46:00 au/Ihpoc
ありがとうございます。そうなんですか。アプレットビューワは信用できないんですか?
実際に何が起こっているのかはわかりませんが、外見上は、たまにrepaint飛ばしてるんじゃないかって感じで、
一瞬止まったように見えるのです。で、カカカカカカカカカカクッカカカカカカカカカクッカカカカカカと…
マウスカーソルをアプレットビューワの上で動かしてると、凄くなめらかなアニメーションになって
スーと動きます。ずっとこんな風に動けばいいのに…。普通のことしか書いてませんがソースはこんな感じです。

373:π
05/12/14 12:46:39 au/Ihpoc
//RunnableをimplementしているAppletのサブクラス内です。
public void start(){
super.start();
image = createImage(width, height);
/*オフスクリーンのGraphics*/
preg = image.getGraphics();
if(thread == null){
thread = new Thread(this);
thread.start();
}
}
public void stop(){
thread = null;
}

374:π
05/12/14 12:47:50 au/Ihpoc
public void run()
{
Thread thread0 = Thread.currentThread();
/*whileの条件式は丸移しですがこれでいいのか気になります*/
while(thread == thread0){
try{
thread0.sleep(50);
}
catch(InterruptedException e){
}
/*
ここにパラメータの変更
*/
repaint();
}
}
public void update(Graphics g){
paint(g);
}
public void paint(Graphics g){
preg.clearRect(0, 0, width, height);
/*
ここに描画の部分draw****(preg, *****)って感じ
*/
g.drawImage(image, 0, 0, this);
}

375:名前は開発中のものです。
05/12/14 20:39:46 cJCmSJXT
repaint()の直後に、再描画が行われる訳じゃないんですよ。
描画イベントをイベントキューに入れるだけなんですね。
イベントキューから描画イベントが取り出された時点で、初めて描画されるのですね。
そのスレッドのタイミングによっては、複数のrepaint()がある特定のコマで
一緒にされたり、故にあるコマでのrepaintが飛ばされてしまうのですね。
マウスカーソルを動かすと、システムから連続でrepaintが発送されるので
タイムラグがなくなり、スムーズに描画できるのです。故に解

376:π
05/12/14 21:00:58 au/Ihpoc
なるほどX11だとXFlushしないといけないのと同じなのですね。
納得です。
ありがとうございました。

377:名前は開発中のものです。
05/12/14 21:15:58 7r834BYR
どういたしまして

378:名前は開発中のものです。
06/02/07 02:44:56 YcqHXq4X
「アプレットの読み込みに失敗しました。」
コンソールには
「************.classが見つかりません。」
と書いてあります。
デスクトップ上ではアプレットがちゃんと動作するのですが、
同じファイル(jarファイルとhtmlファイル)をアップロードしてから読み込むと見つからないと言われます。
どのような間違いが考えられるでしょうか?

379:名前は開発中のものです。
06/02/09 01:59:14 2XaB8tQa
winSCPで転送するときに、
バイナリとか、テキストとか、なんか削除するとか設定が問題なのかなぁ。
転送後の画像がめちゃめちゃになったりしている…。

380:名前は開発中のものです。
06/02/09 02:18:23 KZsev84P
文字変換して転送してるのかよ

381:名前は開発中のものです。
06/02/09 03:30:00 2XaB8tQa
転送モードがテキスト、バイナリ、自動(特定の拡張子のファイルはテキストモード)とあって、
テキストモード、バイナリモード試してもうまくいかない。
サイズも変わってなさそうだし…。
自分のPC上では動くし…。

382:名前は開発中のものです。
06/02/09 11:25:08 A4OVcy5n
その自分のPC上でhttpでとってくるようにはやってみたの?

383:名前は開発中のものです。
06/02/09 18:17:46 2XaB8tQa
やったことないんですが、
それはhttpサーバをインストールして、
そこにファイルを置いてアクセスするってことでしょうか?
サーバを介すと状況が変わってくる可能性があると…。

384:名前は開発中のものです。
06/02/09 19:10:26 A4OVcy5n
その状況が変わるかどうかをみないとなんとも

コードがおかしい可能性が高いわけだし

初心者でもhttp鯖立ち上げるのに一番楽なのは
NetBeansのようにTomcatこみのIDE使うあたりか


385:名前は開発中のものです。
06/02/10 07:41:28 GjTMzduU
フォルダの配置とか実行コマンドとかもう少し詳しく書いてください。あとアプレットのhtmlファイルの<applet>の内容とか。

386:名前は開発中のものです。
06/02/10 10:06:44 8daTPLyQ
マジスレ返してるし。
ボケろよつっこめねぇ!

387:名前は開発中のものです。
06/02/10 11:16:22 8p7psy6q
まずhtmlファイルは、
<body>
<applet archive="piyo.jar"
code="hoge.class"
width=500 height=400>
</applet>
</body>
で、自分のPC上で実行するとIEの下のバーに「アプレット hoge started」と表示されてちゃんと動きます、
htmlとpiyo.jarを同じフォルダにアップロードしてhtmlを開くと「例外:java.lang.NullPointerException. java アプレットの読み込みに失敗しました..」あるいは、「アプレット hoge notinited」と出ます。
もう少しいろいろ調べてみます。

388:名前は開発中のものです。
06/02/10 11:54:55 8p7psy6q
また387ですが、
hogeはHogeの間違いでした。
あと、実験でHello Worldもアップロードしてみたら動きました。
両方Linuxからscpコマンドで転送しました。
386さんはもし単純なミスに気づいてたら教えてください。

389:名前は開発中のものです。
06/02/10 14:02:02 GjTMzduU
IE使えるならツール>SunのJavaコンソールに何かエラーの詳細が表示されてませんか?

390:名前は開発中のものです。
06/02/10 17:36:59 8p7psy6q
表示されています。
java.lang.ClassNotFoundException: Hoge.class at sun.applet.AppletClassLoader.findClass(Unknown Source)…
Caused by: java.io.IOException: open HTTP connection failed. at sun.applet.AppletClassLoader.getBytes(Unknown Source)…
Exception in thread "Thread-9" java.lang.NullPointerException at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)…
java.lang.NullPointerException at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
Exception in thread "thread applet-Ex2b_RotateEarth.class" java.lang.NullPointerException at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
やはり HTTP connection failed がポイントでしょうか。

391:名前は開発中のものです。
06/02/10 17:40:29 hccRquls
HTTPブロックしてるのかよ

392:名前は開発中のものです。
06/02/10 18:06:52 8p7psy6q
詳しくよろ

393:名前は開発中のものです。
06/02/11 01:52:51 QWiuJU/z
ヒント:codebase

394:名前は開発中のものです。
06/02/11 02:24:35 tfXfazFi
codebase属性は同じディレクトリに配置する場合省略できる
とあったので省略しています。書いてもうまくいきません。
それともなにか別のプログラムが必要なのでしょうか…。

395:名前は開発中のものです。
06/02/11 03:36:41 tfXfazFi
PC上のApatchのlocalhostに置いてhttpアクセスしてみました。
やはり、動きませんでした。
しかし、HelloWorldは動きました。
同じアプレットのプログラムで何が異なっているんでしょう。
マニフェストファイル?(gcc環境で作成したことぐらいしか書いてない)
PC上の同じディレクトリにhtmlとjarを置いてブラウザで開くとちゃんとstartするのです。
まったく意味がわかりません。

396:名前は開発中のものです。
06/02/11 09:29:15 mZnM3IUc
URLリンク(www.atmarkit.co.jp)
と同じ原因じゃない?

397:名前は開発中のものです。
06/02/11 12:19:21 uCg0fPDg
その2つのコードの違いがわからんとなんとも

398:名前は開発中のものです。
06/02/11 13:52:36 tfXfazFi
動きました。
何を変えたかというと、10個ぐらいのクラスをjarアーカイブにしてたんですが展開してディレクトリ内にばらばらに置きました。
そうしたら動きました。
「たくさんあるときはjarにまとめなくてはいけない。」
思い込んでいたし、そう解説しているページもあった気がするのですが…。
だから残念ながら根本的に何がまずかったのかわかったわけではないです。
(ブラウザかJVMかが、なぜかjarをダウンロードして展開した一時フォルダを探していなかった?よくわかりません。)
なにか助言があればお願いしたいです。いろいろありがとうございました。

399:名前は開発中のものです。
06/02/11 15:18:42 uCg0fPDg
ようはJavaの基本が分かってないってことだろ?
勉強しなおしたほうがいい

classで配布なんてありえんし


400:名前は開発中のものです。
06/02/12 02:22:58 I+qrsV4/
>>398
私も似たような経験があります。
現象は逆で、サーバでは動作するのにローカルではエラーが起こるというものです。
だからそのままほったらかしです(汗

エラーが起こるのは、jar内のクラスからjar外のzipファイルの中にあるデータを
読みにいったときでした。security関係のexceptionでしたが名前は覚えていません。
ローカルではjarかzipのどちらかをバラしてテストし、サーバには圧縮したデータを
転送していました。
今のところ不具合報告はきていませんがちょっと気持ち悪いです。

401:名前は開発中のものです。
06/02/12 12:59:55 iEqclzSA
セキュリティ関連なら逆に分かりやすいと思うけど

402:名前は開発中のものです。
06/03/15 01:12:19 cXOEjtfT
保守

403:名前は開発中のものです。
06/03/18 14:44:20 FQ/Z8uaG
描画速度がネックで大したゲーム作れなかったけど
いまでは問題なしだね。でも作ってる人昔ほどいないような・・・

404:名前は開発中のものです。
06/03/18 15:52:21 xwepgm3J
VMのチューニングするときアプレットよりアプリのほうがいいからね

405:名前は開発中のものです。
06/03/19 01:57:22 ax51vhV/
今度NINTENDO DS用のブラウザ(Opera)が発売されるらしい。
これはJava Appletに対応しているか?知っている人いたら情報キボンヌ。

あと、PSPでは既出だが、これはどう?

こいつらがAppletをサポートしてたら、魅力だな。
だって、NINTENDO DSやPSPでも動くソフトを誰でも作れるって事だもんな。

406:名前は開発中のものです。
06/03/19 08:45:57 ixUijk9F
Flashも対応してないみたいだから無理っぽい

407:名前は開発中のものです。
06/03/19 12:37:59 UecNa0OI
JavaSEとJavaMEは違うぞ


408:名前は開発中のものです。
06/03/20 20:33:46 mFl3mT/C
JavaSE … スーパーJAVA
JavaME … MEタソ専用JAVA

409:名前は開発中のものです。
06/03/23 14:17:29 8dGLcxi0
球体を表示するにはどんなプログラムにしたらいいのですか?


410:名前は開発中のものです。
06/03/23 21:28:59 uBzyklzV
球体を表示すればいいのでは?
BufferedImageなりGraphics2D#drawOvalなりお好きな方法で

411:名前は開発中のものです。
06/03/23 21:36:47 fbbvz6K/
System.err.print( "球体" );

412:名前は開発中のものです。
06/03/24 00:02:15 J0OqK5m9
マルチだしな


413:名前は開発中のものです。
06/03/24 03:00:53 j+UDUKod
こんなもんか?

                _,,.. -─‐- .、.._.
           ,. ‐''"´           ``'‐.、
          ,.‐´                 `‐.、
          /                          \.
       ,i´                           `:、
      /                                ヽ.
    ,i                                i、
    .i                                     i.
   .i                                  l
   |                                   |.
    |                                        .|
   |                                   |
.   l                                  l.
.    i、                                 ,i
.    i、                                ,!
.     ヽ                               /
.      `:、                           ,‐'
          \                        /
          `‐、                   , ‐´
           ` '‐.、 _            _, ‐''"
                 `` ‐-----‐ '"´




次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch