1read 100read
2011年12月1期ゲ製作技術34: MMORPGをつくるお! (347) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
35: HSPでRPG作ろうぜ (412)
36: 2チャン系オンラインRPGを作ろうぜ (4)
37: RPGの戦闘のあるGを作ろうぜ (7)
38: ワールドネバーランドみたいなゲーム (238)

MMORPGをつくるお!


1 :05/12/31 〜 最終レス :11/12/06
MMORPGを作ります。
概要はジャンル3DMMORPG・言語C++・クライアントのOSはWindowsのみです。
手伝ってくれる人は募集してるかもです。
まだまだ開発の極初期段階なので、しばらくは>>1の日記になると思われますがご了承ください><

2 :
概要続き。
>>1の役割: プログラムとか色々
開発期間: 100年
ゲームの世界観: 近代以前の文明レベルで魔法とかもありの世界。
ゲーム内でできること: ダンジョン攻略とかPvP(対戦)とか地形を変更したりとか家を建てたりとか。
ゲームの規模: 最大200人同時接続。
募集してる人員: 何でも。
開発に参加した場合の対価: 何もありません。
完成した場合の権利関係: それぞれの部品を作った人に帰属。アイディアなどの形が無いものは誰にも帰属しない。
ウェブサイト: 今は無いので、できたら書きます。
連絡先: このスレッド。

3 :
出た
馬鹿が出た

4 :
ゲーム内容の構想(妄想)。
マップは海とか山とか川とか湖とかがあるシームレスマップ。
戦闘はリアルタイムで、実現可能な限りアクション性を持たせる。
アイテムの重さとか、重力とか慣性とかはリアリティを重視。
モンスターをマップ内に点在させるが、MMORPGにありがちな単調な狩りの繰り返し作業はなるべく排除する。
村を作ったり、畑を作ったりできる、生活観があるゲームにする。
プレイヤーキャラクターの生死に大きな意味を持たせるハードコアなゲームにする。
気候や昼夜のメリハリがある、風情のあるゲームにする。

5 :
プログラム的な構想(妄想)。
クライアントOSはWindows 2000以上で3DAPIはDirectX9を使用。
サーバーOSは当面はWindows、ライセンスに問題が出そうならLinuxかFreeBSDに移行。
クライアントの動作環境は、インテル945Gチップセットオンボード以上の性能を持つGPU搭載機。
OSが標準で提供してるAPI以外はなるべく自作する。
とにかく費用がかからない方法を使う。
通信はほとんどUDPで行う。通信のレイテンシは100ms(0.1秒)以下を前提にし、それ以上遅い接続は切り捨てる。
パケットロスが多い接続も切り捨てる。
ゲーム世界内の計算は全てサーバーに行わせ、クライアントのチートプログラムの使用を防ぐ。

6 :
グラフィックデザイン的な構想(妄想)
プレイヤーキャラクターは基本的に等身大。
人間以外の人種もありにする。
無駄な露出は避ける。
非プレイヤーキャラクターは基本的に何でもあり。
版権物は使わない。
マップは地形変更可能にする都合上、特殊な地形の配置はしない。
建造物は、木や岩を素材にしたものを作る。

7 :
>>1が狙ってやってんのはわかってんだ。妄想ってかかないよ、本物のバカは。

8 :
ウェブサイトが最低条件らしいので、今から作りますので待っててください!

9 :
ウェブサイト: ttp://www.geocities.com/nanashixpg/
です。

10 :
>>1
…で…?あんたは何ができるんだい?…

11 :
なつかしいなぁ
皆こんなスレ建てまくってた頃があったね。
>>1
まず動くものを見せるんだ。
無いなら2,3日あるだろうから作ってくれ。
無理ならあきらめろ。

12 :
つーか、>>1は何が出来るんだ?何をするんだ?

13 :
もう、この様な馬鹿なことは終わりにします
迷惑かけてすみませんでした......
おわびにageときます

14 :
釣りでスレ立てるのやめれ〜

15 :
ポシャり率No1ジャンル=乱立No1ジャンル=MMORPGですな

16 :
今はプロトコルを策定している段階です。
まず、チャットを実装する前に、認証処理を作ろうかと思って。
ハッシュと乱数を組み合わせた安全な認証処理を作る予定です。
文字の入力と表示はできてるのですが、フォントの使用許可が下りないので、
公開は保留中です。

