トップページgamedev
366コメント156KB

【フリー】Vista(ぉ)【mmo】

■ このスレッドは過去ログ倉庫に格納されています
0001911 ◆RfGLxICaUo 2005/09/05(月) 07:17:21ID:C4Ej1WEn
現在mmoの雛型部分を製作しています。
私はフリーmmoしか遊んだことがなくアイディアやルールで困ってます。
どうか製作してるmmoへアイディアやルールをご教授頂けると嬉しいです。
仕様言語はHSP3です。
とりあえず、ロビーサンプルまでは作りました。ご覧下さい。

【サンプル】
http://nekonoteigi.ddo.jp/200595.zip

【活動ログ】
http://pc8.2ch.net/test/read.cgi/gamedev/1084241527/l50
0002911 ◆RfGLxICaUo 2005/09/05(月) 07:24:44ID:C4Ej1WEn
ちなみにゲーム自体はルール・システムによってソースが変わるので
まだ3割程度しか作業してません。
本当にロビーというかデスクトップだけです。
0003無人島(HSP3) ◆quHoSW/FCI 2005/09/05(月) 08:16:08ID:0eNQo5OI
>>1
 サンプル起動しましたよ。最初アカウントに漢字が通らなくて、何度も挑戦してましたが。
こういうときはdialogで半角英数字のみってアナウンスしてくれるとよいかも。
 で、UIに凝ってる〜。自前で窓ドラッグとは〜。そういやFM77時代(古っ)はとり憑かれ
たようにウィンドゥ型GUIを作って弄ってたなぁ。今はすっかり枯れて固定でいいや派に
なってますが(ダメ過ぎ)。

 ゲーム内容内容ですが、ちと制作が疎遠になるけれど、各種MMOのオープンβとか
