2010/05/27

[ ニッキ ] ゲーム連続プレイ時間のギネス記録

via IT Media

インドはムンバイ在住のChirantan Patnaikさんは、去る9月4日から6日にかけ「何時間ぶっ通しでゲームをやれるか」というギネス記録に挑戦。これまでの最長記録「28時間1分」を大幅に上回る「40時間20分」というタイムを叩き出し、見事ギネス記録達成に成功したとのことです。

( 日々是遊戯:インドの男性がゲームの連続プレイ記録に挑戦――しかしネットの反応は……?, IT Media, 2009-10-29 )

これによると、ギネスの連続ゲームプレイ時間は40時間20分だそうで。

全然大したことないね。日本ではこの程度はごく普通にいる。
わたしが「廃人」と呼ばれていた時は、78時間プレイし続けていたときもあった。
ギルドの仲間では、わたしが休憩に入っている間もプレイを続けていた人もいる。

記事にも書かれているけど、40時間程度では「廃人」と呼ばれるには程遠い。

| | コメント (0) | トラックバック (0)

2006/08/06

[ UO ] バード成功率計算ツール

このツールは現在 α 版です。バグなどを発見しましたらコメントかメールにてお知らせください。 データがないモンスターが結構います ( 特にパラゴン )。皆様からのデータの投稿をお待ちしております。
なお、ライセンスは GPL3 です。

今回はバードスキルの成功率計算ツールです。UO 系の掲示板を回っていると計算ツールを探しているユーザが結構います。その中には Java を使ったツールを紹介されて JavaVM 関係のトラブル ( XP には JavaVM が標準では存在しないのです ) に遭遇して困っている方がいました。やっぱりほとんどのユーザにとっては JavaVM って何のためにあるのかわからないから、「JavaVM 入れてね」っていわれても「なんで?」って思っちゃうんですよね。そこで変なモノを入れなくてすむ計算ツールを作ってみました。国際標準規格準拠を意識して作りましたのでほとんどのブラウザで動作すると思います。わたし自身は IE6.0 SP2 と Firefox 1.5.0.3 で動作確認を行っています。

バードスキル 音楽スキル 楽器

 
Select target

成功率

使い方
スキルを使用したときの成功率を知りたいとき

  1. バードスキルを選択してください。その下にある「input value」と書かれているボックスに、選択したスキルのスキル値を入力してください。たとえば、不調和でスキル値が 90 ならば --Select Skill-- から discordance(不調和) を選んでから input value と書かれたボックスに 90 と入力します。
  2. 音楽スキルのスキル値を入力してください。
  3. 使用する楽器のタイプを選択してください。たとえば高品質の楽器を使用するならば Exceptional Quality を選択します。
  4. ターゲットとなるモンスターを選びます。まず、モンスターが所属するグループを選択してください。次に、グループの右側にあるセレクトボックスから種族を選びます。ドラゴンの場合はグループで Reptile(爬虫類) を選んでから、その右側のセレクトボックスで dragon を選びます。
  5. 最後に calculate ボタンを押してください。成功率が表示されると思います。
  6. 続けて使用するときは、Reset ボタンをクリックしてください。

スキルを逆算したいとき

  1. バードスキルを選択してください。
  2. 楽器の種類 (NQ, HQ, 特攻、反特攻 ) を選択してください。
  3. ターゲットを選択してください。
  4. 成功率を入力してください。
  5. 音楽スキルを逆算したいときは、音楽スキルを空欄にしてバードスキルのスキル値を入力してから「Calculate」ボタンをクリックします。バードスキルを逆算したいときは、バードスキルのスキル値入力欄はそのままにして音楽スキルと成功率を入力して「Calculate」ボタンをクリックします。

たとえば、Balron Daemon に 音楽120 で HQ 楽器を使って不調和を試みたときに100% 成功する不調和のスキル値を求めたいときは次のように操作します。 まず Discordance(不調和)を選びます。次に Exceptional Quality を選びます。ターゲットは Daemon(悪魔族) → Balron Daemon の順に選択します。 最後に音楽スキルの 120 と成功率の 100 を入力してから Calculate ボタンをクリックします。

計算について

