管理人の趣味メインのメモ〜日記
・ω・)ノ
 
7月末のアップデートで、ついに海賊が実装されるようです。
時の神殿も実装と書いてあるのですが、Bossまで実装しきるのかな???
 
 
[メイポ7末のプレゼン記事]
 
それ以降も、俗に言われる120Lv武器(成長型武器)や
新Bossがいる時の神殿、日本オリジナルマップの
未来の東京が続々実装されていくらしいです。
 
 
 
ちなみに、海賊は4次までいっきに実装っぽいですね。
[ 2008-06-29 (Sun) 13:51 ]   Comment(1)
Theme:メイプルストーリーオンラインゲーム   Category:雑記:メイポ関連
・ω・)ノ
 
とりあえず、1回クリアーしました。
 
 
えぇ!当然一番簡単なのでね。
 
さて、あらかじめ知っていたのですが、ムービーこみの
プレイ時間19時間ちょっとでした。ちなみに、ニコ動などのお話では
ムービーすっ飛ばしかつ上手な人は3時間をきるそうです。
 
 
操作が下手と言うことを踏まえても、ムービーが10時間以上あるような
気がします。本当に、長いです・・・・。
 
 
[ 2008-06-22 (Sun) 17:56 ]   Comment(0)
   Category:雑記:ゲーム関連
・ω・)ノ
 
たまには、ソレらしいお話を・・・・。
 
 
■ 通信制御
MMOを作成するのに必要な知識として、通信と言う部分があります。
この分野は個人的な感触として非常に閉鎖的で情報量がかなり
少ないと感じています。
しかし、MMOを作成する上で絶対必要条件なので少ない資料や文献を
手探りで調べながら、自分なりの発想で考えだしたのが3年ほど前でした。
(たまたま、仕事的にもサーバ側の通信制御アプリ開発をやっていたので)
 
サーバ側のアプリと、クライアント側のアプリの差は大きくわけると
 
 特定のポートを監視する(サーバ側)
 特定のIP、ポートに接続する(クライアント側)
 
にあると考えています。
サーバ側の基本的な作りとしては、ソケットを生成しクライアント側からの
通信をaccept()する。複数の接続がある場合はそれを複数処理できる作りにする。
この時の考え方は、受信後の処理スレッドを生成すれば対応が取れると
考えていました。この方法は正しくも間違いであった事が最近わかりました。
 
 
そもそも、今まで作成したアプリの処理は
 
 1. クライアント側から接続があり、確立
 2. クライアント側からの情報を受信
 3. サーバ側で受信情報を解析し、内部処理を行う
 4. サーバ側内部処理の結果をクライアント側に送信
 
と言う、いたってシンプルな作りでした。
しかし、MMOの作りとして上記作りでは一部問題が発生する箇所があります。
一度、パケットを受信してしまうと処理が終了するまでタスクを
専有してしまうのです。
この作りを改善すべく個人的に想像していたのが
 
 1. クライアント側から接続があり、確立
 2. クライアント側からの情報を受信
 
 3. Socket情報を引き継いで、接続クライアント専用のスレッド生成
   ※ 以下、対象のクライアントとはこのスレッドで処理を行う
 
と言う、作りでした。
しかし・・・・、コレには致命的欠点があります。
それは、接続ユーザ数分のスレッドが生成される事になります。処理が可能かどうか
と言う観点からは考えると、確かにコレでも可能なのですが、パソコンの
リソースと言う観点から言うと、接続数に比例して浪費してしまいます。
MMOの作りとしては、あまりよろしくないらしいです。
 
 
しかし、元々の通信の作りからは・・・・やはり処理が止まってしまいます。
そんな中、とあるサイトで通信もアンブロック状態でacceptを行う方法があると言う
記事を目にしました。作りは非常に簡単でアンブロック用のフラグを設定するだけで
・・・・確かに待ち受け状態を無視(?)する事に成功です。
 
しかしながら、逆に問題は山積みになりました。
結局のところ、誰(どのクライアントからの要求か)と言うところを
処理しきれないとか、クライアントからの要求に対する応答はできるものの、
いきなりクライアントに要求無しの応答を返すのが困難になりました。
 
これまた、資料とネットの世界を放浪です。
 
そして、行きついた答えがselecterと言う概念です。
これはSocket情報を記録し、パケットに応じて処理の状況判断を行う事が
可能になったり、取り合えず全ての問題を解決してくれる有効な手段でした。
当然ながら、WinSockにも対応している為Windows上のサーバ構築も可能です。
 
 
通信周りは・・・・DirectXを利用するよりもWinSowckを利用する方が個人的には
楽な気がするのですが・・・・他の方はどうなんでしょうね?
 
 
 