体験版をこなしてみて、面白いと思った点やここは改良だろってな具合でチェックして
みてはどうでしょうか。そのまま帰ってこなくなる場合もあるでしょうが(苦笑
 とりあえずある程度の方向性は決めたほうがいいと思います。とはいえ既存のMMORPG
はかなりパターン化してますけどね。

 あっちのスレは既存MMOの分析&雑談として活用してもいいかも。そろそろ101さんも
独立しそうだし。
0004911 ◆RfGLxICaUo 2005/09/05(月) 08:49:29ID:C4Ej1WEn
>>3
なるほど、そのようなアナウンスは必須ですね・・・
サーバーstatを少し具体化してみます。(セキュリティ面で危なくない程度
UIはhspプラグインを使わせて頂きました。hspwinという名前です。
通常だと右クリックのみしか受け付けないので勝手に改造しちゃいました;

そうですね。今からたくさん遊んでみます。
β版のmmoちょっと探して遊んで最低限の方向性は決めます。

101さんも一緒にがんばってきたな〜・・・いや、本当にいい流れです。
101さんがんばってください!!無人島作者さんもがんばってください!w
0005名前は開発中のものです。2005/09/05(月) 11:27:26ID:p3CLKNGc
とりあえずウィンドウシステムとOSの違いを勉強したほうがいいですよ。
0006名前は開発中のものです。2005/09/05(月) 15:02:29ID:dY3R8lUn
スマン、OSだとかブラウザだとか、
昔大真面目にHSPでOS作ろうとした時の事思い出してつい笑っちまった。

つーかウィンドウの重ね合わせの順番が不動だから酷く見難い。
こんな中途半端なUI使うぐらいなら、普通にAPIのMDI使うか独自にやったほうが良いぞ。
0007101 ◆VhiWHt2b1s 2005/09/05(月) 16:32:24ID:xPg5nrSN
どうも来ました
自分用スレ作ったんですね

お互いがんばりましょう
0008101 ◆VhiWHt2b1s 2005/09/05(月) 16:40:30ID:xPg5nrSN
サンプル実行してみました。
hspwinいいですね
使って見ようかなw
0009911 ◆RfGLxICaUo 2005/09/05(月) 16:47:45ID:C4Ej1WEn
>>5,6
わかりました。
ちょっと、UIの方はプラグイン製作して自分で作りますね。
例えば、どんな機能があればいいですか?

>>7,8
ありがとうです。
0010名前は開発中のものです。2005/09/05(月) 16:50:31ID:IwkSvDhc
また糞スレか
・・・・・と思ったら良スレじゃねーか
紛らわしいな
0011101 ◆VhiWHt2b1s 2005/09/05(月) 17:01:36ID:xPg5nrSN
うひゃ〜、左クリック使いたいけど、改造の仕方がワカンネorz
0012101 ◆VhiWHt2b1s 2005/09/05(月) 17:23:09ID:xPg5nrSN
ちょっと使ってみたけど
なんか速度が遅いorz
0013名前は開発中のものです。2005/09/05(月) 17:32:53ID:p3CLKNGc
>>9
OSっつーのはメモリやらプロセスやらファイルやら色々管理してるわけで。
Windows風に画面表示しただけで仮想OSって呼ぶのはOS作ってる人に失礼だろ。
まぁOSって呼びたくなる気持ちもわからなくもないが。

UIはrobrob氏のmmo!をお手本にするといい。
ゲーム画面はわざわざウィンドウ内にさらにウィンドウ表示しなくても、
バックグラウンドに全画面表示すればいいじゃないか。メインはゲームなんだし。
その上にチャットウィンドウやらステータスウィンドウやらを表示すればいいと思うぞ。
0014名前は開発中のものです。2005/09/05(月) 18:43:09ID:1ZW7MvBA
SS公開してないんですか?
0015911 ◆RfGLxICaUo 2005/09/05(月) 22:19:18ID:C4Ej1WEn
返信遅れした。ただいま帰ってきました。

>>10
ありがとうございますです。
これからがんばって良スレにしますね。

>>11,12
あ〜ソースアップしますか?
速度というのは・・・通信の方でしょうか?それとも、表示関連でしょうか?

>>13
なるほど・・・ウィンドウシステムですね。うん、調子乗ってました;
MDIみたいな・・・なるほど・・・mmo!をみて見ます。

>>14
SSはまだですね;

ご意見などありがとうございます。
次のバージョンまでには導入してみますね。
0016101 ◆VhiWHt2b1s 2005/09/05(月) 23:10:00ID:tPrBJhWF
ソースお願いします
速度は表示の方です
0017911 ◆RfGLxICaUo 2005/09/05(月) 23:25:02ID:C4Ej1WEn
わかりました。
飯を食べ終わったらこちらに載せますね。
無理やりなので許してください。
0018911 ◆RfGLxICaUo 2005/09/06(火) 00:26:03ID:Y0n6071k
hspwinではstickで押されたキーを判定。
getkeyでさらに補助(btt変数がそれ)してるみたいです。
で、どうやら右のみ有効なのですべてを右に変換しちゃいます。

z_aDDbtのあと

stick bt,0 : if (bt&256) {bt = 512} ;無理やり右を左にする
getkey zbt_mouseL,1 : getkey zbt_mouseR,2
if (zbt_mouseL = 1) {zbt_mouseR = 1} ; 無理やり左なら右もにする。

こんな感じに修正すれば両方有効になりますが・・・動きます。
ちなみに、左のみを有効にする方法も探してます。でわノシ
0019911 ◆RfGLxICaUo 2005/09/06(火) 01:55:19ID:Y0n6071k
さて、仮想OSとか言ってしまい恥ずかしいばかりです。
調べたところMDIなどでも可能とのことですが・・・hspでMDIは大変みたいです。
hspwinのよいところはバッファ上に描けるので半透明や消去が楽だということ。
さらにbuffer上のものをmadoに描けるのも魅力的です。

現在はチャットの同期化とP2PによるIM通信の実装テストしています。
あと、>>13氏のいう方法を取り入れています。
テスト稼動はおそらく4日後になると思います。
でわ、おやすみなさいノシ
0020101 ◆VhiWHt2b1s 2005/09/06(火) 07:00:15ID:YgH6+zil
>>18
ありがとうございました。
参考にします
0021911 ◆RfGLxICaUo 2005/09/06(火) 10:32:04ID:Y0n6071k
現在チャット部分を書いてるのですが・・・
コマンドのような機能はどの程度もしくはどのようなものがあれば良いですか?
現在実装しようと思っているもの
・色つき発言。
・フォント変え。
・イメージ貼り付け。(縮小200x200)
・システム情報
0022911 ◆RfGLxICaUo 2005/09/06(火) 11:34:18ID:Y0n6071k
どうせなのでゲーム鯖の製作にも入りました。

ゲーム内容は
選んだ街を繁栄させつつ別の街から守るというもの。
守れなければ別のマップへ強制移動となります。1日〜2日程度使えません。
【攻める側】
・準備期間と莫大な資金が必要。 → 戦いたくない。
・攻めてる間に食料や経済が停滞する → 戦いたくない。
・勝てば街に資金が入る。街の領土が増える。 → 戦いたい。
・個人個人に勝てばスキルが増える → 戦いたい。
・負けても領土を失わないが、資金・経済評価が落ちぶれる → 高価アイテムが入りにくい。

【守る側】
・負けると資金が無くなる。領土が減る。 → 戦いたい。
・個人個人に勝てばスキルが増える → 戦いたい。
・守りきると資金・経済評価が上がる → 高価アイテム入る。

などのジレンマを与えることで複雑な状況を作りたい。
MPKなどはユーザー達が裁定して構いません。fpsのPK裁判みたいなシステム。(無罪。指名手配。追放。)
街が繁栄することでアイテムや、マップ開拓するようにします。
アイテムは数に制限を持たせてレートシステムを導入します。

システムはスキル制を使いたいです。
現在調べながらどのような設定がおもしろいか考えてます。(制限と報酬など)

ただ、残念なのは3Dではなくて2Dだということかな・・・
個人的には広いマップを3Dで眺めたかったが、HSPだと落ちます;
あと、個人で3Dはおっくうだし;
なんだかんだですっごい量なので毎日少しづつこなすことにします。

簡単にいえば2D版コサックスmmoみたいな・・・(なんだろうか orz
0023911 ◆RfGLxICaUo 2005/09/06(火) 12:48:37ID:Y0n6071k
サーバー側にスクリプトエンジン必要かも。
ストーリではないにしろなんらかのイベント発生には最適ぽい。
よくあるインタプリンタ程度は必要だな・・・この辺は得意分野だから伸ばしちゃお。

今更ですが、動けるチャットツール程度だけは作りたくないです。
やはり作るなら3ヶ月位かけてちゃんとしたUI・バランス・デザインを提供したいと思います。
でも、mmo!すごいですね。3DだしUIも揃ってる。果ては通信周りがきれいだ;

※HSPコンテスト登録したのに登録返信がないのはなぜだ・・・まだ待たされるのかな?
0024名前は開発中のものです。2005/09/06(火) 13:22:33ID:O/3LfBgS
そういう構想は、頭の中で色々妄想してるうちに、
自分にそれが出来るほどの技術があると勘違いし易い。
しっかり知識と技術の土台を作ってから、徐々に上を目指していくべき。
0025911 ◆RfGLxICaUo 2005/09/06(火) 13:37:06ID:Y0n6071k
今日4:30に致命的なバグを修正したverをアップします。
【変更箇所】
・ゲーム鯖へ接続する(ゲーム未実装)
・各種madoを管理出来るようにしました。
・通信周りを強化。
・鯖との通信速度を計測。(ping)
・CPU負荷を微妙に軽減?

それでは〜
0026911 ◆RfGLxICaUo 2005/09/06(火) 13:39:51ID:Y0n6071k
>>24
確かにゲーム製作では妄想に浸ってるわけですが・・・
技術・知識では通信に限っては資格とってるので自信あります。
ただ、HSPでの通信周りは初めてなので困ってるわけです。
0027911 ◆RfGLxICaUo 2005/09/06(火) 13:57:00ID:Y0n6071k
>>24
あ、自分のレベルに合わせて少しづつクリアしろってことですよね;
つい馬鹿にされたのかと思って反射的に書き込んでしまいました。
すいません。orz
そうですね〜・・・がんばって少しづつクリアします。
0028名前は開発中のものです。2005/09/06(火) 13:59:56ID:qb1Z7Kdz
【守る側】
・負けると資金が無くなる。領土が減る。 → 戦いたい

戦いたくない だよな?
0029名前は開発中のものです。2005/09/06(火) 14:00:18ID:O/3LfBgS
いやスマン、俺も口調が無機質過ぎた。がんがれ。
0030911 ◆RfGLxICaUo 2005/09/06(火) 14:03:16ID:Y0n6071k
>>28
あ〜私の見解だと守る=しょうがなく(強制)と考えてますので・・・
ユーザー視点としてどうでしょうか?

>>29
いえ、過剰に反応した自分が悪いです。
意見は意見と受け取れなければいけないので・・・がんばります。
0031911 ◆RfGLxICaUo 2005/09/06(火) 14:46:42ID:Y0n6071k
バージョンアップしました。
まだ、チャットはテスターのみの公開です。

http://nekonoteigi.ddo.jp/
0032911 ◆RfGLxICaUo 2005/09/06(火) 15:03:50ID:Y0n6071k
チャットテスターの方接続、お願いいたします。
現在負荷は2%となってます。
メンバー確認は失敗したぽいので修正します。
コマンドは文字数が多いと失敗するぽいです。これも修正対象です。
画像貼り付けお願いいたします。
0033911 ◆RfGLxICaUo 2005/09/06(火) 15:10:40ID:Y0n6071k
ん?ping失敗してるのかな・・・負荷0のままだ。
画像貼り付け機能は負荷が高いし、失敗しました。(速度的にはudpで送信は無理かな・・
フォント変えもシステムフォント自体変わるので修正・・・orz
修正ばかりですいません。
でわ、今日も仕事なので〜11:00まで居ません。
0034911 ◆RfGLxICaUo 2005/09/07(水) 01:22:22ID:6l6A+tbT
仕事の都合上通信できないので4日程度空けさせて頂きます。
帰ってくるころにはチャット機能とP2P機能は付いていると思います。
それでは、飛行機が墜落しないこと願ってノシ
0035911 ◆RfGLxICaUo 2005/09/07(水) 17:01:46ID:6l6A+tbT
あれですね。意外に普通に移動中でもネットでできるもんですね・・・
昔は全然だったのに。

さてさて、内部構造をかなり変更しました。
段階処理→並列処理にしたので30%程高速になってます。
ただし、ソースが混乱してます。(接続関係が)

チャットの画像貼り付け機能は設定で無効・有効にできるようにします。
チャットはもう少し軽くするための工夫が必要そうです。

ゲームの方はまだ悩んでます。
hspで3D扱いたい方がいるようでその方が作ってくれそうです。
あ〜でも、管理的には2D・・・ゲームどうしましょうかね。

【修正】
・pingがcheckされてませんでした。 → 200ms単位で取得
・各鯖ソケットを配列管理 → 並列処理
・チャット機能の是非 → オプション可能

チャット機能はもう少し安全を確認し次第公開します。
0036101 ◆VhiWHt2b1s 2005/09/07(水) 18:46:02ID:xCvyx6HF
>>35
あれとは、いったい・・・

3DならZGP使うといいっぽいよ
多少使ったことあるけど
簡単だし、速度もまあまあだから
0037911 ◆RfGLxICaUo 2005/09/07(水) 21:30:28ID:6l6A+tbT
>>36
いや〜久しぶりです。
あれ=語り口調の始まり型みたいな…(?

本当にこの頃ダメダメです。
ネットワーク関連ではパケット受信部分でNULLの事を忘れてコマンドが失敗したり…
ウィンドウ関連ではオブジェクト移動で困ってたり…処理が重かったり。
一応C++で作ろうかななんて思ってたり。やっぱりHSPだと限界見えそうです。
色々意見聞きながら考えてますが…ソース公開してC++移行するかもです。

と、愚痴言ってもしょうがないので…がんばってください!
0038101 ◆VhiWHt2b1s 2005/09/07(水) 22:08:05ID:FQmzSc+z
>>37
うひゃ〜、C++に移行しちゃうんだぁ
HSPでやってて欲しかったなぁ
まあ自分で決めることだし、しょうがないか
0039911 ◆RfGLxICaUo 2005/09/08(木) 01:08:46ID:hcUHfaNY
え〜昨夜なのですが・・・
どなたか自分でゲーム鯖に接続するご自分でソフトを作ったようでして・・・ありえない接続がありました。
そこで、接続判定を設けることにします。

今まではコマンドとVerに暗号化を施し判断していました。
しかし、その方法だと内容はわからないにしてもコマンドアタックができる可能性があります。
(パケット内容をコピーして複数送信なり・・・データ保存なり。)
今後は接続段階であるハッシュ値を送るようにします。
このハッシュ値はバレルことを前提に生成してるのでバレて構いません。
また、パケット自体にも工夫しました。

ゲーム以前にセキュリティを上げたいのでお許し下さい。
チャットは画像貼り付け機能のみ完成させられませんでした。
P2P通信は拡張子を判定。接続。通信。切断をテスト中・・・
この辺が完成したら次期Verを公開したいと思います。

なんだかんだでも通信ができる事実。
世界中のネットワークが繋がってるのを実感・・・(IPとかも自宅串使えばいいのか。
0040101 ◆VhiWHt2b1s 2005/09/08(木) 01:15:05ID:lN3qyPQQ
>>39
自分で接続ソフトを作って・・・って、すごい人もいるんだな
まだHSP使ってるみたいでよかった
0041911 ◆RfGLxICaUo 2005/09/08(木) 01:29:03ID:hcUHfaNY
>>40
いや〜昔買ったC++のIDEどこ行ったかわからないんです;
恐らく、この前の事務所大掃除のときに捨てられたような気が。

本当に接続ソフトは困りました;
ただコマンド実行ロックかけてたので何もされずにすみました。
今ちょうど不正接続切断を導入できました。

あ〜やばいまたバッテリーが40%以下に・・・コンセントが日本と違う;
あとで量販店で買わなければ。
0042911 ◆RfGLxICaUo 2005/09/08(木) 03:12:35ID:hcUHfaNY
ゲームワールド時間を約6時間を一日に設定。
で、朝・昼・晩をハイ・・・なんたらという技術で可能できそうです。
問題はきっちり同じ時間の設定は難しい点(強制wait)、大手では誤差1〜20秒ぐらいを見込んでるぽいです。
HSPですとウィンドウ枠をドラッグしてるだけで↑になりますので困ります。
確か回避する方法あるのですが・・・私の場合はping毎(2000ms)に誤差修正を考えてます。
他のゲームの場合はどうなのか等を調べながら進めてます。

ゲーム鯖側の処理量を現在試算してコマンド数を考えてます。
画像貼り付け機能は一旦鯖に保存しようと試みましたが・・・重くなりそう。
もしくは保存せずに回線速度に合わせて遅らせながら、ハッシュが揃ったら表示みたいな。
画像サイズの制限が一番簡単かなと思ってます。(64~512KB程度

hspwin重いかも・・・600Mhzで24〜40%です。1Ghzあれば4%程度なのですが・・・
どうしても今後のシステム考えると捨てられないんです。 orz<あ〜もっと軽く。

不正接続切断は無駄かもと思いました。
使い捨てなんたらも結局パケットこp(ry
さっきパケットみながら連想して自分で接続できちゃった事実。

だんだん文章がまとまってないですし長くなってきてる・・・やばいです。
あ〜ゲームよりも側面の機能ばっかりに気が散る。
ゲームはとりあえず2Dの移動とチャットのみを目標に進めてます。また長い!
0043911 ◆RfGLxICaUo 2005/09/08(木) 05:12:44ID:hcUHfaNY
で、ワールドタイムの同期完成です。;
結局25sec待って更新します。

画像貼り付けはやっぱりサイズ制限で可能になりそうです。
チャットはhspwin廃止により配置で悩んでたり・・・
SBOみたいなEnterで出せて、消せるようなのがいいかな。

hspwinは廃止します。
新しいプラグイン作るか・・・モジュールになりそうです。
0044911 ◆RfGLxICaUo 2005/09/08(木) 06:10:16ID:hcUHfaNY
で、今日は自動アップデータ作ります。
これはセキュリティ上、ゲーム上においても重要な部分だと思われます。
単純に言ってしまえばハッシュ比べてダウンロード。
0045名前は開発中のものです。2005/09/08(木) 07:10:10ID:Cw9zte8Q
ゲーム内の1日は24を割り切れないほうがいい気がする
同じ時間帯にしかプレイできない人はずっと夜しか見てないってのが解消できるから
■ このスレッドは過去ログ倉庫に格納されています