みんなでMMORPGを作りましょう
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001喪装中
04/08/13 20:08ID:la60fqKo随時スタッフ募集
0801名前は開発中のものです。
04/09/04 01:37ID:pKV767XCそれ参考にすれば余裕かと。
0802191
04/09/04 01:50ID:nZw1Rcnlクラスの設計とかは経験値が重要かもしれん。
いくつもプログラム書いてみることだな。ガンバレ
子ウィンドウを考えないなら俺ならこうすると思う。
clas Iウィンドウ{
RECT* GetRect();
プロシージャー(...);
(略)
}
class ウィンドウマネージャー{
ウィンドウ追加(Iウィンドウ *pWindow);
ウィンドウ抹殺(Iウィンドウ *pWindow);
プロシージャー(...)
(略)
}
実際のコントロールはIウィンドウを継承させる。
そしたら、ボタンでもエディットボックスでもウィンドウマネージャーにぶち込める。
本来のウィンドウをサブクラス化とかして、ウィンドウマネージャーのプロシージャーに渡す。
ウィンドウマネージャーでアクティブなコントロールを判断(クリックならヒットテストして)、そしてコントロールのプロシージャーを実行。
ウィンドウマネージャー::プロシージャー(...){
Iウィンドウ *pWin = ウィンドウマネージャー::アクティブウィンドウ検索(posClick) ;
pWin.プロシージャー(...) ;}
こんな感じかな。
Iウィンドウでコントロールの場所と矩形領域を管理。
ウィンドウマネージャーでウィンドウの重なり(順番)を管理。
参考にならなかったらすまぬ。
俺が助言できるのはココまでだ。
0803名前は開発中のものです。
04/09/04 05:32ID:KGVvmcpk0804名前は開発中のものです。
04/09/04 05:56ID:9DgqjEuk妄想だらけの設定厨はいくらでもいるんだけどな。皮肉だなw
なんとか妄想厨を寄せ集めて、一つのものはできないものかw
0805名前は開発中のものです。
04/09/04 08:41ID:mj/YOjUv言われてみれば無いよな、ほんと。
前出てきてた農民ベースのMMOなんか面白そうだったがw
0806名前は開発中のものです。
04/09/04 11:17ID:07CYu+xr結論
WSAAsyncSelect()で任意のウィンドウに直接msgを
送るのはやめる。
だめだ、ネットのサンプルソースじゃ
見つけたのは全てMainProcに直接書いてる
ましなのは、MainProcで明示的に通信用Proc呼んでるし
・・・帰りに図書館行ってきます
0807名前は開発中のものです。
04/09/04 13:38ID:Cgo1/Ryk少なくとも現時点での設計で
0808名前は開発中のものです。
04/09/04 13:42ID:KGVvmcpk人間にとっての使いやすさ考えると、おのずとああいう設計になると思し、
それで慣れてる人多いからそういう設計でいいんでないか。
0809名前は開発中のものです。
04/09/04 14:19ID:07CYu+xr1、可読性。
2、ウィンドウ機能としてクラスにまとめられる。
3、デフォルトの処理をしなくて良い。
0810名前は開発中のものです。
04/09/04 14:31ID:fOQ1B4hR>>767で決定なの?
0811191
04/09/04 16:02ID:nZw1Rcnlサブクラス化できてんでしょ?
例えばhMainWin(MainProc)があるとして
hMainWinをサブクラス化してSubProcを関連付ける。
SubProcで通信メッセージだけを拾って処理。
WSAAsyncSelect()でメッセージをhMainWinに送れば実現できそうじゃない?
>>807
通常のプロシージャーで通信について配慮する必要がない。
ウィンドウのあるアプリケーションなら簡単に導入可能。
>>808(>>803)
>「RPGの世界設定」無いかね
現実
>SwingとかGTK2とか、それのWindowツールキットと似たような設計で何が不満なんだ。
誰か不満もらしたか?
>>810
>>767が作る>>767のためのアプリケーションはあのプロトコルをベースに修正したもので決定だろ。
このスレで何か一つのものを作ってる訳じゃないぞ!
0812名前は開発中のものです。
04/09/04 17:06ID:NBe8VnDT0813名前は開発中のものです。
04/09/04 17:58ID:8rj2jPWm正直マ板いけば?って感じ
0814名前は開発中のものです。
04/09/04 18:04ID:8rj2jPWm0815名前は開発中のものです。
04/09/04 18:59ID:Au45zrkS他にプロジェクトの概要や製作状況をまとめた
Webページがないのであればスレッドの削除依頼を出します。
0816名前は開発中のものです。
04/09/04 19:17ID:femHGglkおいおいどこに目をつけてるんだ
ここにまとめてあるだろうが
http://gamdev.org/w/?%5B%5BMMORPG%A4%F2%BA%EE%A4%C3%A4%C6%A4%DF%A4%BF%A4%A4%5D%5D
0817名前は開発中のものです。
04/09/04 19:23ID:Cgo1/Rykナイズギャグ
0818名前は開発中のものです。
04/09/04 19:34ID:8rj2jPWm0820名前は開発中のものです。
04/09/04 19:47ID:8rj2jPWmていうかひとんちのスレだろ、それは・・・
0821795
04/09/04 21:56ID:0efhyvPZマウスボタンの押下状態の取得を
WMのスイッチを使わないでGetAsyncKeyStateで逐一行っている為か、
ボタンを押した状態で外から接するとそのまま掴めてしまいます。
ウィンドウメッセージ使う以外にどうにか方法はないでしょうか…
(こんな感じで自前ウィンドウ処理をベタに作っていくのって無理臭いですかね?)
ttp://gamdev.org/up/img/1162.zip
0822795
04/09/04 21:58ID:0efhyvPZ0823191
04/09/04 22:47ID:nZw1Rcnlなんか小難しいこと書いてすまんな。
で、1162.zipだが
ボタンが押されるってのはボタンがOFFの状態からONになることを言うんだぜ。
mywindowで以前のカーソル位置とマウスボタン押し状態も保存。
毎回マウスボタン状態もチェックして以前がOFF、現在がONになっていたらドラッグ開始とすればいい。
勿論以前の状態か現状でマウス座標が範囲外なら無視だ。
0824名前は開発中のものです。
04/09/04 23:16ID:ABebp3Vd0825795
04/09/05 00:35ID:3vvQdXWmできたーーーーーーーーーー!
ボタンの過去の状態と、ドラグ中かどうかのフラグも追加して
組み合わせたらできました。
サンクスコ!
0826名前は開発中のものです。
04/09/05 01:09ID:FSG+d3Mc今はMMORPGの基礎技術スレになってるので、
プロジェクトとは関係ないですよ。
0827作りたい人
04/09/05 15:34ID:YykwmHHS本気でMMOを作ろうと思ってるだけど。
アクション系MMO(リネ2よりアルタイム度を上げたい)にしたいんですが、
データベースって汎用DB(オラクルとか)を使うものなの?
アクション性の高いMMOとか、情報がかわったら毎回更新しているわけないよね。
サーバープログラム内部で、データを保持していて、定期的に更新にいってるのかなあ?(それともログアウトするまで、そのまま?)
できれば、サーバを複数台立ち上げても、データベースを更新せずに、相互にデータの補完しあえるようにしたい。
そういう高速簡易DBを自分で設計したほうがいいのかなあ?
汎用ですでに実績があるのもがあるのであれば、あえて、DBから作ることは避けたいんだけど。
クライアントの挙動なんてどうにでもなると思ってます。
駄文ですが、聞きたいことは。
・現在のアクション系大規模MMOでは、どういうタイムミングで、更新するのが普通なのか?
汎用DBでも耐えれるか?DBサーバースペックはどのくらいもので、運用しているのか?
・何か参考になるサイトないですか?
なお、ゲームデザイン論や新しい世界観に関しては他人から得るものは何もないで、
興味ないです。
0828名前は開発中のものです。
04/09/05 15:56ID:ccCPx2oq0829名前は開発中のものです。
04/09/05 16:23ID:yB1c24Gi「レイテンシ」って知ってる?
ついでにオラクルの値段も
0830191
04/09/05 16:23ID:V0xnLP2Gデータベース未経験だし、MMO作ったこともないのでパス
以下は個人的想像
>現在のアクション系大規模MMOでは、どういうタイムミングで、更新するのが普通なのか?
よくサーバーメンテとかでログオフしてくれって言われるじゃん。
そこから察するにログオフ時にデータベースに保存してるんじゃないかな。
巻き戻しとかもデータベースの内容+サーバー稼働ログがあれば出来るし。
>汎用DBでも耐えれるか?
耐えられない規模まで個人制作MMOを盛り上げるのが困難だと思う…
0831名前は開発中のものです。
04/09/05 16:48ID:BINK9UXm・ログオフのとき
・別のマップに移動したとき
・交換などユーザ間でアイテム等の移動が行われたとき
って感だと思う。
重要なのは、サーバが落ちたときやユーザの回線が不意に切れたときに
・データの矛盾
・ユーザにストレスを与えるほどの撒き戻り
等の問題が起こらないことだと思う。
上の問題が起こらない範囲でなるべく更新を少なくすれば、一番効率がいいんでない。
0832名前は開発中のものです。
04/09/05 16:53ID:/Pxczl0ytp://cgi.www5f.biglobe.ne.jp/~fortune7/ccnp/daken/type.cgi
0833名前は開発中のものです。
04/09/05 17:00ID:RMp0PLONそんなことないのか?
0834名前は開発中のものです。
04/09/05 17:33ID:Lgq/qaW90835名前は開発中のものです。
04/09/05 17:33ID:FSG+d3Mc>アクション系MMO(リネ2よりアルタイム度を上げたい)にしたいんですが、
なぜリネ2がもっとリアルタイム性を上げないか考えたことある?
0836795
04/09/05 17:57ID:3vvQdXWm0837名前は開発中のものです。
04/09/05 18:02ID:Lgq/qaW9まず重要なデータ、アイテムとかそうそう頻繁に書き換えが必要でないもの
と、そうでないデータ、位置情報とか。MMORPGで一番多いデータの種類が移動データである、って多分聞いたことあると思うけど。
この2つの更新タイミングを分けるべきだね。
前者は逐次書き換え、後者は、10分毎くらいか、ログアウト時。
こんな感じでいいんじゃないのかな。
0838名前は開発中のものです。
04/09/05 18:05ID:FSG+d3Mcそう。数千人規模にもなるとあれぐらいが限界です。
蛇足になるが”金儲けしたかったから”これはいらない。
企業が利益を求めるのは当然です。
むしろ836のお金に対するコンプレックスが見えて笑えますよ。
0839名前は開発中のものです。
04/09/05 18:12ID:RMp0PLON0840名前は開発中のものです。
04/09/05 18:51ID:JBJFmbGNその点でリネ2を語るなら、セキュリティ面が抜けてるよ
0841名前は開発中のものです。
04/09/05 18:59ID:FSG+d3Mc抜けてると思うなら補足してくれよ。
なにから何まで説明する気はないよ。
0842191
04/09/05 18:59ID:V0xnLP2GDB得意なヤツはいないのか?
>>838
>そう。数千人規模にもなるとあれぐらいが限界です。
何が限界なんだ?通信量か?それともDB負荷?
>>827で問題としてるのはDBだぞ。
汎用DBって数千人規模で限界になるようじゃ使えないと思うんだが…。
0843名前は開発中のものです。
04/09/05 19:05ID:FSG+d3Mcわりい。俺が勝手に通信量の話してたね。
ただ、DB以前の問題だなと思ったのさ。
0844783
04/09/05 22:52ID:J8sP4dGEウィンドウメッセージごとに受け取る関数を書いたインターフェイス(MessageListener)を作って、
メッセージを受け取ったウィンドウは登録されているMessageListenerに処理は任せちゃおう!
と思って全てのメッセージを受け取るインターフェイスを作ってたさ。
できたら便利だよYO!最強だYO!!!
シコシコシコーーー・・・
ttp://gamdev.org/up/img/1176.zip
_| ̄|○ 既に使う気になれねぇーーーーーーーーーーーーーーーーーー!!!
こんなアホな漏れを誰か叱ってください。おながいします・・・
これでもまだ半分にも届いてな〜い。
何か種類ごとにインターフェイス分けるとかしないとダメポ・・・
0846名前は開発中のものです。
04/09/06 09:53ID:MsCyc98S笑った。
っていうか純粋仮想関数にするから使えなくなるのでは。
本当に必須の所だけにしとき。
0847795
04/09/07 00:49ID:6+/R/deI窓というか部品を製作中。
自分の実力では予想以上に難しいのでそのうち助けを求める確立高し…
0848795
04/09/07 00:50ID:6+/R/deI0849622
04/09/07 12:00ID:quhouisuWSAAsyncSelectが信じられなくなってしまったので、
(メッセージを送信してほしいhWnd渡しても送ってくれない)
サンプル見ないと、私が理解出来そうに無いっぽいですorz
>>745
サブクラスは、あっちのほうに置いておくことに・・・
分割受信に対応しました。(欠損して届くと大変なことに)
ttp://gamdev.org/up/img/1193.zip
自分がだらけてきたので、充電開始〜。
>>847
>>637ここの・・・って
製作環境違うんでしたっけ、アドバイスできない
orz
0850191
04/09/07 17:24ID:K9Y6rW5PAddLog(文字列) って感じで文字列渡すと改行して文字列追加してくれるって事か?
それとも、<br>とか\nを自動で改行に変換ってことか?
駄目なときはもう少し明確に教えてクレよ。
>>849
>WSAAsyncSelectが信じられなくなってしまったので、
たぶん、渡すHWNDが間違っているかサブクラス化でのプロシージャの実行順序の勘違いじゃないか?
>分割受信に対応しました。(欠損して届くと大変なことに)
TCPなら欠損シネーだろ。分割受信はアレでよさげ。良くやった。
今後の方針もアレで良し。
ttp://gamdev.org/up/img/1195.zip
サブクラス化+Winsockの合わせ技のサンプルを書いてみた。
メインウィンドウのプロシージャで通信処理を書いてないのがポイント
スマン、むしゃくしゃして書いた。
自分が面白ければ何でも良かった。
まさかこんなに長く複雑でサンプルとして不適切になるとは思わなかった。
今は反省している。
サンプルで解らなかったら聞け
0851795
04/09/07 17:58ID:6+/R/deIヘタレのくせに無謀にも標準コントロールを使わずに
自前で処理をしようと考えているのです。
普通の人なら簡単な事なのかもしれないですけど難航してます…
>>850
>AddLog(文字列) って感じで文字列渡すと改行して文字列追加してくれるって事か?
こんな感じになるように作ってます。
ウィンドウ幅を自由に変えられたりスクロールバーも
つけることを考えてるのでその辺が難しいです。
今の所なんとか思いつく事があるのでそれを試してます。
でもなんか汎用性の無いものになりそうな予感。
何も思いつかなくなったら助けを求めに来るのでよろしくです。
0852名前は開発中のものです。
04/09/07 19:10ID:ZV/yPhmSUnixかLinuxで動く事を考慮して作らないと意味がない。
サーバーをWinOSに限定するならDirectPlay使ったほうがいい。
0853795
04/09/07 19:28ID:6+/R/deI普通に通信をすることはできるわけですよね。ライセンスとかまずいんでしたっけ?
それかやっぱセキュリティ的にやばかったりするんでしょうか。
中古マシンを手に入れたんでLinuxの勉強がてら
鯖でも立ててみようかとは思ってるんですけど。
0854ゲーム製作して欲しいッス
04/09/07 20:34ID:mSrLydzoモンスターが出てきたり戦闘のアクション性の高い物を希望しています!!
あとグラフィックが綺麗やつも追加よろしくです!!
0855名前は開発中のものです。
04/09/07 20:39ID:PDRZbTEvDirectPlayを使うのはMORPGまでだと思うよ。
0856名前は開発中のものです。
04/09/07 20:40ID:2Q5bqS+pなんで?
0857名前は開発中のものです。
04/09/07 21:53ID:eXMTC1GU普通のWin2KってのはWin2KProのことだと思うけど、
同時外部接続数に最大制限なかったっけ?
Win2KServer以上であればよかったと思ったが。
SMBプロトコルに関してだけだったかもしれん、うろ覚えですまん。
0858名前は開発中のものです。
04/09/07 22:34ID:Qd7Pxmqi通信とかスレッドとかのOS依存部分のラッパークラスとかラッパーライブラリを作ってOS別に開発って感じ?
さらにDWORDとか使わずにきちんとunsigned long とか書いていればいけそうだね
0859名前は開発中のものです。
04/09/07 22:47ID:xDB+Kvn1参考資料。日本Microsoftの見解。
ttp://www.apache.jp/misc/windows.html
米Microsoftとは見解が異なるらしいが…
波風立てたくなかったら、サーバ版使うかオープンソース系のOS使うべきだろう。
0860名前は開発中のものです。
04/09/07 22:54ID:uycFB+tY0861ゲーム製作して欲しいッヌ
04/09/07 23:12ID:rQQAemhwモンスターが出てきたり戦闘のアクション性の高い物を希望しています!!
あとグラフィックが綺麗やつも追加よろしくです!!
0862名前は開発中のものです。
04/09/07 23:29ID:CriEeLGq0863名前は開発中のものです。
04/09/07 23:59ID:Eonv5TnRスレ違い。
0864名前は開発中のものです。
04/09/08 01:32ID:DbkXWPTNおそらく訴えられることはないと思うが。
裁判沙汰になったとしても無効になりそうだしw
0865名前は開発中のものです。
04/09/08 07:26ID:w7Btcli3資金はいくら?
0866名前は開発中のものです。
04/09/08 19:41ID:FWzIUsvA気にせず頑張ってくれよ
0867名前は開発中のものです。
04/09/08 20:02ID:jYRh0MMMやっぱりゲームの中からも、2chにカキコできるんでしょうか。
0868名前は開発中のものです。
04/09/08 20:38ID:FJEA782Oゲーム内に掲示板完備です
0869名前は開発中のものです。
04/09/08 21:53ID:pebmB/Gwぬるぽしたやつを直接ガッできる機能希望。
本人を探し出すのが大変、みたいな。
0870名前は開発中のものです。
04/09/08 21:54ID:FvZUXmdOと思ったが、アクセス制限で書き込めないやつがいるだろうからダメポ(・ω・`)
0871名前は開発中のものです。
04/09/08 22:17ID:pebmB/GwMMOのサーバ経由で書き込むようにすれば、
アクセス制限の問題はなくなるんじゃないか?
荒らしに対しては、ユーザIDで書き込み制限できる
0872名前は開発中のものです。
04/09/08 22:29ID:W8OmavTy0873名前は開発中のものです。
04/09/08 22:53ID:V4LyBBC50874名前は開発中のものです。
04/09/08 22:54ID:pebmB/Gwそういうこつか。
まぁでも>869みたいに、本人見つけて叩きまくるとかすれば、それはそれで面白いんではw
0875名前は開発中のものです。
04/09/08 23:05ID:cKrO6OfS2chに書き込むのに匿名性がないという面白い状況に(´-`)
0876喪装中 ◆eJILq.TeQ6
04/09/08 23:16ID:XQULwxX40877名前は開発中のものです。
04/09/08 23:19ID:W8OmavTy0878名前は開発中のものです。
04/09/08 23:20ID:1ouXhWnw0879名前は開発中のものです。
04/09/08 23:23ID:pebmB/Gwそうかカキコでのぬるぽは無理か。
ガッするためには、ぬるぽの指輪とかぬるぽのマントとか、
別の方法になるわけか。
>876
リアル1の予感・・
0880名前は開発中のものです。
04/09/09 00:02ID:PkgzsJij__
ミ__| ドカッ
∧_∧ //
( ・∀・)/ .川 ゴスッ
と つ==| | ボコッ
Y /ノ. |__|
/ ) < >__Λ∩ ゲシッ
_/し' //. V`Д´)/ グチャッ
(_フ彡 / ←>>869=879
0881名前は開発中のものです。
04/09/09 22:09ID:7x1LlBP/0882名前は開発中のものです。
04/09/09 23:02ID:RW4jkAGbPlaneShift
http://www.planeshift.it/main_01.html
とか探せばある程度は見つかる。
0883795
04/09/10 23:07:13ID:huADI68kなんかややこしくてよく分かんないですね。
でもゲーム公開できるのなんてまだまだだから大分先の問題だな…
ちなみに進捗報告としてはチャットウィンドウのリサイズに対応した
改行処理がなんとなくできました。でもまだちょっとおかしいところがあります。
0884名前は開発中のものです。
04/09/10 23:53:10ID:nvPKRe5rWindows上で走るKNOPPIXやcygwinでもダメ?
0885名前は開発中のものです。
04/09/11 00:09:19ID:5mQ1LzR90886名前は開発中のものです。
04/09/11 03:01:40ID:4PHBY+9l>859
0887名前は開発中のものです。
04/09/11 05:21:54ID:M9vDQ6zL1はまだいるのかい?
いて、なおかつ、最後まで匙を投げないなら付き合うぜ
一応現職でゲーム製作の仕事やっとりまっせ
煽りはいらぬよ
0888名前は開発中のものです。
04/09/11 08:30:22ID:t3/mssGyていうか、寝るか帰るかしなさい。お疲れ様。
0889名前は開発中のものです。
04/09/11 09:37:43ID:HJ9kBt2n種族とレアアイテムの設定しかしないんだよね
そんなどうでもいいことより
破綻の無いゲームデザインをして欲しいんだがなぁ
0890795
04/09/11 12:18:26ID:1bDiFgK3今まで単にAPIのRectangleとかで描いてた描画部を
DirectXで作り直してみようと思ったんですが、
例えば自分で用意したUIの画像パーツを元に、ウィンドウ枠を表示しようと思ったら
いちいち「上辺・左辺・右辺・下辺」と、別々に板ポリゴン作ったりしなきゃなんないんでしょうか。
でも各辺は伸び縮みするからここも別々に作んないといけなそう。
ってことは角4つと辺4つで8枚ポリゴン作ったりしなきゃなんないのだろうか。
なにしろ作った事ないからどうやってやるのか想像つかないけど
激しく面倒くさそうです。。。
誰かUI関係をDirectXで作ったことがある人いたら
どうやればいいのか伝授してください。
0891887
04/09/11 12:32:21ID:M9vDQ6zLありがとん>>888ゆっくり寝ることにします。
本来の休みの昼間で残業が食い込むなんて・・・・ orz
てか1は、やる気がない、ただ、全権を握った、その世界の中の
支配者(GMの類?)になりたいだけと 流し読みして率直に思った
まずは、おおまかな設定、そして基軸になる部分(フィールド移動、窓、バトルシステム)等
それが従来の物なのか、はたまた斬新なプロセスなのか、誰が?どのくらいの人数?を
割り当てるといった分担作業だが、共同作業という、そういった部分が分かってない気がする
設定は設定でも、物語や世界観の設定ではなくて、ゲームの骨組みの設定とそれをどのような人員で
扱うかといった設定が基本中の基本ということです >>1
あんまり2CHにカキコミなれてないので、見難いと思いますが、すんません@みなさん
では (つ∀-)オヤスミー
0892191
04/09/11 13:52:02ID:fbx5w1Qjなにもそんなに難しく考える事はない。
画像バッファを作成して、普通に2Dでやるのと同様に画像バッファにウィンドウを描画。
あとはその画像を矩形のポリゴンにでも貼り付ければ良い。
とりあえずDirectXでやる前にBitBlt()あたりでUI表示作ってみた方がイイんじゃねーかな。
>>887
プログラマーでしたら、一部のプログラム勉強者へ暖かいアドバイスでもしてあげて下さい。
0893795
04/09/11 22:28:55ID:1bDiFgK3なるほど。まだ色々完璧でないので2Dでつくってみて
できたらその内うpしてみようかと思います。
いつも助かります。ありがとうございます。
0894名前は開発中のものです。
04/09/11 23:11:47ID:oPTKFlkl0895名前は開発中のものです。
04/09/11 23:50:32ID:6zg8B3+a0896名前は開発中のものです。
04/09/11 23:53:49ID:zhV+W1ETLinuxかWin2000じゃない?
0897名前は開発中のものです。
04/09/12 00:57:58ID:m1DndJP/ソフト代が50万円で接続人数に応じてさらにプラスされるらしい
0898名前は開発中のものです。
04/09/12 01:10:24ID:gvjQuk5b0899名前は開発中のものです。
04/09/12 01:19:45ID:OLQcyj/0どこをどう見てきたんだ?
大丈夫そうな話も出てるよ。
0900名前は開発中のものです。
04/09/12 01:29:41ID:32DelwAXレス数が900を超えています。1000を超えると表示できなくなるよ。