17 :
忘れてましたが、
あけましておめでとうございます。^^

18 :
>>17
あけましておめでとう。
俺は>>1を信じる・・・・てか何の能力もないけど手伝いたい

19 :
>>16-17
あけましておめでとう。
なるほど、一発企画ではなくちゃんと設計からやってるのね。
フォントについては、何使ってるか知らんけど
とりあえずMSので公開するのはダメなの?
これはWindowsAPIで出力すれば問題なかったはずだけど。
まぁ頑張ってください。

20 :
様子見だが、サーバープログラムを手伝いたい。
で、DirectX直?ライブラリとかは使わないんですか?

21 :
>>19
Y.Ozフォントというフォントを使おうと考えています。
許可が下りなければMSゴシックになりますが。
あと、事前にテクスチャに書き出して使うように作ったので、
実行時に書き出しとなると、少し手間がかかります。
とりあえずMSゴシックで書き出して公開してみます。
>>20
仕様書のような物が存在しないので、少なくとも現状ではプログラムを手伝ってもらうのは難しいかもしれません。
どれくらいの作業が必要になるかの見通しもまだ立ってません。orz
私は素人なので、助言など頂けると助かります。
はいDirectX直です。
使うライブラリは、あえて言えばDirect3DXですかね。

22 :
とりあえず初期化だけのプログラムのようなものを公開。
ttp://www.geocities.com/nanashixpg/vo20060101.zip
注意事項
・このプログラムを実行して何が起きても私は知りません。
・Windows9x系のOSには対応してないので実行しない方が無難です。
・プログラム実行中Sキーは決して押さないでください。私のアドレスへの100万パケットの爆撃が始まります。
・Enterキーを押すと入力モードになりますが、自己ログ表示機能くらいしか実装してません。
・入力モード中にEnterキーを押すと入力した内容が私のアドレスへ転送されますが、特に意味はありません。
・表示してる内容に特に意味はありません。
・Escキーを押すと終了します。
・内部スレッドがうまく終了しなかった場合はタスクマネージャーで強制終了させてください。
・全てDirect3Dで表示しているのでDirect3D9が使用できない環境では正常に機能しません。
・他にも罠があるかも知れません。

23 :
上のプログラムはd3dx9_27.dllが無いと起動できないそうです。
多分SDK関連のファイルなのでこれから何とかします。

24 :
d3dx9_27.dllをアップしました。
ttp://www.geocities.com/nanashixpg/d3dx9_27.zip
多分プログラムと同じディレクトリに保存すれば実行できるようになると思います。
geocitiesのファイル転送量制限がきついので、もしダウンロードできなければ、
ttp://nanashixpg.mydns.jp/vo20060101.zip
ttp://nanashixpg.mydns.jp/d3dx9_27.zip
をお試しください。
注意事項は>>22と同じです。

25 :
エラーが出るんだが俺だけかな?

26 :
俺もでます

27 :
わろすwwww
.wmfをあのdllで読み込ませてクラックしてるwwww

28 :
何のエラーだか教えてもらえますか?

29 :
DLLの単体配布はヤメレ

30 :
なんのエラーか分からない

31 :
vo20060101.zip内にd3dx9_27.dllを同梱しました。
d3dx9_27.zipをダウンロードする必要はなくなりました。

32 :
いや、そういう意味じゃなくてwww
↓ここ読んでみれ
http://www.google.co.jp/search?hl=ja&q=d3dx+dll+%E5%8D%98%E4%BD%93&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=

33 :
ごめん、こっちだった
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=37114

34 :
なるほど、よく分かりました。
再配布パッケージのインストールすら省いていたのでよく分かってませんでした。^^;
vo20060101.zipを再び差し替え、dllではなく、DirectX9の更新用データを添付する形式にしました。
必要に応じてDirectX9 Additional DLL内のDXSETUP.exeを実行してください。

35 :
吊ってきます

36 :
キイロ

37 :
やっぱりエラーでて落ちる

38 :
多分設定したDirect3Dの初期値が厳しすぎて落ちていると思われます。orz
解像度 1280x720
色深度 32bit
FSAA 4x
AF 8x
で起動しようとするので。orz
次回以降、もう少し緩くできるようにしておきます。