[ 2008-06-18 (Wed) 15:36 ]   Comment(0)
   Category:雑記:IT関連
・ω・)ノ
 
 
 
早速ですが、MGS4のネタバレ注意報のです・・・・。
 
[ 2008-06-14 (Sat) 01:44 ]   Comment(0)
   Category:雑記:ゲーム関連
・ω・)ノ
 
それは、セミのなき声こそ聞こえないが暑い日だった・・・・。
突如、リビングの静けさを切り裂くように電話がうなり声を上げた。
 
 
「荷物が大きすぎたので、車で迎えに来て。」
 
 
車に乗って、声の主を迎えに行きそのまま家に帰宅。
声の主が手に持っていたものは・・・・
 
 
 
これです・・・・。
 
080617_01.jpg

 
 
 
しかも、ゲームとセットの奴。
 
 
080617_02.jpg

 
 
いやいや、私はアクションゲーム苦手ですってば・・・・。 
 
[ 2008-06-13 (Fri) 01:35 ]   Comment(0)
   Category:雑記:ゲーム関連
・ω・)ノ
 
ついに、素HP8,000突破しました。
 
080609_01.jpg

 
当然ながら、メインはすでに追い越されているため・・・・(ry
123Lvの時はHP3,121だったようです。
 
 
ちなみに、殿 and 蛙の戦闘動画見たのですが、
殿は14,000弱、蛙は14,700弱のダメがくるようです(英雄で
 
 
 
ある意味参考になりましたが・・・・職業の差がいまいちわかりません。
どこまで、HPを振りなおし続けるかは決まっていませんが、とりあえず・・・・
素HPで12,000ぐらいはいきたいです(ホンテ地震HBなしで耐えれる)。
 
 
[ 2008-06-09 (Mon) 01:29 ]   Comment(1)
Theme:メイプルストーリーオンラインゲーム   Category:雑記:メイポ関連
・ω・)ノ
 
 
よい結果と言うか、悪い結果と言うか・・・・。
GMSも、JMSも復号化は同じロジックでいけました。
 
で、諦めることができなくなり現在は鯖→蔵の暗号化です・・・・。
 
 
 
 
ふぅ・・・・。
復号化ロジックが使えなかったら終了できたのに(ぁ
 
・ω・)ノ
 
 
 
メイポのエミュ鯖ですが・・・・、とりあえずJMS(ver1.44)の
初期画面起動に成功しました。
 
と・・・・、言ってもここまでは暗号化、復号化を気にせず
プログラミングできるので、本当の問題はここからです。
なんとなく、初回パケットを解析した結果思ったのは・・・・GMSと同様の
復号化でできるのでは???
 
 
 
なーんて、思いにふけたのですが・・・・・無理かな。
パケ長の算出概念は、GMS = JMSでした。更には上記で書いたように
初回パケットに、(たぶん)暗号化、復号化のキー値を算出し
蔵側に送っているように思いますが、コレもGMS = JMSです。
問題は、鯖内部で保持している変なテーブルが同じかどうか・・・・・・・・。
と言いますか、TitanMSを作成された方はどうやってこの復号化方法を
解析したのか、問い詰めたいです。
 
 
 
そもそも、エミュ鯖ソースを調査しだした要因は近々、こじんまりした
MMO鯖アプリの開発を行うかも知れないというところから、参考資料として
ソースを見だしたのですが、「お前の、MMO鯖アプリの概念は間違っている!」
と、言われたかんがいなめません。
 
まだまだ、勉強が足りませんね・・・・・・・・。
 
 
・ω・)ノ
 
仕事などがあるため定期的にコメント見れるわけではないのであしからず・・・・
6/3のコメントのファイル二重拡張子を利用したウイルスファイルでした。
ので、バッサリ削除させていただきました。
 
 
 
ほぃ、120Lv達成しました。
ちなみに、投げの歴史としては花梨鯖:84Lv、桜鯖:113Lv、李鯖:190Lv、120Lv
と言った感じの4人目です・・・・。
 
また、李鯖でいうと、投1:190Lv、槍:126Lv、聖:155Lv、弓:126Lv、
投2:120Lvと、5人目の4次職業と言う状態です。とりあえず、最低でも
聖魔のLvまでがんばりたいと思います。
 
 
 
 
 
李鯖の初代投げはHP5,000突破は170Lv後半だった気がするので、まだまだ
大丈夫のはずです。ユニコ装備できる前提で・・・・現状のHPは5,300ぐらい
だったはずです。
 
 
 
