2009年8月15日土曜日

ご無沙汰しています

これはソラマメに 08/15/2009 17:05:00 投稿した記事です。



長いこと、ソラマメを放置してきましたが、別に何かで忙しかったわけではないです。
NaviSL に日々の出来事を書いていたので、そっちも見ている人は、あ~生きてる生きてる って分かってたと思うw

ちょっと体調が悪くてPCの前に長い時間座っていられなかった事はありましたが、
それも、放置の理由ではありません。

まぁ、なんていうのでしょうか、「やる気が出なかっただけ」 というのが本音でしょう^^

PASSION 2nd STAGE は見損なってしまいました。とでも残念です。


やる気が出なくても、Team MUGEN-city VIP 通称ヘロヘロ団から、お買い得情報をどんどんいただけるので、
面白そうな情報には飛びついていました。

お友達や私のお誕生日もありましたしね。

で、最近、モノは作ってないの?と言われると、
何も作っていないわけではないので、ここで紹介を…


写真を見て、一目で分かる方も居ると思いますが、今回も、FSHCからの依頼でした。
Fly Sky High Club のブログ



なんで、何度も、似たようなスカイダイビング用品を作っているのか経緯を追って説明をしますね。

そもそも、FSHC は別のスクリプターさんにモノ作りを依頼していたようです。
ですが、なんかあったらしく、私に相談が来て、やってみましょうという事でお話を伺ったところ、
依頼されたのが、サークルターゲットシステムです。
サークルターゲットのアイデアは、すでに依頼者側で考えてあり、どうやって実現するかというところが課題でした。

オブジェクトを4000mの上空から物理落下させると、アバターの落下速度の4倍で落下するので、
まったく追いつけませんでした。
オブジェクトをスクリプトで移動させると、アバターより落下が遅く、うまく行きません。
それで、ターゲットを先に落とし、アバターが後から追いかけるように落下する方法でトライしたところ
何日かがんばったら、座ることができたので、サークルターゲットの原型ができました。


Fly Sky High Club のイベントで使用しているサークルターゲット・システムを製作したのは、昨年の11月~12月。
納品したのは、これらです。
  ・ 8人競技用 サークルターゲット(フォーメーションが変わる)
  ・ 1~7人用 サークルターゲット
  ・ 普通のスコアホルダー
  ・ 発射機の改造スクリプト

予約ボードを作ったのが2月。
プリムに余裕の無い土地で使うので、全部のボタンを臨時プリムとして作る必要があって、
リンクできないから、通信ミスとか考慮しなくちゃいけなくて、めんどくさかったな


で、Toshiko CUP が2月に行われ、8人競技(8wayとか言うらしい)が競われました。(私も出てたけど)

Toshiko CUP で人数集めるのが大変で、8人が同時に集まるのがまた大変という事で、
次回の大会は、4人競技(4wayとか言うらしい)でやりたい、
順位を記録できる競技用スコアホルダーも必要という反省が残りました。

5月の大会に間に合うように、作ったのが 4way の 競技用サークルターゲット と 4way 専用スコアホルダー
競技用スコアホルダーは20位まで記録でき、Heaven's CUP で使用されました。
この競技用スコアホルダーも結構難しかった。ほとんど作り直しだったし…

Heaven's CUP ではエントリー名簿にスペルミスがあり、1チームのスコアが残らないという事が起き、
たまたま、主催者と私がその場に居たので、直ぐに治せたというハプニングがありました。

それと、強いチームのスコアが上限ポイントに近づき過ぎていて、
初心者チームの努力を順位に反映する手段が欲しいとか、
やっぱり、エントリー登録しないと競技出られないのは敷居が高いという事もあって…

今回の依頼は、4way 競技用スコアホルダー をベースに、エントリーレスのスコア・ホルダーを 4way と 8way 用に作って欲しいと…

  ・ エントリレスなので、グループ名ではなく全員の名前を表示する
  ・ どんなチーム編成でも順位付けするので50位まで記録できるようにする
  ・ 累積成功回数をグループ毎に集計する
  ・ ベストスコア順と累積成功回数順の2通りで表示する
  ・ CSV出力機能をつける

  こうやって見ると、やっぱり、機能拡張しすぎだなぁ…