39 :
>>38
がんばってくだちぃ。
あと、初期化の設定もいいんだけど
せっかく>>20みたいにサーバサイドの話をしてる人もいるんで
少しそっちにも話を振るといいかもしれない。

40 :
上記の設定で動作しないと思われるGPUを調べてみると、
・インテルオンボード全て→FSAAに対応してない
・MatroxのGPU全て→FSAAに対応してない
・SiSのGPU全て→FSAAに対応してない
・VIAオンボード全て→FSAAに対応してない
・ATi RAGEシリーズ→FSAAに対応してない
・XGI Volari→FSAAに対応してない
・nVIDIA RIVA TNT TNT2→FSAAに対応してない
・nVIDIA GeForce4 MX GeForce2以前→AF 8xに対応してない
と、かなりのGPUで動作しないと思われます。orz

41 :
サーバーサイドの進行状況は、
プロトコル: ヘッダのフォーマットだけ決定(ID16bit、命令16bit)
認証: ハッシュ関数にSHA1を使うことを決定し、
ソースコードをRFCからパクってきて正しくダイジェストを生成できるかどうかまで確認。
乱数生成はMersenne Twisterを使うことに決定し、
これもソースコードをいただいてきて正しく乱数生成できるかどうか確認済み
あと、パケット処理の仕組みに、ワーカースレッドプールを使う仕組みを実装済みです。
(クライアントでも同じように処理してる、が意味のある通信をまだしてないので無意味ですねorz)

42 :
ゲームの処理の部分は、
シームレスマップということで、世界全体(の地形)を一つのテーブルで表現できる方法を検討中です。
正20面体の各面を4つの3角形で分割していき、何度か分割し、それをタイルにする方法。
(この場合ワールドマップは球面になる)
正3角形を敷き詰めて、平面にし、北の端に行くと南の端に、東の端に行くと西の端に出てくる、
無理やり立体として見るとドーナツ型にするような方法。
同じく正方形を敷き詰める方法を検討中です。
多分メモリ容量(2GB)の関係から、後者2つになると思いますが、可能なら球面にしたいです。
また、どの方法でも、タイルで表現する以上、立体交差やトンネル、地下ダンジョンなどが表現できないので、
より良い方法がないかも検討中です。(あるいは組み合わせられる方法)
何か画期的なアイディアが思いつかなければ、多分もっとも無難な方法に落ち着くと思います。orz

43 :
補足。
シームレスマップなだけでなく、地形変更可能なことも条件です。
正20面体を分割していくと、3角形の大きさにばらつきが出てくるので、
場所によって、タイルの大きさが違うことを誤魔化すために、かなり細かく分割する必要があると思われます。

44 :
3角形を4角形で敷き詰めるより、
3角形を3角形で敷き詰めたほうが簡単な希ガス。

45 :
タイルだけでなく、頂点で表現するのもありな気がしてきました。
空間を分割したブロックに分けて、各頂点のサイズを小さくするとして、
XYZ各16ビット、フラグに16ビットの1頂点64ビット(8バイト)として、
ブロック管理に必要なサイズを無視した場合の2GBで保持できる頂点数は256M頂点
1平方メートル当たり平均1頂点存在すると仮定した場合、16平方キロメートル。(4キロメートル四方)
ここからブロック管理に必要なメモリや、頂点が構成する3角形を作るためのインデックス用のメモリが必要なので、
4キロメートル四方より狭くなると思いますが。
あと、1平方メートル当たり平均1頂点以上必要になる場合や、地形情報をクライアントに転送する際の転送量や、
サーバーの物理計算の負荷が問題になるっぽいですが、条件を詰めて、もっと詳しく検証しないと分かりませんね。
あと、地形以外のオブジェクトを保持するのに必要なメモリもあります。
それから、人がいない地域が発生するなら、その部分をディスク上にスワップできますが、
人数が増えると誰もアクセスしない地域が無くなると思います。

46 :
>>44
確かにその方が簡単そうですね。というか、調和が取れる気がします。
ただ、3角形2つで正方形を作ると、座標計算が簡単だし、地形を人工的に加工する場合、
必ず4角形で加工することになるので、人工物を重視する場合は、4角形の方が良い気がします。
(が、あんまり重視しなくてもいい気もします)

47 :
>>45の計算間違えてました><
1平方メートル当たり平均1頂点存在すると仮定した場合、256平方キロメートル(16キロメートル四方)
が正解でした><

