[過去ログ] MMORPGをつくるお! (350レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
104: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/10(金) 14:44:31 ID:qn6WiK0s(1) AAS
 ぼちぼち再開。 
 GUIの入力フィールド(ここで詰まってた)がとりあえず完成。 
 スレッド間の通信がごちゃごちゃになってたので、クラス化しつつ作り直す。(←今ここ) 
 あと、今までクラス化してなかったところを全部クラス化。 
 それからGUIの実装にC++の機能をバリバリ使って作り直す予定。 
 でもnewとdeleteを繰り返す設計にはちょっと不安があったり。 
105: 107 ◆a6JcKaYOUI  [sage] 2006/03/11(土) 02:34:07 ID:BgvmPltm(1) AA×

106: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/15(水) 13:06:49 ID:PtQ1eqgn(1/2) AAS
 保守 
107: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/15(水) 19:04:40 ID:PtQ1eqgn(2/2) AAS
 どうにかnewとdeleteを繰り返さない設計にできましたが、この先どうなることやら。 
 というか全然進んでなーい。いや進んでるけど、三歩進んで二歩下がるみたいな。 
 いつまでGUI作ってるんだろう・・・。 
108(1): 名前は開発中のものです。 [sage] 2006/03/16(木) 00:15:50 ID:muMln6nM(1) AAS
 たまたまこのスレ迷い込んできました。 
 がんばってね。2chからおもしろいゲームが生まれることを願って。 
109: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/21(火) 00:18:13 ID:gvQiYFXU(1) AAS
 >>108 
 ありがとうございます。 
110: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/30(木) 00:25:15 ID:+9txOCzF(1) AAS
 ついにGUI関連のクラスが完成。 
 めちゃくちゃ大変だった;; 
 もうIMEとかエディットコントロールとか日本語処理とか触りたくないw 
  
 GUIを作りながらいろいろ作り直したので、ほとんど全てのコードを作り直したんじゃないだろうか。 
 コード量も1000行ちょっとだったのが5000行超に増加。(実効行数はもっと少ないけど) 
  
 今は1月から放置してた通信関連コードとサーバーのコードを書いてます。 
 それと進行管理用のクラスも作ってます。 
  
 3D関連、モデルとかアニメーションとか雲描画とかが全く手付かずなのが気になるところ。 
 というかモデルのフォーマットすら決まってない!モデリングの知識少なすorz 
111: 名前は開発中のものです。 [sage] 2006/03/30(木) 03:42:25 ID:naVk3D/L(1) AAS
 おぉ、俺にはよくわからんが頑張ってくださいな 
112: 名前は開発中のものです。 [sage] 2006/03/30(木) 14:44:49 ID:BzydO9qR(1) AAS
 がんばってください。 
113(1): 名前は開発中のものです。 [sage] 2006/03/31(金) 08:56:30 ID:8LyniwSw(1) AAS
 途中のコードうpしてくれたら面白いんだが 
114: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/31(金) 11:30:21 ID:E/b3kspf(1/4) AAS
 ちょっとした仕様の欠陥が見つかって(直したけど)今日もGUI関連のコード書いてましたorz 
 >>113 
 アップするんで、レビューしてくらはいw
115(1): 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/31(金) 11:56:09 ID:E/b3kspf(2/4) AAS
 外部リンク[zip]:www.geocities.com(実行ファイル付) 
 注意事項と説明  
 ・このプログラムを実行して何が起きても私は知りません。  
 ・Windows9x系のOSには対応してないので実行しない方が無難です。  
 ・Escキーを押すと終了ウインドウが開きます。 
 ・Print Screenキーを押すとスクリーンショットが保存されます。 
 ・ログインボタンなどを押しても何も起きないのは仕様です。 
 ・VC++ 2005 + DirectX 9.0cでビルドできます。 
 ・ほとんどのファイルが作りかけなので、ファイルが空でもがっかりしないでください。 
 ・作者はC++初心者なので突っ込みはやさしく(ぉ  
 ・内部スレッドがうまく終了しなかった場合はタスクマネージャーで強制終了させてください。  
 ・全てDirect3Dで表示しているのでDirect3D9が使用できない環境では正常に機能しません。  
 ・他にも罠があるかも知れません。  
116: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/31(金) 11:58:43 ID:E/b3kspf(3/4) AAS
 ・コメントがほとんどないけどクラス名とか関数名で判断してください。 
 ・命名が適切じゃなくても何とか解読してください。 
117: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/31(金) 12:06:07 ID:E/b3kspf(4/4) AAS
 ゲームタイトルはSphere Onlineに改称しました。 
 その名の通り、ゲーム世界は球面にします。 
 けど、技術的に不可能だったらやっぱり平面にします。 
118: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/32(土) 14:19:08 ID:tmwx2GXP(1/3) AAS
 パケットの圧縮にDeflate/Inflateを使うことにします。 
 これはPNGの圧縮にも使われている方式で、ついでにPNG画像の保存も実装します。 
 でもフィルタリングとかめんどくさそうだなー。 
  
 球面世界のデータ構造は、頂点と辺と面と動的オブジェクト(何らかのリスト)で構成するのですが、 
 高さ情報は頂点に、地質情報は面に持たせるとして、 
 壁とか、木とか、岩とか、鉄とかの資源の情報をどこに持たせるかですね。 
 頂点と面の数が膨大になるので、とにかく1頂点・辺・面当たりのビット数を少なくしたい。 
 かといって何でも動的オブジェクトにしてしまうと、座標データを持たせなくてはいけないのでサイズが大きくなってしまう。 
 また、情報にアクセスする際に検索時間がかかってしまいます。 
 この選択は、その情報が世界にどの程度の密度で存在しているかにかかっています。(移動するものは動的オブジェクトしかありえませんが。) 
  
 ちなみに頂点数は40Mまたは160Mまたは640M、辺数は120Mまたは480Mまたは1920M、面数は80Mまたは320Mまたは1280Mを予定してます。 
 これは20面体の各面の3角形を4分割していくと、4倍ずつ(頂点数は(x-2)*4+2)に増えていくためで、 
 4分割を11回した時点で頂点数40M、辺数120M、面数80Mになります。 
 元の20面体の各面の1辺の長さを2kmとすれば、11分割した面の1辺の長さは大体1mになります。(球面に合わせて膨らませるためにもう少し長くなる) 
 12分割しても、4GB(OSによって使える領域が違いますが)のメモリ空間に何とか収まりそうなので、分解能は50cmくらいになるのかなー。 
 64ビットOSにすれば、もっとメモリ空間が使えるのですが、4GB超にするとハードの値段が一気に上がるので、今は4GBで考えています。 
119: XPG ◆dffLbwc7XE  [sage] 2006/03/32(土) 14:21:19 ID:tmwx2GXP(2/3) AAS
 でも、20面体の各面の1辺2km(外接球1周12km)の世界では狭すぎないかとか、分解能50cmでは大きすぎないかとか色々考えます。  
 1周12kmというと、人間の足で1時間あれば1周できてしまう広さです。  
 船などを使えばもっと早いでしょう。  
 世界の広さは、対人戦(戦争)になったときに影響が大きいです。  
 遠征が簡単すぎると、攻守のゲームバランスを取るのが難しくなるためです。  
 また、弱小勢力がひっそりと国を発展させるのも難しくなるでしょう。  
 まあ、その辺は建造物を隠す魔法などを考えているので、多少は狭くても平気でしょうけど。  
  
 (以下分解能について長々と書きましたが、あまりに長く、冗長なので省略。) 
120: 名無しXPG ◆dffLbwc7XE  [sage] 2006/03/32(土) 14:25:45 ID:tmwx2GXP(3/3) AAS
 分解能については2mくらいでも十分かもしれません。 
 まあ、実装してみてから考えましょう。 
  
 ちなみに動的オブジェクトはこの分解能の影響を受けません。 
121(1): 名前は開発中のものです。 [sage] 2006/03/32(土) 16:12:11 ID:+KuBMcP3(1) AAS
 >>115 
 残念ながら、自分の環境 
 (Win2kPro,日本語,Athlon1GHz,512MB,DiorectX9.0c,GeForce4)では 
 アプリケーションエラーになります。 
  
 エラーが発生したため、Sphere Online.exeを終了します。プログラムをもう一度 
 開始する必要がありあます。 
  
 エラー ログを生成しています。 
  
 FWは反応しないので、ネット接続前だと思う。 
 あとログらしきものは見つけられなかった。 
122: 名無しXPG ◆dffLbwc7XE  [sage] 2006/04/02(日) 04:32:11 ID:lK9npD53(1/2) AAS
 エラー出ましたかー。 
 可能性として考えられるのは、 
 ・Windows 2000に含まれていないライブラリをリンクしてしまった。 
 →今のところ見当たらない。 
 ・アセンブラで書いたコードがAthlonに対応してない。 
 →調べてみます。orz 
123: 名無しXPG ◆dffLbwc7XE  [sage] 2006/04/02(日) 05:04:38 ID:lK9npD53(2/2) AAS
 ・アセンブラで書いたコードがAthlonに対応してない。 
 は無さそうです。 
 原因不明。orz 
124: 名無しXPG ◆dffLbwc7XE  [sage] 2006/04/05(水) 19:38:20 ID:xzFTzhU2(1/7) AAS
 PNGクラスを作りました。(といっても、メモリからの読み込み、ファイルへの書き出ししか実装してませんが。) 
 フィルター処理がめんどくさかったけど、(1ラインごとに全てのフィルターをかけた上で圧縮してサイズを比較して適当なフィルターを選ばないといけない。) 
 実装してみたら思ったよりきれいなコードになりました。 
  
 deflate/inflate処理に使うzlibは巨大だったので、必要な機能だけ書き直そうと思いましたが、 
 元から難しいコードな上、互換性のためにifdefなどのプリプロセッサ命令が多く、 
 コードの流れが複数のファイルで行ったり来たりしていて、読むだけでも大変だったので、 
 結局スタティックリンクしてしまいました。でも、処理の効率は良さそうだし、おまけでついてくるCRC32とgzipも役に立ちそうなのでこれでもいいかなと。 
125(1): 名無しXPG ◆dffLbwc7XE  [sage] 2006/04/05(水) 19:39:33 ID:xzFTzhU2(2/7) AAS
 話は変わって、ゲーム内容について、だいぶ前に考えたことですが、 
 プレイヤーがログオフしても、キャラクターは残り続けます。 
 また、PK有りの世界を考えているので、ログオフしてる間に殺される可能性があります。 
 なので、ログオフするときには安全を考えなければなりません。 
  
 その代わり、ログオフするとキャラクターはNPC化し、あらかじめ指定しておいた行動をさせたり、 
 村が襲撃されたときに、他のキャラクターに援軍したりできます。 
 また、これを応用して、1プレイヤーで複数のキャラクターを同時に行動させることも可能になります。 
 プレイヤー数よりもキャラクター数がずっと多くなるわけです。 
126: 名無しXPG ◆dffLbwc7XE  [sage] 2006/04/05(水) 19:49:31 ID:xzFTzhU2(3/7) AAS
 寿命と時間と食事について、 
  
 キャラクターには年齢と寿命を設けます。 
 具体的には、ゲーム内時間で、50歳を過ぎると不治の病にかかる確率が上がっていき、 
 不治の病にかかると、死の宣告をされ、ゲーム内時間で半年から数年以内に死んでしまいます。 
 もちろん不治の病にかかる確率を下げる方法なども設けます。(逆に上がる方法も。) 
  
 キャラクターの死は永久死を意味し、一度死ぬと復活することはできません。 
 ただし、転生を可能とし、前世までに到達したスキル値は、達成値として継承され、そのスキル値までは数十倍の速度で復帰できます。 
 また、転生の際には、別の人種や性別を選ぶこともできます。 
127(1): 名前は開発中のものです。 [sage] 2006/04/05(水) 19:53:25 ID:uuXr/Snz(1) AAS
 なかなか興味深いですが・・・ 
 絵はどうするんでしょ?用意できるアテはあるのかい 
 個人で作るにはちっと理想がでかすぎないかと思った15の夜 
128: 名無しXPG ◆dffLbwc7XE  [sage] 2006/04/05(水) 21:07:50 ID:xzFTzhU2(4/7) AAS
 食事してたので食事のことを書き忘れましたが、(死 
 キャラクターは食事をしないと行動できません。また、あまりに空腹が続くと飢え死にします。 
 採集だけでもある程度食事できますが、人口密度が上がると、農業を始めないと食料が足りなくなります。 
 また、種族ごとに必要な食料の量が違い、 
 戦闘は強いが必要な食料も多いゴリラのような種族。 
 戦闘は弱いが必要な食料が少ない小動物のような種族。 
 その間の人間のような種族。 
 を設けます。 
上下前次1-新書関写板覧索設栞歴
あと 222 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s