■ 前提条件
1. Lvアップ時のAPの利用方法はINTとLUKを交互に振る
=> Lv31の時点でINT 80達成
2. 210(80 + 130)で、振りなおしは常に2回行えるとする
3. Lvアップ時のHP上昇値は22固定とする
4. 振りなおし時のHP上昇値は18固定とする
5. 振りなおし無し状態のLv50時点のHPを1,550とする
=> 参考データがないため、振りなおし開始を50Lvからとする
6. 殿のダメージはMAX14,000とする
=> 素HP:8,750が最低ライン
 
上記条件のもと、素HPは8,750に到達するLvは176Lvと考えられます。
ただし、上記想定には若干食い違いが発生します。
 
1. 問題のない食い違い
「5」に記載したように参考資料がなかったため、振りなおし開始Lvが
実際より、遅い可能性があります。もし遅かった場合はその分HPが多くなり
想定Lvより早く素HP:8,750に到達するはずです。
 
2. 問題のある食い違い
INTの合計が210の場合、振りなおし可能回数が1回のときと2回の時が
存在すると思います。上記計算は全て2回できた前提で行われているため
誤差が発生します。
 
 
 
 
 
■ 振りなおしでわかっている事
参考までに現状の振りなおしでわかっている事を列挙します。
 
1. 1回の振りなおしに必要なMPは?
そもそもLvアップ時に(素INT + 装備INT) ÷ 10 だけ余分にMPが上昇します。
※ MP上昇には、±1補正があるとか無いとか・・・・。
で、1回の振りなおしに必要なMPはおおよそ11 〜 12の間と考えています。
理由は、装備品こみで440キープで振りなおしを続けていると10回に1回程度
振りなおし回数が3回の時があります。つまり11では足りないという事が
わかります(-1補正が続いてる可能性は否めませんが・・・・)。
 
2. Lvアップ時にHPを振るとどのくらい上がる?
Lvアップ時にAPが5もらえるわけですが、このステータスを利用して
HPをあげると、ランダムではありますが16 〜 20上昇します(賊の場合)。
※ そのため上記例では平均である18を採用しています。
 
ただし、振りなおし券でHPを上昇させた場合の上昇値は16固定になり
若干ですが損をします(振り替え券でDEXさげてHPあげるなどの行為)。
そのため、Lvアップ時に上昇させるのが有効となります。
 
 

・ω・)ノ
 
時給10mぐらいで吸いつつ・・・119Lvになりました。
 
080602_02.jpg

 
その昔メインで120Lv前後のときって、ショーワで時給2mでない世界で
がんばってたよなぁ・・・・と、封印していた過去の記憶を
思い出しつつ・・・・。
 
そういえば、この時期って「おやびん号」によく跳ねられてたな・・・って
いやな記憶もorz
 
080602_01.jpg

 
 
ほらね・・・。
・ω・)ノ
 
Lv118で・・・・素HP7500突破です。
そろそろ、Lv上げがしんどくなってくる季節に入りました。
目標は160ぐらいなので、ちまちまやっていれば・・・・そのうち達成かな。
と、思ってます。
 
 
 
さて、INTのお話ですがステータス + 装備で、450ちょっとあったはずです。
当然、その分LUKがありません。なので、非常に弱い子です。
実際やってて思ったのが、この育成方法には難点があります。
 
1.NPをやたらに消費する
当たり前ですが、LvアップごとにHPの振りなおしが発生するので
かなりのNPが必要です。また、最後にはINT→LUKと言う難攻不落の
振り替え地獄が待ってます。
 
で、現状1Lv上がるごとにほぼ4回の振りなおしが発生します。
つまり・・・・
 
390NP × 4 = 1560NP
 
を、消費していくことになります。
まぁ・・・・、過去の財産を切り崩しながらメル→切手→NPをしているので、
今のところ課金なしで続けてますが・・・・確実に最後まで
メルが持たないことが分かってます。
 
 
が、最近書の高騰で、いい感じかも・・・・。
 
 
 
2.意外と狩りができない
メインが投げだったため、装備品はそれなりにあり手裏剣も初期から
お日様だったのですが、60Lv後半からかなり厳しくなってきます。
 
 
で、
 
 
選択した道が、ジェネ狩りです。
狩場によりますが、今で時給10mぐらいの速度ですっていけます。
正直なところ、ソロでチマチマやるのにはまったく向いてないことが分かります。
そもそもが、INTにステータスを振るので弱い。この部分がかなりのネックに
なります。
 
 
 
結果からすると、 60Lv前半ぐらいまではINT、LUKを交互に振って案山子。
そのあとは、PTで吸わせる。と言うパターンがいい感じのような気がします。