バード難易度、計算式については公式データブックを参考にさせていただきました。 公式データブックに載っていないデータについては自分のキャラでアニマルロアを使うなどで調べた平均を使っています。

不調和と PM については同じ計算式になっています。バードスキルを dpm, 音楽スキルを m, バード難易度を dif, 楽器ボーナスを sp とすると成功率 R は次の式で求められます。楽器ボーナスは標準品質は 0%, 高品質 10%, 特攻 20%, 反特攻 -20% となっています。

R = 50 + 2{ dpm - ( dif - 10 ) } + sp
これが基本の成功率で、音楽スキルが 100 未満のときはペナルティが、100 以上のときはボーナス補正が入ります。最終的には次のようになります。
m < 100 のとき R = [ 50 + 2{ dpm - ( dif - 10 )} + sp ] * ( m / 100 )
m > 100 のとき R = 50 + 2{ dpm - (dif - 10 )} + sp + ( m - 100 )

扇動の場合は、難易度は2つのターゲットのバード難易度の平均になります。つまり、扇動スキルを p, 第一ターゲットのバード難易度を dif_1, 第二ターゲットのバード難易度を dif_2, 扇動難易度を avg_dif とすると成功率 R の基本値は次の式で求められます。

R = 50 + 2{ p - (avg_dif - 5 ) } + sp
不調和、PM と同じく音楽スキルの値に基いて修正が行われ、最終的な成功率になります。
m < 100 のとき R = [ 50 + 2{ p - (avg_dif - 5 )} + sp ] * ( m / 100 )
m > 100 のとき R = 50 + 2{ p - (avg_dif - 5 )} + sp + ( m - 100 )

バグ?