48 :
乱数関数を内部で持ってるなら、地形を適時乱数発生させれば、
メモリー節約できるんじゃないかな。データ読み込みも極端に減るし。
(フラグとか特定の地形は乱数発生じゃダメだけど。
重要度の低い場所は乱数そのままで、
街や街道が固定の高度とかできればいいと思う。
ただ、乱数で出来た急斜面に囲まれた窪地にスタックしそうだけどww
システムに依存しない乱数関数なら、
その乱数関数にエリアの基準となる座標やIDなんんかを
種に設定してやれば毎回同じ結果になるはず。
勿論、乱数を直に高度に設定するととんでも無い事になるので、
その高度を回りに一定範囲で(エリアを越えて?)加算するとかして、
ある程度滑らかにしてやらなきゃいけないし、実際やってみないとワカランw
△エリアを□エリアで敷き詰めるのは、エリアの縁だけ△にすればいい気もするけど、
高緯度地方のエリアの境界が難しそう。机上論てきには面白い話題だけど、
実装すればまた問題出てきそうで、興味深々w

49 :
失敬
>地形変更可能なことも条件です。
だと
升目>>>>>>>>>>>>>>>>>>変更した地形
でも無い限り、乱数発生の意味が少ないですねぇ;;

50 :
地形を乱数で動的に生成は無理です。
地形の初期値には使えますが、ユーザー(あるいは自然)が変更した地形を保存するので。
>△エリアを□エリアで敷き詰めるのは、エリアの縁だけ△にすればいい気もするけど、
>高緯度地方のエリアの境界が難しそう。机上論てきには面白い話題だけど、
>実装すればまた問題出てきそうで、興味深々w
これについては、3角形2つで正方形を表現する云々について言ってるのは、球面じゃないワールドマップの方だけです。
すいません><
球面の方は今のところ3角形1択です。ちなみに、緯度経度で計算するのではなく、20面体を元に計算するので、
北極と南極が極地にはなりません。

51 :
あ、誤解してたかも知れません。
世界を平面で表す場合は、世界の形状は基本的に4角形です。
もしかして、問題が出そうって言ってるのは4角のワールドマップに3角を敷き詰めた場合の端っこのことなのかな。
この場合は、長方形に3角形を敷き詰めるのではなく、3角形2つの平行四辺形に3角形を敷き詰めれば問題ない気がします。

52 :
長い説明どうもでした。
クライアントに地形データも持たせればいいじゃん、と思っていたが
>>50を読んで、PCも地形を変化させられるから丸投げは不可なのね。
こら厳しいですな。実現すると色々面白そうだけど。

53 :
あぁ、すみません。20面体の事しか頭になかったです;;
とにかく20面体の事しか頭になくってw
エリアの角だとまっすぐ歩かせるのが大変そうで、
進入できないように山を配置するとか、
まっすぐ歩けなくてもOKなように渦潮を配置するとか、、、
なにはともあれ、丁寧なレスthxです><。

54 :
画面解像度の設定で悩む。
960x720 16
1280x720 16
1200x900 20
1600x900 20
1440x1080 24
1920x1080 24
800x600 16
960x600 16
1000x750 20
1200x750 20
1200x900 24
1440x900 24
1400x1050 28
1680x1050 28
1600x1200 32
1920x1200 32
上のリストが当初考えていたワイド時16:9の解像度。ちなみに右の数字はフォントサイズ。
下のリストが今計算したワイド時16:10の解像度。
下のリストでは、いくつかの解像度でPCモニターの解像度と一致していて、こちらの方がPCと相性が良い。
しかし、これからはテレビでPCの画面を表示する機会が増えるだろうということを考えると、16:9も捨てがたい。
特にHD解像度が16:10だと1920x1200となり、これがHDテレビの1920x1080では映せないというのが痛い。
16:9でも、PCモニターで表示できないわけではなく、ただ画面が余るだけなので、やはり16:9でいくべきなのだろうか。

55 :
上のリストは
1280x720 16
1280x960 16
1600x900 20
1600x1200 20
1920x1080 24
1920x1440 24
こうした方が綺麗かもしれないが、1024x768のモニターで表示できなくなってしまう。

56 :
結局最初のリストで設定&接続画面を実装中。
理由は、1920x1080のテレビを切りたくないことと、
多くのGPUがサポートするテクスチャ解像度は2048x2048までで、
このサイズに全ての日本語文字が収まるのは16ポイントまでで、
最近流行りの1280x768のモニターにオンボードGPUで映せるようにしたかったから。

57 :
あまった分の左右におまけ画像でも張っとけばいいじゃん

58 :
それと、ウインドウ表示したときに、モニターサイズより小さい方が都合がいいから。

59 :
>>57
現状ではフルスクリーン時にあまった部分は真っ黒にしてるだけです。
っていうかおまけ画像ってw

60 :
>>59
そりゃムフフな画像でしょw

61 :
よくわからんけど
姉は建築士並みの完成度になることを祈ります
頑張ってください

62 :
今日はGUIの設計、(設定画面兼ログイン画面とクリックイベントの処理)
D3DXとおさらばするために各種変換行列の処理と4元数の処理、
D3DXを使わないでテクスチャを読み込むための処理の実装をしました。
D3DXをリンクしないでコンパイルできるようになったので、次回からはD3DXの更新ファイルを添付しなくてよくなります。
なかなかチャットができるようにならないなー。
GUIの設計にもう1日くらいかかりそうです。

63 :
他にも何かしてたような気がしたと思ったら、
今日はゲーム内容の種族とスキルシステムについて考えたんでした。
それと死んだ場合のペナルティについても。(というかずいぶん前から構想してた)
チャットができるようにまで進んだら色々書くつもりです。
あと、インテルのYonahが発表されましたね。
デュアルコア Yonah 2つでサーバーが組めたら最高なんですが。

64 :
GUIはまだ完成しません。orz
今日やったことは、GUI設計の続き、テクスチャ読み込み関数を完成、4元数関数のバグ修正、その他。
とりあえず起動できない問題を修正したかもしれないプログラムを公開しときます。
ttp://www.geocities.com/nanashixpg/vo20060105.zip
ttp://nanashixpg.mydns.jp/vo20060105.zip
注意事項
・このプログラムを実行して何が起きても私は知りません。
・Windows9x系のOSには対応してないので実行しない方が無難です。
・プログラム実行中Sキーは決して押さないでください。私のアドレスへの100万パケットの爆撃が始まります。
・Enterキーを押すと入力モードになりますが、自己ログ表示機能くらいしか実装してません。
・入力モード中にEnterキーを押すと入力した内容が私のアドレスへ転送されますが、特に意味はありません。
・表示してる内容に特に意味はありません。
・Escキーを押すと終了します。
・内部スレッドがうまく終了しなかった場合はタスクマネージャーで強制終了させてください。
・全てDirect3Dで表示しているのでDirect3D9が使用できない環境では正常に機能しません。
・他にも罠があるかも知れません。

65 :
>>64
エラーでますた
環境
------------------
System Information
------------------
Time of this report: 1/5/2006, 01:09:35
Operating System: Windows 2000 Professional (5.0, Build 2195) Service Pack 4
Language: Japanese (Regional Setting: Japanese)
System Manufacturer: INTEL
System Model: P4I45PE.
BIOS: Default System BIOS
Processor: Intel(R) Celeron(R) CPU 1.70GHz, ~1.7GHz
Memory: 1024MB RAM
Page File: 553MB used, 1140MB available
DirectX Version: DirectX 9.0c (4.09.0000.0904)
DX Setup Parameters: Not found
DxDiag Version: 5.03.0001.0904 32bit Unicode

66 :
--------------------
DirectX Debug Levels
--------------------
Direct3D: 0/4 (n/a)
DirectDraw: 0/4 (retail)
DirectInput: 0/5 (n/a)
DirectMusic: 0/5 (n/a)
DirectPlay: 0/9 (retail)
DirectSound: 0/5 (retail)
DirectShow: 0/6 (retail)

67 :
---------------
Display Devices
---------------
Card name: NVIDIA GeForce FX 5600
Manufacturer: NVIDIA
Chip type: GeForce FX 5600
DAC type: Integrated RAMDAC
Device Key: Enum\PCI\VEN_10DE&DEV_0312&SUBSYS_00000000&REV_A1
Display Memory: 128.0 MB
Current Mode: 1280 x 1024 (32 bit) (60Hz)
Monitor: Monitor Max Res: 1600,1200
Driver Name: nv4_disp.dll
Driver Version: 6.14.0010.7772 (English)
DDI Version: 9 (or higher)
Driver Attributes: Final Retail
Driver Date/Size: 6/15/2005 17:20:00, 3896320 bytes
WHQL Logo'd: Yes
WHQL Date Stamp: n/a
VDD: Mini VDD: nv4_mini.sys
Mini VDD Date: 6/15/2005 17:20:00, 3200256 bytes
Device Identifier: {D7B71E3E-4052-11CF-EC7D-0A2000C2CB35}
Vendor ID: 0x10DE
Device ID: 0x0312
SubSys ID: 0x00000000
Revision ID: 0x00A1
Revision ID: 0x00A1

68 :
>>64
報告ありがとうございます。
またエラーですかー。orz
ちなみにインテルオンボードのマシンで実行してみたところ、起動はできたものの、
テクスチャが読み込まれず、そのままエラーが出てしまいました。
もう1回修正してみます。orz

69 :
こちらのインテルオンボードマシンでのエラー原因が判明。
QueryPerformanceFrequencyで取得した更新周期を1Gで割った数が0になるからでした。orz
これで割り算してタイミングを取ってるので、0の除算でエラーが出るのでした。
GPUは関係なかったようです。しかしまだテクスチャが表示できない原因は謎のままです。

70 :
今日もGUIの設計。もうしばらくGUIの設計に時間がかかりそうです。
とりあえず今日も起動できない問題を修正したかもしれないプログラムを公開しときます。
終了ウインドウだけ綺麗になってます。
ttp://www.geocities.com/nanashixpg/vo20060107.zip
ttp://nanashixpg.mydns.jp/vo20060107.zip
注意事項
・このプログラムを実行して何が起きても私は知りません。
・Windows9x系のOSには対応してないので実行しない方が無難です。
・プログラム実行中Sキーは決して押さないでください。私のアドレスへの100万パケットの爆撃が始まります。
・Enterキーを押すと入力モードになりますが、自己ログ表示機能くらいしか実装してません。
・入力モード中にEnterキーを押すと入力した内容が私のアドレスへ転送されますが、特に意味はありません。
・表示してる内容に特に意味はありません。
・Escキーを押すと終了します。
・内部スレッドがうまく終了しなかった場合はタスクマネージャーで強制終了させてください。
・全てDirect3Dで表示しているのでDirect3D9が使用できない環境では正常に機能しません。
・他にも罠があるかも知れません。

71 :
>>70
残念だがエラー。
「例外 unknown software expectiom (0x0000001d)がアプリケーションの0x00404ae0で発生しました。」
Operating System: Windows XP Home Edition (5.1, Build 2600) Service Pack 2 (2600.xpsp_sp2_gdr.050
Processor: AMD Athlon(tm) XP 2600+, MMX, 3DNow, ~1.9GHz
Memory: 1016MB RAM
Page File: 322MB used, 1367MB available
Card name: NVIDIA GeForce FX 5900
Manufacturer: NVIDIA
Chip type: GeForce FX 5900

72 :
↓終始こんな画面なんだけど合ってる?
http://kjm.kir.jp/pc/index.php?p=12013.jpg
Operating System: Windows XP Professional (5.1, Build 2600) Service Pack 2
Processor: Intel(R) Pentium(R) 4 CPU 2.60GHz
Memory: 1024MB RAM
Page File: 696MB used, 1765MB available
DirectX Version: DirectX 9.0c (4.09.0000.0904)
Manufacturer: ATI Technologies Inc.
Chip type: RADEON 9800 PRO AGP
Display Memory: 128.0 MB
Current Mode: 1280 x 1024 (32 bit) (60Hz)
Driver Name: ati2dvag.dll

73 :
こっちもポリゴンが回転してるのみ
http://gamdev.org/up/img/4283.jpg
終了ダイアログ?もこんなふうになる
http://gamdev.org/up/img/4284.jpg

74 :
報告ありがとうございます。
>>71
またエラーですか。orz
>>72 テクスチャが読み込めていない点以外は正常のようです。
>>73 3Dポリゴンとテクスチャ以外は正常のようです。
やっぱりテクスチャの読み込みか表示に問題あるみたいですね・・・。
あとエラーも出るし。
ちなみに開発環境は
Operating System: Windows XP Home Edition (5.1, Build 2600) Service Pack 2 (2600.xpsp_sp2_gdr.050301-1519)
Processor: Intel(R) Pentium(R) 4 CPU 2.40GHz (2 CPUs)
Memory: 1534MB RAM
Page File: 214MB used, 5268MB available
DirectX Version: DirectX 9.0c (4.09.0000.0904)
Manufacturer: NVIDIA
Chip type: GeForce 6800
Display Memory: 128.0 MB
Current Mode: 1280 x 1024 (32 bit) (60Hz)
Driver Version: 6.14.0010.8194 (English)
>>71さんとの相違点はCPUくらいですか。
CPUの違いが原因でエラー?まさかQueryPerformanceFrequencyが低い値を返すとか・・・。
>>72さんとの相違点はGPU。
テクスチャ以外は正常なんですが、GeForceとRADEONに仕様の差があるんですかね。
他にも原因があるかもですが。
テクスチャ正確には、ただ表示してるのではなく、DXT1で白黒で圧縮して、使用時にDOTPRODUCT3でRチャンネルをαチャンネルに移動して、頂点のαチャンネルと合成して使用しています。
普通に表示する場合はどうなるかとかいろいろ試してみます。
とにかくありがとうでした。

75 :
D3DFMT_A8サーフェイスにαチャンネルだけを読み込んで扱った方がよくない?
DOTPRODUCT3みたいな面倒な事しなくて済むよ

76 :
QueryPerformanceFrequencyが低い値を返すかも知れない環境で起きてるかも知れない問題を修正したプログラムです。
(CurrentCount.QuadPart - LastCount) / (Frequency.QuadPart / 1000000);

(CurrentCount.QuadPart - LastCount) * 1000 / (Frequency.QuadPart / 1000 ? Frequency.QuadPart / 1000 : 1);
に修正しました。
ttp://www.geocities.com/nanashixpg/vo20060107a.zip
ttp://nanashixpg.mydns.jp/vo20060107a.zip
注意事項
・このプログラムを実行して何が起きても私は知りません。
・Windows9x系のOSには対応してないので実行しない方が無難です。
・プログラム実行中Sキーは決して押さないでください。私のアドレスへの100万パケットの爆撃が始まります。
・Enterキーを押すと入力モードになりますが、自己ログ表示機能くらいしか実装してません。
・入力モード中にEnterキーを押すと入力した内容が私のアドレスへ転送されますが、特に意味はありません。
・表示してる内容に特に意味はありません。
・Escキーを押すと終了します。
・内部スレッドがうまく終了しなかった場合はタスクマネージャーで強制終了させてください。
・全てDirect3Dで表示しているのでDirect3D9が使用できない環境では正常に機能しません。
・他にも罠があるかも知れません。

77 :
>>75
D3DFMT_A8は対応してないGPUがものすごく多いんです。orz
あとDXT1だと1ピクセル4bitなので、テクスチャサイズを半分にできます。

78 :
>>77
うーむ、PCゲーム開発は大変だなぁ

79 :
こちらのインテルオンボードマシンで、普通にテクスチャを表示するだけにしたところ、
表示できました。
テクスチャ読み込みに失敗しているわけではないようです。

80 :
>>79
できたよ

81 :
テクスチャステージのD3DTOP_DOTPRODUCT3とD3DTA_TFACTORの挙動が怪しいっぽいです。
D3DDevice->SetTexture(0, D3DTextureFont);
D3DDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG2);
D3DDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_CURRENT);
D3DDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_SELECTARG2);
D3DDevice->SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
D3DDevice->SetRenderState(D3DRS_TEXTUREFACTOR, 0x00ff0000);
D3DDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_DOTPRODUCT3);
D3DDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
D3DDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_TFACTOR);
D3DDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
D3DDevice->SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_CURRENT);
D3DDevice->SetTextureStageState(1, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
インテルオンボード(865G)で色々試してみたところ、どうやってもD3DTOP_DOTPRODUCT3で、R成分をα成分に動かせないっぽいです・・・。
もっと新しいオンボードだとどうなるのか分かりませんが、D3DTOP_DOTPRODUCT3は使わないことにします。

82 :
テクスチャが表示できない問題を修正したかもしれないプログラムです。
ttp://www.geocities.com/nanashixpg/vo20060107b.zip
ttp://nanashixpg.mydns.jp/vo20060107b.zip
注意事項
・このプログラムを実行して何が起きても私は知りません。
・Windows9x系のOSには対応してないので実行しない方が無難です。
・プログラム実行中Sキーは決して押さないでください。私のアドレスへの100万パケットの爆撃が始まります。
・Enterキーを押すと入力モードになりますが、自己ログ表示機能くらいしか実装してません。
・入力モード中にEnterキーを押すと入力した内容が私のアドレスへ転送されますが、特に意味はありません。
・表示してる内容に特に意味はありません。
・Escキーを押すと終了します。
・内部スレッドがうまく終了しなかった場合はタスクマネージャーで強制終了させてください。
・全てDirect3Dで表示しているのでDirect3D9が使用できない環境では正常に機能しません。
・他にも罠があるかも知れません。
フォーマットをDXT1からDXT5にして、普通にαチャンネルを持たせました。
やっぱりというか何と言うか1ピクセル4bitから8bitになったのでファイルサイズが増えてます。

83 :
>>82
動作しますた!

84 :
>>82
RADEONでも動作しますた!
http://gamdev.org/up/img/4293.jpg

85 :
>>84
ぬおー
うちだと
1・三角にそんなグラデーションかかってなくて真っ黒
2・解像度表示の白い四角の枠がもっと縦長で上が長い
ですた

86 :
報告ありがとうございます。
やっと初期化できるようになりましたね。orz
>>85
>1・三角にそんなグラデーションかかってなくて真っ黒
3Dオブジェクトの表示にまだ何かバグがあるっぽいです。こちらのインテルオンボードだと真っ黒なポリゴンすら出てきません。
>2・解像度表示の白い四角の枠がもっと縦長で上が長い
多分対応してる解像度が多いだけだと思います。

87 :
一つしか表示されないのに縦長だけど。

88 :
>>87
うーんバグってるっぽいですねー。
多分1つのウインドウで表示できる文字数オーバーしてるっぽいです。

89 :
解像度表示ウインドウと他の文字を同じウインドウとして処理してたので、簡単に文字数オーバーしたっぽいです。
ちなみに1ウインドウあたり256文字にしてます。ちょっと少ないかな・・・。

90 :
試してみたけど
動かない・・・・・
pen4 1.6
radon 7500
DX9.0c
画面真っ黒のまま
終了もできんw

91 :
今日やったことは、デバイスロスト対策。
ウインドウモード時は簡単に対処できたのですが、
フルスクリーン時はマルチスレッドと相性が悪く、安定させるまで死ぬほど時間がかかりました。orz
でもまだちょっと不安定だったり・・・。
それから、インテルオンボードで3Dポリゴンが表示できない問題の解決。
頂点バッファが使用できないのかと思ったのですが、色々試して実はインデックスバッファに32bit値が使えなかっただけという落ち。
それから、同インテルオンボードで異常に重くなる問題の解決。
これはフォントファイルに使っている2048x2048のテクスチャに対応しておらず、実行時にリサイズしまくっていたためでした。
2048に対応してないのに2048対応を謳わないでほしい・・・。
まあゲームの中身は全然進歩してないわけですが。orz
>>90
報告ありがとうございます。
何で真っ黒なんでしょうねー。ハード的には対応してると思うのですが。
すみませんがタスクマネージャーで終了してください。

92 :
うちでは起動してますよ 
ただしメニューから終わらせると異常終了のダイアログが
クローズボックスで閉じると問題なし
nforce 3 250 + Athlon 64(Socket 754) + RADEON 9800 Pro
しかしゲームプログラミングってほんと大変だな・・

93 :
今日もGUIの設計。あんまり進んでません。
ついにフォントの使用許可が下りました。次のバージョンからはY.Ozフォントになります。

94 :
なかなかGUIができません。orz
とりあえず今の状況。
ttp://www.geocities.com/nanashixpg/vo20060114.jpg
まだ機能が未完成です。

95 :
今日もひたすらGUIの設計。^^;
やっと内部仕様が決まったので、ひたすらクラス化しております。

96 :
保守

97 :
ほす

98 :
ほせ

99 :
ガンガン実装進んでるのか、逃げたのかだけでも言ってくれ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
35: HSPでRPG作ろうぜ (412)
36: 2チャン系オンラインRPGを作ろうぜ (4)
37: RPGの戦闘のあるGを作ろうぜ (7)
38: ワールドネバーランドみたいなゲーム (238)