1 :
FAN:
とりあえず、作ってみたいんですけど参考になるサイトないですかね?
夢を見るのもいいけど現実も見ろ
146 名前:FAN :04/05/11 10:34 ID:Ky5hy7V5
MMORPGはフリーソフトでは無理?
FLASHならMORPGとか作れる?
技術とかそーゆー問題ではなくて
可能かどうかで教えて
147 名前:名前は開発中のものです。 :04/05/11 11:53 ID:9lvPIYGr
>>146 可能。まぁもっとも
>技術とかそーゆー問題ではなくて
こんなこといってるやつには出来ない。
とりあえず逝っとけ
5 :
誘導:04/05/11 14:34 ID:LGS9vROR
6 :
誘導2:04/05/11 14:51 ID:LGS9vROR
いきなり「誘導」と書いちまったが
他のHSPユーザーがMMO用に有効活用するかもしれないので
しばらくは成り行きを見守る。
MMOってそんなに難しくはないでしょ
簡単に出来たら、膨大な資金と時間をかけてβテストを行うMMOなど無くなる。
>>8みたいな馬鹿の浅知恵しかないから、現実を見ないでこういう糞スレを乱立させるわけだ。
揉み揉みおっぱいはなかなか難しいよ
12 :
名前は開発中のものです。:04/05/15 22:55 ID:RLKNDZMx
>>10 揉む所までは行きませんが、上下左右に揺れたり寄せたり上げたり潰れたり、
前屈みになると垂れたり、寝そべると左右に広がったりするのなら作りました。
13 :
名前は開発中のものです。:04/05/16 01:28 ID:f1B/xiDs
普通にMMO作ろうと思ったら、
多少大きなプロジェクト(十数人単位)を充分把握できるぐらいのスキルが必要だね。
開き直って機能限定のMMOを作ろうとしたところで、
まともなものを作ろうとするんであれば必要なスキルは結局大差無いし、
第一本当に小さなものでも莫大な労力が必要になる。
MMOやって楽しかった→MMO作ってみたい!
なんて短絡思考しかできない人間には作れないよ。
何年もの長い努力を苦と思わない、なおかつ向上心を忘れない人なら話は別だけどさ。
>>12 うpきぼんぬ
ttp://dgames.or.tp/ MMORPGオープンソース開発
Rubyを使ってJewelというMMORPGのシステムをオープンソースで開発しています。
Jewelは固有の世界観を持たない汎用的なネットワークゲームシステムです。
スクリーンショットもないこんな世の中じゃ
ポイズン
20 :
名前は開発中のものです。:04/05/28 06:19 ID:G1wMOxus
HSPで俺も今3Dで作ってるよ。どうせなら
画像でも晒して協力者募るか。
サーバーの予定も何も立ってないけどな。
ブリーフケースを使ってしまったわけだが
いいうpろだない?
HSPなんかを使ってる技術力じゃ
しょっぼいのしかできねーだろ
22 :
名前は開発中のものです。:04/05/28 08:15 ID:ff4nZnT1
しょぼすぎ
(・3・) エェー HSPはミニゲームを作るのには便利だけど、MMORPGみたいな大規模なプログラムを
作るんだったら構造化言語やオブジェクト指向言語を使ったほうが絶対簡単だYO
BOSStueeeeeeeeeeeeeeeeeeeeeeeeee
26 :
20:04/05/28 19:53 ID:xLGooIHW
27 :
BCB:04/05/29 15:54 ID:pV5vHY5v
MMOの仕組み自体は、それほど高度な技術は要りませんよ。
サーバと回線速度の制限が苦しいところですが、Cなり使えばマルチスレッド処理で
サーバ側のプログラムは出来ると思いますが。(簡易版は作成、動作確認済み)
クライアント側はHSPだろうが何だろうが、通信できれば可能なのでは?
私はBCBで、クライアントとサーバ両方作りましたが。結構動くものですよ。
もちろん、テスト用なので。チャットと散歩ぐらいしか実装してませんが^^;
100M(実効60M程度)の回線と、P4Xeon3.20GHz ×2 メモリ4GM のサーバです。
ショボイのしかできないというよりは
ショボイうちはいいが機能やユーザー数が増えてくるに従って
破綻してきてそれを解決することができなくなる。かと
29 :
すべてにおいて初心者:04/05/29 18:37 ID:buocUCqm
30 :
BCB:04/05/29 21:27 ID:pV5vHY5v
ユーザー数500ぐらいまでなら、なんとかなりそう。
それ以上いったら、課金してインフラ整備^^;
そこまで、出来たら成功だけどね。
興味あったら、メールでもください。
ひまが出来たら、そのうちHP立ち上げます。
(その前に迷惑メールで、ボックス削除するかも知れないけどネ^^)
おまえらごときに作れるかよ
32 :
BCB:04/05/30 18:07 ID:Z1XVV4MZ
最初から否定する人には無理だろうな、何事も成し遂げられない。
能力と意欲と時間と金があれば、出来ないことではないよ。
それと魅力が在れば、人は集まってくるものさ。
(無駄な書き込みで、失礼しました。気持ちを削がれた人の為に一言)
? 一日経ってるし
あーホントだスマソ
>>32 技術のある人ってどんなところが難しいのか分かってるから
無理って言ってるわけで。それを覆すだけの説得力はお前には感じられない
ていうかスレの前半で全てが語られてるかと
いいんだよ言わせとけよ。
常識のある人なら、ある程度作ってから「つくります」と言うわけで。
能力と意欲と時間と金があっても、一人ではできないものだし
魅力がある人は口先だけじゃないからな。
実際「こいつスゲェ!」と思わせる人がいて、その人は会社作ると張り切っていたけれども
現実は厳しいもので・・・いくらMBAもってたり交友関係が広くてカリスマ性がある人でも
「商売をする」ということはそれだけではだめなんですわ。
課金なんて、捕らぬ狸の何とやらだよ。
言ったからには実行しろよ。それが社会というものなんだよ。
というか人を働かすなら
金が全てだよ金
>38
ワラタ全くその通りだな
え、課金すんの?
41 :
BCB:04/05/31 11:55 ID:BlPLdSXr
別に自慢で書き込みしてる訳ではありませんよ。
むげに否定して、可能性を潰さないようにと思っているだけです。
課金目的ではありませんが、ユーザーが増えると言う事は魅力あるものが出来たと
言うことで。多くの人から参加希望があれば、維持運営の為の課金(広告でもイイが)は、
必要になる事です。(現実を考えれば)
>>35 何が難しいのか、具体的に述べてください。解決策を考えましょう。
>>37 失敗例をあげて、可能性を否定するのは論法違いかと。
「一人では出来ない」<これはいえますね。時間との戦いになってしまいます。
「実績を示せ」とのご意見が多いのですが。
もともと、この板の表題は「MMORPGをHSPで作りたいな 」ですから。
製作の前段階と受け取っています。(可能性の検証かなぁ)
「どの程度まで出来るか?」って考察するのも、意義があると思うのですが。
>何が難しいのか、具体的に述べてください。解決策を考えましょう。
馬鹿に現実を認識させるところです。馬鹿は次々に湧くので、解決策はありません。
>>41 いいからぐだぐだ言わずに実績を出せよ
簡単なんだろ?
>>41 現実的に分かりやすく例を挙げると、
TVでオリンピックを見ていた人間が、自分も100m走でオリンピックに出たいな」と言い出して、
周りの人間が「それだけ言うからには、足は速いの?」と聞いたら、
「もともと、オリンピックに出たいなだから、足は速くない」と答えている状態です。
しかも「出場するにはスポンサーが必要だよな」とは、あなたは小学生ですか?
45 :
35:04/05/31 18:46 ID:UvECBkJr
学生さんは狭い世界に生きてるから、
まともな意見を言っても理解できないんだよ。
可哀想だね。
47 :
BCB:04/05/31 19:35 ID:BlPLdSXr
具体的な内容も提示できないのなら、やめてほしいね。
中傷して、自己満足えたい気持ちはわからないではありませんが。
2チャンネルだからって、まともな板があってもイイと思ってるんですが。
48 :
BCB:04/05/31 19:38 ID:BlPLdSXr
>>35 それって、MMOの問題じゃなくって、3D等では?
BCB あぼーん推奨
50 :
BCB:04/05/31 19:41 ID:BlPLdSXr
>>44 「具体的」の言葉の意味を考えてください。
51 :
BCB:04/05/31 19:51 ID:BlPLdSXr
数千人緒規模(サーバ&回線)<インフラ整えないと無理。
表現力<プログラマーだけでは無理。
技術<ライブラリとか使わないと非現実的。
企画<才能なれば無理。
運営<個人では無理。
せめて、これぐらいの内容に関しては、
なぜそれが不可能なのか説明してほしいものです。
自己検証(テストプログラムでも作って)したことありますか?
俺は別に叩くつもりは特に無いけど、これだけは言わせてくれ
あのさ、こんなところで一々煽りに対して反応してるってのがもうなんか駄目
悔しいのはわかるんだけど可能性の模索ってのは作っている本人たちが考えりゃいい事
んでその模索した可能性は周りの人に対しては言葉で説明するようなモンじゃなくて行動で示すもんだろ
ようはここで一々レスなんて返してないで現物を出す、そうすりゃ煽りなんて一切無くなる
言葉でなく行動で可能性を見せてくれ
53 :
35:04/05/31 20:11 ID:UvECBkJr
>>48 「自分のゲームにはこのような問題は起こらないから。」って言いたいわけか。
認識が甘すぎると思うね。
>>45のリンク先はあくまで
「実際MMOを作ってる人はこれだけたくさんの問題にぶち当たってる」っていう一例
54 :
35:04/05/31 20:16 ID:UvECBkJr
ていうか認識っていう言葉タイプして思ったが、
俺が言いたいのは「お前には作れない」とか「個人で作れるやつはいない」
じゃなくて「お前の認識は甘すぎる」っていうことなんだよね
>>44と
>>52はホント正論だと思う
そもそも個人の資金で補えないレベルの物を作ろうとするのに、
何故その手の会社に就職しようとしないのか謎。
オリンピック選手がそこまでの過程で、人生の時間の大部分を投入してその地位を得たのに、
日曜日に少し走れば自分も同じようになれると思っているのか?
アマチュアでオリンピックに出た人もいたような気がするが(違うかも)、
そういった人も並々ならぬ努力と工夫があったわけで。
>>41 隕石が直撃して、地球上の全生物が絶滅する可能性だってあり得るわな。
就職できる能力が無いからだろ
大手でバリバリ働いてるような人が
個人で作るというなら賛同も多いだろうにな
ゴミばっかだ
200〜300人規模は個人でも可能になってきているし、前例もある
500人規模も条件さえ整えば可能かもしれない
頑張って前例になれば意義が出るかもしれん
このなんとかって馬鹿は社会人プログラマーなのか?
じゃあ上司に同じ話してみろよ。
まともな上司だったら、
「だったらグチャグチャ言ってないでお前が勝手に作れば」
って言われて終わりだよ。
馬鹿じゃないの?
61 :
BCB:04/06/01 11:34 ID:OnY9/hvx
根本的な疑問ですが、ここって
「商業ベースのMMOを超えるものを作ろう」っていう板では無いでしょう。
3Dバリバリでリアル感があり、NPCの動作も人間並みな物を作ろうとしたら、
そりゃ大手にはかなわないでしょう。(資金、人材ともに)
なぜMMOに関しては、そこまでのクオリティーを求めるのでしょうか?
PS2級でなくてもゲームボーイでイイのでは?(ポケモンは人気ありますよー)
3Dリアルアクションや描画画質等の問題と、MMOの問題とは違いますから。
ID認証>キャラの動作(2D)&MAP>クエスト&チャット&コミュニケーション、
程度だと考えてました。(NPCの動作に関してはピンキリでしょうけど)
もともと「HSPで...」って事でしたから。
まぁ、板立てた人も来ないのでこの辺にしておきます。
MMOだけに関したことではないが
技術の無い口だけの奴は
マジで引っ込んでろと思う。
技術的な問題がクリアできてる人のみにしろ
63 :
BCB:04/06/01 11:50 ID:OnY9/hvx
ちなみに
MMOが韓国で開発されていた当初、日本の企業では
「あんなもので採算は取れない」と見向きもしなかったそうです。
今の日本では本田宗一郎みたいな人は、極端に少ないんでしょうかねぇ(涙)
それでは、みなさん。お騒がせしました。
>なぜMMOに関しては、そこまでのクオリティーを求めるのでしょうか?
比較対照が大手のものしかないから
ツクールみたいに草の根で粗製濫造されてきたら、そこまでクオリティを求めなくなるんじゃないかな
ちなみに
MMOが韓国で開発されていた当初、アメリカでは既に採算ベースにのせていました。
韓国もアメリカの後追いなわけですが、何故パイオニア的な存在として最初に韓国を例に出すのか意味不明です。
>>63 さらにUOが全盛である早い時期に、既に国産でのMMORPGは開発が始まっていました。
国産のストーンエイジは韓国に輸出された後、大ヒットしてそれを引き金に韓国のMMOブームを作っています。
韓国ではヒットしたものの、国内では大して流行らずに終わりました。
その他早い時期に国産で作られた物として、レインガルドがありますが、採算割れのあげく、短命に終わりました。
常時接続のインフラが、韓国よりも後れをとっており、ユーザの絶対数が少なかったので、
採算をとるのが韓国より遙かに難しい下地があったわけです。
時期が悪ければ、採算がとれないと判断されるのは当然です。
しかし開発が始まった時期に関して、韓国に後れをとっていたわけではありません。
そして時期尚早に始め、採算割れで倒れていきました。
空想で夢を語る前に、現実に何があったのかは知っておいてください。
家庭用ゲーム機では勝ってるよな
> ID認証>キャラの動作(2D)&MAP>クエスト&チャット&コミュニケーション
この程度でも随分大変だと思うんだが。
BCBはちゃんとプログラミングしたことあるのか?
本当に簡単だっつってんなら実際に作ってみろよ。
周囲を納得させる一番の方法だぞ。
何も作ってないんなら何言われても文句言えねーよ。
何も作る気がないんなら最初からゴチャゴチャ抜かすな。
挙句に
> 「どの程度まで出来るか?」って考察するのも、意義があると思うのですが。
ってお前、
何かを実現できる技量のある人間は、グダグダ言わずにとっとと作業に入るっての。
「実現する」という一番美味しいところに手の届く人間が、
わざわざ考察なんて下らんもんに時間割くと思うか? 馬鹿かお前。
プログラミングが趣味の人間として一言言わせてもらうと、
BCBみたいな人を見て、(・∀・)ニヤニヤするのが、楽しい。
ちなみに、草の根ネットの時代からMMORPGは存在した。文字キャラだけどな。
チャットもできたし、すげ―って思ったよ。
3Dなんて実用的じゃなかった頃の話で、今みたいなグリグリ動く3Dとの融合なんて思いつかんかったがな。
韓国には当時日本ほどネット環境は整っていなかった。つい最近の話だけで全てを語ると恥をかく。
BCBってやつは、多分中高生だろうな。
>>70 そんなんあったのか。
ていうか俺1浪目だけどUOが登場した時の衝撃を覚えてるぞ。
当時はやりたくてもできる身分じゃなかったがな
所詮趣味グラマなんて全員ままごと、だが同じままごとでも
それを理解してないBCBは周りよりレベルが低いってわけだ。無知の知
72 :
名前は開発中のものです。:04/06/03 12:25 ID:ckAz3NYj
>採算割れのあげく、短命に終わりました。
それが今の日本だな。
最初から採算なんて取るつもりでNET商売考えてるうちはダメだな。
YAHOOに見習え!
73 :
名前は開発中のものです。:04/06/03 13:06 ID:ckAz3NYj
あほばっか
74 :
名前は開発中のものです。:04/06/03 13:07 ID:ckAz3NYj
アホばっか
75 :
名前は開発中のものです。:04/06/03 13:08 ID:ckAz3NYj
阿呆ばっか
>>72 すでに採算に乗せている日本のMMOは複数存在している。
>それが今の日本だな。
意味不明。
過去どころか現在の状況すら理解していない人間が、何を語っているのか全く理解できない。
所詮は知ったかなんだよ
78 :
名前は開発中のものです。:04/06/04 20:28 ID:5TXq8lTF
>BCBはちゃんとプログラミングしたことあるのか?
>本当に簡単だっつってんなら実際に作ってみろよ。
別にBCBの肩持つ訳じゃないが、本人の最初の書き込みでは、
「チャット、2Dで歩くくらい」は出来たと言ってるじゃん。
まあ実際は分からんけど、これが出来りゃ大きな飛躍にはなるわな。
>>78 BCB、あまりにレベル低すぎ。
MMORPG を作成する際に発生する様々な問題を頭の中に想像できるレベルじゃない。
チャットが付いて2Dで歩くぐらいなら、
プログラムの初学者が趣味で作るレベルだよ。
ただ、>68の言いたいこともわからんではない。
最初のうちは、その壁が結構大きいからな。
ただ、BCBがそのレベルでMMORPG がどうこうとか
偉そうに言ってたのは信じられないわ。
80 :
名前は開発中のものです。:04/06/05 00:06 ID:VyhV/44m
BCBはBorlandC++Builderの事かな?
あれはGUIを簡単に使うには便利だがDirectXとの相性が悪いので
ゲーム製作には向かないかもよ。
工夫すればちゃんとDirectXを使ったプログラムもコンパイル
できるらしいが、どうにも参考文献が少なすぎる。
スレの流れがまったく見えてない者が乱入
BCBはBorlandC++Builderの事ではありません。
勝手に一人で突っ走らないでください。
BCBは知ったか馬鹿のコテハン。
Borland C++Builderに失礼だろ。
HSPか…同時接続64人までは可能だろうが、100人超えた辺りからキツイんで
なかろうか。100人だと、一人頭10msの処理時間しかないし、マルチスレッドじゃないから
パケットの生成やらファイルアクセスのオーバーヘッドなどで遅れに遅れまくる予感。
処理を段階的に分けて擬似マルチスレッドを実現しようとすると、その管理などで
かえって処理時間が食われてしまうというオチ。
85 :
FAN:04/07/08 09:19 ID:EsDzfyYE
参考になりました
87 :
名前は開発中のものです。:04/07/30 13:48 ID:7G+hOCOX
http://o2.zener.co.jp/faq.html より引用
>どのようなソフトを開発できるのですか?
>O2では、2〜8人が同時に対戦するタイプのゲームで、
>非リアルタイムのものを手軽に作成することができます。
>数十人、数百人が同時にデータを取り交わす大規模な(MMO)ネットワークゲームには、
>現状で対応しておりません。
なので居ないと思われ
なぁ、スレの流れから関係ないが、CGIゲームならイケルだろうか。
Perlをかじり始めていつかは本格的なCGIゲームなんか作りたいと思ってる者なんだが
(現時点では鼻糞もいい所のレベルだが)
単純にMMOよりも遥かに維持、運営面では楽だよね?
まぁ当然よほど面白くないかぎり地味なCGIゲームなんかに課金する奴なんていないだろうが・・
現時点で課金に成功してるCGIゲームもいくつかあるにはある
MMOと比べたらまだ現実的だと思うのだが。
こっちはこっちでどういう問題があるか、とか厳しく指摘してもらえんだろうか。
将来への心構えにしたいっす
cgiでゲームを作るのは可能だろう。
携帯向けのゲームなんかはcgiってのも結構あるしな。
維持、運営は楽かも知れ無いが、プレイヤー間の繋がりを作るのは大変だぞ。
cgiでゲームって事はIE等のブラウザーを使ってのプレイだと思うが
戻ってやり直しされた場合とかURLを直接編集されないようにセッションの管理を
しっかりとやらないとゲームとして破綻するから気をつけろ。
91 :
名前は開発中のものです。:04/09/18 17:52:54 ID:hi86lVWi
92 :
名前は開発中のものです。:2005/05/13(金) 20:38:10 ID:QeyFIi/h
age
93 :
名前は開発中のものです。:2005/05/13(金) 23:41:49 ID:QeyFIi/h
これ以上廃人を増やすな
ウルティマって、HSPで作ったような感じがしますよ。
保守age
97 :
◆SxOcx2fLm. :2005/06/26(日) 21:18:00 ID:LzEd6q4y
あげ
AMdplayでMMO作ってるやついる?
98 :
名前は開発中のものです。:2005/06/26(日) 21:28:45 ID:LHRQs0HR
MMOってほどの規模じゃないけど、ネットゲームなら作ってた
RPG系のゲーム?
俺はRPG作ってる
100 :
名前は開発中のものです。:2005/06/28(火) 00:03:44 ID:6W5cl70v
あげ
このスレゲット!!
再利用していいか
トリップ付けたです
>>102 すごいうまいですね
通信には何を使用してますか?
104 :
911:2005/08/30(火) 20:51:35 ID:WLq0OrMr
PCBnetです。
あ、トリップってどうつけるのですか?
ギコナビはじめてでわかりません。;
>>104 PCBか〜
俺と同じだw
>>105 トリップは
名前欄に、[#好きな文字列]で出来ます。
>>106 なるほどありがとうございます。(できたかな?
もしかして
>>106さんも何か作っているのですか?
>>107 はい
俺もMMOを開発してます。
接続人数多くなると、動作が遅くなるから
高速化がたいへんですね
ageつつ
確かに人数が増えると比例して大変ですよね;
プロトコルはTCP/IPですか?
私の場合はシナリオ・ゲーム設定が下手で困ってますw
あとRPGとか作ったことないので・・・ (-∀-;)
>>109 あがってないのでageつつ
TCP/IPです。
特にシナリオが無く
永久的に出来るようにしたいと思ってます
そう、うまくはいかないでしょけどorz
なるほど比較を出してみたのですが…
【TCP/IP】 61~92msec
【UDP】 10~24msec
9倍近く違うのと往復*人数となるとどんどん遅くなるみたいです。(;
個人的にはUDPで開発してます。
#以前はTCP/IPでしたが諦めました orz
お互いがんばりましょう!
>>111 9倍も違うんですか!
UDPにしたほうがいいかな
チャットは当然TCPですよね?
アカウントサーバ作ってるんですけど
アカウントの保存と読み出しってどうやってます?
参考程度にページ下に書いてあります。
http://nekonoteigi.ddo.jp/ アカウント情報だけTCPで通信してます。
以前はTCPでしたけど・・・IM機能考えてUDPに変えました。
UDPにRTPという方法で通信することでTCPみたいな信頼性持たせてます。
アカウントサーバーの処理はセキュリティ上詳しくいえませんが・・・
(暗号化名).cache → (暗号化)最後パケットを保存。これだけです。
【パケット流れ】クライアント→ホスト→アカウント→ホスト
絶対に情報をクライアントに送らない様にしてます。
RTPですか
初めて聞きます
ググってみます
アカウントの認証はどう行えばいいでしょうか?
アカウントファイルをバッファに読み込んで
そこから検索して該当するものがあればログインする
ではだめですかね?
あ〜デザイナでしてプログラム初心者なのであんまりわからんです;
かなり姑息なやり方ですが・・・
クライアントから名前とパスワードを受け取り。
名前をパスワードで暗号して 暗号化した名前+.cache を検索。
if (あったら) {
ログイン許可
内容をロード
} else {
ログイン拒否
}
これが個人的には最小の方法かな・・・。
本当はデーターベースに書き込むらしいですが。
>アカウントファイルをバッファに読み込んで
>そこから検索して該当するものがあればログインする
全然いいと思います。
てか、考えればこの方がいいですw
>116
でもこの方法だと、例えば
Aさんはアカウント「abc」
Bさんはアカウント「abcd」
というときに
Bさんがログインしようとすると
Aさんのアカウントも検索にヒットしてしまう
どうしようかな?
ミスった
Aさんがログインしようとすると
Bさんのアカウントも検索にヒットしてしまう
でした
?
なるほど、私だったら文字列が多いほうから処理させれば重複がないと思います。
以前同じようなことでつまずいたことありましたw
101がまだ何もうpしてない件について、。
でも、先に登録した人から順に保存されていくから
文字列が多い方から、というのが無理っぽい
>>120 まだうpしません
アカウント登録が出来るようになって
UDP通信に直せたら、うpすると思います
なるほど・・・
今考えた程度の処理でいいならこんなのはいかがですか?
「abc」を受け取ったら「abc」付くユーザー名を全て配列に一時保存。
そして、abcの文字列数を取得して「abc」より大きいものは排除。
するとあら不思議abcしか残らない。なんて・・・
NAME = "abc"
notesel BUF
repeat noteinfo(0)
noteget a,cnt
if (instr(a,0,NAME) ! -1) {tmp(cn) = a : cn++}
loop
repeat cn
if (strlen(tmp(cnt)) = strlen(NAME)) {ここで処理}
loop
noteunsel
↑はそのまま使えませんから気をつけて;
書き直してみてください。
何度もすいません・・・これで使えるはずです。
NAME = "abc"
sdim tmp,64,36
BUF = "abc35q\nabc434\nabc"
notesel BUF
repeat noteinfo(0)
noteget a,cnt
if (instr(a,0,NAME) ! -1) {tmp(cn) = a : cn++}
loop
repeat cn
if (strlen(tmp(cnt)) = strlen(NAME)) {dialog ""+tmp(cnt)}
loop
noteunsel
なんなら、パスワードとかをMD5とかでハッシュかしてもてば?
クライアントから送るのはハッシュ値
と、@IT(だったか?)で認証方法として紹介されてたかな。
(ほんとうはさらにハッシュ値も公開鍵とかで暗号化いるけどね)
ほぉ、その方法いいかも
使わせてもらいます
UDPのRTPという技術、調べてもよくわからんかったです。orz
MD5は知ってましたが使い方知らないです;
今調べたら・・・すっごい可能性ある方法ですね。
あ〜また仕様変更かもです orz
うひゃ、ハッシュとかよくわかんね
とりあえず、911さんの方法でやってみます
UDPのRTPについて
UDPは基本的にデータ送信したら終わりなプロトコルです。
つまり、データを先に送信しても後のデータが先に着くこともあります。
TCPが好まれるのは送信した順番と確実だからです。
UDPでそれを実現するには 送信した順番(シーケンス番号)と時間(タイムスタンプ)を追加すればいいのでは?
ということで考え出された技術です。
基本的にリアルタイムな通信に使います。(IP電話など)
ただ、弱点もたくさんあって・・・データでいっぱいになるとか。
その辺も含めていろいろ開発中だったり。
MD5ってそんなにすごいんだ〜
また、勉強してみます
RTPはすごいですな
でも、俺には
送信した順番(シーケンス番号)と時間(タイムスタンプ)を追加する
という方法がワカンネ
まぁ、MD5,SHA-0とかも去年コリジョンでの脆弱性が公表されたけどね(おぃ
あ〜それなのですが・・・
本当の方法はプラグイン内部でやらなければいけない処理でして。
私の考えてる方法はパケット自体に細工する方法です。
以下のパケットを送ります。そんで、到着した順に一時保持。
シーケンス番号順にソートして実行をサーバー側で行います。
例)
シーケンス番号(タイムスタンプ)@コマンド
12(3:45:6)@say[0,Hello!!]
お互いがんばりましょう。
と言いたいのですが・・・個人での開発に限界感じて諦めかけてます;
とにかくドット絵・プログラマ・音楽・・・私には足らないものが多すぎで orz
>>133 煤i゚∀゚) ナッ!!
マジですか・・・まぁ、個人的に考えたXORレベルの暗号よりかはいいかなw
>>134 難しいですな
まぁ、がんばってみるです
よかったら共同で開発なんてどうですか?
通信の方はできそうなのですが・・・ゲームプログラムが苦手で困ってるんですよ;
人のスレ利用してる気がするのでやっぱりスレに書き込むの辞めます。
本当にごめんなさい。今日はありがとうございました。
>>137 いや〜、共同開発もいいですけど、今は一人でがんばってみます。
>>125のソースってHSP3用みたいですけど、2.6用には出来ませんか?
いろいろと直してみたんですけど、やっぱりエラーが出ちゃうんです
そうですか・・・残念です。 orz
NAME = "abc"
sdim tmp,64,36
BUF = "abc35q\nabc434\nabc"
notesel BUF
notemax i
repeat i
noteget a,cnt
instr stats,a,NAME,0
if (stats ! -1) {tmp.cn = a : cn++}
loop
repeat cn
strlen SIZE,tmp.cnt
strlen SIZE2,NAME
if (SIZE = SIZE2) {dialog ""+tmp.cnt}
loop
2chのルールはよくわからないのですが・・・
同じようなスレッドは立ててはいけないんですよね?
あ・・・
ちなみに1つのファイルでアカウント管理するとヤバイですよ。
一人が更新中にもう一人がアクセスしたら・・・衝突が起きますよ。
(それを防止する意味で別々のファイルにしてるんです。)
>>140 デキターと思ったらやり方書いてくれてたw
ありがとん
>>141 同じようなスレはやめた方がいいと思いますよ
このスレ誰もいなかったから俺が占領しましたw
>>142 一人ずつ違うファイルに保存するわけですな
ログイン時に全てのファイルを開くのが重くならないかな?
>>144 私が試したところ鯖専用PCだったら24人同時アクセスでも2~5%程度の負荷でした。
で、アカウント管理鯖は24人までにしました。(この人数以上に同時ログインすることないから)
ちなみにスペック
CPU:celeron2.4Ghz
MEM:1024MB
回線:100Mbps
の場合なのであしからず。
>>142 データベースで言えばトランザクション処理部分だね。
hspdbは使えなかった?(てか、isolation level変えられない?)
>911
スクショ見る限りでは
ゲームの方もできそうなのだが
あれでは、だめなのか
>>146 そうです。ただDBを実装したことないのでなんとも;
HSPでDB使えるのは知ってても実際に使ったことないんです。 orz
この辺がヘタレの証拠ですね;
ちょっと要らない情報書き込み過ぎたかもしれませんね・・・
24人か〜
確かにそれくらいで十分ですね
スペック高いですな
うちのと大違い
CPU:600Mhz
MEM:192かな?
回線:AirH
超最悪環境orz
近いうちに買い換えます。
回線もケーブルテレビにする予定です
>>147 あ〜なんていうか、RPG的な処理ができないんです。
画面のスクロールやら・・・マップ作るのがめんどくて。
あのSSは背景は固定イラストなんです;(恥
+ゲームシナリオとかバランスが苦手です。
>>149 AirH・・・・256kbpsはちょっと鯖はきついですね;
昔はmmo作りたくて本気だったので20万近く費やして設備揃えました。
はい、馬鹿です;
>>148 まぁ、とりあえずはMySQL+MyODBCを使ってみればいいさ。(hspサンプルはそれだしね)
環境整えば難しくないし。
>>151 試したいのですが・・・あれです。
MySQLインスコ失敗してから怖くなってしまって;(最新版使わなきゃよかった。
時間空いたら鯖にMySQL導入してみますね。
明日アキバでテスト用PC買ってきまつ…
そしたらmmo公開早まる・・・といいなw
>>152 公開始まったら、呼んでくださいな
テスターとしてガンバルよ
ってか、このスレ進むの早ッ!
私が無駄なレス入れ過ぎました。すいませんorz
いいんじゃない?
俺も無駄レス多いしねw
>>156 俺も負けずにがんばりますよ〜
明日は忙しいですので開発できるか分かりませんがorz
俺も毎日来るんでよろしく
以上!
じゃあ寝る
私のログイン処理を書いておきます。
もし製作されている方おりましたら指摘・参考・意見などあると嬉しいです。
http://nekonoteigi.ddo.jp/ ログインの流れ
クライアント | ゲーム鯖 | アカウント鯖
【名前・パスワード送信】 → → → → ここへ
【DB検索許可】 → → → → ここへ
【衝突安全確認のち同期】
ここへ ← ← ← ← 【DB結果・読出】
ここへ ← ← ← ← 【DBを保持・完了通知】
【ゲーム処理へ移行】
クライアント側には一切情報を送らないのがみそ。
おそらく、正しい方法ではないです。
HSPでできるだけラグを少なくする方法は・・・
全てにおいて
*main
repeat 最大人数
通信判定
loop
repeat 最大人数
受信
loop
repeat 最大人数
ゲーム
loop
repeat 最大人数
送信
loop
wait 1
goto *main
と、スレッドを動かすことで全てのユーザー処理をwait 1〜誤差少しで済みます。
これは【ジエンの無人島】なるソースにもあります。(ただ、バグが多いです。
しかし、以下のように全ての処理を
*main
repeat 最大人数
通信判定
受信
ゲーム
送信
wait 1
loop
goto *main
だと、0番〜最大nまで分がラグ発生します。
256人ならば wait 256tラグ発生する点に注意してください。
実際はそこまで遅れないと思いますが。。。(LAN外ならもっと
ちょっと質問です。
MySQL&MyODBC導入しましたがイマイチわからないです。
なんかODBCでエラーがどうたらと noPASSWORD とか・・・
設定などの参考サイトお教えいただけると嬉しいです。
MD5の導入完了しました。
すごく便利で助かりました。ありがとうございました。
おー!こんな良スレあったんですね。
かなり参考にさせていただきました。
私も以前からMMOつくりたいと思い、SOKETやLinuxプログラムの本買って勉強してます。
言語がCなので、微妙にスレ違いですが…。
ただ、プロトコル設計とかつまるところは、似てるので参考になります。
ちなみに、今日発売のMMORPGサーバープログラミングを買う予定なので、あとで報告しますね。
良本だといいんですが。
>>163 Cで作ってるんですか!
難しそうですね
俺も半年ほど前にCで作ろうと思ってたんだけど
VRAMが3.5しかなくて、DirectXが使えなかったから
開発をやめたんですw
まぁ、お互いがんばろう
私もMMORPGプログラムの本買って来ました。
あと、テスト用PCもw
これから楽しみです〜
今日は仕事で5:00〜11:00まで居ません。でわ〜
>>159 >>これは【ジエンの無人島】なるソースにもあります。(ただ、バグが多いです。
ゴメ(; ;
wait命令だと人数が増えるとCPUパワーに係わらず遅延が酷くなるので、await命令
で拍子を取らないと。クライアントの描画部分は60fps出したとしても、通信部分では
それほどのフレームレートは必要無い訳なので適度にスキップさせてよいかと。
あと、アカウントですが、ユーザー名をファイル名としてパスワード等のデータを保存
する方法ではダメなんでしょうか? 無人島はステータス等を保存するタイプのゲーム
仕様ではないので、そのあたりは適当にしか考えてませんが…。
なんにしろネトゲ作る人が増えて嬉しいデスヨ
>>166 俺も最初そうしようと思ったんだけど
ファイルを読み込むときに
どうすればいいか迷ったから
番号をファイル名にすることにしました
そうすれば、認証の時などにループして読み込めるから
便利だと思いました
こんばんわ〜
>>166 あっ作者さん・・・スマセン。とても参考になっておりますです。
wait と await比べたのですが、余りわからなかったのでwaitでした。
やはり、await位の単位の方がいいのですか。 参考になります。
私はアカウント名をファイル名にして、中身にパスワードにしてます。
ただし、アカウント名はある程度暗号化してます。
一応、DBなんかも比較しながら導入検討してます。
私はネトゲをやったこと無いのですが、面白そうだと思い作ってます;
実際に作ってみたら・・・普通のゲーム製作が簡単に感じられましたw
>>167 こんばんわ〜
番号をファイル名にすると・・・
いや実際に運用して試して下さい。意外なところでバグがw
>>168 おぉ・・・これなら平気そうです。ちょっと試してみます。
DBは衝突という考え方は起きるのですか?(lock,unlockとかあるのかな?
それとも、マルチスレッドで動いているとか?
でわ、飯食べてから来ますね〜
>>170 番号をファイル名にしてやってましたが
特に問題なく動きましたよ
どんなバグがあったんですか?
101さんのmmoがどのようなものかによりますが・・・
多数でアカウントファイルを作ると言うことは?
つまりは個人のステータス保存を行うことを意味します。(セーブ機能
番号だと特定されやすい気がします。
さらには、ユーザー削除したら?(clr)追加したら?以前使った人はどうなるの?
と・・・
私ならハッキングして好きなレベル。アイテムを加えちゃいます。
よく考えればバグという程でもないかな・・・ orz
仕様と考えれば平気だと思います。すいませんでした。
DBは面白そうなので書籍買って覚えてみます。
採用する意義ありそうだこりゃ。
※HSPで開発してる間は自分なりに考えたDB使いますね。
MMORPGゲームサーバープログラミング
という本を買って読んだ感想。
絶 対 に 買 っ て 損 は し な い ぞ !
>>174 なるほど
911さんはどうしてますか?
今日から1から作り直します。
参考にしたのは書籍mmorpg,,でとりあえず、リネージュの初期設計を流用してみたり。
【ローカル内部】:分散%vista(o)
----------------------- ------------------------
↓ ↑ ↑ ↓ ↓
クライアント ⇔ パッチ鯖 → 認証鯖 →ロビー鯖 → 管理鯖 ⇔ ゲーム鯖1 ⇔ 同期サーバー
↑ ⇔ ゲーム鯖2 ⇔ ↓
---------------------------------------------
1つの鯖で256人(192.168.0.0〜255)まで。
>>178 私の場合は
アカウントファイルを個別に生成してます。166さんと同じような感じです。
ただ・・・色々弱点もあるので今は別の方法考えてます。
クライアント アカウントサーバー
【TCP】ユーザー名とパスワード送信 → 【TCP】受信
【existでファイルを探す。】※ユーザー名とパスワードは暗号化すること
【ゲーム鯖にステータス配信】
【TCP】受信 ← 【TCP】TRUEだったらMD5ハッシュ送信
【ハッシュ値が合ってるか?】
その書籍ってHSP本なんですか?
それともC言語?
この書籍はリネージュの製作者の技術本らしいです。
c++ベースでWin,Linux対応らしいっす。
ソース読めばHSPに応用できないことも・・・まぁ無いことは無いかな?(;
>>183 リネージュの製作者か〜
すごいですな
買ってみようかな
ちなみに、
>>180の別の方法は・・
【通信経路は略】
キャッシュ(1づファィル)に独自アルゴリズムで配置する。※暗号化ではない。
そして、その内容をハッシュ値として保存。(新しく生成)
ダミーアカウントに名前のみを入れる。※ここで暗号化する。
通信は基本的にさっきと同じ手順。
なにが違うかというとユーザー名・パスワード・ファイル名など全てが流動的なのでハッキングされにくい。
ログインするごとにテキストが変化するのに、内容は変わらないと。
>>184 この類では意外に安いかもです。¥3400。
今日も無駄なレス書いてしまいました。
今後は完成したものを公開するだけにします。
なんか悲しいなぁ・・・開発者MLとかないかな〜・・
オンラインゲームプログラミングって言う本なら
買ったことがあります
表紙が色違いだけでそっくりですな
その本DirectX使ってますか?
>>186 俺には全然無駄じゃないです
かなり参考になる
いやこっちはゲームではなく、サーバープログラミング専用ですね。
オンラインゲームの方も買おうと思いましたが、サーバーの方が興味あったので;
>>189 サーバーだけか〜
でも良さそう
今度本屋で見てくる
うひゃ、こういうのが無駄レスかw(orz
ま〜マッタリ作りましょう。
私はオープンソースmmoを作って色んな人が簡単に作れるのが目標です。
それを完成させるまでここいるです。あ〜楽しいかも。
というか、このスレッドは再利用してもよろしいのでしょうか?
なんか・・・流れが・・・
誰もいなくて、かなり下にあったスレだから
いいんじゃない?
今なんとなく
何の処理もしてないプログラムの
FPSを調べていたら
1万を余裕で超えていたw
FPS・・一人称視点ですか?;
fspあれどっちだっけ?
>>194 FPSは
一秒間に何回ループしているか
だったっけな?
あ〜1秒間に1万・・・・すごい回数だなぁ。
今日は書籍読んで寝ますね。
思いついたら鯖でも公開してみます。でわおやすみなさい〜
(とかいいつつ多分書き込むかも・・)
>>180 のアカウントさーばーがMD5送信しないです。すいません。
アカウントさーばーで判定して結果(TRUE,FALSE)のみ送信でした。
大抵、
FPSっと大文字だと一人称視点シューティング
fpsっと小文字だと1秒間の画面更新回数
と理解されるよ。
このスレはどっちにしろ機能してなかったから別段独占しても構わんかと。
あー、明日も仕事だ。はよ、寝よ。
>>198 でも一人称視点ってFPVじゃなかったっけ?
どっちでもいいみたいだけど
【明後日までの課題】
クライアント・パッチ鯖・認証鯖
を、テスト的な位置付けで作ります。
実装して欲しい機能あったら書き込んでください。
mmo遊んだことないので知識だけで;
でわ〜本当におやすみ!!
>>167 一番単純な「アカウント名+拡張子( .datとか)」だと、exist命令でファイルの有無が
確認できます。登録アカウント数が1000を越えるようなら先頭文字別にフォルダに仕
分ければいいと思います。
>>169 waitとawaitの違いですが、精度の違いだけでなく内容も大きく異なります。
waitだと、「処理に掛かった時間+wait待ち時間」とループ毎の処理時間が異なって
しまいますが、awaitは、「前回のawait命令から計算して指定時間になるまで待機する」
ということで、awaitでの指定時間以上にメインの処理時間が掛からない限り一定になり
ます。
wait -> メイン処理に15ms掛かった+wait 2(20ms) = 掛かる時間35ms
await -> メイン処理に15ms掛かった+await 20(msで残り5msだけ待機) = 掛かる時間20ms
>>199 FPVは確かに一人称視点だがシューティングゲームの要素が入るとFPSという
この時間帯に書き込むとヒッキしてると間違われそうで怖い;
一応、昼間暇な職業なのでその辺よろしくです。
>>201 waitとawaitだったらawaitの方が良さそうですね。
昔使ったときCPU使用率が10%前後まで上がったような・・・
これは関係ないですかね?
で、パッチ鯖は完成しました。
【機能】
・バージョンチェック
・付属ファイル 破損チェック
・更新内容チェック
今から認証鯖に取り掛かります。
一つのクライアントで全サーバー移動を記述すると大変ですね。
最初はパイプライン経由でどんどん起動・終了しようと考えたのですが・・・今書いてるのはレベル管理(変数)でして;
みなさんはどんな方法使ってますか?
パッチ鯖と認証鯖分けて連動させるの面倒くさかったのであわせました。
以前は認証数24人にしてましたが・・・専用サーバー作る予定なので256人に修正。
通信暗号もクライアント→鯖のみにして軽くします。
【CON】
【tcp_CL】バージョン → 【tcp_PT】バージョン判定
【tcp_CL】結果 ← 【tcp_PT】TRUE,FALSE
【tcp_CL】定義MD5 → 【tcp_PT】MD5比較
【tcp_CL】結果 ← 【tcp_PT】TRUE,FALSE
【tcp_CL】ユーザーMD5 → 【tcp_PT】MD5比較
【ログイン試験回数を+1する】 ・・・もし3回以上なら凍結。
【tcp_CL】結果 ← 【tcp_PT】TRUE,FALSE
【FIN】
【通信レベルを+1する】 ・・・ ロビー鯖に移行。
こんな感じでしょうか?
速ければ今日中に稼動できそうです でわ〜
で、↑の構図だと何回も通信してますができるだけ一回で済ませるために
認証のためのパケットを作っておくと便利だと思います。
HSP(PCBnet)だと特にパケット自体の操作できないみたいなので・・・その中身の話になります。
だから、専用の凡庸スクリプトを用意しました。
METHOD = 命令
CLASS = 要素
cMAX = 要素の数
c(n) = n番目の要素
HEX = 通信最大byte数(512が妥当)
cMAX = 16
sdim c,HEX,cMAX
getstr METHOD,BUF(n),0,'[' : getstr CLASS,BUF(n),strsize,']'
SIZE = 0
repeat cMAX
getstr c(cnt),CLASS,SIZE,',' : SIZE = SIZE+strsize
loop
実際に使うと login[1.00,管理人,12345] という文章だけ解釈できます。
通信回数もかなり減ると思います。
if (METHOD = "login") {
if (VER = c(0)) {TRUE} else {FALSE}
・
・
・
}
と、とりあえず参考程度にみてください。
>>206 うほ。getstr命令でCSVが処理できたのか。csvnote命令は要プラグインだったので
instr命令とstrmid命令の組み合わせで処理してましたよ(苦笑
無人島では先頭が命令で以下は全てパラメーターとして処理しています。命令ごとの
区切りは改行コードで、各パラメーターの区切りコードは「,」です。
911さんのもそうだと思うけど、アカウント名とかで区切りコードを使われないように
ダメ文字チェックは欠かせないと思います。そういう意味ではあまり区切りコードを増や
さないほうがいいのではないかと。もしくはセパレーター使われた時はメタ処理するか。
>>203 HSP2.6以前でawait命令を使用すると、実際の負荷とは関係無しにCPUを100%使って
たりします。CPUの温度の上がり具合から見ると本当に100%使い切っているわけじゃな
いんですけど、なんか表示ではそうなってしまい。
ちなみにHSP3からはこの不具合は無くなっています。でも専用エディタで、たまに
変数に前後の半角スペースがくっついて別の変数扱いになるバグはたまらんす。
>>207 無人島のみてみましたがすごくスマートで驚きました。
CSV・・?あまり詳しくないですが、もともとノベルゲースクリプト言語作ってて↑の方法思いつきました。
アカウント名のチェックのこと忘れてました。(;
私の場合はa~z,A~Z,0~9の文字コード検索してそれ以外はダメとかですかね?
日本語での登録は弾いて、ニックネーム機能で可能にしようと思ってます。
基本的にプログラムというものが分からないので制限で押さえ込もうかなと orz
>>208 なるほど・・・ではawaitで決まりですねw
まぁ、CPU100%だろうと専用鯖なので気にしないですがw
HSPエディタが突然落ちるのには萎えます。
この前なんか一回も保存せずに200行ぐらい書いてて・・・ orz
そいえば、無人島ソースって変数が日本語ですよね?すごく見やすくてよかったです。
今日本屋行ってきました。
MMORPGゲームサーバープログラミング
っていう本探してたんですが、売ってなかったですorz
マジですか・・・昨日発売?だったのかな?らしいです。
アキバみたいな専門書揃ってるとこじゃないとないかも。
単価高いから。
いや・・・本当に他の製作者から意見もらったりできるのは嬉しいや。
普通にアカウントのこととか忘れてたし;
あ、今日も5:00〜11:00居ないです。でわ。
ちなみにログイン画面ってGUIで実現してますか?
今、2Dスプライトでそれっぽくしようか悩んでます。
なるほど・・・じゃあ、GUIでいいや。
できたらここにアップしますのでテストよろしくです。
じゃあ、残り1時間がんばります。
こんばんわ〜
誰もいないみたいですね・・・では、マッタリギコナビ立ち上げて待ってます。
今やってるのはシステムコンソール作ってます。でわでわ。
簡易認証サーバーできました。
ソース汚いですがアップしますか?あと、サーバー立ち上げと来ますか?
とりあえず、2:00までは起きてますんでノシ
アップしてくれると助かりますです。
テストできますか?
どうですか?
とりあえず、内部処理はわかると思いますが・・・
暗号化や最適化は絶対必要なので各自よろしくです。
無人島の作者の方も見て評価頂けると嬉しいです。
誰もいないのかな?
今日は寝ちゃおうかな・・・
イイですね!
サーバーうまいです
ちょっとパクっちゃおw
あ〜パクッて構いません;
恐らく今後かなり変わってくるので・・・
明日までに
・アカウント名文字制限
・暗号化
・不正パケット破棄
を付加して公開しますね。
おお!楽しみですな
こちらもガンバって製作中です。
まだ公開とまではいきませんがorz
明日からの認証サーバーのソース公開はできませんが許してください。
セキュリティ上の問題があるので、内容をほぼ70%は書き換えます;
ふと認証鯖で必要な機能ってなんだろう・・・と思ったり。
うひょ〜70%!!!
すごっ!
必要な機能はよくワカンネ
101さんは困ってる部分とかあったら一緒に考えましょう。
オンラインゲームしたことないのに作ろうとしてる自分がアホみたい;
どなたかおすすめありますか?(w
あれこの時間って人いないのかな?
この前に比べてレスないですよね;
>>227 困っている部分ですか〜
暗号化くらいですね
いろんなモジュールを使ったりしてたんですが
なんかエラーが出たからw
オンラインゲームは個人製作のEternal Onlineをやってます
暗号化ですか・・・
かなり奥深い世界ですよね;書籍の秘密の国のアリス(暗号技術入門)でかじった程度ですが・・・
一番簡単な暗号方法はXORといわれる方法です。0と1をズラすだけですが・・・読めませんw
BUF = "あいうえお"
KEY = 124
repeat 2
repeat strlen(BUF)
word = peek(BUF,cnt)
word = word^KEY
poke BUF,cnt,word
loop
mes BUF
loop
エターナルオンライン?
ちょっと探してみますね・・・どんなのだろうかw
んだふぉうえあのだkふぁkjkj!!
すげ〜〜〜〜!!!個人製作か!!エターナル・・・
ただデザイン専門の人間から言わせると少し甘いかな?
自分だったらUIとかキレイに揃えてあげるんだが・・・にしてもすごい。
やる気でたので開発しまくります!!
UIってなんですか?
GUIのような操作する部分ですね。
ウィンドウ枠とかチャットmesboxだったり・・・まぁGUIだけど。
自分が考えてるのは2Dスプライトで独自UI取り入れようかなと。
あ〜・・もちつけ自分。
なるほど〜
GUIか〜
あ、ちなみに誰かRPGの技術教えて頂ける方いたら是非にお教え頂けると嬉しいです。
どうしてもゲーム系の処理は苦手です・・・
エターナルオンライン詳しく調べてみたらすっごい・・・サーバー構成とか気になる。
パッチシステムもすげー。(でも、インストールで止まるのはなぜだ?
今夜の11:00頃に認証鯖たてるのでハッキングやバグテストしてください。
ハッキングは書き換え可能か?パケット解析可能か程度にしてください。
バグテストはいろんな処理を試してください。256人まで可能にしてあります。でわ〜
テストURL:nekonoteigi.ddo.jp:3301
今帰って来たばかりで用意してませなんだ;
さらに仕様変更なんかするのでやぱっり12:00からにします。
うひょ〜12:00からか〜
それまで暇やな
昨日のクライアントを実行してみて
パスワード用ボックスは*文字で表示するようにしたほうが
いいと思います
俺はそうしてます
あ。本当だ・・・sendmsgでしたっけうん。
ちょっと実装してみますね。ありがとうございます。
そうです
がんばってちょ
実装できました。(sendmsg objinfo(1,2),$cc,'*'かな?
確かにこの方がそれっぽいかも・・・
となると、パスワードは2回確認したほうがいいですかね?
ちなみにageってあんまりしないほうがいいですか?
ルールわからんので;
2回確認した方がいいかもね
俺は一回しかしてないけどorz
俺は別に気にしないから、ageてもいいよ
でも、他人に迷惑かも
ありがとw
参考にするよ
>>243 ありがとうございます。
う〜ん、ソフトウェア設計についての部分は読んでみました。
なるほど・・・プログラムって組むだけじゃなくてやはり計画性と保守性も・・・難しいな
やべ・・・時間が迫ってきた;
もっと自己テストしなければ orz
余りageない方がよいみたいですね;
とりあえず、20位まで下がったらageます・・・すいません。
いや、20以下に下がっても
あげんでいいよ
むしろずっとsageで十分かと。
わかりました。
合間を取って100以内をキープすればいいよ。
ガンガン開発してまとまったらさっさと独立したほうがいい。
2chは小規模MMOとかに移ればいいよ。
2ch発のmmoで理想的な独立をしたのにスクラップブックオンラインがある
なるほど、わかりました。
こちらでまとめて移動します。本当にアドバイスありがとうございます orz
え?もう?
?
接続デキター
よっしゃ〜w!!
あ・・・接続できますか?
>>252 軌道に乗るまではこっちで頑張るでしょw
さすがに早すぎ
>>251 独立の目処が付いたら開発用の掲示板は別に用意したほうがいいよ。
2chはファンスレ化させたほうが住み分けが出来てよい。
まだゲーム自体はできません。とりあえず、ユーザー管理鯖のテストです。
あと追加した点としてシステムコンソール(上部)を付けました。
先ほど鯖に接続されたのを見たとき感動しました。これがプログラマの喜びなんだなと・・・
しかし、まだまだ同期鯖やら残ってるのかぁ・・
>>256 確かに独占してるのはいかんなと思ってました。
こちらには状況と結果など手短にすることにします。
おぉ!!すごい・・・テストしてる人結構いますねw
やばい・・・本当感動する T∀T
早速ですが一件だけ
ボタンを押した後でも入力ボックスが変更できるので
接続開始メッセージが出ている間に手を加えると特殊文字も余裕で入ります。
できればボックスはロックしたほうがいいかと。
非表示にするのがお手頃。
>>259 確かにバッファチェッカーがレッドになってました。
一応、アカウントファイルの中身はみても平気ですか?
う〜んクライアント側での処理だとやっぱり怖いな・・・
今後はサーバーに実装するようにしますね。
遅れてすいません。
連続書き込みがどうたらで・・・書き込めませんでした。
LFコードと!"#$%&'()=~|/*-+程度なんで大丈夫かと。
パケット覗いてみたらパスワードそのまま出ているようで。
これは今の段階では見えていてもいいんですか?
今日のテスト鯖は一旦停止します。
総テスト数・・・108ファイル(重複含む)確認できました。
ありがとうございました。ノシ
今日、報告が3つありましたのでそれを修正して今後取り組みます。
でわ〜
別に自分のパスワードが見えたって構わないのでは?
アカウント名は隠蔽されていたのにパスワード剥き出しなのが気になっただけです。
一応ネットワークに出すときは隠したほうが無難かなと。
>>262 あ〜今の時点では暗号化してません。
なにやら間違えて復号したらしくパケットがずれてしまい失敗しました。
やはり、この辺は書籍読みながら考えようと思ってます。
他にも丁寧にアカウントファイルをご自分で生成した方いました;(チェッカーでわかりますorz)
MD5のハッシュで・・・すごいすね・・・いや、マジで・・世の中すごい人ばっかり・・・
え〜使ってた途中で鯖消してすいませんでした;
ver200591のテストを終了します。
今後の課題
・サーバー側での文字コードチェック
・パケットの暗号化
ですかね・・・ありがとうございました。
他に気になった点はありますか?
明日は休みなので一日中寝ないで起きてます;
そんでもって、チャット製作に入ります。
修正終わったもの
・サーバー側での文字コードチェック
・第三者によるパケットの破棄 (試験的に導入)
暗号化がうまくいかないなぁ・・・
XORでさえうまく流れてくれない・・・
SBOとても参考になります。
紹介頂いた方ありがとうございました。ノシ
今日のPM12:00に再度認証鯖テストお願いいたします。
クライアントソフトの公開は12:00ぴったりにします。
そこでエラーなど無ければ次のステップに進みたいと思います。(一応、チャットは完成してるんですが…
まだ、問題点が残ってて暗号化しようとするとパケットが壊れるみたいです。
これはPCBnet2使ってるで人おきてる人いますか?
APIってわからんです・・・ orz
271 :
911:2005/09/03(土) 07:04:07 ID:E7cIYtge
悪いんですが…こちらに書き込むの最後にします。
悪い癖ですぐに書き込んでしまうのでギコナビremoveしますた〜ノシ
エエェェェ!!
もう来ないの?
>> 911 ◆RfGLxICaUo
なんでそんなに撤退したがるの?
HPには卒業とか書いてるし。
意味わかんねぇ。
実際開発してるんだし、ゲ製作技術板らしく、
開発に関することを今まで通りドンドン書き込めばいい。
SBOだって「ドラクエのようなものオンライン」時代は2chでやってたんだけどなぁ
911の脳内にあるものが全て輪郭を帯び始めるまではここでやっててほしい
275 :
911:2005/09/03(土) 13:37:50 ID:E7cIYtge
いや…過剰に書き込んでて独占してる気分が;
あと、スレを日記みたいにしてるのではと
書き込む量を減らせばこのまま続けて平気ですかね?
276 :
911:2005/09/03(土) 13:39:13 ID:E7cIYtge
sage入れ忘れました。すいません。
他に使ってる人いないんだから問題なしだろ。
ある程度纏めたら独立ってのは
β厨が勘違いして荒らし始めるのを見越してのことだよ
技術的なアドバイスが必要ならここに居たほうがいい
αのうちはここの住人は頼りになる。
βになったらここの住人は敵と思え。
ドライに取捨選択ができないならネタ募集なんて厳禁だ
本当に構ってチャンみたいですいません・・・少しづつ技術乗せてがんばります。
迷惑ばかりかけて本当にすいませんです。
一応、今夜また鯖テスト行うことにします。
どうしても暗号化のところでパケットが壊れるようで困ってます。
どなたかソース読んで処理について意見頂けないしょうか。
ちなみに暗号化の方法はXORです。
>>272,273,274
寝てなかった&うまくいかないせいでかなり欝になってました;
このまま続けてα完成させるまでがんばります。
どんどん書き込んじゃってよw
何でトリップ消したの?
トリップ付いたw
☆ チン
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・)< PGまだー?
\_/⊂ ⊂_)_ \_______
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
|  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|
| .|/
>>281 専ブラ消したので、設定も全て消えていただけだと
うまく出来たら今日中にテストするかもw
まだゲームは出来ません。
認証テストです
>>287 公開する事でセキュアではなくなるなんてセキュリティーにはなっていませんよ
秘密主義のセキュリティーは警戒すべきですっとセキュリティー方面ではよく言われていることです
>>288 わかっていましたが・・・自分ではどうにもならんと思って公開しました。
が!
今バグの箇所発見してしまいました。バージョン送信部分が誤ってただけです。
ソースある人はクライアントの*START行の処理を直せば動くと思います。
MSG=”なんたらかんたら” : tcpsend MSG,0,SIZE,PT_SOKET
↓
MSG=”なんたらかんたら” : gosub *SEND
というわけで公開中止;
あ〜なんて馬鹿してるんだろうか・・・でも、気づいたからいいか。orz
今から大幅な変更をいくつか行おうと思います。
今後はもう少し考えて公開することにします。
・・・作ってる人は使えそうな処理とかパックてください。それで浮かばれますw
>>289 おー動いた動いた
そっかー、昨日の夜(というか今日?)200591のEXEをDLしてやってみたけど
あれ、ロビーで止まるな?
と思ってたらまだそこまでしか行っていなかったのね
そうなんです。
一応、他も完成してるんですが・・ステップアップさせながらにしょうと思ってます。
>>287 まあ良くあるノンブロッキングI/O鯖ですな
個人的に暗号化は必要ないと思うよ
>>293 何かつけた方がよい機能とか注意とかありますか?
暗号化は今悩んでます。処理量はさほど変わらないみたいなので・・・
>>294 logoffするのはsocket切断ってのが気に掛かる
所謂MPKの温床にならないかな?
?MPK・・・今調べたところmonster player killerということですか?
>>296 みたいね
295が言っているのは、モンスターを呼び寄せといて、
他のPCの近くに行って切断みたいなことかな?
>>296 そう。敵Mob経由のPK(player Killer)。
PKが許されてるシステムでは、落ち逃げという行為に当たりゲームをつまらなくさせる。
PKが許されていないシステムでは、身の丈に合わない敵陣に突っこんで
釣れて来てから落ちるということが起こる。
logoutコマンド発行時は10秒間その場で待機させてから落とすとかがオススメ。
なるほど・・・それは確かに重大な問題ですね。
う〜ん、MPKについて調べたり・資料集めます。
やはりシステムとルールが関係してきましたか。
対処方法探します。
たとえば、ログオフするときに一度ロビーに出るようにして・・・
セーブ処理の時点(10秒くらい)で画面内ユーザーがMPKコマンドを押された
さらに、画面内で死亡者がでてる場合にMPKと判断して一時凍結するなど?
さらに、運営者側はログを確認してリプレイしてみて確認するなど・・・
どうでしょうか?
終了処理を強制的に切断できないようにプログラムを制御してみたりします。
>>298 お、なるほど・・・
実際に調べただけでも、大手でもMPKやってる人いるんですね。
>>299 リョウカイ!
>>299 あ〜起動できるんですが、接続できてないかもです。
サーバーURL教えていただければログ確認しますが・・・
アカウントファイルできていましたよ
サーバーURLってIPですか?
>>301 10秒くらいロックして、さらに死亡時にも別のロックを掛けて
死亡時は敵に貪られるようにしとけばおいそれとMPKはできないけどね。
釣りをしてると判定(PLへのターゲット数とかでね)されたら
こいつやっちゃってもいいよフラグが他PLに知らされるとか。
つまり釣りをしてたPLを他PLが即殺してリスクを負うようにできると。
パーティプレイをしてるならPLを狙わないようにして楽しい狩ができる。
あと極力プレイ内でのログ解析は避けたほうがいいよ。
ある程度開発が進むと911が鯖だけ起動して放置って時期が来る
管理人が処理しなければ対処できない問題はなくすべき。
って、おしつけがましいな。今回はこれくらいで。
正しいアカウントでも名前orパスワードが違うと言われてしまいます。
あと、ログインや取得を押したら他の操作をロックするようにしたほうがいいかと。
>911氏
クライアント側の文字チェックを外したようですが、念のため残しておいたほうがいいかと思われます。
>>306 自分で確認したときは、ちゃんとできたんだけどな〜
操作ロックか。 実装してみる
鯖閉じます
接続デキターー!
けど、アカウント読み込みができてないぽいです orz
アカウントファイル内を確認してみてください。
>>299 起動後すぐ鯖に繋ぐのは勘弁してください
すっげー焦った^^;
ファイル内には、ちゃんと
アカウントとパスワードが入っていましたよ
自分で確かめてみましたけど
ログインも出来ました
>>306 どんな名前を使っていたか教えていただけますか?
>>299 あっそうですか。
じゃあ直しておきます
今鯖立てましたので、ログイン出来るか試してみてください
>>305 なるほど・・管理者が解析するというのはシステムに入れないほうが良さそうですね。
MPKやられた側は救済措置のロックを2重にする。
MPKやった側は指名手配的なフラグを横に出すとか・・・
なるべく実際の世界と同じようにユーザー行為がユーザー行為で跳ね返るルールを作りたいです。
>>306 わかりました。
文字コードチェックを戻しますね。ありがとうございます。
>>331 ログインはできませんね・・・
ユーザー:911
パスワード:test
で、試してください。
接続までに少し時間がかかってるぽいですね。
もしかして、以前書いてあったAirH'ですか?;
>>312 ちなみに
>>305を補足すると
10秒くらいロック → ログオフ時にそのPLキャラが動けなくなる時間の意
死亡時にも別のロック → 死亡後にイタズラされちゃう時間の意
死亡時は敵に貪られる → アイテム盗んだり、死体を損傷させてステータスを下げたりの意
> ユーザー行為がユーザー行為で跳ね返るルールを作りたい
俺もこの方針が一番大切だと思うよ
ほんとに出来ませんね
直してみます
>315
接続も出来ませんか。
なんでだろ?
接続できるけどログインでダメってなるね
>>316 はい、そうです
秋ごろにケーブルテレビにしますので
それまではAirHです。
ちょっと直してみました
出来るか試してみてください
>>317 その内容に少しシステム的な変更加えて実装してみますね。
あ〜共同制作っておもしろいですね (^-^)
そろそろ、こちらでまとめた情報を載せるページつくらなきゃ・・・
>>320 AirH'・・・意外に接続できますね;
私の契約したときは全然1kbps出ませんでした;(都内なのに
ちなみにログインログは残した方がいいですか?
なんか起きた場合の為にIPの記録とか必要ですかね?
今日のテストに認証鯖テストまで付けてみたいです。
>>322 正直いうと微妙…個人的には要らない
デバッグ中はしたほうがいいけどね
DEBUG ! 0の時だけログを出力する関数設けとけば?
>>323 なるほど・・・貴重な意見ばかりだ。
では、12:00までの実装内容は
・ログアウト処理を段階的にする
・クライアント側にも文字コードチェックを導入
・暗号化(試験的)
・デバック関数の導入
てな感じでいいですか?
あと、今日もロビー直前までの処理でとまります。あしからず;
まだ原因がよくわからないorz
またちょっと修正してみましたので
テストお願いします
このバグはなぜか
自分のパソコンだけでテストしていると
出てこないみたいなんです。
>>324 自分のペースで頑張れ
>>325 接続に成功してログインで落ちる
nick:phobos pass:deimon
あ〜ソース見たり実験しないと原因わからないので;
自分はプログラム苦手なので無理そうです・・・
大まかな流れなんかを教えてもらえればわかるかも。
>>328 全然平気ではないですか?
私の手抜きな方法よりかはいいかな・・・orz
>>328 その中の8工程すべてにログをはかせるといいよ
デバッグログなしで開発するのはちと無理がある
ログインする時に
サーバーが乱数を作ってそれをクライアントに送る
その乱数を付けてレスポンスを作成してサーバーに送る
という処理の辺でおかしくなっているみたいです。
この処理をどうすればいいか・・
認証鯖にクラック防止として3回以上失敗すると凍結する機能つけました。
凍結をどう解くかは悩んでます;
あ〜認証鯖のテスト時間9:00とかに早めてもいいですか?
諸事情で・・
あと、今日のテストが終わればゲーム鯖と同期鯖製作始めますね。
ノシ
>>334 endしたら・・・アタックされたユーザーが遊べなくなりますよ;
今から接続しますね。
接続失敗しました;
鯖立ててますか?あれ・・・タイムアウト?
>>334 間違えた。endとはプログラムのことですね・・・
それでも、また起動してアタックするといつかは可能ですよね。
一般的なmmoゲームだと凍結後の処理はどうなってるんでしょうか。
調べなきゃ。
鯖立ってってますけど
DLしました?
>>334 接続完了できました。それと、問題箇所のログインも完了しました。
おkkみたいです!
>>339 やった〜
確認ありがとうございました。
ゲームとチャットの方の開発に移るかな
基本的な部分は出来てるから
戦闘やアイテムの辺かな?
鯖通信遅いから、リアルタイムの移動ヤバイなorz
瞬間移動の連発かもw
どうやら
アカウント凍結→管理側が連絡→ユーザー確認→アカウント回復
らしい。
つまり、ユーザー確認の為に最低限 相手のIPと本当のパスワードを教えてもらう必要がある。
ということは・・・自然とアカウントIPログは必須となるらしい。
パスワードはなんらか連絡をもらうしかないか。
>>341 俺はアカウントファイルにIPアドレスを保存するようにしてます
tcpinfoだったけな?
これでIPわかるから、保存しとけばイイ
>>345 ありがとw
一応鯖立てておきます
いつでもテストどうぞ
>>344 クライアント ver 0.1b.exe
2005/9/3 18:44
を使っています
>>340 お、期待ですw
私はまだチャット鯖と同期鯖のところで通信が固まってます。
チャットってすっごい負荷ですよね;
ゲームの処理と同じかそれ以上に・・・通信制限したくないしなぁ。
鯖通信量は後々あがるなら先に同期機能考えたほうがいいかもです。
結構難しいです。
>>343 なるほど・・・ちなみにどの程度記録してますか?
POXYとかって弾いた方がいいですかね?
>>343 IP記録機能つけてみました。
なるほど・・・フルで処理させると鯖負荷が5~8%あがったです。
あ〜別鯖からLANで通信させればいいのかな?
>>344 あれあれ、繋がらないと思ったら
*.ngn.mesh.ad.jp にPING打ってみたらタイムアウトですか
繋がらないわけです
>>347 出来ないですか〜
ファイアウォールとか関係してるのかな?
>349
5〜8%も!!
毎回IP取得してますか?
>>351 すんません
ファイヤーウォール停止したら繋がりました
なにやら、許可してあるのに学習?でかってにブロックされていたみたいです
>>351 アクセス毎に比較・保存。
アクセス時間の取得。アクセスナンバーの保存を行ってます。
まぁ、NPCの128人のテストの場合ですがね;
ほぉ、俺と同じだ!!
時間は取得してないけど
時間は取得したほうがいいかもです。
ユーザーにアクセスしたかどうか問う場合を考えて。
それもそうですね。
じゃあ、ちょっと組んでみる
え〜新しい鯖とクライアント公開するので是非ハッキングお願いします。
ハッキング内容【書き換え・パケット盗聴・ファイル盗聴】
バグ報告【とにかくなんでも】
今回は
・パケット暗号化
・文字コードの相互解析
・パスワードアタックの制限
・ログ保存
では、お願いいたします。
9:00〜11:00の間のみ稼動させます。ノシ
http://nekonoteigi.ddo.jp/
>>358 「今回はここまでです」っていう文字が出る前に
画面がちらつくのがちょっと気なった。
あ〜・・・cls使って消したのでしょうがないかな。
現時点ではシステム構築が優先だとおもってるので;
画面自体は後々スプライトで表現するのでご勘弁ください。
ちなみにパスワードアタックしてみてもらえると嬉しいです。
ちゃんと凍結されるのか・・・気になります;
>>359 とりあえず、修正しました。
よく考えたら要らないとこにclsありました。
>>358 悪くないね。凍結解除は日時タスクでやればいいよ。
ユーザ名とパスはローカルで保存してやればいいし。
>>362 なるほど・・・その方法が・・・気がつかないとは。
さて、今日からチャットと同期鯖を作るにあたって
ゲームのシステムを考えようと思います。
先ほど出たようにMPKなどのゲームを実際にやったことある方ないとわからないことが多いです。
しかも、ルールはシステムと直結してるのでこれが決まらないとどうにも・・・・ orz
今mmoについての学会資料を読んでますが・・・
もうシュミレーションの域で個人で可能なのかと心配でもあります。
あと、DDoSした人やめてください。あと処理めんどいので。
同期鯖って何?鯖が複数あるの?
そうですね。
鯖0 = 認証・ロビー・同期 ・・・ ここで選択して鯖に移動。
鯖1 = (マップ1)【ゲーム・チャット】
鯖2 = (マップ2)【ゲーム・チャット】
・
・
みたくマップ毎に鯖管理できるようになってます。
あ、でも限界はLAN内の最大値100MBpsまでです。
だから・・・2〜3台が限界と考えてます。
畑が違う社会人なのかな?環境が凄い。(詮索は無粋だね)
個人的には単一鯖単一ポートで管理するほうがいいと思う
HSPを鯖にするってのが気になるんだよね
コンテストが目的なら仕方ないのかな?
C/C++やJava、あとはポテンシャルの高さで一部で高評価のDあたりがオススメ。
いいんじゃないでしょうか。
凍結はアカウント単位でやっていますか?
IPとセットで管理しないとアカウント名漏れたら他人が簡単に凍結できてしまうと思うんですが、
このへん実際のMMOではどういう処理がされているんでしょうね。
あ〜まぁ、その辺はうやむやに仕事はしてるんですが・・・;
プログラムは趣味なんです。
C++やJAVAを使って携帯アプリぐらいは作れますが・・・やはりHSPが結果見えていいですね。
どうせなら、できるとこまで作りたいと思ってます。
370 :
名前は開発中のものです。:2005/09/03(土) 22:15:32 ID:d5DW8qfN
>>363 DDoSつーのは一人でできる芸当じゃないですよ。
はは、BREWに手を出せるバイタリティがあるなら確実に俺より上だなw
372 :
名前は開発中のものです。:2005/09/03(土) 22:19:40 ID:d5DW8qfN
HSPは厳密に言うと(厳密に言わなくても)プログラム言語じゃないから、
近いうちに限界が見えてくるんじゃないかな。
373 :
名前は開発中のものです。:2005/09/03(土) 22:28:22 ID:d5DW8qfN
XORで暗号化ってマジですか?
それって暗号化じゃなくて単なる置き換えとは違うのかねぇ?
>>373 それぐらい本人もわかっているとは思うけど、たぶん
分かっていないのなら(ry
>>370 もちろん用意してたかのごとく大量に・・・
>>372 その場合はやはりc++に移行すると思います。
>>373 はい、今は見えなければいいと思ってます;
少しひねってますので時間稼ぎになるかなと・・・・
今SBOに参加させてもらってますんで・・・ちょっと返信おくれます。すいません。
参加してるのかw
はじまりの街に春うららさんは今もいるのかな
何もかもがなつい
SBOは一ヶ月くらい前にやろうと思ったら
アカウントが登録できなかったから
あきらめた覚えがorz
やばい・・・すごいすよ;
SBOじはすこし、わてのPCには辛かった
今・・・おもしろいっす。
あ、まだアカウント残ってたw
いや・・・すごい・・・
チャットコマンドの粋な部分は参考になるかもね
チャット作ってる間に楽しいコマンドいっぱい作るといいかもよ
何がすごいのか伝わらん。
うほ・・・自分が壊れていく:・・
SBOすごい・・・
春うららさんからのアドバイス「小さなことを積み重ねていけ」と・・・
やっぱり、RPG要素も覚えなければ・・
途中で参加していた方応援やらありがとうです。
ネット越しでもあがってしまい、何聞くかわすれました。
なんか知らぬ間にへんな悶えを書き込んでしまった。 orz
話しかけたんだw
その積極性はいいね
応援するよ
>>386 大丈夫でないです。壊れました。
>>388 いや、ほぼ春うららさんがサポートしてくれてました。
最初の方は何言いたいのかわからなくて困ってました。
わたしはあがってしまい・・・画面みてないい orz
決めました!RPGについて少し勉強します。
そんでもって、オフラインの作品できたらmmoの方を進めます。
>>390 ガンバレガンバレ
RPGはスミスプロジェクトで覚えたらどう?
俺はそこで覚えた
ゼルダとかからヒント得たほうがMMORPGとしては近道かな?
所謂アクションRPGだね
あと、暗号化についていくつか疑問いただきました。
それは・・・XORを暗号化と呼べるのか?です。
私個人は強力な暗号化とはいえませんが、暗号化だと思います。
ですが、暗号化するのであればそれなりのものを実装しようと考えてます。
現在のXOR方法は
パケットサイズを求めて、ポインタ毎にword^n\255してます。
いつかはばれる位なら先にばらし解きます。
でも、ゼルダみたいな1ドット単位で移動するのは100%無理だね
チップ単位じゃないと・・・
で、いまさらですが・・・今回の認証鯖はバグなどは無かったですか?
無かったと思いますよ
調べるってか任天堂のアレだよw
暗号化に関しては無意味と捉えてるから
負荷のかからない手段なら何でもいいとしか言えない
報告ありがとうございます。
それでは、次はロビー鯖の製作に入ります。
同時進行でオフラインRPGの製作もはじめます。
今後
・通信レベル1に移行する。
・ロビー鯖の製作
・アカウントタスクマネージャ製作(監視ソフト)
・オフラインRPGの製作
402 :
名前は開発中のものです。:2005/09/04(日) 01:01:05 ID:r6In7f42
>>394 鍵もないのにどうして暗号化と呼べるのですか?
>>402 暗号技術の基本項にはXORが含まれてます。
あと、当XORにもKEYは存在します。
私はプログラマでないのでこれ以上の討論は控えさせて頂きます。
あ〜そいえば暗号化・・・hspでDESとか使うのは厳しいかな。
>>402 う〜んでは暗号化でないってことでいいです。
何かよい暗号方式などご存知でないでしょうか・・・書籍に沢山あるのですが
どれが実用的なのかわからないです。
クライアントは複合するためのキーを持ってるんだから
暗号の意味は伝送路中の盗聴を避けるのが目的になるよね?
ゲームのパケットを盗聴して誰が喜ぶの?
実質不可能でも理論上可能ってだけで
「セキュアじゃない」
ってことになるのが暗号の世界だからね
どうせ個人製作なんだし
人気が出てハッキングするような輩が実際現れてからでも十分と思われ
それよりゲームにあんまり詳しくないみたいだから
今はそっちのほうに力入れたほうがよさげ
>>405,406
そうですね・・・うん。
とりあえず、予定通り進めます。
>>368 レスしてませんでした・・・IPとセットでの管理を採用したいのですが・・・
ちょっとテスト兼ねて実装してみます。
>>368 登録時IPの場合のみ凍結しない対象にしました。
つまり、別の方がアタックすると凍結してしまいます。
ただし、本人が登録時IPで専用アカウントマネージャで認証できれば解凍することにします。
この辺は現存のmmoを参考に資料などを集めてみます。
?
>他の人が瞬間移動しますw
つまり、サーバーで移動処理してるということですか?
個人的にSBOで採用されてるクライアント補間移動するといいかもです。
かなりなめらかに動いてます。
あと、私の方はロビーを.hackを真似てOS風にしました。
実はこのデザインをしたかっただけだったり・・・macとlinuxみたいなorz
メール機能とIM機能も無意味に載せてみました。
ウィンドウもドラッグで移動できたり・・・でも重いからやっぱりいらないかも。
↑機能が実は以前から実現したい機能のひとつで・・
昔のサーバーとクライアントのネットワーク関係を自分でつくりたいなぁと。(保存・処理の代行)
ちなみにアイコンのD&Dやら一般的なOS作業は実装します。
で、アイコンからマップ選んでゲーム開始です。
メールアイコンならユーザー同士でのメールやり取りとか・・
壁紙かえられたり・・・一通りそろえたいなと。
ゲームの方はゲームの方ですすめるので許して下さい。
職業柄どうしてもデザインとか見える部分はきれいに作りたいので。
ちょっと昼まで出かけてくる
まだ鯖立ってますのでいつでもどうぞ
サーバーはキャラクタAはB地点(最初の座標はクライアントが持っていてもいいかも)から
C地点へ移動とチップ単位の座標をクライアントに送り、
クライアントはその座標を使いドット単位で移動
ってとこかな
>>410 DLしてみて動かして見ました
誰もいなかったんで2つ起動して動かしてみました
気がついた点を少し、
1.たまにアカウント名とパスがあっているはずだけどログインに失敗する(できるときもある)
2.パスワードが合っていないにもかかわらずアカウントを削除できる
3.片方で移動させるとキャラがまったく表示されない事がある
ぐらいかな?
>>416 報告ありがとうございます
まだ失敗することがありますか・・・
直さないとな
おはようございます。遅いかな?
えと、認証鯖では削除という項目はいれてはいけないみたいです。
簡単にいえばwindowsログイン画面で削除する項目ないのと一緒です。
ロビーという個人部屋にログインしたあとで各操作可能にした方がよいと思います。
>>409 CATVなんかだと動的にIPは変わると思うんだけど。
鯖側で登録証と証したIDを発行して、それで凍結解除してあげたら?
>>418 あれ、Winって現在のアカウントって削除できたっけ?
やった事ないけど、ログイン中に出来ても困るなすこし
まあでもパスなしで削除できるのはまずいっしょ
>>419 なるほど、登録完了時にローカルにIDを発行して
凍結を確認した場合そのIDを確認したら解除するみたいな?
なるほど・・・
>>419 殆どの人がIP変わるね(特にダイアルアップ)
家はアホーBBだけどたまに変わっているしね
まあ、正常ログイン時にIP更新ってのが普通の手段だと思うけど
結局はアカウントとパスはどうやっても流出するわけだし
なんかちがうか...
>>420 mmoの場合は他人管理という考えがないので自分管理みたいですね・・・
おそらく、ロビーではゲームと関係ない処理になるのでこんな設計になってると思います。
>>421 あとIDを確認した時点のIP以外では
数時間パスがあっていてもログインできないようにすれば万全。
こっちは繋ぎなおしても登録証があるから優先IPは変えられるしね
ログイン前は削除しないほうがいいのか
とりあえず今はこれでいいです
パスがあってなくても削除出来るバグを修正しました
CATVはIP変わってしまうのか
どうしようかな
>>424 登録証はどのような形がよいでしょうか・・・ローカルにハッシュ値を保存ですかね。
今の所3回以上登録IP以外の方が間違うとアタックできないようになってます。
で、アカウントマネージャというソフトが最終アタック時間を調べて3時間〜12時間後に解除するようになってます。
さらに↑待ちのときにユーザーからID確認できれば解除となってます。
>>426 やたらと重複せず、且つ決め打ちで破られないタイプのキーがオススメ。
そうなるとハッシュキーというのはいい選択かもね。
キーファイル方式とかどう?ちょっと目新しいと思うよ。
超ロングキーを書いたキーファイルを生成して
それをDnDでHSPのある画面に放り込むと自動でキーを入力して送信してくれるみたいにね。
これなら普通の認証と違って1度間違えたら24時間アクセスできないくらいの強度にできる。
>>427 一応、キーファイルを生成する方法を検討します。
ただ・・・D&D対応にするかは微妙です。ソースが長くなるので;
いまhspwinなるGDIプラグインで遊んでます。
すごくmadoなる命令がいいです。おもしろいなぁ〜・・・
>>429 了解です〜
私もロビープログラム公開しようと思います。
一応まだGDIをそのまま流用したものですが・・・OSぽくなるはずです。
デスクトップ。擬似UIとか・・・
あと、通信周りを最適化しました・・・そんな大層なもんでもないですが;
今日は5:00〜11:00の間に仕事が入ってるので・・・
4:30に公開します。是非アップデートして下さい。
鯖は帰ってくるまで稼動させときます。でわ・・・お待ちを。
ログインを確認できました。
アカウントとパスがあったいるのに
ログインが出来なかった人いますか?
今回のバグは
1.キャラが消えることがある
2.チャットが非常にやりにくい
3.ログアウトしたのにキャラが残ることがある
くらいはこちらで確認できました。
全部大体原因がわかっているので
早く直します
他にバグあったら言ってください
チャットの送信はどのボタンがいいですか?
Enterでしょ?改行なんて普通しないよ。
ファンクションキーにチャットウィンドウ表示/非表示を割り当てて
表示中はキーのフォーカスをチャットに渡す方法とかオススメ
Enterでやろうとしていたら
文字を確定したあとにすぐ送信されてしまうから
困ってたんです。
instr 命令で \n があったら送信とやろうとしても
なぜか送信されませんでした
>>435 HSPってKeyPressイベントって取れる?
変換ならキーコード13って取れなかった気がする。(FlashやJavaScriptなら)
KeyPressか
ありがと
調べてみる
>>431 気がついた点
1.同じPC内で3つ起動して同じアカウント名とパスを使って3つともログインできる(同じキャラが3人も!)
2.最初は認証を弾かれました。もしかして、サーバー起動する前とか削除してますか?それならいいのですが
>>431 ゲームとは関係ないけど
3.なんか通信が安定しない....まあいいですけど
>>432 気がついた点
1.同じPC内で3つ起動して同じアカウント名とパスを使って3つともログインできる
2.わざわざメニューまで実装する必要はないんじゃないか?
半透明とか、こだわるなら別だけど
>>435 onkey命令でキーコード13を取れました。
でも、この命令を実行したあとに全く関係ない命令でエラーが
発生してしまいます。
どうなってんだか
>>438 報告ありがとw
同じキャラでログインできるのは、今のところ仕様です
まだ実装してません。
サーバーを起動する前にアカウントを消しています。
弾かれたあと、アカウント取得をしたら
ログイン出来るようになりましたよね?
>>441 HSPにはgotoとgosubがあるみたいだけど
どっち使ってる?
>>441 onkey goto *hoge
stop
*hoge
stop
とかかやってますか?
それとも
onkey gosub *hoge
stop
*hoge
return
ですか?
onkeyはどうか分からないですけど、oncmdではgosubを使うほうがいいらしい(標準の処理をさせるため)です
あ、WM_KEYDOWNをoncmdで使ってみたらどうですか?
仕様ですか、そのうち実装される事を願っています
やはり、消していましたか
登録したら、3回ぐらいログインをやって全てで成功しました
gosubの方使ってました
そうしたら、別の場所にあったif文やstick文でエラーが出ました
returnじゃなくてgotoで戻ってない?
他の構文に影響はでないはずだけどなぁ
returnで戻ってますよ
onkey は プログラムの最初の方で一回使えばいいんですよね?
どうしても出来ないです
別の命令はないですかね?
>>449 #define WM_KEYDOWN 256
oncmd gosub *hoge,WM_KEYDOWN
stop
*hoge
return
とか?
onkey命令ってawaitかstopのときに実行されるんだよね
awaitの場所を色々変えて試してめてわかったけど
awaitの次にある命令でエラーが出るみたい
HSP3でしてるの?
HSP2.6だよ
456 :
名前は開発中のものです。:2005/09/04(日) 20:11:33 ID:8Kz8uT6D
スミスプロジェクトとっての参考にしてるなら
そこのチャットそのまま使えばいいじゃん
自分の求めてる形があるなら
それのやり方を聞けばいいんだし
ほんとだ。あるんじゃんw
スミスプロジェクトのチャットですか
まぁ、それしか方法ないのでそれでやってみます。
さきほど、4人くらいでテストをしていて
またバグが見つかりました
1.ログイン時にパスワードが送信されていないときがある
2.ログアウト後にキャラクターが画面上に残る
3.内部エラー:255が出るときがある
くらいかな
1と3は人によって変わってくるみたいです。
内部エラーは1人だけ出ました。
理由はまだわかってないです。
あ〜なんかこちらで101さんが開発してるみたいなので・・・
私は私で別の掲示板で開発します。(競ってるみたいで嫌だ;
ちなみにinputでチャットよりもmesboxをsendmsgでスクロールバー消せば平気です。
さらにいえば・・・
オブジェクトを表示しなければ良いです。
そんじゃ、また機会があったら。
>>460 ん?結局消えちゃうの?寂しいこというなよ。
ログイン時のバグをもう一度直してみました。
キャラが画面上に残るバグですが
ログアウトした人のIDを消していないから
そのまま描画されていたと思っていましたが
ちゃんとIDは消されていました
なので、原因不明です。
内部エラーはもっと不明ですorz
修正点
チャットの不具合を修正
ログイン時のエラーを修正(出来てないかも;)
同時接続可能人数を30人→50人に修正
11時ごろにテストしたいと思います
よかったら参加してください。
別に今でもログインできますがw
911さん、もう来ないのか〜
違う板ってどこ〜?
ここにいてよ〜
他でやりたいなら自分の好きにしたらいいじゃん
同じやり取り何度もうぜーし
最初に101さんがいたようですし、
こちらの掲示板に半年前から貯めたアイディアなりを簡単に書いた自分に後悔してます。
まぁ何がとかではなくて・・・それが今になって大分精神的に厳しいかな〜と。
今から作ろうとしてる人のためにしたことがなってないのが辛いです。orz
違う板とかではなくてなるべく迷惑かからないところで細々やりたいです。
う〜ん疲れてるのかな・・・飯食べてきます。でわ。
>>440 3つログインできるのはまずいっすね。
認証鯖側で弾くなり・・・実装しますね。
今考えてるシステムにはメニューが必須でして・・・主体はアイコンもなんですが。
ブラウザ的な要素がほしいので。
それじゃ〜
101さん完成したら教えてくださいノシ
>>463 現在何をしているのかがわからない
6910チャレンジとかのエラーメッセージが意味不明
>>463 あっそれはエラーじゃないです。
ログインできないですか?
受信内容が何故か送信変数に漏れ出してシステムエラーで泣かされたおいらが来ま
したよ。
受信の仲介を行ってた変数が、まさかオーバーフロー起こして送信準備用の変数に
データが流れ出てたとは…。あえてsdimとかで確保しないほうがよいのかも。
…はあぁ、やっとクライアント側がいじれる…
>>460 ありゃりゃ、せっかく盛り上がってるなーと思ってたのに。っていうか、板自体過疎って
るから、目的が同じなら遠慮せずに書き込んでほすぃ。
でもまぁ、もう動いているモノがあるんだから別スレ立ててもいいけどね。
>>470 ひゃっほーい やっとチャット入力部のところが完成しました。前回は変換中のEnter
とそうでないEnterの区別が出来なくて、泣く泣くctrlキーで送信してましたが、今回は
ちゃんとEnterで区別して送信できるようになりました。
なんだ…「以前の文字列の長さ」は「Enter以外の時のみ」で取得しておけばよかった
のね…orz。キーの入力とは関係無しに保持していたから文字数の差が出てなかった
みたく。
ともかく匍匐ながら順調に前進中。
#「MMORPGゲームサーバープログラミング」注文したけどぜんぜん音沙汰無く。
大変申し訳ないのです・・・新スレ立てさせて頂きました。
ここまで辿り着けたのはここで意見がもらえたからだと感謝してます。
自分勝手で本当に申し訳ありません。
せめても、きちんと完成させます。
今までありがとうございます。そして、これからもがんばってください。
スレのURL位書いていこうよ
同時接続可能人数が多くて処理が遅くなってしまうので
人数を50人→10人に減らしました(減らしすぎかな;)
鯖がよくなるか、テストプレイヤーが増えるまではこの人数でいかしてもらいます。
まだMMOと呼べるほどのものじゃないですが、何か要望とかあったら言ってくださいな
あまり変わりないですが最新版をうpしました。
細かいところを見直したりした程度です。
DLは
>>463からどうぞ
476 :
名前は開発中のものです。:2005/09/05(月) 21:20:27 ID:TznQaVJ5
MMORPGゲームサーバープログラミングを立ち読みしたけど、
今時Cでやるとは、発想が20年くらい遅れていると思う
レベルが高い開発とは、既存のクラスを使い、出来る限りプログラミングをしないことであり、
この本の著者のように、何でも自作してはいけない
本の中ではXORを使って暗号プログラムを作っているけど、もっての他
システムの安定性や保守を考えると、自作プログラミングは何の役にも立たない
他にも韓国人が著者のゲームプログラミングの本などもあるが、その本もCを使っている
韓国では、オブジェクト指向の教育をやっていないのかも知れない
Cを使って、ゴリゴリとプログラミングをするのは、20年前の話
今のSEやプログラマは、UMLやオブジェクト指向を使って開発すべき
スレ読まずに感想
・最前面ウィンドウは困る
・最小化、閉じるボタンが無いのも困る
・どうやって終了すれば良いのか分からなかった
→フルスクリーンならともかく、ウィンドウ状態でする必要は無い。
何故こういう仕様にしたのかよく分からん。
・発言から反映までが遅すぎ
→コレは鯖の問題か?
・発言入力中もカーソルキーで動いてしまう
・カーソルキー同時押しで止まってしまう
→これはゲームとして致命的。
>>476 へぇ〜そうなんだ
まあ作り手側の自由ですので、やりたいものでやればいいんじゃない?
479 :
476:2005/09/05(月) 21:41:27 ID:TznQaVJ5
君らのカキコを見ていると、技術論が多い
技術論は、オブジェクト指向で既存のクラスを使うことで解決できる
今はフレームワークで、ウインドウすらそっくりそのまま使える時代
重要なのは、コンテンツの中身
UMLを使って、企画からやり直すべき
なぜMMORPGでなければならないのか?
MMORPGでやるということは、他のプレイヤーとのからみがなくてはならない
どういうことがしたいのか?最終シーンはどんなのか?
ユーザーが惹かれるのは、コンテンツの中身
技術ではない
>>477 最前面に出るのは直しておきます
最小化、閉じるのボタンが無いのは、ゲームの途中で不正にログアウトされないようにしてるためです。
終了はESCです。他の方も覚えて置いてください。
フルスクリーンにしてみようかな
発言入力中は移動できないようにしておきます。
カーソルキー同時押しで移動できないのは、斜め移動を禁止してるからです。
鯖落ちちゃいました。orz
>>479 確かにそうかもしれないですが
さっきも言ったように、作り手側の自由ですからいいじゃないですか
企画からやり直すべき、とか余計なお世話。
文句あるなら自分で作れっての。
>>479 熱くなってるとこ水差すようで悪いんだが、ここはそーゆースレじゃなさそうだぞ。
HSPユーザー達がMMO作りの情報交換するところだと思うが。
あまりに見当違いな事言ってるんで、最初誤爆かと思った。
>>480 いや、つーか不正にログアウトという概念が分からん。
閉じるときはESCと同じく通常のログアウト扱いにすれば良いわけだし、
何より最小化・最大化を制限する必要性は全く無い。
後、覚えておいてくださいと言われても、テキストとかに使い方を一通り書いとくのが普通だろ。
後から来る奴は一々スレ見ないと思うぞ。又同じ質問を繰り返されるだけだ。
今はゲームになってないからまだ良いが、斜め移動禁止はともかく、同時押しで止まるのはかなり移動し辛い。
>>480 入力をミスったときESCを連打することがあるから、
終了する前にダイアログかなんか出してほしい。
というより入力に使うキーには極力機能を割り振らないべきだな。
ついでだが、readmeの素材の著作元のURL全部古いものだぞ。
487 :
名前は開発中のものです。:2005/09/05(月) 22:05:11 ID:H2prMoh3
自作じゃないのにexeに埋め込む意図がわからない
チャットの左の小さい入力ボックスが何なのかわからない
ログイン中とかアカウント取得中とか表示しないと何してるかわからない
不正な文字を入れるとそれ以降何もできなくなる
>>484,485,486
そうですね
閉じるボタンなどを付けておきます
←↑同時押しで上に、→↓同時押しで下に移動するようにします
ゲームを始めたときにチャット欄に終わり方を書くようにしました
ダイアログ表示するようにしておくね
チャットの左下のボックスはまだ未実装ですが、相手の名前を入れて内緒話をするのに使います。
不正な文字を入れると何も出来なくなるバグを直しておきます
フルスクリーンモードとウインドウモードはどっちがいい?
とりあえず、ウインドウモードで作りました
今からうpします。
>>473 http://pc8.2ch.net/test/read.cgi/gamedev/1084241527/l50 すいませんでした。;
ここから下は個人的意見であって101氏やこのスレとは関係ないです。
>>476,489
確かにcというのは焦りました。
しかし、それ以上に技術的・既存問題点など・・・いわゆる経験が書いてあり、私なんかはすごく助かりました。
UMLとかSVGで考えをまとめるのは良いことだと思います。というかそれがプログラムだし;
コンテンツを最初に持ってこなかったのは少々失敗だと今は思ってます。(私は
ただ、HSPでmmoを作る=技術的な話は避けて通れなかったんです。そこは理解ください。
あ〜やっぱりこのみんなで作る感じは素晴らしいな。
がんばって101さん!!ちなみに自分はウィンドウモード派です。
遅れましたが、うpしました。
ただ、アカウント取得中やログイン中のメッセージを忘れてました
次のときに直せれたら直します
DLは
>>463からどうぞ
いや、そんな焦ってVerUPしなくても良いよ。
切りが良いところまで開発が進んだらUPしてくれていいから。
スレ見るとMMO作るほどの腕はないように思える。
その場その場で作ってる感じだし、もう少しまとめて簡単なものから始めれば?
>>493 は〜い
ある程度進んでからVerUPするようにしますね
あ、すいません;
>>494 ま、確かに色々根本的な知識不足っぽいな。
少なくとも俺よりはプログラミング能力はあるがorz
>>476 え゛ー。キャンセル食らってアマゾンで再注文したのにー。
>>480 無人島では今回チャット入力中に移動しないように、完全にモードをわけました。で、
発言モードのときのみinput欄が出るという感じです。
#Escキーでも欄を消せるようにしてたけどダメだったのか…直そう。
内部的にモードで区別しないのであれば、objsel -1 で現在フォーカスのあるオブジェ
を調べて、入力に使っているobjの番号なら移動しないようにすればよいと思われ。
>>479 いや、板が技術板だし、スレはHSPなので…。
たしかにお二方のは、どんな内容とか方向性とかコンセプトのゲームを作ろうとしてい
るのかがわからんところはありますね。そのうちぼちぼちと出てくるんじゃないかと楽し
みにしてます。
501 :
476:2005/09/06(火) 20:58:21 ID:wqojLFpK
漏れは知ったかじゃない
国家資格のソフトウェア情報処理も持っている
プログラムだけじゃなくて、開発や保守も含めて、システム開発全体のことを言ったまで
システムを作る時には、要求定義、設計、プログラム、テスト、保守などを考える
MMORPGを作るなら、Cのような手続き型の言語ではなくて、
C++やJavaのようなオブジェクト指向の言語を選択するのは当然
その意味で、MMORPGゲームサーバープログラミングの著者がC言語で本を書いているのは勉強不足
我流のプログラマだろう。システム設計の基本的なことがわかっていない
例えば、ショッピングサイトを作ろうとすれば、
LAMP(Linux + Apache + MySQL + PHP)や
LAPP(Linux + Apache + PostgreSQL + PHP)になる
システムの要求定義の段階で、最適な言語や構成は決まってくる
はいはいそーですねーすごいですねー。
なんつーか、人の話を聞かないというか、自分勝手な奴だな。
匿名掲示板で何ほざいてんだか。
内緒話ができる機能を付けました。
次は
>>487でいわれた、ログイン中やアカウント取得中の文字を入れたいと思います
>>501 ここはHSPでMMOを作ろうというスレですので、別言語の話は別スレでしてください。
>ユーザーが惹かれるのは、コンテンツの中身
>技術ではない
505 :
名前は開発中のものです。:2005/09/06(火) 21:24:42 ID:twtlY1bd
>>501 ソフトウェア情報処理ってなんだ。
ソフトウェア開発技術者とか基本情報技術者なら知ってるし持ってるが。
MMORPGゲームサーバープログラミングの著者はサーバプログラミングの基礎とかを教えたいわけで、
別にシステム設計の技術を教えたいわけじゃない。
本の内容を元にどう設計するか、どの言語を採用するかは読者次第だから。
そういった意味で著者は誰でも読めて比較的ポピュラーなC言語を選んだんじゃないのか。
因みにショッピングサイト構築しようとすれば必ずLAMPやLAPPになるわけじゃないぞ。
DBにOracleを使う場合だってあるだろうし、OSにSolarisを持ってくるかもしれない。Windowsもありうる。
言語にしてもPHPじゃまだまだ使えるフレームワークが出てないし。
実務経験の無いヤツはこれだから○o。.-y(´Д`)y-.。o○ブハー
>>501 俺は仕事でOSは絶対Windowsでという顧客に当たって、ショップサイトをC#.NETとOracleで作ったよ。
まぁ、それは前から動いているCS側の商品管理システムとの連携ってこともあったらからだがな。
俺は要求仕様を実現できるものなら、何を使ってもかまわないと思う。
また、事情その他により必ずしも最適ではないものも使わざるを得ないケースもある。
そういうことが分かっている者ならば、ここのスレがHSPで、とうたってるんだから、それについて文句を言うこともあるまいよ。
実現可能性は秘めているんだから、もっと建設的な意見でも言って応援しようぜ。
そんな俺はソフ開受けたことない。
>>501 あいたたたた。
久しぶりに痛い奴に出くわしたな。
ログイン中やアカウント取得中に文字を入れました。
あと、セーブ機能を付けました
今は座標と向きだけしか保存されてません
ログアウトするときにその場で動けなくなり
10秒間たったら終了するようにしました
509 :
476:2005/09/07(水) 21:39:43 ID:xo2T0edz
まあ言語談義は、横へ置いておきましょう
ただ開発の仕方として、いきなりプログラムを始めて、あとで企画を考えるというのは逆
最初に要求定義などを行い、プログラムを試作する
会社の上司に試作品を持って来いと言われて、ログイン画面を作っていました、って言うのは通用しない
そういう細部よりも、最後の戦いの場面を作るべき
そこが面白くなければ、コンテンツとして魅力が無いわけだから
例えば、30人のプレイヤーが協力して、最後のボスに対して戦いを挑む
そのボスはすごく強くて、1ターンで5人や10人も死ぬ
くさい息でしびれや毒にもするし、ぶちかましでHP(ヒット・ポイント)を1桁にしたりもする
えと、ここは【MMORPGをHSPで作りたいな 】のようですよ。
どなたもコンテンツプレゼンを望んでいるとは思えないのですが。
作ること自体に意義をおいている為にこうなったかと。
遊ぶコンテンツに意義はおいてません。
(現在はどうだか知りませんが…)
511 :
476:2005/09/07(水) 21:53:11 ID:xo2T0edz
自分の思い通りに作ってみたいだけか
最初からそういうスレだろうがw
知識や技術を求めるHSPユーザーがお互いを高め合いながら情報交換する場だっつーの。
つーかお前は知ったかぶって薀蓄語りたいだけだろうにw
>>511 私はそうだと思いますが…それは悪い事なのでしょうか?
確かにゲーム製作という場において遊ぶ要素を忘れた自分は間違っています。
遊ぶ側に提供するには技術・意見を持つ必要があると思います。
それがゲーム製作だと思っています。そこに提供義務が絡むと別だとは思いますが…
>>511 そんなに人のことを否定するなら
あなたは、誰でも楽しめるようなすごいゲームを作れるのですか?
おまいら釣られすぎですよ
>>509 「ソフトウェア情報処理」の合格証うpキボンヌage
>>509 アマチュアレベルではまだM(M)Oの基礎というか、セオリーが確立していなくて、プログ
ラム全体を見通してプロジェクト的な制作が出来ない状態です。つまり手探り状態。
そんな中でおおよそこういう機能が必要だろう、認証に必要な項目やチェックはなん
だろう…ということを試行錯誤しながら制作しているのがこのスレなのです。
とくにネットゲームでは企画を乗せる根幹の部分(アカウント制作、認証、ネットコード
のやりとり)が共通項としてあって、今、このスレではその汎用部分を各自で思い思いに
作っているところなのです。
#「MMORPGゲームサーバープログラミング」届きましたヨ。まだぱっと見ですが、サー
バーの構成と各ネットコードの具体的な作用とかが記載されていて、基礎を学ぶ点で
はなかなかないいと思います。けれど最新技術については皆無なのでそれを期待す
る人には向きませんが。
>>517 本届きましたか。
いいですな
今日、攻撃のモーションを付けました。
剣だけですが、徐々に増やしていきたいと思います。
当たり判定とかもまだないです
110さん
ソースをお互いに交換しませんか?
どうしてもゲーム部分で悩むもので・・・こちらのはまだ通信最適化とセキュリティ関連しかやってません;
ソースっていっても、スミスプロジェクトのソースとほとんどおなじですよ
Wikiの「推薦図書/必読書のためのスレッドinゲ製作技術」のページに
『MMORPGゲームサーバープログラミング』の目次置いときました。
>>520 私の方は構いませんよ。
こちらは全く違うのですが・・・まぁ、独自に進んだ結果だと思って笑ってください;
>>521 お疲れ様です!
どうも〜
今日の11時ごろにテストしようと思います。
一応、攻撃はできますがダメージを受けたりはしません。
またバグ報告お願いします。
>>522 使っている画像等に著作権があるのでソースのみになるけどイイ?
ゲーム部分だけでいいんだよね?
すいません
うpしようと思ってexeを作ったらなぜか通信できなくなりました。
ソースから起動するとうまくいくのに、exeはとまってしまいます。
直り次第うpします
ちょいと参加してみようと思うのですが…
通信の範囲はいかがな物でしょう。ポートとか。
FWの設定しなければならないので
遅れました。
ポートは3301,3302,3303を使ってます
まだ鯖立ててるんでどんどん来てちょ
>>523 ゲーム部分だけでありがたいです。
こちらは通信部分(各種鯖、栗)のみでよろしいですか?
コマンドはセキュリティ上・開発途上のものは危険ですので含んでません。(すいません
こちらにメールお願いいたします。->
[email protected]
OKです。
今から送信しますね。
通信遅いから添付に時間かかるorz
今、確認します。
こちらも送りました。
コメントがないソースなので見難いと思います。
簡単な当たり判定を付けました。
これでキャラクター同士が重なったりすることはないと思います。
一回吹き出しを作ったんですが、色々と不都合が起きるので使わないことにしました。
でも、いつか使うかも!
今度は攻撃の当たり判定を付けようと思います
攻撃の当たり判定を一応付けれました。
なんか微妙ですけど・・・orz
HP管理がなんか難しかった
時間が無くて、半日で3Dシューティングゲームに
1対1のオンライン対戦モードを追加しようとして結局失敗したものです。
動かしてみると2〜3秒のタイムラグがありまして
これは3Dだからでしょうか? それともプログラムそのものに問題があるんでしょうか?
後者なら自分もMMORPGを作ってみたいのですが……
>>534 シューティングとはSLGですか?FPSですか?
私も一人称シューティング好きです;以前作りたかったですが…知識なかったもので。
【個人的見解】
移動補間は必須です。当たり判定や条件をTCPで行う。(サーバー判定)
座標・弾道をUDPで送信ってのはどうでしょうか?(クライアント判定)
もちろん、UDP使う場合はシーケンスソートは必須だと思います。
あと、HSPならスレッド処理を見直すのもオススメです。
処理する順番によっては大分変わります。
3Dだからというのは無いかと思います。
一概に言えませんが…もしそうだったら自分も諦めなければ orz
>>534 あ、もしかすると情報送信量が多すぎるのかもしれません。
クライアント側でできる処理はクライアントで行った方がいいです。
でわ、お騒がせしました。ノシ
537 :
534:2005/09/14(水) 23:23:17 ID:uhCJM/Kg
返信ありがとうございます。
一応、FPSだと思います。ただ主人公が人じゃなくて戦車ってだけで。
スレ読んでると知識不足も大きな原因だとわかってきました。
その時始めてネットゲームのプログラミングをしたので……
UDPとの違いを知らなかったので、UDPは使わずに全部TCPでやってました。
座標までTCPで送ってたので遅かったのかも。
あと判定はすべてクライアントにやらせて(自機に関する判定のみ)、
サーバー側では結果を分配することしかやってませんでした。
今考えると他にも問題があったかも……
一応スクショです。
ttp://denpasar.client.jp/ss.jpg
>>537 なるほど…移動速度、方向が頻繁に変わらないようですね。
これならTCPで平気です。(違いは↓に書いときます。
このスレッドの過去の記述読むと少しは工夫できるかなと思います。
UDPは速度速いですが、情報が消えたり・順番が守られないことがあります。
TCPは速度遅いですが、情報は消えず、順番で最適化されます。
539 :
534:2005/09/15(木) 00:13:31 ID:3ZYvyxcI
何度もありがとうございます。
今はこのスレを見ながら戦車のゲームとは別のMMORPG系のゲームを作ろうと思っています。
まだほとんど出来てませんが、多少動くようになったらソースを公開しようかどうか悩んでます。
もし、通信系のソースであったら辞めることをお薦めします。
暗号化やら処理を真似して勝手に通信する方いますので・・・
以前はいないだろうと思ってましたが、公開したら実際にやられました orz
ゲーム自体のソースであれば歓迎します;
541 :
534:2005/09/15(木) 00:51:13 ID:3ZYvyxcI
なるほど。通信系を晒すとやっぱそういう人も出てきますか……
ゲーム本体の方はそのうち1度公開して、状況次第で次を考えます。
MMO作る人が増えた〜w
みんなそれぞれがんばろう!
最近CばかりやっていてHSPやってなかったな。
543 :
534:2005/09/15(木) 06:50:16 ID:3ZYvyxcI
911さんや101さんと違って自分はHSPしか使えませんが
なんとかがんばってやっていきます。
>>543 ちなみに・・・自分も去年までHSPとweb言語(SGML系)しか使えませんでした。
今年に入ってからC++とかJAVAをかじって通信関係をとにかく勉強してみました。
で、
hurukuさんのおかげで自分の技量の少なさ知ってC++勉強はじめJAVA・・・
JAVAがわかる→携帯アプリ→通信扱いたい→通信覚えた・・・
通信がわかる→mmo作りたい→3D技術必要・・・
現在となってます。
興味があることには書籍や資料をどんどん集めるのをお勧めします。
でわ、がんばりましょう。ノシ
あ〜3Dは難しい・・・orz
545 :
534:2005/09/15(木) 07:13:09 ID:3ZYvyxcI
3Dに関しては戦車ゲー以外にも何回かチャレンジしてるので、
とりあえず何とかなってるつもりです。知ってるつもりになってるだけかもしれませんが。
通信関係はサッパリなので近いうちに書籍を探してみます。
そのうちトリ着けたほうがいいのかな……?
546 :
534:2005/09/15(木) 16:53:30 ID:3ZYvyxcI
ttp://denpasar.client.jp/ss2.jpg とりあえずオフライン状態でゲーム部分を作成中。
キャラとマップは手抜きで作りました。2時間かかってないかも。
チャット用の入力部分は常に表示したいと思ってたり。
そうすると普段の操作は文字入力と関係ないところを使うしかないか……
中世ヨーロッパ風なゲームが多い気がしたのでSF系を作ろうと妄想中。
ロビーは円筒の内壁にしてみたいです。遠心力で擬似的に重力が体感できるあれみたいに。
計算的には大したことないだろうけど、処理落ちしないか心配だったり。
>>544 なんか順番が俺とほとんど同じだw
>>546 3D用のライブラリはhgimg3かな?
チャット部分は、キャラ移動中とかは入力フォーカスを合わせなければ、いいんじゃないかな?
俺も3Dにしようかなぁ
そうなると、パソコンを買い換えないとな
でもお金ないやw
548 :
534:2005/09/15(木) 18:26:46 ID:3ZYvyxcI
3DのライブラリはZGP使ってます。
円筒(実際には8角柱)の内面に関しては大口叩きましたが、やっぱ難しかったです。
キャラがまっすぐ進んだときだけならいいんですが、斜めに動かれると全く対応できず……
カメラも上手く追随できなかったし。
549 :
名前は開発中のものです。:2005/09/15(木) 19:34:22 ID:Mx7nnDsz
101が本気で3Dに取り組みたいと思ってるならPC(or パーツ)を寄付ってもいいのだが。
>>548 ZGPか〜
俺もそれでやろうと思ってます。
>>549 ほんとですか!
値段とかスペックは?
ほんとにお金が無くて困ってるんですよ〜。
寄付していただければ非常にうれしいです。
>>550 自分はEasy3Dにしました。(C++資料みながら出来るので)
あと、PCのパーツ位(バルク)でいいなら余ってますからどうぞ;
自分はGeforce4MX(64MB)とかHDD、LANボード(PCI)とか…
私はMMORPGでは無いんですが、
3Dのオンラインアクションゲーム作ろうと頑張ってます。
最大参加人数が16人ぐらいを予定しているので、
MMORPGよりは回線帯域を考える必要は無いんですが、
アクションゲームな分、完全な同期を目指してるので、サーバー側をC++にしようか思案中です。
一応、テスト動画をUpしてみたんで、見てやって下さい。4人になると途端に同期とれなくなる図ですw
Pcbnet2とZGPの使用です。
ttp://up.or.tp/f0014.zip たぶんここだと一番スキル無いと思うので、今後も宜しくお願いします。
>>551 まじですか!
頂けるのなら大歓迎です。
自分はパソコンの部品を組み込んだりしたことないから、ちょっと不安かもw
パーツってパソコンの種類に関係なく使えるんですか?
うちはノートパソコンなんですけど
>>552 3アクションか〜
なんかMMOよりも作るの難しそうっすねw
まぁお互い頑張ろう!
>553
ノーパソでAGPやらPCIやらIDEは無理だろ
555 :
534:2005/09/16(金) 07:18:13 ID:xL4Suv98
質問したいのですが、pcbnet2を使って作るとき
UPnP NAT Traversalって使ってます?
スマン、ワロタ >ノート
一切の拡張は無理、と考えてよろしいかと…
内蔵HDDは交換、メモリもやっぱり交換、よくて増設、ぐらいしか出来ませぬ。(全く出来ないのもあるかと)
しかもデスクトップ用と比べて高価です。
あ、HDDは外付けUSBの方が安いかも。3D増強とはほぼ無関係ですが。
ノートとはおもはなんだ…
中古でデスクトップPC買った方がよくないか?
一応デスクトップもあるんですけど、CPUが400MHzくらいしかないんですよ。
しかも、そのパソコンはインターネットに接続すると勝手に再起動する。orz
だからノート使ってたんです。
それウイルスw
560 :
534:2005/09/16(金) 22:48:24 ID:xL4Suv98
911さんみたいに認証鯖、ゲーム鯖と分けた方がいいんですかね?
>>367さんの意見だと一つの鯖で全部やってもいい、見たいな雰囲気ですが(解釈違ってる?)。
いざ鯖用のプログラムを作ろうとすると気後れしてしまう……
明日本屋に行ってそっち系の本を探してきます。
101さんに質問なんですが、101さんが使ってるサーバーの性能ってどれくらいでしょうか?
>>560 私が鯖を分ける理由は以下にあります。
・セキュリティ (個別にアップデートできる&諸事情)
・処理量 (1つの鯖にたくさんの処理をさせない)
・操作性 (情報や準スクリプトの書き換えとか?)
・管理性 (個別に動作させたかったので・・・)
自分の目指していた処理分散だからです。(妄想的数値256人というのが目標なので・・・)
いかに少ない鯖で多くの情報を捌くかという考え方です。
その代わりソース管理とか開発は大変ですよ。スパゲティ。
ネットワーク関係初めてなら単一ポートの限界は実際に作って感じてみてください。
(アカウント→チャット→移動→チャット&移動→チャット&移動&アカウントで理解できます)
【149】を引用
>CPU:600Mhz
>MEM:192かな?
>回線:AirH
562 :
552:2005/09/17(土) 08:26:51 ID:krKHCQMK
以前の動画は、TCPを使った通信でした。
UDPに変更して、サーバーも1からプログラミングし直してみました。
TCPと比べて、かなり同期しているようです。
ZGPとEasy3D、やはり後者の方を選ぶべきでしょうか?
>>101さん
ありがとうございます。お互い頑張りましょう!
>>534さん
私は使用してません。
>>555 UPnPはルータによってはバグあるので注意です。
個人的には使った方が将来の規格に合わせられると思いますが・・・まだ、使う必要がないかなと。
>>552さん
TCPはアカウント&チャットがいいかもです。
UDPは移動&コマンドがいいです。(マルチ鯖なら同期もこれ
個人的にはEasy3Dがおすすめです。
書籍の通りな操作命令が多く細かい転換できるからです。
と、言いつつhsp2.61に戻れずEasy3D組んでないです。
おそらくhsp3.0対応するまで何もしないかも・・・LGP4も少し興味あったり。
あ〜同人仲間から同人ゲー出したとメール着たのでアキバ行って来ます。ノシ
(あ〜同人もまたやりたいなぁ・・・)
564 :
534:2005/09/17(土) 09:16:17 ID:KpN8qBsX
>>911さん
レスありがとうございます。
まずは単一鯖型で作ってみます。
256人とはいわなくとも、せめて32人ぐらいは受け入れたいので……
> 【149】を引用
見落としてました。すいません。
AirHぐらいの回線速度でも何とか動くんですね。
でも最近のだと1Mbps以上は出てるのかな……
>>562さん
ありがとうございます。
使ってないですか。無理につける必要はないのかな。
565 :
552:2005/09/17(土) 15:37:17 ID:n4j4OjHz
>>911さん
回答ありがとうございます。
そこでご質問なんですが、お勧めの書籍ありましたら教えて下さい。
てか、アキバは1回は行きたいなーって思ってますw
>>534 UPnP NAT Traversalについて詳しくわからなかったってのもあるんですが、
理由は911さんに同じです。
>>ALL
予定では、10月下旬から11月上旬ぐらいに、光回線になります。
そこで、速度が出たら皆さんのサーバーを立てても良いかなと思ってます。
一応、サーバーに出きるPCのスペックを晒しておくので、参考にして下さい。
Server.1
AthlonXP 3200+
PC 3200 1GB*2
RADEON 9800PRO 128MB
Server.2
Pentium 4 1.7Ghz
PC 2700 512MB*2
GeForce 4 MX 440 32MB
566 :
534:2005/09/17(土) 21:53:54 ID:KpN8qBsX
>>565 > そこで、速度が出たら皆さんのサーバーを立てても良いかなと思ってます。
仏様のような方ですね……
自分で今日、古いPCを鯖にしたんですが酷い性能でして。
回線速度は0.5Mbps切ってます……
今日、近所の本屋で例の「MMORPGゲームサーバープログラミング」を買ってきました。
ほとんど何も知らない状態で作ってたのでかなり参考になります。
ひとまず911さんと101さんに後れを取らない程度に開発したいと思っている次第です。
おおぉぉぉ〜!
製作者がどんどん増えてくw
>>534さんはその本の第2章のチャット作れましたか?
お勧めの書籍は
・MMORPGゲームサーバープログラミング ¥3400 (ISBN4-7973-2846-0)
・今夜わかるTCP/IP ¥2300 (ISBN4-7981-0819-7)
・TCP/UDPポート番号逆引き大全 ¥2400 (ISBN4-7980-0686-6)
・暗号技術入門〜秘密の国のアリス〜 ¥3000 (ISBN4-7973-2297-7)
・3DRPGプログラミング ¥2200 (ISBN4-7973-3046-5)
これだけでは作るのは難しいですが・・・知識と技術は身につきます。
あとは、DirectX関係や仕様言語を考えるだけかなと思います。
569 :
534:2005/09/17(土) 23:41:53 ID:KpN8qBsX
>>567 いえ、今のところ2章を読んでる途中です。
1度読んだだけでは理解できなさそう……
自分の性格からして中途半端な段階で組みはじめてしまいそうです。
まだ認証部分を作ってる段階です。
本だと認証後のゲーム部分からが暗号化の必要な部分とあって、
このスレとしては認証時のパスワードも暗号化する必要がある、
って解釈していいんでしょうか?
クライアント→サーバーと通信する時、パスワードを暗号化しないとやっぱりヤバイですか?
>>569 クライアント → サーバー は暗号必須です。
サーバー → クライアント は必要ないです。
必要ないというのは暗号化という技術が生半可であるなら逆諦めろということでしょう。
XORとハッシュを組み合わせればそれなりの暗号になると思います。(ランダムに毎回変えるとか)
ただシステムによっては暗号化要らない場合もあります。(チャット中心とか
571 :
534:2005/09/18(日) 00:37:48 ID:Iji8fN/M
回答ありがとうございます。
暗号化そのもの以外にも、ゲームシステムを変えることでその辺の問題は解決できるんですね。
追いつけ追い越せで作ってますが、作業の進行状況で半月以上、
知識ではそれ以上の差がついてるとなると複雑な気分だったりします。
>>571 私の場合は構想とか技術については半年前から準備してましたから;
おそらくゲーム製作の知識で追い越すのは簡単ですよ。
それと、私の方ですが・・・久しぶりにアキバで同人ゲー買ったら軽いショック受けました。
質が下がったと・・・でも、一部は高品質だったりで・・・なにやらわからんです。
で、同人サークルとしてmmoというか二次創作だすことになりました。なのでvistaoは中止します。
続けてこちらで技術の討論はしたいと思います。(HSP使うことにしてますので
>>572 vistaoは中止か〜。
作ったスレが意味なくなりますねw
俺は今Cの勉強してます。
HSPの方は3Dにするから、パソコンを買うまでそのままですw
574 :
534:2005/09/18(日) 17:31:43 ID:Iji8fN/M
作業がかなり停滞気味……
順調に行けば来月中にはチャットも可能かも。
>>572 失礼ですが、二次創作としてだすことに決めた
詳しい経緯などを教えていただけないでしょうか?
>>574 こちらも超停滞気味ですw
来月か〜
ガンバって下さい。
>>573 まぁ、ageないで技術的な話したり・・・
適当に開発画面乗せたりしてみます;
>>574 なんといいますか、ゲーム製作場合に大事なのはシナリオ&イラスト&クリオティ・・・
私たちのサークルではそれに特化した方いないので最初から出来上がってるものを使うのが吉かと;
(キャラデザインや画面構成考える時間を短縮できます。)
よく自分たち考えてるサークルありますが、素人が3〜4人考えるのとプロが5〜20人で考えるとでは差は歴然です。
もちろん自分で考えるのも必要ですが、私たちのサークルはその器ではないと判断しました。
付け加えるならば同人とは 「趣味が同じ者同士」 という意味なので好きなもので作ろうと。
あ〜それと参考になるかわかりませんが、Ver2つ前のソース見てみますか?
>>574,575
あ、 ◆VhiWHt2b1s って101さんか;
ずっと誰だっけと;
>>577 うわ〜自分のネームを入れ忘れるとは・・・orz
気づかなかった。
579 :
534:2005/09/18(日) 23:05:54 ID:Iji8fN/M
>>576 なるほど、そうでしたか……。答えてくださってありがとうございます。
単純に気になったので。技術面以外にもいろいろ勉強になります。
>Ver2つ前のソース見てみますか?
ぜひお願いします。
>>572 えー中止なの?911タソ
楽しみにしてたのにil||li _| ̄|○ il||li
>>580 安心してください。同人の方で引き続きmmoは作ります。
ただ・・・一部15禁だったり有料だというのが残念です。(無料かどうかはまだ未定;
クリオティだったりゲームについては別の方が管理するので別格良くなると思います。
で、Easy3Dの方で聞いたところ・・・hsp3.0への対応は1〜2ヶ月くらいとのことです。
なのでそれまでに1から4つの鯖をつくらなければです。
・VER管理・アカウント鯖
・TCP鯖
・UDP鯖
・同期鯖
今日からはじめます。
pcbnet2もいつの間にか正式版が出てたりするので焦りました。
環境が年末には揃いそうで嬉しいなぁ (^А^)
Easy3D、C版の方もアップデートして欲しい(ぼそ
(;゚д゚) ぉ・・・。
585 :
101 ◆VhiWHt2b1s :2005/09/19(月) 11:55:32 ID:WdZ7VgJf
pcbnet2って正式版ついに出たんだ〜!!
猫でもわかるネットワークプログラミングっていう本買ってきましたw
wininet.hをインクルードするとエラーが出まくるorz
なぜだ〜!!
586 :
名前は開発中のものです。:2005/09/19(月) 11:58:11 ID:wEWv4KIY
正直HSPで作る意味なくなってきてるなw
>>586 そうかなぁ
簡単に作れてイイと思うけどね
俺はサーバーをCで作って、クライアントをHSPで作ろうと思ってます。
それにしてもwininetはどうなってんだろ
俺だけだと思うけど、インクルードするとwininet.h内でエラーが発生する
エラー内容はいかなるものですかね・・・
>>588 開発環境はBCC5.5でBCC Developerを使ってるんですけど
エラー E2257 c:\Borland\Bcc55\include\wininet.h 49: , が必要
エラー E2257 c:\Borland\Bcc55\include\wininet.h 50: , が必要
エラー E2257 c:\Borland\Bcc55\include\wininet.h 52: , が必要
上は最初の3つのみをコピーしたものです。
全部載せたほうがいいかな?
26個あるけど・・・
590 :
名前は開発中のものです。:2005/09/19(月) 12:30:30 ID:wEWv4KIY
絶対負荷しなければならない環境変数みたいなのがあるんじゃないの?
それだけだとわからないですが・・・
>>590 さんと同じ意見かなぁ。(bcc のエラーコードやらはわからないです。
ちなみにwinsockじゃないんですか?
わからないですか・・・
winsockではないです。
ネットワーク関連のスレで聞いてみた方がいいかな
プログラム板のネットワークスレッドで聞くといいかもです。
かなり詳しい方が多いようなので。(Cは苦手
エラーの原因わかりました
すごい単純なミスでした。
拡張子がcではなくcppになってたからです。
多分これが原因だと思います。
どうも失礼しました
597 :
534:2005/09/19(月) 22:38:31 ID:AOxh6wzs
>>595 ありがとうございます! 早速勉強させていただきます。
pcbnet2も正式版出ましたか……どんどん取り残されてる感じが。
今日は丸々一日、用事で潰されたので作業は進展無し。
次の連休に賭けます。
>>596 拡張子をcppにしても出来ました。
原因よくわからなかったです
>>597 あ、普通にあっぷしてなかったです。
今しておきました。今日から書き直してるので作りかけです。
まだ、TCP鯖の基本系だけできた感じです。
私も予想外に忙しいやらスタッフ探しやらで進んでませんね;
Antileもなんだかんだでweb更新してないや・・・一応、会社は生きてます。以上。
でわ。
で、某スレッドでも議論ありましたが・・・自動アップデータ作ります。
内部で行う予定の処理は・・・
・PINGによる遅延ユーザーのキック。(200ms以内)
・ユーザー登録重複のチェック
・複数起動していないかチェック
・verチェック
・ファイルのダウンロード
・modファイルのアップロード
・ファイルの適合性チェック
・ゲーム本体の起動
個人製作のような頻繁にアップデートする環境には必須だと思います。
今日はこのプログラムを完成させるのに必死になります。
キャラテクスチャファイルをユーザーによる加工を認めるかどうか悩んでいます。
ファイル適合で排除するか・・・modみたいな扱いするか。(裸パッチ問題が
601 :
534:2005/09/20(火) 06:03:46 ID:MdoGpuQx
>>599 ほんとだ……右クリ&保存で無理やり保存できたもんだから
落とせたものだとつい思ってました。
さっき解凍しようとしたら当然エラーがw
>>601 ちなみに一切のコマンド処理を載せてないので別々にする必要なかったかもです。
とりあえず、これが最低限の処理かな程度に参考にして頂けるといいと思います
自動アップデータか〜
難しそうだなぁ
>>534さん,101さん
遅れましたが、おはようございます。
>>101さん
通信回数やらコマンドが多いのが大変ですね・・・
以前でてきたMD5やRSA?だっけなみたいな、ファイルの中身を短い数値(ハッシュ値)にするのを利用します。
これによって、中身が同じかどうかを判定してダウンロードするかどうか決めるようです。
>>6906 pcbnet2にもmd5という命令でありますから簡単ですよ;
buf = 求めたいファイルの中身
md5 buf,strlen(buf),0 : HASH = refstr
で、ハッシュが求められますね。
608 :
552:2005/09/20(火) 20:07:40 ID:Yopslm7n
>>911さん
本の紹介ありがとうございます。明日、紀伊国屋でも行って見てこようかなって思います。
ファイルもDLさせていただきました。ソースの綺麗さに驚いてます!
そこで、ご質問なんですが getstr か hspdaのcsvstr 速度的にどっちが上なんでしょうか?
早いほうを私も使おうと思いますので、ご回答願えればと思います。
最近、リアルの方が忙しくここになかなか立ち寄れずにいました。
皆さん意欲的に製作中で、本当楽しみです!
>>552さん
ソースは汚いと途中で辞めたくなるので常に心得てがんばってます;
で、getstrとhspdaのcsvstrの件ですが…
効率/速度にはhspdaだと思います。独自/拡張にはgetstrだと思います。
速度違うといってもゲームに支障ない程だと思います。
個人的にはgetstrかな。プラグイン使わないで済むので。(実はhspda使ってないだけ;
みなさんがんばりましょう!でわ!
610 :
552:2005/09/20(火) 20:37:48 ID:Yopslm7n
即レス感謝です!
ってか911さんのソース見て思ったんですが、pcbnet2って3.0対応だったんですね・・・。
今さっきサーバーを取り合えず、3.0に修正しておきました!
クライアントは、E3Dの対応を見て変更したいと思ってます。
そうですね、pcbnet2は3.0対応(公式には謎)してると思います。
Easy3Dも年内に対応できそうなので、大分ゲーム開発環境が整うと思いますね。
いや〜作る人増えてよかった。
現在、mmoのアルゴリズムモジュール作ってるのでもっと増えると嬉しいな。
ただ矛盾するんですがhspのサーバーの限界感じたりもしますね(64人位なら可能);
やっぱりサーバーはCとで作った方がいいかもね
HSPで256人対応は無理があると思うよ
今チャットらしきものが作れたっぽい
ちゃんとHSPと通信出来たw
>>101さん
C++でも結局最適化できないと同じですよ。
マルチスレッドとか有効活用できないと処理が早いだけで反応遅い鯖が出来ると思いますけど;(違うかな
現にc言語の某ゲーム鯖は100人対応できないみたいですよ。↑を導入してないぽい。
mmorpgプログラミングにも書いてあるので読んでみてください。
256人対応させるために複数の鯖を起動させようとおもってます。(64人x4つとか)
hspで無理なのは1つのスレッド処理速度が問題で言語自体は十分いけますよ。
hsp選ぶ理由として個人で開発可能で早いのがいいかなと思いますよ。
上の話題で思い出したんですが・・・
通信負荷を少なくするためには-n〜n領域のユーザーとだけ通信するという手法を使うことをお勧めします。
某サンプルでは全てのユーザーと通信してるようですが、明らか無駄ですよね。
・ゲーム情報は-n〜n領域
・チャット情報は全体
あと微妙にP2P技術とか注目してます。
615 :
534:2005/09/21(水) 00:24:21 ID:vLOn+yjm
チャットも自分の周囲のユーザーとだけにすれば負荷は減りますよね……?
チェインアルゴリズムをどう作るかが問題になるね
単純に考えて一定ピクセルをセル化してユーザ情報をリストする必要がある
周囲25セルにリストされたユーザにディスパッチ
>>534さん
それなんですが、チャットはゲームと干渉させないで欲しいと要望あるのと・・・
チャット鯖にはx,y,z座標情報がないので周囲だけは難しいです。(鯖同士情報やりとりなし)
>>616 そんな感じです。
見える領域〜見えない領域のはじめの3フレーム分情報を取得してます。
>>617 鯖間じゃなくてもクライアントがルームキーを渡せばいいだけでは?
マップID+画面の倍くらいのピクセルで区切ったセルIDを組み合わせて一意のルームキーを作る
ユーザは複数のルームを管理できるけど、受信できるのはカレントルームのみ
>>619 ???
ルームキーとは各ユーザー領域に対するIDみたいなものですか?
>>620 チャットルームのIDだよ
領域が変わるごとにルームキー更新情報をユーザに投げて
ユーザはチャット鯖にカレントルーム更新メッセを投げる
つまり裏でこっそり部屋を移動させてると。
>>621 分かった気がします。
確かにこれでも可能だし管理楽かもです。
当分ROMに徹します。どうぞ気になさらず。
623 :
534:2005/09/25(日) 10:04:13 ID:dBFfAruh
3連休中まともに作業しなかったなぁ……
完成するのはいつのことやら
おひさ〜
最近XPをインストールしなおしたら、インターネットに繋げなくなってしまったorz
今は携帯から来てます
MMOサーバー本のチャットが全然作れないや
linux買ってこようかな
Linuxは無料。個人的にはRedHatが良かったけど開発終了です。
ソフトウェアの相性問題とか大嫌い。
>>625 RedHatの後継機のFedraCoreはどうなん?
インターネットにつなげないので
Fedora Core4がついている書籍を買ってきました
インストール画面が文字化けしていて設定しにくいorz
>>626 FedraCoreは最新技術を取り入れる姿勢がいいけど日本に対するサポートがうとい。
だから、初心者にはおすすめできない。GUIもおすすめできない。
理由は経験すればわかるかと…Xwindowシステムあたりが妥当。
level 3でxwindow level 5でGUIだっけかな?
Fedoraは、必要なものは一通りデフォで入れてある。
インストール・設定地獄を味わう必要が無い、
初心者向けのディストリの一つだと思うけどなぁ。
101 = 人のソース真似するだけ。知識と経験はなし。
911 = 妄想と構想が入り乱れる。知識と経験は良好。
534 = 何したいかわからない。
101はC使えないと思う。911は使えるみたいだから使えよ。
ましてやペンギンOS使えないと思う。
>>630 ある意味納得です。
ある意味言い過ぎです。
632 :
534:2005/09/26(月) 22:29:39 ID:yMz9qvzf
>>630 仰るとおりです。
それほど真面目に取り合わなくて結構です。
FreeBSDでkqueue使え。epollより資料揃ってるはず。
>>534さん
以前お渡ししたソース結構バグありました orz
がんばって探してください。本当にすいません。
最近のパーツ見てて驚いたのは…デュアルが流行ってると。
PenV世代には考えられん orz
>>634 あーその流行に乗っちゃった人です
Athlon64 X2 3800+ 2GHz
Windows XP Pro x64
エクスプローラのエクステンションが全滅
ドライバー類も全滅_| ̄|○
>> 635
今更ですが…
よく考えたらPenVはデュアルコア対応だった orz
そして、そのスペックはなんじゃらほいです。
あ〜PCこの頃つけなくなった。
昔は同人やらでうんせこらせ使ってたけどなんだかなぁ。
え。
いまも15禁でうんせこらせしてるものとばかり…
いえいえ、もうその気力なくなりました はい orz
同人ゲーム製作って疲れるけど面白いです。
見返りとか将来考えたらこんなことしてる場合かと…ギガンテ
一昨日HSPをインスコしますた。
プログラムはBASIC&アセンブラ(Z80CPU)以来なのでブランクありすぎですが、
先日、上司にVB覚えてデータ処理プログラム組んでくれとか無茶言われてしまい、
とりあえず逆らってHSP使おうと思ってます。
それでたまたまこのスレ知ったんですが、HPは閉鎖ですか?
>>638 >見返りとか将来考えたらこんなことしてる場合かと…ギガンテ
趣味って大抵役にたたないもんでしょ
>>638 同人サークルでもやってるのかと思ってた。
>>639 素直にVB使った方が良いと思う。
HSPだとコントロールとその配置に手こずる
まあ、データ処理の内容によるけど…
642 :
639:2005/10/24(月) 23:13:14 ID:lLFO9uRn
>>641 HSPの仕様を(ほんのさわりですが)見た感じだとボタン配置その他、
全て座標で指定する方式みたいですね
後々の機能追加などを考えた場合はVBの方が楽だと思いますが、
HSPを選んだのは、それと同時進行で趣味プログラムもやりたかったからです
(BASIC使ってた頃はゲームつくるのが好きだったので)
そ れ に 金 が な い
とりあえず仕事とは無関係の通信関係の勉強からスタート予定
HSPは趣味プログラムには適していると思いますが
VBの購入費を上司にせびる訳にはいかんのですか?
ライセンスの関係で
会社のPCにインスコしたら趣味には使えなくなるかも知れないけど。
644 :
639:2005/10/25(火) 22:20:29 ID:GhNPsxW2
もちろん会社持ちでVB買えますよ〜
でもさすがにそれを家のPCにインスコしちゃぁまずいだろうし
スレ違いになってきそうなのでこの話題は終了
645 :
639:2005/10/25(火) 22:44:04 ID:GhNPsxW2
HSPで通信関係を調べてみたら、
AMdplay pluginとpcbnet pluginを発見
どちらも通信関係のpluginですね
ぱっと見ただけでですが、ゲーム作成という観点からはAMdplay、
細かく制御できそうなのはpcbnetって印象をいけました。
さてどちらを採用しようか。。。
646 :
639:2005/10/25(火) 23:43:42 ID:GhNPsxW2
とりあえずAMdplayでサーバ起動処理の初期段階まで組んでみました。
といってもセッション開始まで;
次回はクライアント認証の勉強
過去ログ読んでみると参考になりますよ。
認証、移動までは終わってる内容になってるはずです。
PCBnet2がお薦めです。
AMdplayはDirectX9互換問題とかサポート打ち切りやらでお薦めできません。
648 :
639:2005/10/26(水) 23:31:03 ID:P/Ey5tjA
>AMdplayはDirectX9互換問題とかサポート打ち切りやらでお薦めできません。
な、なんですとーorz
素直にpcbnet2使ってみました。
とりあえずTCPで
サーバ
接続待機→要求確認→受け入れ→クライアントからの文字列受信→表示
クライアント
接続要求→接続判断→サーバに文字列送信
まで組んでみました。
しかしエラーがorz
試行錯誤の末、どうもソケットで間違いをしていた事が判明、無事成功しました
いまのとこ順調かな〜
649 :
639:2005/10/26(水) 23:36:05 ID:P/Ey5tjA
補足
今回のは一応想定として、ネトゲの
1 文字列にクライアントバージョンを入れサーバに送信
2 サーバでバージョン確認
のひな型のつもり
ここでバージョンが古ければパッチor新しいクライアントのダウンロードを促すメッセージ表示
でも多分新クライアントをダウソ汁!になりそう;
>>649 すなおにActiveBasic使っとけ
サーバーまでHSPで作ろうという猛者はもうおらぬのか
ここいます。やっとHSPで通信モジュール完成しました。
でも、速度面ではまだ改善の余地ありです。
素直にC++に移行しようかと思いましたが、ここまできたらやり切ろうと思います。
一部で配布開始してるので探して見てください。諸事情で当URLは更新できません。
653 :
名前は開発中のものです。:2005/10/28(金) 05:32:06 ID:H0Sored7
うんこでた
655 :
名前は開発中のものです。:2005/10/29(土) 00:27:01 ID:fyTsyDU4
うんこ出た
うは、HSP3ってメモリ関係おかしい。
変数BUFの内容が隣に漏れてる…システムダウンするし。
(10人以上アクセスすると段々ずれてパケットが…)
http://gamedev.ddo.jp/sample.zip で、HSPで作った同期テスト用ファイル。
中身はモジュール本体抜いたセットです。
・クライアント本体(gamedev.ddo.jp固定)
・鯖本体(127.0.0.1)
・クライアント本体(127.0.0.1)
・鯖ソース
・栗ソース
・pcbnet2プラグイン
まだ、16人までしか確認してません。
是非ご参考にしてください。
658 :
名前は開発中のものです。:2005/10/29(土) 05:44:07 ID:aFnxAvgU
うんこ出た。
HSPのバグならぜひ本家に報告を
660 :
639:2005/10/29(土) 10:23:36 ID:Qp4orUM0
>>651 私もサーバ、クライアント共にHSPで作る予定です
>>648でつくったものは動作できたのですが、いま複数のログインに対しての
処理を組み直し中です
主に会社の昼休みを利用してのプログラミングなのでなかなか進まないですがorz
あ〜それがパケットバグです orz
問題発見です。
HSPのメモリーとかポインタ見てみたのですが特に問題なしです。(多分;
で、いちかばちかクライアント側の反応速度を50ms→200msに変更。鯖側を1msに変更。
すると、単純に100ms=10~12人位,200ms=20~24人位となってました。
反応速度を落とせば落とすほど綺麗に通信できました。
64人なら600ms〜700ms程度まで下げる必要があるっぽいです。
以上、ずらずらすいませんでした。
>>664 tcpcountでバッファサイズ取得して、その後tcpgetしてるよね。
tcpgetって1行受信だけどバッファの中身が1行に満たない場合ってブロックするんだっけ?
ブロックしないでエラーとして返ってくるのなら、その辺の処理はいらないのかな?
もうずっとpcbnetもHSPも使ってないので変なこと言ってたらごめん。
なるほど。バグというか仕様の間違いに気づきました。
以前の仕様通りtcpgetじゃだめですね。かなり思い当たる部分あります。
ありがとうございます。
今テーブルから作ってるので、それ含めて見直していきます。
でわでわ。
667 :
639:2005/10/30(日) 02:32:20 ID:rLS1KkDw
socketについていまいちわかりません。
同一port内で複数のsocketを扱うことは可能でしょうか
どうもtcpmakeでうまくいかなくてorz
668 :
名前は開発中のものです。:2005/10/30(日) 03:55:51 ID:WrgJVw2L
うんこ出た。
TCPクライアントなら1ポート=複数Soketでも可能です。
TCPサーバーなら1ポート=1soketです。
UDPはどっちもサーバー仕様なので1ポート=1soketです。
追記
UDPでもマルチセクション(?)だか何だかは同一ポートで複数起動できます。
難点はルーター越えできない事です。(設定とか変えれば平気なのかな?)
672 :
639:2005/10/30(日) 11:49:27 ID:rLS1KkDw
>>669 ありがとうございます
TCPですが複数のログイン・ログアウト監視サーバうまく動作できました
673 :
101 ◆VhiWHt2b1s :2005/10/31(月) 22:58:10 ID:Ma1dW7hc
674 :
639:2005/11/01(火) 01:49:09 ID:wDSCUIPX
自己レス
>>672で作ったものは非同期型で、どんどんawait短くしていくとsocketが行方不明になってしまい
やばげなのでサーバから同期信号だしてクライアントを完全に同期させることにしてみました
結果
おっそいorz
クライアントの数を増やしていくと泣けてきます
今後の予定
UDPに組替え
あ〜UDPは操作むずいですよ;
HSPで操作するのはお薦めしません。
(LANのクラスタ通信は○ WANの通信はプロトコル設計が大変)
同期が遅いのはパケットの配信方法に問題あるんだと思います。
私もつい昨日まで同じ現象で悩んでましたが…調べたら分かりました。
要は
ユーザー毎のデータをユーザー毎に送る ×
ユーザー毎のデータをユーザー毎にパケットに送る、そしてユーザー毎に送る ○
です。
まだ実験段階ですが…かなり負荷減ります。
要は効率よくするためにキューイング(溜め込む)が必要みたいです。
まだ、書き途中ですがモジュール公開しました。
参考に見てください。でわ。
676 :
101 ◆VhiWHt2b1s :2005/11/01(火) 22:52:41 ID:ksbqZlXj
う〜んライブラリエラー起きますね;
・ライブラリ(DLL)が足りないと注意
・srexが読み込めないと注意
でした。がんばって〜!
FTP接続ならPCBnet2から出来ますよ…(ポートとプロトコル合わせれば)
うわ、ライブラリ読めなかった?
ちゃんと入ってたけどなぁ〜
中身見てないけど HSPはDLLを中に埋め込めなかったんじゃなかったっけ。
↑ .EXEの中に ね。
>>679 そうですね。ランタイムは平気だったと思います。
DLL埋め込んでないですよ
圧縮ファイルを解凍した時にフォルダ内にDLLあるはずですけど・・・
MMOver0.1b .exe
KERNEL32.DLLをコピーして
KERNEL32にリネームしたら起動出来た。
>>683 KERNEL32.DLLなんて使ってないと思うけどなぁ
ちょっとバグの原因の可能性があるところを修正してうpしました。
昨日のソフトから自動ダウンロードできるはずです
スクリプト中で使ってなくてもHSP自体か、他のプラグインが使ってるんでわ
んで MMOver0.1c .exe も相変わらず kernel32 が無いと言われます。
リネームしたkernel32を用意すると起動できます。
ちなみに環境はwin2000 SP4です
>>685 そうですか〜
全員そのバグで起動できないのかな
WinXP SP2の環境で、エラー無く起動できることを確認しますた。
>>687 確認ありがとです。
俺のパソコンもWinXP SP2なんですけど、問題なくできるんで
環境によるみたいですね;
でも、どちらでも一応起動できるみたいなのでよかったです。
パッチはとりあえずこのままにしておいて、次はログインできる所くらいまで作ろうと思います。
アカウント登録はソフトから登録するか、HPから登録するか、のどちらがいいですかね?
689 :
639:2005/11/02(水) 23:08:21 ID:1+tVluC9
>>675 提言ありがとうございます
私のプログラムはまだサーバでログインネーム取得・認証と切断監視だけ
まだアカウントのダブりチェックもパスワードも無し
クライアントで同期信号取得・サーバへの接続監視だけです
最初非同期で組んでいたのであちこちでチェックかけてまして、
無駄なwaitもあったので、そのせいで遅かったようです。お恥ずかしい
今は動作を確認しながらシェイプアップしているところです
同期についてはクライアント側をサーバにあわせているだけです
基本的な部分なので、あまりあせらずじっくりやっていきますね
ただ今後のやるべきことを考えると、負荷をサーバとクライアントのどちらに
割り振るかを考える必要があるなと思ってます
これは想定される接続人数や規模によって変わってくると思ってます
大規模なものならログイン鯖・パッチ鯖・メイン鯖をそれぞれ別PCで起動させて
同期したほうがいいのでしょうが、私の想定する規模は50人以下
たぶん20人前後になるだろうなと思います。
その場合はせっかく鯖をわけてもそのメリットがないと思われるので、
その規模に最適化された処理を考えています
690 :
639:2005/11/02(水) 23:10:14 ID:1+tVluC9
とか偉そうなこと書いちゃってますが、ぶっちゃけtry&errorでやります・・・
みなさんがんばってくださいね
>>688 「ソフトから登録」の方が抵抗が無くていいんじゃないでしょうか?
あと、おそらく
>>685の方がエラーが出てるのは、
*使用しているDLLの仕様上の問題(内部でのDLLのコール方法等)
*OSの管理するパス問題
*呼び出しているAPIの問題(XP依存とか呼び出し規約の違いとか)
あたりが怪しい気がします。
692 :
639:2005/11/04(金) 21:24:51 ID:FmXnGpcM
自己レス
HSP自体の使い方を覚えながら通信関係を作るという大風呂敷広げてしまった私
button goto *Labelをloopの中で使ってました・・・
なんでエラーでるのかやっとわかった私・・・
それをなおしてサーバーawait1にしたらloopカウンタぎゅんぎゅんまわるまわる
必要に応じてコマンドリファレンスでコマンドとか覚えていってるから効率悪いけど、
プログラムは面白いですね
そろそろ同期以外にサーバ・クライアント間で通信処理をぽつぽつ始めました
意図してなかったのですが、わざとクライアントに負荷かけてラグの状態をつくってみたら、
ラグが解消したとたん一気にパケットがクライアントにながれこんで早送り状態
リネージュの処理を思い出しました。
もしかして似たような処理をしてるのかなぁ
693 :
639:2005/11/04(金) 21:27:16 ID:FmXnGpcM
毎回ゴミレスですみません
ある意味ここにカキコしてモチベーション維持はかってますのでお許しをorz
かまわんから存分にやりたまえ
人少ないしね(ノ∀`)
696 :
639:2005/11/05(土) 23:48:01 ID:VlimTCW7
昨夜一晩、クライアントのウインドウをドラッグ状態にしておくと
パケットがどんどんたまっていってしまい
オーバーフローしてしまう現象に悩みました。
変数にメモリ割り当てすればいいだけだったorz
これでひとつHSPについておりこうさんになった
進捗状況
1 ログイン処理
まだ名前だけ・ダブり判定なし(通信動作テスト時簡易的な名前で複数クライアントを起動するのに面倒なので)
2 同期など
サーバから同期信号以外のデータ(ランダムな数値・簡単なメッセージ)も受信・解析し表示まで
(クライアント数20まで確認)
クライアント側のラグ対策
3 ログアウト処理
クライアントを強制切断してもサーバに一定時間残して置く処理導入
今後の予定(優先順位順)
1 データ(数値・メッセージ共)のちゃんとした(?)処理(現在は暫定的な処理)
2 サーバにデータを送信しサーバで解析・処理
3 X,Y座標を利用した移動処理
697 :
639:2005/11/05(土) 23:53:44 ID:VlimTCW7
補足
ラグ対策といっても受信バッファがたまってしまった場合に
それらを一気に処理するだけです
みためには以前かいたけどバッファがなくなるまで早送りみたいになるだけdす
ログインと新規登録が出来るようになりました。
ダウンロードして試してください。
以前と同じような方法で処理しているので
また、ログインできないバグ出るかも;
699 :
名前は開発中のものです。:2005/11/06(日) 19:54:31 ID:w73OdDpw
みんなガンガレ
700 :
639:2005/11/06(日) 20:57:37 ID:ETFOocGZ
みなさんがんばりまっしょい
進捗状況
クライアントからデータ送信・サーバで解析・処理 OK
クライアント側でX,Y座標をランダムに増減させてサーバで管理 OK
サーバからメッセージ送信・クライアントで表示 OK
今後の予定
クライアントのX,Y座標を他クライアントに送信・管理
クライアントからメッセージ送信・サーバから他クライアントに送信
>>698 書き忘れてたけど、IDとパスの両方を6文字以上入力しないとボタン押せませんので;
ログインと新規作成が特に問題なかったら、
次は
クライアントから送信された座標を他クライアントに送信
を出来るようにしたいですね
皆ガンバレ。私もひっそり頑張る。
とある深部にあるスレを乗っ取ってぼそぼそやってます。
が、まあ完成するかどうかはさっぱり分かりませんね(´д`)
>>701 新規作成、ログイン共に正常に動作しました。
WinXP SP2でそ。
>>704 …某モンスターゲームの人…?
>>705 確認ありがとです。
他の方も問題なかったかな
ログイン部分はOKみたいなので次に進みたいと思います。
でも今日は寝る。
サバ立てておきますね
>>701 新規作成、ログイン共に正常に動作しました。
Windows XP Pro x64 SP1 でつ
テスト中に接続に失敗したんだけど、鯖落とした?
>>708 テストしてみました。
1.なんか、ログインボタンの効きが悪い気がします
具体的には長く押していないとログイン出来ないです
ボーリングではなくOnClickでやっていますか?
2.多重ログインはチェックしていないですか?
試したところでは4クライアントで同じIDを使いログインできました。
3.あと、座標とともにログインの有無も表示できていたほうが
デバッグにはいいかなと思いました。
たとえば、ログオンの有無で文字の色を変えるとか
以上、明日もあるのでもうすぐ寝まつ
>>709 1.ログイン画面の更新情報が、かなり重たいみたいで動作が悪くなってるみたいです;
OnClickではなく普通にStickでやってますよ
2.今のところは多重ログインをチェックしてないです。
次回までには実装しておきたいと思います。
3.作っているときにそう思ったんですが、「これでいいかな」って感じでうpしちゃいましたw
文字変えしてみようかな
ボーリングって何だよorz
ポーリングだった
気が付け盛れorz
>>710 パッチャーで接続中に、進行状況が分かると安心です。
>>712 進行状況を表示できるようにしたいと思ってるんですが、実装が難しかったような気がしたからこの状態になってるんです。
そのうち改善されると思いますので、それまでは今のままで勘弁してください;
ログインしてる方の文字色を変更しました。
最新版うpしてあります。
最新版うpしました。
変更点
・マウスカーソルの位置にあわせてマスを表示するようにした
・他のプレイヤーのいる座標の上にカーソルを乗せると文字列表示
です。
これは意外と簡単に実装できました。
3Dで作る予定なのに2Dっぽくなっちゃってるw
715 :
639:2005/11/13(日) 01:09:23 ID:V3ipI0ed
とりあえず進捗状況
X,Y座標をキー入力で変化
サーバでログイン・ログオフ(一定カウント数waitしてから切断)
クライアント側で他クライアントのX,Y座標管理
まで出来ました。
付け足しながら組んでいったのでソースがきたなくなり
最初から組みなおそうとしたんですがうまくいかなくなってしまった(笑
結局汚いソースのまま;
今後の予定
チャット機能追加の為にinput処理とテキスト表示の「コマンドを覚える」orz
グラフィック関係の「コマンドを覚える」orz
これが実装されればとりあえずアバターで動き回りながらチャット出来ることになります
ここまでいったらいったん公開したいなぁ。
まだ鯖は立てるつもりがないので鯖とクライアントを公開(コンパイルしたものですが)
したいとおもってます
いいあぷろだないですかね;
716 :
639:2005/11/14(月) 01:13:20 ID:o6g1tXsY
進捗状況
クライアントからアカウント(兼キャラネーム)・パスワード登録 実装
サーバでアカウント管理 実装
アカウント多重ログインチェック 実装
ログイン・ログアウト時にサーバ側にあるX,Y座標等のデータ読み書き 実装
今後の予定
知らないコマンドを覚える事orz
HSPでのプログラム第一弾にMMOを選ぶのは結構無謀な気がしてきました
今はデータ管理はキャラネーム・パスワードとX,Y座標だけですが
それ以外の膨大なパラメータを処理することを考えるとorz
717 :
639:2005/11/15(火) 00:31:22 ID:D3uwfFKq
進捗状況
アカウント新規作成用に専用サーバ作成
サーバとクライアントのバージョンチェック実装
(クライアントが古い場合、新しいバージョンのダウンロードをするように表示
アップデータとかは今のところ作成の予定無し)
今のところ自力でどうにか作ってます。
今後もがんがります。
ヽ(´ー`)ノ がんがれ 応援してるょ
719 :
639:2005/11/17(木) 01:46:24 ID:6s1jcyiF
ありがとうございまふ
本日の進捗状況
サーバのソースの全体的な手直し
他PCが近くにいる時だけ座標データ送信 実装
MAPの仕様決定 最大100×100マスでひとつのMAP・MAP数最大100
座標データとともにMAP IDとでもいうようなものも送信
MAPデータと表示部分を作ればとりあえず動きまわれる所までという感じでしょうか
でもそれは後回し
チャット機能も後回し
今後の予定
もう一度ソースの見直し・不具合の発見・対処
NPC移動処理実装
疲れたorz 寝ます ノシ
720 :
639:2005/11/19(土) 14:45:22 ID:65jC9aVL
進捗状況
送受信データの見直し
最近は送受信データを監視しては変更の繰り返しです
クライアント数が少ない時は効率的だと思った方式が、数が増えてくると逆にデータ量が増えてしまったり、面白いです
グラフィック関係は最後にする予定
見た目から作ったほうがモチベーション維持できると思いますが、あとの楽しみに取っておく予定です
721 :
639:2005/11/19(土) 14:46:00 ID:65jC9aVL
進捗状況
送受信データの見直し
最近は送受信データを監視しては変更の繰り返しです
クライアント数が少ない時は効率的だと思った方式が、数が増えてくると逆にデータ量が増えてしまったり、面白いです
グラフィック関係は最後にする予定
見た目から作ったほうがモチベーション維持できると思いますが、あとの楽しみに取っておく予定です
722 :
639:2005/11/19(土) 14:48:17 ID:65jC9aVL
二回送信すまそorz
その謝罪も連投してこその職人だろが!
ご苦労様です
725 :
639:2005/11/22(火) 01:25:55 ID:2xgRvk/S
進捗状況
ひたすら送受信データを眺めて、調整していました。
地味な作業です。
そういえばこのスレのログ全部は見ていないなぁと思い、見てみました。
>>206こ、これは!!!このような方法があるとは!!!
>>207こ、これは!!!いまの私の方法に似ている!!
話は少しずれますが、サーバのメインloopのwait時間を短くすると、
送受信データ(とくにクライアントへの同期信号)処理が
おいつかなくて、かといって長くすると全体的にもっさりになってしまい
悩んでました。
メインloopをカウントして、一定の値になった時だけ同期信号を出して、
クライアントと通信し、それ以外は処理速度を稼ぐ為にwait時間を短くすれば
いいような気がしたのでやってみました。
というわけでawait1でぎゅんぎゅん回しながらクライアントへはぽつぽつと
同期信号を出す実験開始
いまのとこいい感じ。
つかもっとはやく気づけよ俺orz
寝ます ノシ
726 :
639:2005/11/22(火) 01:33:49 ID:2xgRvk/S
いまトイレでおもったのですが同期しないほうがいいのかなー
もしくは同期信号を出すタイミングをクライアントごとにずらすとか
これだと表示したときに変かなぁ・・・でも負荷減りそうだなぁ・・・
今度実験してみます
寝ます ノシ
乙です、ワクテカしてまってます。
728 :
639:2005/11/23(水) 01:38:30 ID:9+oEd7uQ
スレを私物化ぎみですみませんですorz
気になっていることがあります
会社のPCと自宅のPCで動作速度に大きな差があるのです
CPUは似たようなものですし、メモリも同程度。
しかし会社のPCだとパフォーマンスがかなり落ちます
謎です
話はかわりますが色々やってみて思ったこと
座標移動処理で差分だけ送受信だとなんらかの原因でデータの欠損等が
発生した場合に表示と実際の座標位置がどんどんずれる予感なので座標データそのものを
やりとりしたほうが確実ぽい
TCP通信は予想よりかなり速度が遅かった気配
やはり同期させたほうがなにかと好都合な気がする神のお告げ
データの信頼性と速度は反比例する予感
進捗状況
サーバを手動でシャットダウンさせる場合
オンラインのクライアントのデータをサーバ側に保存する機能の実装
今後の予定
大まかな全体の仕様の考察
そろそろこれを決めないと先に進めない予感
寝ます ノシ
>>728 > スレを私物化ぎみですみませんですorz
別に問題ないと思うよ。製作している人のためのスレだし。
> しかし会社のPCだとパフォーマンスがかなり落ちます
グラフィックの問題じゃないかな
ビジネス用途のPCは、ビデオカードが貧弱だから
ゲームのようにグラフィック処理に負荷がかかる処理には弱いと思う。
> TCP通信は予想よりかなり速度が遅かった気配
座標データの様に、バンバンやりとりするものなら
UDPの方が処理が軽くて良いよ。
ただし、届く順序が前後する場合があるので、
そこを考慮する必要があるけど。
730 :
639:2005/11/23(水) 23:05:20 ID:9+oEd7uQ
>>729 うーん会社のPCには自宅よりランク上のグラボはいってます・・・
もっとも画面にはx,y座標や通信データの羅列ぐらいしか表示されていなかったです・・・
UDPについてはもう少し勉強してからじゃないと頭が混乱しそうです;
進捗状況
仮のmapデータ作成。読込、表示、他クライアントの座標を元に表示 実装(2D表示です)
ドット絵とマップエディターについてはフリー素材でお茶を濁しました
壁判定やイベントフラグについては未実装です
でもこれで複数がmapの中を移動している様子が視覚的にわかるようにしました。
まだいらないと思って実装しなかったんですが、なんとなく区切りとして実装しました。
ちなみにまだメッセージ送受信及び表示については未実装です
最悪IRC使ってくれとかにして逃げてしまおうかと半分本気で検討中;
731 :
639:2005/11/24(木) 00:41:41 ID:nZYOH1u3
むむむむむ・・・
半同期タイプをテストしてみたら完全同期タイプよりレスポンスがいい・・・
しかしラグった場合にまわりにいたPCがワープする。
んーーーーしばらくテストしてみる価値ありそうです
寝ます ノシ
911と101は元気かい
生きてるかい
734 :
639:2005/11/25(金) 00:30:15 ID:kHBDzTEC
ここまでの私の行ったまとめメモ(説明下手ですみません)
1.非同期タイプ(サーバ・クライアント共自由なタイミングで送受信)
no waitではデータがバッファにたまり処理出来ない
適当なwait時間を設定する必要有るが調整が難しい
へたなwaitを設定するとタイミングのズレが発生し効率が悪かった
2.同期タイプその1(サーバから同期信号を一定時間で送信・クライアントはその信号がくるまで一切の処理を止めて待つ)
一定時間までサーバから送信するデータを対象クライアントごとに一つにまとめ、
同期信号にデータ(自分及び近くにいるPCの座標その他)を付けて一気に送信
利点・サーバでクライアントからの送信タイミングを決められる
欠点・クライアントで一度に受信するデータ量が増大し、処理に時間がかかる為同期信号の間隔をあまり早く出来ない
また、その間隔の為にサーバでawaitを利用していた為、クライアント数が増えると一気にデータがくるために
サーバ側も処理が間に合わなくなった
735 :
639:2005/11/25(金) 00:30:39 ID:kHBDzTEC
3.同期タイプその2(サーバのawaitのかわりにメインloopカウント数が規定の数値になった場合に同期信号送信)
サーバはwait等で止まらないために常になんらかの処理が出来るようにした
クライアントへの同期信号はloopカウントを利用し一定カウントで送信
利点・サーバの負担減・結果レスポンス向上
欠点・クライアント側での受信の仕方は同期タイプその1と変わらない為、同じ状態
4.半同期タイプその1(同期タイプその2をベースに、クライアントからの処理データをその都度送信)
クライアントからのデータを一つずつ解析し結果に同期信号を付けてその都度送信
利点・サーバのレスポンス向上・クライアントの負担減
欠点・相変わらず一定間隔で同期信号も送信していた。無駄な処理増につながっていた
5.半同期タイプその2(半同期タイプその1をベースに、処理データと同期信号を分離)
処理データはその都度送信・同期信号は同期タイプその2の方式
(クライアントへの同期信号はloopカウントを利用し一定カウントで送信)とし、分離した
利点・他PCの座標データは同期信号とは別に処理できる為クライアントの負担減
同期信号を受信した時のみ移動許可とした為他PCとの同期もとれた
736 :
639:2005/11/25(金) 00:31:18 ID:kHBDzTEC
※○○タイプとか適当に名前つけたので実際の方式と合うかは知りません;
737 :
639:2005/11/25(金) 00:55:27 ID:kHBDzTEC
現在は5の方式を元に、さらに無駄な部分を削ぎ落としています。
今後取り扱うデータが増えるハズなので、その前にもう少し手直しをします。
ふと思ったのですが、このスレはMMORPGを完成させて発表するまでの
道のりスレ的なものなんでしょうか
それともHSPでMMORPGを作成するにあたっての技術的な話題を
発言するスレなのでしょうか
私の場合ほとんど独り言に近いのでorz
738 :
639:2005/11/25(金) 01:05:36 ID:kHBDzTEC
本来ならここらへんで一度公開テストしてみたい所なのですが、
開発用PCを鯖にするわけにいかず(ゲームしたいし・・・つか最近これにかかりきりですが)
以前web鯖として使用していたPC(現在休止中)はLinuxなのでHSPが動かせませんorz
折をみてWin入れなおすか・・・でもスペック的に心配orz
寝ます ノシ
お疲れ様ー
740 :
639:2005/11/26(土) 18:20:13 ID:gB1gutAY
>>735の5番の方式をもとに、
「サーバからの移動間隔信号を出すタイミングをクライアント毎に設定」してみました。
つまり「足の速いキャラ」「足の遅いキャラ」が出来ます。
今テスト中です。結構面白い要素です。
741 :
639:2005/11/27(日) 01:30:32 ID:kBMQLm+S
手を加えるたびにテストし不具合見つけて修正しての日々です
変更点を言葉で表すのは簡単ですが
>>740を実装した事によるバグや
不具合の潰し込みに今までかかってましたorz
今回の実装で思ったのですがやはりまず通信系を作りこんでいこうと思います
それ以外のシステムについては考えている部分もあり未定の部分もあります
考えている事に通信系を対応させてから実装するやりかたをしたいと思ってます
例えば今回の移動の速さ実装に関しては、
ステータス又はアイテム・魔法等で移動速度アップの要素を入れることを見越しての事です
mobにも移動速度の設定をして足の遅いやつ・おっそろしく速いやつとかを
つくったら面白いかなと。
実際あまり速い設定にしてしまうと負担が大きくなるので極端な設定は出来ないとは
思ってます。ここらへんは調整する必要があるでしょうがまだ先になります
寝ます ノシ
742 :
639:2005/11/30(水) 01:08:36 ID:qCFauRfw
マップチップを暫定で16×16で作成しマス単位で移動させていたのですが(スクロールめんどくさ)
しょぼいのでキャラチップだけを32にしてみました。結構いいかもしれないけど今度はマップチップが
キャラとスケールが違ってしまうので32のマップチップを用意して処理は16のチップ扱い
(32のチップをmapデータ4つ割り当てる形です。
データ的には無駄だけど処理は変えずに移動の見た目がマス単位じゃなくなる感じ って説明ヘタすぎorz )
にしようかと思案中です。
また、今まで19×19マスで表示していたのをキャラがデカくなった為、せまく感じたので32×32にしました。
そういえば昨夜DirectXがHSPで使用出来る事を知りました。スプライトもあるんですね
HSPのコマンド知らなすぎorz
NPCの実装と壁フラグの関係もあるんでマップチップとキャラの大きさについて決める必要が出てきました
あとスプライトの方が判定処理簡単なのかなぁ。今のとこ全部gcopyです。今度調べてみます
知らないコマンドの動作を理解するのにいちいち動作検証program組んで結果を確認しながらなのでメンドクサorz
そういや最近はprogram組むじゃなくてスクリプトって言い方するんでしょうかね。よく知りません
743 :
639:2005/11/30(水) 01:09:17 ID:qCFauRfw
最近の状況
クライアント10個立ち上げて(処理重くなるんで画面処理しないデバグモードで)、
座標移動の通信ぐらいならとくにストレスなく動作出来る事を確認しました
鯖立ち上げて運営開始しても、多分多くてもonline数10人前後だろうから十分です(笑)
あとキャラチップどうしよう。。。フリーのツクール素材を拝借してもいいんですが、
出来ればかわいい系じゃなくて濃いグラフィックが自分好みなんで(汗)なかなか見つからないです
あとは装備によって見た目を変えるかその処理はしないかも決めないと。。。
装備によって見た目を変える場合各装備だけのチップを用意して合成処理をしないといけないですが
そうなるとパケット量が増えるし、悩むところです
一番困るのはHSPの処理速度自体全然把握してないので(これがHSPでの始めてのprogramなので)、
どこまでつくりこむか、どこまで手抜きするかを決めかねてますorz
ちなみに今キャラチップはふんどし(?)一丁のキャラです
装備はふんどしだけにして色だけ変えようかな(笑
もちろん赤フンを最高級装備にする(笑
ふんどしonline(笑
寝ます ノシ
お疲れ様。順調に進んでるようで期待させていただきます。
745 :
639:2005/11/30(水) 12:20:27 ID:27yguAmR
会社からです…なんてこった…
スプライト使えばあんな処理とかこんな処理とか楽じゃないか…
その部分のコード書き直すか現状でいくか…
どうする俺orz
>>745 後々の処理や作業量を考えたら、今、書き直すべきかと思います。
大変だとは思いますが、がんばって下さい。お手伝いできる事があれば良いのですが・・・
いかんせん、私は無能ですので・・・応援しかできません。
747 :
639:2005/12/02(金) 01:02:17 ID:ht2wbtfp
ちょっとまだコードについては検討中ですorz
今日までの状況
サーバでNPCのランダム移動実装
クライアント一つだけ立ち上げて負荷テストしてみました。
PCに関しては自分の可視領域にいる他PCのみデータ送受信をしていますが、
NPCに関しては負荷テストの意味もこめてmap上の全NPC座標を
クライアントに送信してみました。
テスト状況その1
プレイヤー(クライアント)が一人だけonline
NPC(mob)数がmapに100人(全てのNPC座標データをプレイヤーに送信)
NPC表示はプレイヤーの可視領域内のみ(データは全NPC分保持)
プレイヤーへの同期信号とmobの移動間隔を同じにした
結果
正常に表示された
プレイヤーの移動に関しては時折もたついたが気にならないレベル
テスト状況その2
プレイヤーが一人だけonline
NPC(mob)数がmapに100人(全てのNPC座標データをプレイヤーに送信)
NPC表示はプレイヤーの可視領域内のみ(データは全NPC分保持)
mobの移動間隔を倍にした
結果
プレイヤー移動時多少もたついた(多分NPCデータ処理時に負荷が大きくなる為)
748 :
639:2005/12/02(金) 01:07:34 ID:ht2wbtfp
テスト状況その3
プレイヤー(クライアント)が一人だけonline
NPC(mob)数がmapに150人(全てのNPC座標データをプレイヤーに送信)
NPC表示はプレイヤーの可視領域内のみ(データは全NPC分保持)
プレイヤーへの同期信号とmobの移動間隔を同じにした
結果
mobちらつき発生(原因不明)
プレイヤー速度ダウン
749 :
639:2005/12/02(金) 01:14:53 ID:ht2wbtfp
テスト状況その4
プレイヤーが一人だけonline
NPC数が1000人(ランダムに座標増減・但しクライアントへは100人分のみ送信)
NPC表示はプレイヤーの可視領域内のみ(データは全NPC分保持)
プレイヤーへの同期信号とmobの移動間隔を同じにした
結果
多少遅くなったが致命的なほどではなかった
750 :
639:2005/12/02(金) 01:19:18 ID:ht2wbtfp
本当はクライアント数も増やして確認したいのですが、
一台のPC(この場合はパソコン)で複数立ち上げると、
それだけでパフォーマンスが落ちるのでやっていません
寝ます ノシ
>638
いつも参考にさせてもらってますm(__)m
私もネットワークゲームを開発しているのですが、パケットの暗号化にどんなアルゴリズムを使えばいいか悩んでます。
いまはRC4(オープンソースなほう)をつかってやろうと考えてますが、ほかにお薦めとかあるでしょうか?
高速なストリーム暗号だと、RC4くらいしか思いつかなかったので…。
↑ごめんなさい。639さんですねorz
753 :
639:2005/12/03(土) 00:02:24 ID:GhwP9zeb
すみません暗号化とかまったく考えていませんorz
RC4についてはバイト単位で暗号化出来るみたいですが、
私の想定している規模のものだと暗号化はいらないかなとか思ってますがだめですかねorz
通信部分についても、なんか好き勝手に組んでますので
傍から見るとアホな事をしているのかもしれませんorz
本日はprograming休憩して、久々にlinuxでweb鯖立ち上げました。こちらはこのまましばらく通電しときます
つかlinuxも使ってるならCで鯖組めよとかツッコミは無しの方向でお願いしますorz
昨夜のテストについて書き忘れていましたが、同期信号を出す間隔は
メインループの2,3回に一度程度でがつがつ出力しました それ以上落とすとモッサリでした
PCとNPCと戦闘、生産等を実装したと仮定した場合メインループ毎に同期信号を出さないと
だめぽなのかも知れないなぁとか思ってます。
というか・・・・
スプライト関連のリファレンスを見て思ったのですが、もしかすると今までの作業が根本的に
ひっくり返りそうな予感です
すくなくとも移動・可視領域外に他PC等が移動した場合の処理・画面スクロール等の処理が
今の手法より効率が良さそうな気がします。
他にも知らない便利なコマンドがありそうorz
つかHSP付属のヘルプだけでMMOつくろうとするなよ俺orz
正直言うと凝ったことしたいならHSPは捨てるべきだと思う。
HSP本来のコンセプトと外れるし、ソフト単体で見ても質を落とすだけ。
755 :
639:2005/12/03(土) 22:49:17 ID:GhwP9zeb
私はHSP自体始めて使うのですが、その意味では正直VBでもjavaでもその他でも条件は同じなんです・・・
どれも使ったことないですから(汗
元々MMORPGが好きなので、自分で作れたらいいなぁというノリで作ってます
早い話自己満足なわけですので、スレ汚しになっていたらすみませんです
人の好みも、考えも個人個人違う。
もっとも、愚かしく、みっともない事は、自分の考えを他人に押し付ける事である。
>>755 今まで通り、がんばって下さい。
そーゆー思春期みたいな価値観止めたら?
754は単に忠告してるだけだと思うけど。
とりあえず動いて、十数人から何十人かが接続でき、
簡単なMMO世界を構築する喜びを味わうのならばHSPでもええんちゃう?
商用レベルで利益出せるようなシステムを構築しようってわけでは無いのだし。
HSPで限界を感じて、更に上を目指す意思があるのなら、その時はC++でも何でも勉強していくだろうし。
HSPでプログラムの楽しさに触れてみてくださいっていうコンセプトには合致してるでしょ。
身の丈にあった方法をとるのは大事。
力みすぎて計画倒れになる757よりましだろう。
アンカー間違えた・・・orz
まぁ、いいか。厨房じゃなければ理解できるだろう。別にできんでも構わんが。
762 :
639:2005/12/05(月) 01:34:12 ID:vL1s5iVn
なんか騒ぎになってしまったようで申し訳ないですorz
想定している規模は
>>758さんの言うように極小規模なものです
進捗状況
NPCランダム移動をmobがそれっぽく動いているような感じのランダム移動に手直し
(ランダムにx,y座標を増減する方式から今いる座標に近い座標をランダムに設定し
さらにランダムに移動許可を出して許可のあった場合のみそこに向かって行き
到達時にまたランダムに目標とする座標を設定)
可視領域にNPCの座標があるときだけ鯖から送信:レスポンス向上
今後の予定
NPC行動パターンのバリエーションを増やす
チャットをそろそろ実装したいのでコマンドリファレンスを見る予定
寝ます ノシ
小規模はMMOとは言わない気がするけど…まあいいかw
ガンバレ
764 :
639:2005/12/06(火) 01:27:01 ID:43ex6rOD
進捗状況
チャット実装(全体チャットのみ)
接続用のIPアドレスをローカルからDNSに変更
今後の予定
タイヤをスタッドレスにかえる
寝ます ノシ
765 :
751:2005/12/06(火) 23:03:58 ID:f4Fja9eV
>>753 返事どもです。
いろんなこと検証してて、すごいなぁと感じたので、暗号化も
やってるかなと安直に期待してました。すみません。
個人的には、MMOに暗号化は必須だと感じてるのでぜひとも
入れたいところです。
ひとまず、RC互換のArcfourのライブラリらしきものがみつかった
ので、これを使ってみようかと思います。
ttp://d.hatena.ne.jp/studiokingyo/20040630 (HSPスレなのにC用ですんませんorz)
ちなみに、DxLibにこだわってるわけでないので、その辺の
突っ込みはご容赦を。
あとLinuxですが、私は鯖プログラムがWin→Linux→Winと移ってきてます。
結局完成せずに、やりたいことでOS移行してるだけなんですが。。。
Linuxプログラミングは、Cが少しわかれば趣味程度のものならすぐ作れますよー。
この本とかお勧めです。
ttp://i.loveruby.net/ja/linuxprog/ 興味があったらどぞ。
いまは先の暗号化とP2Pに興味ありです。
できればP2Pを取り入れたいので。
想定しているのは、ロビー+αをP2P(ハイブリッド型)で作ろうかと
考えてます。
766 :
639:2005/12/07(水) 00:20:44 ID:7yI4PKyb
パソコンの前で2時間寝てしまい起きたばかりで首が痛い639ですこんばんはorz
今日は貴重なprograming時間を寝てしまいますたorz
>>751 うーすみません通信がらみのものを組むのは言語問わず初めてなので、
実際に組んでみて勉強したかったのでメモがわりにここにカキコしてます
実際にテストしてみると予想と違う結果になったりしてます
理屈より実践です(汗
Linuxについては、正直C(C++)関連についての興味もあります
今回の場合はWinで構築してゲーム鯖とweb鯖兼用の方が楽チンな予感です
しかしWinではweb鯖構築した事が無いので、ちょっと時間的に厳しいので放置orz
ノートPCにもLinuxを入れてあるのですがデスクトップ用途に使ってます
ゲーム鯖用にもう一台Winマシン導入しようかしらと思案中ですが、どうする俺orz
たまにC関連で鯖programを組む事が頭に浮かびますが、今回はHSPでやってみます
情報ありがとうございました。
>>765 暗号アルゴリズムは特に何でもいいと思います。解析者に暗号・改竄チェックに何のアルゴリズム使われてたり等が漏れるのがマズイかもしれません。
MMOの為の技術は詳しくないのでですが、WPE等で簡単に通信が偽造されて、それを検出できないようじゃダメでしょうね。
通信の暗号化と改竄チェックは簡単なものでもいいのでとりあえず実装しておき、解析防止関連は軌道に乗り始める少し前から取りかかれば良いと思います。
MMOにP2Pは・・・私は知りません。作って実験しながらがんがれー。
>>766 乙です。
余談: つ[Cygwin] Linux用にC(C++)で鯖作ってもWindowsで運用も可。テストにも使えると思います。
HSPの中間コードは解析に弱い。通信部分の一部をDLLに組み込むとか。HSP本体の制約は後になって面倒かもしれません。ご注意を。
768 :
639:2005/12/07(水) 01:19:13 ID:7yI4PKyb
>>767 ご提言ありがとうございます。
とりあえず現状で一度負荷テストをやってみたいと思っていたのですが、
暗号化を実装してからにした方が良さそうかなぁと思ったりしました
Cygwinについては、実は会社のPCにこっそり入れてあります(汗
UNIXも仕事で使うので、GUIでリモートログインをしたいなぁ程度の理由ですが(汗汗
現状、PCとNPCが壁フラグ無しのmapをお互い当たり判定無しで自由に動き回り、
入力の使い勝手の悪い(苦笑)全体チャットが出来る程度までしか実装出来ていないので、
後からソース全体を眺めてみると通信関連のノウハウ以外は大したことやってないんですよねorz
眠いのでなに書きたいのか自分でわからないのでとりあえず寝ます ノシ
書籍「Winnyの技術」のPDFが、出版社が許可だしてwinnyで配布されてる。
P2PとMMO(C/S)は違う方式のネットワークだけど、開発手法(暗号技術、設計など)の記述は参考になると思われる。
770 :
751:2005/12/07(水) 20:53:17 ID:RjlM7DZz
暗号化のご助言どもです。
正直、暗号化は初なので、なにからやろうか迷っていたところなんです。
WPEってオープンβであってます?
パケットの偽装防止はまだまだ不明な部分が多いですorz
「Winnyの技術」は本買ってたりします。
ピュアP2Pの参考になりました。あとクラスタとか。
ソースとかサンプルがすこしでものってると、さらにお得だったんですがねー。。。
私の作っているものがすれ違いなので、あれですが、ネットワークゲーム
制作って事で書かせてください。
個人的にMMOをいきなり作ることに限界を感じてます。
最初の敷居だと思う、チャット&ロビーのようなものを最初につくり
その後はP2Pで遊べるものを目指してます。
一番の目的は、クライアントにIPを意識させないこと、パッチ配布の効率化です。
補足で、大切なデータはサーバに送るようにする予定なので、どっちかというとMOに近いかな?
Cygwinは私も使ってます。便利ですよねこれ。
MinGWあたりも一時期は使ってましたが、いまはVC++に戻ってしまいました。
長文でなにもおかないのも失礼なので、既知かもしれませんがネットワークゲーム
つくるのに参考になったページを。
ttp://www.geocities.jp/ol_lc/ ttp://www.multiterm.co.jp/
771 :
639:2005/12/07(水) 21:20:27 ID:7yI4PKyb
639です・・・
どっちかというと体育会系ですorz
みなさんレベルが高いので話についていけんとですorz
難しいサンプルソースとか見ても理解出来ませんorz
頭じゃなく体で覚えるタイプですorz
今後も目先の事だけ考えることにしますorz
今日は 「なんちゃって暗号化」に取り組んでみます
772 :
639:2005/12/08(木) 00:29:54 ID:xQCz2cu9
暗号化は先になりそうですorz
勉強しないとorz
寝ます ノシ
773 :
751:2005/12/08(木) 22:41:27 ID:Tk06wjbh
>>639 実践してる分、私なんかよりLv高いですよorz
気にせず開発がんばってください。
実は毎日の書き込みを見るのが、日課になりつつあったり。。。
なんだかんだいいながら、私が今できているのは、チャット+ロビー一歩手前ってとこですので。
いろんな本のソースをいじりながら、目標としてるサーバを作ってますorz
ちなみに、普段は仕事で鯖関連やセキュリティ(FW)とかをいじってるんで、その辺なら多少フォローできます。
困ったら遠慮なくー。
あーだんだん数字さんが増えてゆくw
プログラマでもあり、チーターでもある俺から言わせてもらえば
半端な暗号化は無駄。
逆アセンブル出来ないような仕組みと、介入を禁止できるシステムじゃなきゃ
究極的には意味無いよ。
最近は、暗号化せずシステムで介入を保護するタイプもあるしね。
まぁ、この辺の話は、商用なり、大規模になるまではほっといてもいいよ。
HSPじゃ、根本的な対策は無理だし。
776 :
639:2005/12/11(日) 11:38:54 ID:W3DAS+nI
風邪でダウン中ですorz
ベッドの中から携帯でカキコです
逆アセンブルまでされてしまうと無力ですね
商用のものでもチートやBOTの対策で大変みたいですし
今思考能力ゼロなので寝ます ノシ
>>775 半端な暗号でも厨房を弾くのには十分だと思う
まあクラックプログラムが登場したら意味ないけど
凄腕はアカウント停止で対処しても問題ないと思うが...
>>777 チーターの中にはツールを配布する奴もいるけどね。
マクロ系をアカウント剥奪するのは難しいぞ。疑わしきは罰せずだから。
779 :
775:2005/12/11(日) 14:51:52 ID:xHHVEIki
>>777 あんまし荒れても困るからこれっきりにしとくけど、
コードを読める奴はアカウント停止なんてされない。
なぜなら、証拠は残さないから。
俺もいくつかのゲームの解析してるけど、ゲームへの介入は一切しない
から、当然banされたことも無い。
banされるのは、俺tueeeする子供だけ。
チートで鯖が異常な処理するのは、バグだから潰せばいい。
チートで特に有利になる操作&情報入手ができるのは、設計の問題。
マクロで特に有利になるわけではないが、楽できるのはまぁ許容範囲じゃないかな。
むしろその程度の操作は、鞍の機能に組み込んでほしい。
>>780 > むしろその程度の操作は、鞍の機能に組み込んでほしい。
初級狩場あたりで狩りまくるマクロとかでもいい?
782 :
639:2005/12/11(日) 22:58:00 ID:DSWsQTiD
風邪ちょっとよくなりますた
今日やったことじゃないけど進捗状況
PC その1:Web鯖
PC その2:ゲーム鯖
PC その3:クライアント用
を用意しIP直ではなくDNSで管理・動作実験
結果:思っていたより良い(ってアバウト)
ただしやはり鯖用PCにはそれなりのスペックが必要なことがわかりました
Web鯖は非力なんですがこれにゲーム鯖を入れて立ち上げたらもうね(ry
追記 現在のゲーム鯖、Linuxなんですよ・・・ え?HSPはどうしたって?いやもちろんHSPですよ(謎
783 :
639:2005/12/11(日) 23:47:29 ID:W3DAS+nI
早めに寝ます ノシ
784 :
639:2005/12/12(月) 23:58:01 ID:NlLzEzCS
785 :
639:2005/12/13(火) 00:08:12 ID:qkFpclXv
あー時間見たらもう夜中じゃないですかorz
こんな時間じゃ誰も来ない予感orz
とりあえず風呂入ってきます
786 :
639:2005/12/13(火) 00:32:13 ID:qkFpclXv
風呂入ろうとしたらお二人ログインしてくれました(;゚∀゚)=3
ありがとうありがとう(涙)
チャット使いにくいですねorz
今度までに直しておきます
鯖このままにして風呂はいってきまふ ノシ
787 :
639:2005/12/13(火) 01:28:31 ID:qkFpclXv
総勢3名の方がログインしてくださいました
この場を借りてお礼申し上げます
ゲーム鯖は落としました
また、クライアントもweb鯖から削除致しました
ご了承下さいませ
寝ます ノシ
788 :
639:2005/12/14(水) 01:22:39 ID:dYxZX2uu
先日は発作的に公開したわけですが、よくよく考えてみると操作法その他、
何もご説明してませんでした
にも関わらずテストに参加して頂きまして改めて御礼申し上げます
今日は低スペックPCを鯖にして動作テストしてみました
結果・・・エラーで鯖落ち
対処法はまだです。処理速度がデータに追いつかないみたいです。
とりあえずこの問題は後回し(汗
鯖・蔵の両方をprogramするのって単純にいうと手間が2倍なわけで、
両方をデバグとかするのにはまとまった時間がないと出来ないのが難点ですorz
今後の予定
1・PC、NPC(mob)共に当り判定(キャラの重なり防止)
これはキャラ総当りで座標で判定するか、仮想mapの配列変数で進行方向に
なにかあるかで判定するかのどちらかにする予定です(多分仮想map)
2・壁フラグ実装
これも1に書いた仮想mapに埋め込む予定
3・map間の移動
これも同上
仮想mapには単純に数字を入れるのではなく文字列を入れて意味をもたせるつもりです
話の途中ですがそろそろ寝ます ノシ
789 :
639:2005/12/16(金) 00:21:33 ID:+zXNsTGF
風邪なかなかなおりませんorz
とりあえずmapの壁フラグ及びNPC(mob)の重なりチェック実装しますた
今後の予定ですが、決めかねています
つまりゲームの全体的な仕様(ステータスやlevel制かスキル制か等)、
map及びmob、playerのキャラチップ、map作成、アイテム(武器、防具その他)の種類、
これを決めないことには戦闘ルーチンその他に手をつけにくいですorz
また、前回突発で公開した時には開発用PCでゲーム鯖を立ち上げたのですが、
そのままゲーム鯖にしてしまうわけにはいきません(これじゃ開発できません)
linuxでゲーム鯖にしてみたと過去に書きましたが、そのマシンはノートPCなんですが
ファンがうるさいorz しかも熱でシャットダウンしてしまうので(ぉぃ
ノートPCの下に空冷ファンunitをしいてます(これがfan4つもついている)
つまり非常にうるさいorz
790 :
639:2005/12/16(金) 00:26:36 ID:+zXNsTGF
とりあえずゲーム鯖の問題は後回しにしたとしても、
いよいよ仕様その他のデータ的なものに着手しなければなりません
膨大な作業量ですorz
現在決まっている事は、
mapの大きさが最大100×100が基本単位でそれをいつくか用意し
map移動pointにおいて切替えを行う事
こんだけorz
791 :
639:2005/12/16(金) 00:36:07 ID:+zXNsTGF
誰かと共同製作に移るか、時間がかかっても一人でこつこつやるか、
それも検討しなければならないかなとも思っています。
792 :
639:2005/12/16(金) 01:56:57 ID:+zXNsTGF
最近完全に私がスレ乗っ取りしてしまってますな。
というか独り言スレorz
2chでのblog状態(あっはーorz)
あーもうグラフィックやめてnethackとか*bandみたくテキストにしちゃおうかな
結構好きなんですよねー
最近は某所でネット越し(telnet接続)に他の人のplayを観戦するのが日課
寝ますノシ
実際に制作が進んでいく様を見るのは
ド素人の俺にとって参考になるのでがんがってくだしあ
mapなり、キャラデータなり、適当に妄想仕様を垂れ流すと、
気が向いたネットの小人さんが作ってくれるかもしれませんよ。
…何も無いかも知れませんがwww
>気が向いたネットの小人さんが
そんな事言っていると、Dragonforceが来ますよ?
796 :
639:2005/12/17(土) 23:56:21 ID:jBhOBMQM
最近また風邪ぶり返しましたorz
web鯖のメンテ(といってもログチェックやセキュリティーアップデートですが)
やデスクトップ用途のLinuxのメンテとかしてますた
programしてないのでアレですが私のprogramの仕方についてぼそっとチラシの裏
私の場合ゲーム作成するときは二通りのやり方があります
1.先に仕様を決めてその通りにつくる
2.興味のある部分を先につくってあとから仕様を決める
今回は2です。ある程度興味のある部分については動作確認できました
1の場合は妄想してそれに向かって突き進むわけですが、もちろん実現するだけの
skillが必要・・・大昔BASICインタプリタ+アセンプラで組んでいた頃は、時間もたっぷり
あったので可能ですた。今はきびしいす(涙)
キャラも自分でドット絵作成したし音楽も自分で作曲したしさらにプロ用シンセやミキサー
なんかも買ったりして音楽サイトまでやったりとか今考えると無茶しまくってますた
797 :
639:2005/12/18(日) 00:01:41 ID:WYqZGp+R
今はさすがにそんな時間ないすorz
今回は妄想というより実現可能そうな仕様を考えていこうとおもってます
1.スキル制+生産有りでまったり系
2.レベル制でダンジョン攻略メイン・レアアイテム探し等
さらに
1.PK有り
2.無し
こんな感じです。
個人的にはスキル制+生産有りでPKありが大好きですが、
以前お話したようにローグライクと言われるrpgも好きでして、
まずそれで迷ってます。
ローグライクっぽい感じにするならダンジョン探索でアイテムゲットの要素
も欲しいわけで、そうなると生産の意義が薄れそうですし、
ローグライクの場合ダンジョン内で死と隣り合わせの緊張感が、PKによって
台無しになる可能性もあるわけで・・・
798 :
639:2005/12/18(日) 00:10:30 ID:WYqZGp+R
またprogramingの観点からいうとskill制の場合パラメータ調整が難しい
バランス調整もそうですが各skillのパラメータも細かく管理しなければなりません
さらにCONやDEX等のステータスも考慮しないとなるとこれはもうお手上げ
レベル制でしたら経験値テーブルで管理し各ステータスはレベル毎に振り分けor初期設定から
一切変更出来ない仕様のどちらかですみます。あとはアイテムによるブーストだけ考えれば
良さそうです。
ダンジョン探索の緊張感については、ランダムダンジョン作成ルーチンを実装し
常に新鮮な感じで遊べるようにしようかなと思ってます。
ランダムダンジョン生成については
1・ダンジョンにだれか入った段階で生成・だれもいなくなったら初期化
2・ダンジョンだけMOにしてしまってパーティー毎に生成
3・一定時間が経過すると鯖を強制リブートし初期化
あたりが考えられます
799 :
639:2005/12/18(日) 00:14:37 ID:WYqZGp+R
まず大風呂敷を広げてしまってダメになってしまうよりは、
まず極小のシステムで構築し後からmapなりシステムなり
変更・追加の方がいいかなとも思います
以上の考察から消去法で考えられる比較的実現可能な方法は、
1・レベル制
2・とりあえずPK無し(PK有り地帯・アリーナ等実装も後から可能)
3・ランダムダンジョン生成は強制鯖リブートor誰もいないとき初期化
です。
800 :
639:2005/12/18(日) 00:20:12 ID:WYqZGp+R
ちなみに鯖の負荷や安定等を考慮すると、一定時間で鯖リブートするのが
(勿論リブート前にアナウンス・キャラデータのセーブ実装が前提)
いいかなと思っています。これは長時間AFKキャラによる鯖負荷軽減も
あるかなと考えてます
ランダムダンジョンについては数種類用意しそれぞれに難易度設定を
したほうがいいかなと思いますが、とりあえず最初は一つだけにします。
ここまで勢いで書いてみました。
なにかに似ている・・・しょうがないかorz
ガンガレw
ここまで書いている間にデスクトップ用途のlinuxのメジャーアップデートが無事完了したので
寝ます ノシ
ちょっと停滞気味
理由は前述のmapとグラフィック関係です
mapチップに関してはフリーをありがたく使わせていただくとしても
m a p 作 成 自 体 が 興 味 な い
これは致命的ですorz
自分でもびっくりしますた。まさかmap作成が面倒に思うとは考えてもみませんでした
RPGじゃないけど漏れは乱数で作った。
639って実は結構いい歳?
>>806 イイトシです
昔BASICとアセンブラ使ってたので(当時小学生でしたが)
最近はprogramingとかいわないでコードを書くっていうみたいですな
アイシの作者もHSPやってるらしいな
BASIC世代はHSPがお好きなようだ
お、マップ作成で停滞してる仲間発見!w
ネットの知識ほとんどないんで尊敬しちゃいますわぁ
がんばってください〜
なんだその「おにぃちゃん」とか「おにぃたん」とか呼びたいような名前は(*´ω`*)
年の瀬でなにかと忙しい時期になってます
今日は影響を受けたり参考になるMMOについてぼそっと。
まず企業運営ものから。
リネージュ(1のほう)
これのすごいところはフィールドマップが地続きなところです(ダンジョン除く)
つまり見かけ上zone移動無し
たぶんzone移動してるんでしょうが、それを感じさせません。mobもしつこく追いかけてきます。
多分mobもPCと一緒にさりげなくzone移動してるんではないでしょうか。スゲー
またmobは必ずPCの画面外でpopします(地面に埋まってたりするmobとかは例外)
つまり画面にいきなりmobが現れることがなく、画面の端から登場します
多分全PCの座標をもとに計算しpop地点を決めているのでしょう。スゲー
あと以前私はAirH"の32kでこれをplayしていました
32kですよ。戦争とかはNGですが普通に街にいたり狩りしたりにはなんの支障もありませんでした。
繰り返します。32kですよ。スゲー
Shadowbane
これはPCが自分の街を作ることが出来ます。
mapにPCの行った行為が反映されます。
つまり普通mapデータはクライアントで管理しているところを
サーバとクライアントでmapデータ(の一部と思われる)をやりとりしてるぽいです。スゲー
じゃ 次は個人作成ものを書こうと思いましたが省略(ぉぃ
話はかわりますがPC移動処理で多く採用されている方式はどうやら
x,y座標の移動分を送受信してるぽいですね(私は思い切り直接座標を送受信方式)
ラグった場合にそれがわかります
高度なものになると単純に移動分をやりとりしているわけではなく、
行動をそれぞれコード化してやりとりしているみたいですね
>>813 そこらへんは升対策かね。
そういう事しないとすぐに移動速度変えたりとかされる
次は同期について
どうも主流は半同期タイプ
ある程度の座標のズレやラグをうまい具合にごまかしてますな
座標のズレにかんしていえば、たとえば戦闘後にmobの死体が
ちょっとズレた所にワープしたり。この程度ならplayに支障ないですものね
またラグについても、クライアント側でとりあえず要求された動作を表示させておいて
サーバとのやりとりをその裏でしているぽい
こうすればサーバに動作を送信・その結果を処理するよりもplayerには
なめらかに処理されているように感じさせることが出来る
実際長時間ラグっている場合、同じ動作をしていたりするMMOがありました
>>814 多くがその方式のためにスピードハックされるんでしょうね。と思ってます
playerにラグ等をあまり意識させないで見かけ上スムーズに動作を行い
ストレスを感じさせないようにするには、
1.行動のコード化
2.ある意味適当な同期
それプラス
3.コードの暗号化
が肝かなと思ってます
しかしめんどくさがりの私は
1.X,Y座標そのままやりとり
2.サーバで同期を管理・支配
3.暗号化メンドクサ
の状態です
ハックされるようになったら一人前(ぇ
作ったものがアップされない事実。
昔の連中はアップしまくってすごかった。
遊べなかったが。
>>819 まあまあ
無駄に期待させるのよりもいいのでは?
とりあえず今夜鯖アップします。今携帯からなので詳しくはまた後でご連絡します
とりあえず鯖アップしました。
以前短時間アップした時との変更点はチャットの多少の改善のみのバージョンです。
普段メインマシンとして使っているPCの為、長期間の起動は無理なのでご理解ください。
とりあえず連休中はなるべくアップしておきます。
ダウンロード先
http://himitukichi.ath.cx/client.zip パスワード
mmoclient
です
まずアカウントを作成してください。
PC nameには7バイトまで(日本語の場合一文字で2バイト)
パスワードもそれくらい
また記号等はNGです。
いったんクライアントが落ちますので、作成したnameとパスワードで
ログインしてください。
なお移動はカーソルキー、チャット欄は書くたびに自分で消してください(ぉぃ
当り判定はキャラの下半分です。今のとこmobはPCをすり抜けます。
mapは適当です。水色のところは水なので行けません
ファンが大小合わせて5個まわっていてうるさいのでそのうち2個コネクタ抜きますた
壊れたら私も壊れます
ちょっと気がかりなのは、どうやらプロバイダがファイル共有ソフト対策で
長時間送信をしつづけると帯域だか速度だかを縮小するようにしているようなアナウンスを
以前みた事です。これがファイル共有ソフトのみに適用なのかどうかは調べてないのでわかりません(ぉぃ
ちなみにゲームとしてはまったくなりたっていません。
100匹のmobがうごめくmapでアバターチャットが出来るだけです。
文句は不具合はこのスレにお願いいたします
アカウント鯖起動するの忘れてましたorz
チャット使いやすくなってますた。
ガンガッテー
プロバイダはぷららかどこかですか?
>>825 以前来てくださった方かな?ありがとうです
そう、プララです。。
MOBはいるけどPCと出会わない…
ログインしたけど人イナスwww
ここ以外で宣伝してませんからね。。。
私がログインするにはゲーム鯖のPCをしようしなければならないため
パフォーマンスが落ちますorz
画面解像度低くても使えるようにしてください…チャットメッセージが見えないw
おまえかwww
フォーカスがどっか行っちゃって発言できないwww
そこんところの修正もキボン。
うほとuhoの2窓です…人居なかったからw
二人かよwww
発言できんからログオンしなおす
すみません発言は現状ボタンをマウスでクリックでorz
まだ入力関係について詳しく知らないので勉強しときます
全角のマを使うと発言がバグるよ
とりあえずいまからログインします
なまえはGMです
若干というか体感できる程パフォーマンスが落ちますがorz
それなりに遊べましたわ ノシ
頑張ってくださいねー(=゚ω゚)ノシ
mobの移動速度をmaxに再設定しました。
MMORPGとしては遊べない速さになってます
一応パフォーマンステストということで(汗
私もログアウトしました
来てくださった方ありがとうございます
不具合はそのうち直します(汗
ひきつづき鯖は立てておきます。
ログインは出来るけど
1.カーソルで移動できない
2.チャットで文字を送っても表示されない
です
↑うそ書いていました
一応動いてチャットも送れるようでしたが
反応がとても遅いです
>>844 ありゃーその症状出ちゃいましたかorz
失礼ですがPCのスペックと回線について教えていただけないでしょうか
たぶん受信パケットの処理でパンクしてます
原因はmobの移動速度を上げた為に非常に短い間隔で送受信しているからだと思います
先ほどmobの移動速度をmaxにしたためだとおもいますので、
いまから若干速度を落としてみますね
全角「マ」の文字化け対策については思い当たる節がありますが
手直しに時間がかかるので次回(汗
若干落としてみました
ここらへんはやはり調整が必要みたいですね
>>846 スペック的には
Athlon 64 X2 3800+
MEM 1GB
Win64SP1
と申し分ない環境になっておりますw
回線は
ADSL12MBで
DOWN:3.2Mbps
UP:770kbps
となっております
が、回線の速度を計測しているとパケット破棄が起こっているみたいなので調べてみます
> 回線の速度を計測しているとパケット破棄が起こっているみたいなので調べてみます
よくわからなかったですorz
>>830 mapを小さく表示するか、チャットメッセージ欄をmap内に表示するかを検討してみます
>>832 次回バージョンでtabキーでボタンにフォーカスいくように努力します
>>848 たしかにスペックは申し分ないですね・・・
ちなみに現在ゲーム鯖にしているのは
セレロン1.7G
mem 1GB
Win2k
Bフレッツ光
です
ちなみにportはなんとなく(ぉぃ 10000と10001を使用しています
私のほうでも可能な限り調べてみます。
>>849 情報ありがとうございます。スクリーンショット見ると私のよりかなり進行してますね〜
しかしなぜかログインできませんでしたorz
>>852 了解です ありがとうございます
さいきんモチベーション下がり気味だったのですが、上がり気味になりそうです
とりあえずmapなんとかしたいですー
とりあえず全角「マ」の文字化けを直しました
今度は違う文字で不具合でるかも(汗
上のレスにあるところでクライアントをダウンロードし直してください
※文字化けバージョンのクライアントでは接続できなくなってます
発言に半角スペースが含まれると、それ以降の文字が切り捨てられてるようです。
今、鯖たってる?
立ってるよ。
・エンターキーでの発言
・発言入力欄にフォーカスがあってる際のカーソル移動で、キャラクターが動く問題
なんか固まった。と思ったら終了しちまった。
5個ログイン中だったけど1つ終了して後4つは固まった
もう一度ログインしようとしてもsend name でとまる
俺はstepの所で7まで行ってあとは止まるや。
最初はsend nameでとまり
次からはstep7が出続ける?
でもなかった
落ちたし入れないwww
send nameから進まんです
急に話は変わるが、本体にpcbnet2.asは含まなくても大丈夫だった気がするんだが。
これだけ言ってもわけわかんねえなw
packfileにpcbnet2.as含めなくても動作しますよって作者さんに言いたかった。
pcbnet2.hpiもね
あ、そういやそっちも入ってたな。
あと、本体のファイルサイズ減らしたいならBMPをRLE圧縮してみるのもいいんじゃないかと思う。
速度に影響でそうな気がしないでもないけど。
一度バッファ画面に表示してしまえば問題ないと思われ
そういやバッファ画面ってあったな。
buffer 4,200,300
とかってやるんだっけか。スゲエ懐かしいw
鯖落ちしたようですorz
復帰させました
初めてのHSP作品なので、.exeファイルのつくりかたがまだよくわかってないので(ぉぃ すみませんです
>>855 ぬおー今度はそういう不具合がorz
報告ありがとうございます
>>858 現段階では仕様ということにしてあります(汗
(チャット中逃げられるようにという言い訳)
step7からすすまない時は鯖落ちです
sendnameで進まないときは多分鯖の負荷増かもしれません
これも今後の課題ですね
また鯖落ちました
ネットワーク関連でトラブルが起きた模様
ローカルネットワーク切断のダイアログが頻発orz
PC再起動します
再起動しました
鯖アップしました
ログインできましたが動作が重たいです
いったんメンテの為鯖落としますね
鯖アップしました
各不具合を修正しクライアントをver0003αにアップしました
>>107さんの不具合はまだ未解決orz
追記
皆様アドバイスありがとうございます
初めての作品なので不備が多々有り申し訳ありません
今後も出来る限り修正をかけたいとおもいます。(夜しかあまりいじれませんが)
>>866>>867 今回のようなパッケージングでいいのでしょうか?
他の人の作品とかみてないのでわからないすorz
>>869 バッファは一応しようしておりますが、
>>868さんの言われているRLE圧縮を知らないので
後で調べておきますね
本日鯖落ちしていたのは前述した、プロバイダによるファイル共有ソフト対策が発動してしまったのかも
知れませんが調べてませんorz
しかし鯖の負荷的には数人のログインだったと思うので、過負荷の為じゃないような・・・
勿論私のprogramに不備がある可能性もありますがorz
とりあえず寝ます ノシ
色々ご苦労様です。パッケージングはOkでした。
あと、RLE圧縮というのは、唯一BMPのフォーマットに採用されている可逆圧縮の形式で、
単純な圧縮を取っているので、アニメ画像の圧縮に最適です。また、HSPは標準で読み込みが可能です。
私が知ってるソフトはここ(
ttp://homepage1.nifty.com/MADIA/)にある「疾風」というソフトです。
HSPを使ってたころはお世話になりました。
>>879 ありがとうございます。早速ダウンロードしました。ちょっと使い方勉強してみますね
クライアントバージョンアップしました。バージョンナンバーに変更はありません。
変更点
チャットモード時に発言ボタンの脇にchat modeの表示
チャット欄に/wと入れるとonline player name表示
あとは添付した変更履歴を見てください
0003α
"/w"でオンラインユーザーを確認した後
ほかの人がチャットでメッセージを出したあと
そのままsayをクリックすると
(入力欄は消えていないので)
オンラインユーザーが確認できるはずが、
前の人のメッセージが出力される
で伝わったかな?
AFKって639さん?
0003α
バグ?
・別ユーザーがログオフしても新たにログインユーザーが現れるまでオンラインユーザーに反映されない
・チャット入力欄にフォーカスがあるときにキャラクターが移動できない(移動できないと報告したのはおそらくこのためかと思われる)
要望
・終了ボタンは終了を確認してほしい
>>107さん情報ありがとうございます。
色々検証して頂いて感謝です^^
(AFKが私ってばれちゃいましたか(汗
先にこの不具合を直そうと思ったのですが、また鯖が落ちました。
またネットワークトラブルです。(切断したとのOSからのダイアログが頻発)
どうもゲーム鯖を長時間起動すると出るみたいです。
鯖を落とすと出なくなり、webブラウザなどに支障ありませんでした
プロバイダの問題かもしれません。
問い合わせのメールを発射予定です
現在鯖はダウンさせております。
プロバイダにメール発射しました。返事が楽しみです
とりあえず鯖アップさせました。
ついでに無人PCを2人ログインさせておきます。(ランダムに移動する)
ちなみに
>>107さんにご報告頂いたバグはまだ直っていない状態です(汗
鯖切断確認のために起動させておきます
鯖落ち確認しました
試しlにanカード換えてまた鯖アップしました
訂正
試しにlanカード
888 :
うほっ:2005/12/25(日) 22:43:51 ID:XW4dz/+j
>> 639◆WKezKkIa.w
bug.
・誰かの発言後入力欄を書き換えないで発言した時に、最後の発言と同じ発言になる。
memo
・メモリ消費量を減らす
・CPU消費量を減らす
>>888 情報ありがとうございます
鯖メンテ致しますので落とします
>>888 は
>>881 と同じ症状だと思われます
バグ
・鯖落ちした場合にクライアントがそれを検知できない
以前会社のPCで動作させると重い と書きましたが、やはり環境によって重いかたがいるようです。
現在クライアントの負荷減を検討中です。
その他皆様から頂いた要望・バグなどの修正をしますので、鯖はそれまで落とします
個別にレスできなくてごめんさい。眠いスorz
今日は寝ます ノシ
ご苦労様です。
進捗状況
2005/12/26 ver0004α(非公開)
・別ユーザーがログオフしても新たにログインユーザーが現れるまで
オンラインユーザーに反映されないバグを修正(/w コマンドの表示)
・チャット時カーソルキーでキャラが移動しない事を仕様化した<バグじゃなくて仕様です(汗
(発言ボタンの脇に「移動できない事を表示」するようにした)
・受信バッファ容量を縮小(メモリ使用量減)
・チャット欄を書き換えずに発言ボタンを押すと最後の発言(他PC含む)
が表示されてしまうのを修正
>>882 ・終了ボタンは終了を確認してほしい
はい、後日実装致します。ご提言ありがとうございます
>>890 >・鯖落ちした場合にクライアントがそれを検知できない
検知はしてるんです。shutdownのダイアログがそうです。ただ自分で終了した場合も
鯖ダウンも手抜きで同じダイアログを使ってるので(汗)もうちょっと丁寧なダイアログにします
CPU使用量については、今回は1つのmapにmobを100匹配置するという
負荷テストの意味がありました。実際こんなにmobがいたらつらいっすorz
なので1mapにmob20匹程度ぐらいならCPU負荷もあまりないです。
もうちょっと手直ししたいので、鯖はアップしません。
そういえばプロバイダから回答がきました。非常に丁寧にテクニカルな回答をしてもらえますた。
プロバイダのせいじゃないことが判明。でも長時間鯖アップしていると、鯖をダウンさせても
ネットワーク回線断のダイアログが出るのでlanカードかなぁ・・・まだ入れ替えた後に長時間鯖を
稼動させていないのでわかりませんorz
いつも励ましのお言葉ありがとうございます。モチベーション維持にとても役立ってます!
寝ますね ノシ
> 検知はしてるんです。shutdownのダイアログがそうです。ただ自分で終了した場合も
> 鯖ダウンも手抜きで同じダイアログを使ってるので(汗)もうちょっと丁寧なダイアログにします
起動しっぱなしでほかっていたのですが、出ていませんでしたよ
あと、開発お疲れっす
無理せずボチボチでいいっすよ
>>107さんお疲れ様です
107さんが接続状態で鯖ダウンしたときは、HSPの鯖ダウンではなく
OSレベルでネットワークトラブルが発生した時なのを確認しました
対策は難しいかもしれませんが検討致しますね
上記トラブルの原因として頭に浮かぶのは
lanカードのなんらかのトラブル
ハード自体のトラブル(冷却ファン2機止めてますので)
ゲーム鯖のトラブル
あたりかなと思ってます
ゲーム鯖だとすると、login-logoff時にsocketの開放がなんらかの原因でうまくいかずに
パンクしているのかもしれません
今日はprogramは一休み
フリーのmapチップ探しをしました
なかなか素敵なのを発見し早速map作り・・・途中で投げ出したw
しかしmap次第で雰囲気も随分変わるんですね
今日はこの辺で ノシ
2005/12/28 ver0004α(非公開)
・ゲーム終了時確認するように修正
・ゲーム終了コマンド「/exit」追加
・コマンドヘルプ表示「/help」追加
>>897 情報ありがとうございます。参考にさせていただきますです
今日はさっきまでlinuxいじってて時間がなくなってしまったorz
上記3点は10分ぐらいで終了
新map(といっても暫定ですが)が出来たら一度鯖アップしますので、
お時間ある方はテストお願いしていいでしょうか。
鯖アップ時にまたこのスレでご連絡いたします。
意見要望愚痴不満ストレス発散悪霊退散春夏秋冬焼肉定食なんでもお待ちしております
ご苦労様です。焼肉定食。
焼肉定食は私がかわりに昼に食べました!
とりあえずmapチップを変更して鯖アップしました。
クライアントのバージョンはver0004αです
あいかわらずゲーム性はありません
よろしくおねがい致します
ちなみに移動不能の場所にスタックしてしまったキャラもあると思います
新規でつくりなおしお願いしますorz
Step9でシャットダウンされてしまいます。
>>902 step9でシャットダウンの場合、キャラネームまたはパスワードの間違いもしくは存在しないときです
新規作成してみてくださいorz
パス入れ間違ってマスタorz
mapが綺麗になって、ゲームっぽくなってきましたな( ´∀`)
>>904 mapで雰囲気かわってちょっとやる気出てきました!
鯖アップしつつ他の作業もしたりするんで重くなったりするかもしれませんので
すみませんorz
既存アカウントのキャラ座標をmap変更に伴い移動可能な座標に直しました
鯖落ちしたorz
鯖の各変数のメモリ割り当て増やしてみました
鯖アップしました
たとえばの実装
制御命令、データ長(実際はもちろんバイナリの方が良いかと)、データで
チャットを送信
"SEND0004ほげ"
見たいな感じでどうでっしゃろ
要望(とゆうか思いつき)
なんかメッセンジャーみたいに現在の状態(AFKとか)を表示できればいいなと思ったり
オンラインで
>>107さん他と動作テストしながらメモメモ
半角チルダがらみの文字コード文字化け
一部半角記号及び[TAB] キャラネーム制限漏れ
>>908 そうですね、そのほうが現在の方法よりもいいかもしれません
チャット以外はデータ長固定にしてあるんで今の方法で問題ないのですが、
チャットに関してはそのほうが楽ぽいです
後日やってみます
>>909 AFKについては迷ってます。
というのも、鯖自体が貧弱なので、将来的には長時間AFKは切断しようかとも考えてます。
もっともそんな心配いらないぐらいに過疎な予感ですがorz
(現在は鯖テスト中なので、AFK放置大歓迎です)
とりあえず現状はAFK歓迎ですし実装もそんなに難しくないので、これも後日やってみます
負荷テスト中
熱暴走で逝くかもしれんが
他垢
うほっ、AFK→、GM
自垢
11111、22222、:、c001 〜 c011、t011 〜 t022
の計28垢ログイン中
現時点でアカウントがこちらでは作れない(connect!で止まっている)状態
バグなのか単にPCあ重くなっているのかは不明
訂正29垢でした
ちと寝ぼけているようだ
おやすみなさい
>>912さん うほっ さん
昨夜は遅くまでつきあって頂いてどもです
アカウント鯖のloopとifのネストをミスってましたorz
とりあえずデバグしてアカウント鯖アップしました
引き続きゲーム鯖アップしておきます
外出するので私はAFKです
一晩鯖アップしていたのですが、
とりあえずゲーム鯖ダウンはしてなかったのでよかった(ホッ
お疲れ様です。
時間が合わないので協力できないのがつらいですが、がんばってくださいね。
>>916 ありがとーございまふ
とりあえずloginして負荷テストとか要望とかあったらおながいします
日記
今日は鯖のソースを「パッと見」きれいにしますた
そして次に鯖の無駄を直して
そして次に先日発見されたバグつぶし
そして蔵のソースを「パッと見」きれいにして
そして次に蔵の無駄を直して
そして次に先日発見されたバグつぶし
の 予定です
手間2倍はつらいすねーorz
寝ます ノシ
テスト鯖作りました
これでゲーム鯖立ち上げたまま別に開発出来るようになりました
来年中に完成するかなぁorz
921 :
うほっ:2005/12/31(土) 23:38:02 ID:cLr5iTWc
要望・チャットメッセージをテキストファイルに出力w
…ってか、放置してる間にどんな話があったのか気になるわ
あけおめ〜ことよろ〜
今年もがんばってください〜
携帯からカキコ
明けましておめでとうございます
チャットで年越ししてしまったw
今年もボチボチがんがります
927 :
うほっ:2006/01/02(月) 06:17:56 ID:wDbk25n0
>>639◆WKezKkIa.w
なんか色々やってたら鯖を落としてしまった気がする…すまんです
>>927 色々って何!?は置いといて、
>> 639◆WKezKkIa.w
定期的にサーバーの状態をチェックした方が良いですね
現在鯖落ちしているけど検出できなかったです。
バージョンはログイン時にクライアントから送り、バージョンが違ったらクライアントを切断みたいなことをした方が良いかも
>>928 (多分)マイナス座標に移動たら落ちた…
クライアントのクローン(画像無し)を作ってるんだけど、
座標が0未満にならないようにするコードを入れるの忘れてたんorz
おはよーございます
鯖メンテの為このままにしておきます
皆さん、おひさ〜
久しぶりの書き込みですな
開発に使っていたノートパソコンが逝ってしまいましたw
サーバー側を作ったり作り直したりしてましたw
クライアント側を作り始めようと思うんだけど、2Dと3Dどっちがいいですかね
HSPだとやっぱり2Dかな
一応HGIMG3を勉強してますです
>>931 始めまして、101さんと入れ違いでここに居着いてます
個人的は3Dのをplayしたいので3Dキボン
お互いがんがりましょー
ちなみに鯖メンテ まだこれからですorz
3Dっすか〜
HGIMG3で作れるかな
超ローポリじゃないといけないな
サーバー側をコンソールプログラムにしたらCPU負荷が激しく減ったw
今クライアント側のログイン画面を作ってますです。
HGIMG3だとなんか作りやすいw
>>935 楽しみに待っています
といいつつなんか作り始めてしまったorz
>>935 おーなるほど、私もコンソールにしてみようかな
>>107 ん、オリジナル作り始めたんですか?もしかして
現在の状況
今日は鯖アップ無理かもしんないorz
>>937 そーですか、鯖アップは無理ですか
んーサンプル作りをしこしこと
pcbnet2.phiは如何ね、簡単すぎるorz
もしかしたら出来ちゃうかもと言う悪魔のささやきが聞こえますorz
とりあえず非公開でいけるところまでいこうかなと
>>938 進行具合がかなり中途半端な状態なので、鯖アップしてもあまり意味ないぽorz
>>939 #module
#define CHAT_LOG_FILE_NAME "logfile.log"
#deffunc add_chat_log str name, str msg
time = ""+strf("%04d", gettime(0))+"/"+strf("%02d", gettime(1))+"/"+strf("%02d", gettime(3))+" "
time+= ""+strf("%02d", gettime(4))+":"+strf("%02d", gettime(5))+":"+strf("%02d", gettime(6))+"|"
tmp = time + name + ":" + msg + "\n"
; ログをファイルに保存
exist CHAT_LOG_FILE_NAME
bsave CHAT_LOG_FILE_NAME, tmp, strlen(tmp), strsize
return
#global
をクライアントのソースの先頭のほう(#include の後)に追加し
add_chat_log "名前", "メッセージ"
とするとログが追加されるのでぜひクライアントに実装してください
>>938 いあー私のような、
>>940のソースの意味がサッパリわからないヒトでも
ここまではつくれちゃうのでHSP & pcbnet2はすごいですな
鯖のメンテまだ終わりませんorz
鯖うp しますた
クライアントver upしますた
http://himitukichi.ath.cx/client.zip パスワード
mmoclient
です
変更内容は付属のテキストみてくだちぃー
今回シコシコつくったソースをフリーズにより消失orz
もっかい旧バージョンからここまで作り直して力尽きたっすorz
メッセージ関連の通信方法を多少いじりますた。ログ保存は未実装ですorz
あと仮タイトル決めますた。
orz Online(仮称)ですorz
944 :
639 ◆WKezKkIa.w :2006/01/03(火) 17:14:41 ID:XoqsZgYF
たまにはage!
945 :
名前は開発中のものです。:2006/01/03(火) 17:34:03 ID:zZKjHzmQ
>>944 ダウンロードしたんですが
ログインできません
shutdownってでて終了するのですが
すみませんログインにコケることがありますorz
ちょっと今回ログインにちょっと仕掛けしたので、
様子を見ながら調整します
ログイン関係の微調整&ログ保存機能をつけ再アップしました
バージョンは同じです。
気が付いた点を
・ログイン時に2回失敗しますた
・終了が若干時間がかかる気がする
ほかのmmoを見て
・ログアウトはボタンを用意しなくて[X]ボタンで良いのでは
・↑の理由により特に終了を聞かなくて良いのかも
・ほかのmmoは移動が基本でチャットは別モード(ENTERを押す見たいな感じ)になっているみたい
アカウント鯖うp忘れてますたorz
>>946 ログインに関しては今後も検証&調整しますね
終了に関しては単に気分でwaitかけてるだけなので、即終了も出来ますが、
終了後もわざとキャラが鯖に一定時間残るようにしているので(時間は鯖側で調整可能)
んーどうなんでしょ;
ログアウトボタンはデバグ用に暫定でつくりました。
以前のバージョンで終了確認してなかったのはデバグ時マンドクセ だったからです
あってもなくてもいいんですが、細かいとこは後回しになると思います
チャット関係ですが、以前はEnterを押すと発言にしていたのですが、
漢字変換後のケテーイにEnterを押すとそこで発言してしまう不具合があった為
Enterボタンという安易な方法をとっております
これも後回しになる可能性ありです
当面はログインエラー不具合と接続認証の検証になるとおもいます
いつもアドバイスありです〜〜
>チャット関係ですが、以前はEnterを押すと発言にしていたのですが、
>漢字変換後のケテーイにEnterを押すとそこで発言してしまう不具合があった為
>Enterボタンという安易な方法をとっております
私もその問題で悩んだのですが、エディットウインドウ内の改行文字を検出するという強引ならやり方で解決しました。^^;
多分、デフォルトボタンみたいな機能でもっと簡単に実装できると思います。
iparam=13で発言にすればいいんじゃないかと
onkey *c
input a,
stop
*c
title ""+iparam+""
stop
>>952 iparam知りませんでした。ありがとうございます
>>951さんの方法をどうにかできないかなとおもってました
早速クライアントを更新しました。
ついでにAFKフラグの初期化忘れてたんで(ぉぃ
鯖も修正しました。
バージョンは同じです。
954 :
うほっ:2006/01/03(火) 23:12:22 ID:lRQ62wdA
何回やってもつながらない…Σ(゚Д゚;) アクセスセイゲン!?
もう少しで次スレの季節ですね
よくぞここまで来たものだなぁ
そろそろ次スレか〜
MMO開発系のスレでここまでいったのは初めて見たw
また不具合発見orz
鯖・蔵ともにメンテしました
バージョン表記はそのままですが、最新版うpしました
また、鯖もメンテの為いったん落としました
AFKだったヒトすみませんorz
まだサーバチェックで落ちることがありますが今日は寝ます(ぉぃ
そのほかにも不具合あるかもしれませんorz
いつもみなさんありがと〜〜 ノシ
ver0005α
1 チャットログの保存に不具合があったので修正
2 ログイン認証の改良
13時バージョンとしてクライアントうpしますた
あー
なんか
自分プログラマーみたいなカキコしてるwww
明日から仕事なのでペースダウンします ヨロorz
helpにエスケープキーでhelp表示となってますが
AFK中とチャット欄にフォーカスいってる時は無視されるようです
あとで直しときますorz
HGIMG3は当たり判定が微妙だったからEasy3Dを使うことにしました。
でもまだHSP3に対応してないみたいだから、それまで2Dで開発することにしました。
対応するまでに開発がだいぶ進んだらそのまま2Dでいくかもw
HGIMG3は当たり判定が微妙だったからEasy3Dを使うことにしました。
でもまだHSP3に対応してないみたいだから、それまで2Dで開発することにしました。
対応するまでに開発がだいぶ進んだらそのまま2Dでいくかもw
発言ミススマソ
↑639さんから教えてもらいました
>>966 ちなみに私の開発中の作品のmapもこれ使ってます お勧めの逸品w
いつのまにか
サーバー側が2000行以上
クライアント側が1000行以上
もソース書いていたw
>>969 スゲーーーーー!
私 どっちも600〜700ぐらいしか行数ないですorz
1・とりあえず
>>961の不具合修正
2・あと
>>965のfont問題は、英語font使用時にMEとかだと
2バイト文字つかったときに文字化けするようです。
2kとかXPは2バイト対応のfontを自動で使ってくれるぽいですね<OS側で
とりあえず今後はfontをMSゴシックにすることにしました。
3・あとログインエラーについて検証を繰り返してます
うちの環境だとあまりエラー出ないので何度も検証中
これが修正できたら1・2の修正内容と共にうp予定です
基本的な移動などの部分は出来てきました
チャット機能が実装出来たらテストをしようと思います
画面は昔公開したやつとほとんど同じです
今日中に出来れば公開します
寝ます
書き忘れてましたが
新規登録機能がまだついてませんので
ID:test01
PASS:test01
か
ID:test02
PASS:test02
と入力してください
エンターキーを押せば発言できるようになります。
>>973 なぜかログインボタンを押しても進みませんでした。
どっちのIDで試しても同じでした。
もしかして誰かがID使ってると入れないのでしょうか?
>>101さん
ID重複チェックしてるのならID増やしてくださいorz
ログイン出来ませんorz
>>101さん
不具合(?)
1.ログイン画面で接続処理中 CPU使用率が100%いってしまいます
すいません
ID重複のチェックはまだついてません
サーバー側の変数を1つ間違えて変えてしまっていました
CPU100%行ってしまうバグは調査しておきます
ログイン出来ないバグなのですが
どうやら俺よりも後にログインしようとするとログイン出来なくなるみたいです
testキャラからログインしたときは正常に処理されました
原因を探ってみます
>>978 がんがってください
夜早い時間にログイン成功してます
スクロールも滑らかでイイ感じですた!
fpsはたしか28前後
ただ自分以外に一人キャラが歩いていたのですがたまにワープします
おそらく移動先座標にスプライトで移動処理させているのでしょうが
目標到達前に次の座標の指示がきてワープしてるのではないかと勝手に予想
ログイン修正しました
>>979 そのとおりです
もう一人いたっていうのは多分俺です
俺はサーバーPCでログインしてるから
その分処理が遅くなってしまいます
不具合
移動中にチャット入力欄を出すと歩きっぱなしになりまふ
>>979の不具合に関しては、目標地点に到達するまで次の座標を送信しないように
したらどうでしょう
でもそうすると、キャラの位置がクライアントごとに変わってきてしまうのではないですか?
鯖ダウンしますた
原因はブレーカーorz
web鯖も落ちたorz
ちょっと色々やるのでこのまま鯖落ちたままにしときます(汗
>>982 あとでまたレス致しますですorz
居眠りしてますたorz
なのでとりあえず連絡用に鯖upしました
現バージョンのまま、変更点無しです
>>982 クライアントごとに位置がかわるのではないかということですが、
方法にもよるかもしれませんが変わらないと思います
もしお気を悪くされたのならすみませんorz
>>984 いえいえ
意見とかは無いよりはあった方がいいですらw
自分以外のキャラはパケットが来てから移動を開始するので、数マス程度の移動ならそうしても大丈夫だと思いますが、長距離を移動すると他キャラがどんどん遅れていってしまうと思います
意味違ってたらスマソ
思います じゃなくて実際やってみたら?