Cocolog システムのコード自動修正機能によってレイアウトが崩れています(;´Д`) これはわたしには直しようがないです。直接 HTML を編集しているユーザにとっては有害でしかないのでオプションで無効にするようにフィードバックを送ったのですが反映される気配がありません。

更新履歴
2006.08.08
バード耐性を持った生物をターゲットに選んだときに「不可能」と表示するように修正。
2006.08.09
成功率からバードスキルを逆算する機能と、音楽スキルを逆算する機能を追加。 条件分岐がちょっと不安。「これっておかしくない?」と思いましたら遠慮なく連絡してくださいませ。
逆算機能を追加したらコードがめちゃめちゃ汚くなりました _| ̄|○il|!
最初から逆算機能も視野に入れて設計すればよかったと激しく後悔。
2006.08.14
オフィディアンバーサーカーとオフィディアン[General]を追加
2006.08.25
成功率が100%以上になったりマイナスになることがあったのを修正。
今まで気付きませんでした_| ̄|○il|! 2006.09.10
こっちも他のモンスに対する成功率がすぐに確認できるように変更。

謝辞

このツールを製作するにあたり、アドバイスおよび協力をいただいた havana 氏に感謝いたします。havana 氏の協力なくしてこのツールを公開することはできませんでした。本当にありがとう!

他の UO 計算ツール
テイム成功率・命令成功率計算ツール
攻撃速度シュミレータ

| | コメント (0) | トラックバック (0)

2006/07/26

[ UO ] テイム成功/命令成功率計算ツール for テイマー

テイム成功率・命令成功率と必要スキル値を計算するツールです。この系統のツールもどっかで見たんだけど、それも Java が必要でページ開くのも重かったんだよね。なにより、Windows XP には標準では Java は走らないので、使いたい場合は Java VM を入れなきゃならない。Java アプレットって起動に時間がかかるから嫌いなんだよ。

軽くて Java VM みたいな余計なランタイムを必要としないツールがあったらな、ということで自分で作ってみました。

動物
テイムスキル値
ロアスキル値
テイム成功率
命令成功率

使い方

1. テイムがいくつ必要なのか知りたい
テイムしたい動物を選んでから、目標のテイム成功率を入力して実行ボタンをクリックしてください。または、目標の命令成功率とロアの値を入力してから実行ボタンをクリックしてください。
2. ロアがいくつ必要なのか知りたい
まず操作したいペットを選択してください。それからロアと目標の命令成功率を入力して実行ボタンをクリックしてください。
3. テイム成功率を知りたい
テイムしたい動物を選んでから、テイムスキルを入力してください。最後に実行ボタンをクリックします。なお、ロアもセットで入力すると命令成功確立も表示します。
4. 命令成功率を知りたい
命令したい動物を選択してください。テイムとロアのスキル値を入力してから実行ボタンを押してください。
5. 続けて計算する前に
前の値が残っていると正常に動作しません。続けて使用する前にリセットボタンをクリックしてください。

計算について
テイム成功率を Rt, テイムスキルを St, その動物をテイム可能な最低のスキル値を Mt とするとテイム成功率は次の式で表せます。 なお、テイム成功率にはロアは影響しません。

Rt = 0.2{ 10St - ( 10Mt + 249.0 ) } + 50

命令成功率 Rc を求めるのは、ちょっと複雑です。 まず最初にキャラクターのテイムスキル値 St とロアスキル値 Sl からスキルポイント Ps を求めます。 次に、スキルポイントと命令難易度を比較した値 Dc を求めます。

Ps = ( 40St + 10Sl ) / 5
Dc = Ps - 10 Mt
ここ分岐です。Dc < 0 のときは、ベースコントロールポイント Bc を式1で求めます。 0 < Dc のときは、ベースコントロールポイントを式2で求めます。
式1: Bc = 14Dc + 700
式2: Bc = 6Dc + 700
ベースコントロールポイントをチェックして補正します。0 < Bc < 200 のときは Bc = 200 に、Bc > 990 のときは Bc = 990 とします。それ以外のときはそのままです。 補正したものを最終的なコントロールポイントとします。 コントロールポイントを 10 で割ったものがコントロール成功率です。この補正があるため、命令成功率はスキルがどんなに高くても 99% が上限となります。

テイムスキル値を計算する方法は 2 種類あります。一つ目はテイム成功率から逆算する方法。前述の Rt についての式を St について解くと以下の式を得ることができます。

St = { 5( Rt - 50 ) + ( 10Mt + 249 ) } / 10
もう 1 つは、命令成功率とロアから逆算する方法です ( あんまり考えたくなかったけど ) 。 この場合は成功率 20% 以下とそれ以上で計算方法が異なります。20% 以下の場合は式1変形することで、それ以上の場合は式2から逆算します。
式1より
St = { ( Bc - 700 )/ 14 + 10Mt - 2Sl }/ 8

式2より
St = { ( Bc - 700 )/ 6 + 10Mt -2Sl }/ 8

ロアは命令成功率から逆算します。

Bc < 200 のとき式1より
Sl = { ( Bc - 700 )/ 14 + 10Mt - 8St }/ 2
200 <= Bc のとき式2より
Sl = { ( Bc - 700 )/ 6 + 10Mt - 8St }/ 2

更新履歴
2006.09.08
いろいろ機能を強化。いっちばん最初の設計はダメダメだと思って作り直したのが、この拡張前のコード。でも、じつは作り直したほうがダメダメで、いっちばん最初の設計のほうが拡張性に優れていたというオチでした。無理やり拡張したのでインターフェイス関数(だったもの)がすごいことになってます。次に拡張するときはリファクタリングじゃなくて、スクラッチから書き直す必要があるでしょう。

謝辞
データはウルティマオンラインパラリシャンを参考にさせていただきました。サイトを運営しておられる鮎渡様に感謝いたします。ありがとうございました。

| | コメント (0) | トラックバック (0)

2006/07/21

[ UO ] 攻撃速度シュミレータ

他のサイトで見つけたんだけどそのツールは Java アプレットで Java VM 必須。 Java ランタイムが無い環境では動作しません。そこで、ランタイムなんぞ必要としない、 環境にも依存しない攻撃速度シュミレータを作ってみました。JavaScript を使用していますので、 JavaScript を ON にしてくださいね。現在のところ、IE6 SP2 と Firefox 1.5.0.2 で動作確認をしています。

武器選択 スタミナ 速度増加 攻撃速度
使い方
1. 攻撃速度を求める場合
武器を選んでキャラのスタミナと速度プロパの値を入力して「計算する」ボタンを押してください。攻撃速度の部分に計算結果が表示されます。
2. スタミナを求める場合
武器を選んで、速度プロパと目標の攻撃速度を入力。スタミナ欄は空欄のままで「計算する」ボタンを押してください。スタミナ欄に目的の攻撃速度を実現するために必要なスタミナが表示されます。undefined と表示された場合は、どう考えても実現不可能なスタミナであることを表します。
3. 速度増加を求める場合
武器を選んで、スタミナと目標の攻撃速度を入力。速度増加欄は空白のままで「計算する」ボタンを押してください。
4. 続けて計算する前に
前の値が残っていると正常に動作しません。続けて計算する前にリセットボタンを押してくださいな。

計算について

まず、基礎速度 b からスタミナに基いた短縮が行われます。このときに短縮される時間はスタミナを S とすると

0.25 * ( S / 30 )
マジックプロパティの速度増加 m による補正値は
100 / ( 100 + m )
最終的な攻撃速度 d は
d = { b - 0.25 * ( S/30 ) } * { 100 / (100 + m ) }
スタミナは上記を S について変形すると
S = [ b - d / { 100 / (100 + m ) }] * 120
速度増加 m について変形すると
m = [ 100{ b - 0.25( S/30 ) }] / d - 100
あとは端数切捨て処理とかエラー処理を追加して実装しています。 余談ですが、「連想配列なんて作らなくてもよかったじゃん」と select obj 書くときに気付きました。コードではかなり無駄がありますが訂正が面倒なので見逃してください。

これから

UO では、実際には、攻撃速度は 0.25 秒刻みで変化します。しかし、このツールではガウス関数は実装していないので 1.31 とか出てきます。そのうちに直す予定。このほかにバグを見つけた場合はコメントでお知らせくださいな。できる限り修正したいと思います。

謝辞

このツールを作成するに当たって、ウルティマオンライン パラリシャンUltima Online ~素晴らしき毒の世界~ にあるデータを参考にさせていただきました。素晴らしいサイトを運営されている鮎渡様と Gray@Izumo 様に感謝いたします。ありがとうございました。

2006.07.22
フィードバックをもとに速度増加の逆算機能を追加。Mikokoさんありがとうございました。ただ、速度プロパは 5% 刻みで表示されますが、内部的に ( つまり強度による計算で ) 6 ~ 9% が付いたときに実際にゲーム画面で表示されるのが 5% なのか 10% なのかわからないので、そのままで出力しています。切り上げ、切捨て処理についてご存知の方はご一報ください。
2006.07.22
桁落ちを考慮していない部分があったのでそれを修正。
2006.09.09
たぶん切り捨て処理だろうということでそれ実装。速度を0.25秒刻みで表示するようにしました。

| | コメント (0) | トラックバック (0)

2006/01/28

ゲーム内のアイテムに課税!?

オンラインゲーム内のアイテムへ課税だって?
わたしはこのアイテム課税問題を聞いたとき、 何で馬鹿げたことだろうと思った。

そりゃ、RMT ( ゲーム内のアイテムと現実世界の通過を交換する取引 ) を 行っている人に対して課税するならありだろう。相手が望むもの ( ゲーム内のアイテム ) を売ってその対価 ( 現金 ) を得るという立派な商売だ。 所得源として考えられるから課税することは不自然なことじゃない。

アイテムに課税ってことは持っているだけで課税ってことでしょ? RMT を行わない、つまり実世界の通貨と結び付けていないユーザも課税の対象になるのかい?

もちろん、新しいタイプのオンラインゲームのようにプレイ時間には課金せずに ゲーム内で使用するアイテムをサービス提供者から現実世界のお金で買うのならば、 そのアイテムは取引した現金と同等の価値があると考えてもいいかもしれないね。

オンラインゲームといっても、その中に存在するアイテムの位置づけは様々だ。 また、ユーザによっても違ってくるだろう。それらを十把一絡げにして 「アイテム持っているから税金払ってね」とすることには意義を唱える。

| | コメント (0) | トラックバック (0)

2005/06/18

[UO] いたずら書き

UO_3

現実逃避(≧▽≦)b
ちょっと遊んでみました(/∇\*)

クライアント3つ同時操作ヾ(゜∇、゜)シ

| | コメント (0) | トラックバック (0)