4way 競技用スコアホルダー は1プリムでできていて、1000行程度のスクリプト1個で動いています。
これに上記のような機能拡張を普通につけると何が起きるか…

まず、プリムの上に表示できる文字数が足りないw
  256文字で、ベスト・スコア、成功回数、累積成功回数、競技日時、競技者名全員分を表示するのは無理!
ベストスコア順と累積成功回数順を一つのスクリプトでやるのも困難。

ということで、ベストスコア順と累積成功回数順のスコアホルダーを抱き合わせ、
一方の機能で表示している時、他方は競技者名(8人)を表示するようにすれば、
きっとできるだろうと思って、エントリレス・スコア・ホルダー ver.1 ができたのが6月末。

動かしてびっくり、メモリが足りない!
うそ、mono になって 64KB もつかえるから大丈夫だと思っていたのに ><

4way は たったの競技回数25回でハング。8way は わずか15回でハング。ダメじゃん><


解決策は、InWorld での集計をやめちゃって、Webサーバーへデータを送ってしまう方法と
1本のスクリプトを分割して、使用できるメモリ量を確保する方法があります。
前者は、Webサーバー云々は私にはできないので、後者のスクリプト分割を検討する事に。

さすがに、依頼者の方もむっとしていました。7月に大会やりたかったんだもんね。

しかし、スクリプト分割が簡単な訳はない…

という訳で、あ~ぁ、つまんない事やってるなぁ~と思いながら、
スクリプト同士が通信する時のメッセージを決めて、1本のスクリプトを5本に分割。
もともと、スコア順と成功回数順の2本だったので、合計10本のスクリプトに化けてしまいました。
そうやって、できたのが ver.2 です。

当初、4way で動かしている分には、ぜんぜん問題ないじゃん^^ って喜んでいましたが、
さすがに、8way にすると、アバター名が、8人分と多いので、100人くらいの人が300回競技したら
一部のスクリプトがメモリの欠乏から、ハングしてしまう事がわかり
更に対策を…

めんどくさいよ~ と言いつつ、51位以下に落ちたグループのデータを消去する機能を追加した事で、
メモリ消費を改善させたものが ver.3.1。

300人の方々が、ランダムにグループを組み、500回以上競技をやっても、メモリ消費は危険な状態にはなりませんでした。


やっとできたよ~  4500行だって…  もう、やだなぁ~


まぁ、400人で競技したら、ダメだと思うけど、そんなの知らないw
やばくなる前にスコアホルダーは警告をバンバン送ってくるし
停止する前に、記録をやめちゃうから、必要なら動いているうちに、CSV出力残しといてね


先日、戦艦大和があった 1944 と Yumix Canal がなくなるそうで Yumix Sea Island へ移転しました。
アレっ、1944 は地図にないけど、Yumix Canal はまだあるな…


FSCH 主催のサークルターゲット大会は、海外にも進出を果たすとの事。
関連記事: 海外進出へ第一歩


私のところのスペースシャトル型発射機は、まだできあがっていませんw
いつになるか分かりませんw
Essensual Designs (隣の家具屋)がある間は、多分、やりません。
Mike (隣の土地に飛行機の格納庫を置く人)がChaotic Enterprises の土地を使い出したら、シャトルを設置して
遊べるようにします…



といっても、サークルターゲットを開発したときの木製発射機2台が Ennis Creators に放置されていますので、
飛ぶだけだったら、独占状態で練習できちゃいますよ…


落下時に少しズレると、スカイに激突するのでご注意を ^^;



え~、 という訳で、エスカレーターの販売もまだですw
 

BB's in World Dialy Copyright © 2009 Cookiez is Designed by Ipietoon for Free Blogger Template