Vaduz

 

Original Gangstaz という iPhone アプリがよくできていて面白いです。

このゲームはプレイヤーがギャングになって、ギャング間の抗争をロールプレイングするゲームです。Homies と呼ばれる自分たちのギャングを増やし、武器を蓄えてギャングを強くして大きくしていきます。経験値システムを採用しており、レベルが上がるごとに動員できるギャングの数が増えていきます。

プレイヤーのステータスは Health (体力)、Energy (エネルギー)、Stamina (スタミナ)、Loyalty (気品) の 4 種類あります。戦闘などには Health を使い、お金を稼ぐために働くと Energy を使います。Stamina は戦闘を仕掛けたり、Diss とよばれる攻撃をしたりします。Loyalty は自分の仲間 (Homie) に敵のギャングを晒したり、ブラックリストに載せることができます。

Original Gangstaz

Original Gangstaz

面白いのが戦闘システムで、レベル x 10 分のギャングを動員でき、そのギャングの数だけ武器を持たせることができます。武器は 3 種類あります。

  • 武器 (Weapon)
  • 乗り物 (Ride)
  • 道具 (Gear)

これらをギャングに持たせることができるので、それぞれ人数分用意する必要があります。武器には攻撃 (Attack) と防御 (Defence) の 2 つのステータスが用意されており、戦闘を仕掛けるときには攻撃ポイントが、戦闘を仕掛けられた場合には防御のステータスが使われます。戦闘ではそれらのポイントの合計値と本人のステータスで判断されます。

ゲームはリアルタイムに進行し、プレイヤーステータスを使用すると一定時間ごとに回復するようになっており、定期的にゲームをチェックしないといけない仕組みになっています。この他「戦争」や「隠し戦争」などのシステムがあり、これらに参加するごとに参加割合に応じて報酬が与えられるようになっています。

普段は現金を獲得するため、悪い仕事をしたり、Slum Lord (スラム街の店) から 1 時間ごとにオーナー収入を得ることができます。投資をすることで 1 時間あたりの報酬を増やすことができるようになります。この現金を利用して武器を購入します。

戦闘などをして減った体力は闇医者にかかることで回復することができます。医者に支払う報酬は汚いお金は使うことができないので、銀行に預けて洗浄しなければなりません。銀行に預ける際には手数料を支払わなければなりません。また戦闘に負けると現金を奪われますが、銀行に預けておくと奪われることはありません。

この他クラスシステムが存在しています。

  • Hunter
  • Loco
  • Hardcore
  • Killa

上の 3 種類が基本クラスで、それぞれアクションに対してボーナスがあります。Killa はその全てのボーナスを持つクラスです。基本クラスは無料ですが、Killa は課金が必要です。アプリ利用は基本的に無料ですが、さまざまな課金アイテムが用意されています。しかしこのゲームのいいところは課金アイテムがゲームプレイに大きな影響を与えないことです。確かに便利になるものも多いですが、バランスが良く取れており、課金しないと遊べないといったことが無いのも良いところです。

興味があったら遊んでみてください。私のギャングは赤の 635 143 648 です。

 

もう 1 月も終わりを迎えようとしてますが、公言しないと恐らくいつまでもやらないと思うので、ここに今年の目標をたててみました。

Objective-C を覚える

私は 1 年に一つ新しい言語を覚えるようにしています。一エンジニアとして楽しんでやっている部分もありますが、今年は Objective-C にしました。というのも iPhone アプリを作ってみようと思っていて、そのためにも Objective-C の習得は必須だからです。

アウトプットを増やす

Twitter を使い始めて以来、ブログがおろそかになってしまいました。きちんと文章を書くことで自分の考えも整理できることと、文章を書くことの苦手意識を減らしていきたいと思います。そのために、以下の二つを実践しようと思います。

  • ブログを書く
    このブログです。習慣化できるまでがんばります。
  • iPhone アプリの作成
    とりあえず何か作ってみたいと思います。

TOEIC 800 点

ちょっとハードルが高いかもしれませんが、TOEIC 800 点を今年の目標にします。去年の最高得点は 685 点でした。去年の目標は TOEIC 700 点としていました。去年の後半からサボってしまったこともあって、結局未達成で終わってしまいました。最終的なゴールは海外ドラマや映画を字幕なしで観られるようになることです。

 

以前から書きたいなと思ってましたが、きっかけが無くやっていなかった FPS講座。私の FPS に関する知識を体系化してまとめるつもりです。これから FPS を始める人の助けになるような基本的な内容はもちろん、上級者までどの FPS でも使えるものを幅広く取り扱っていくつもりです。

ブログ投稿ではなくページにツリー構造でコンテンツを追加していくので、サイト上部のメニューか、右のコンテンツ一覧から辿ってください。今回追加したのは以下の 2 ページです。

 

既に Mumble 1.2.0 Beta1 は導入済みなのですが、Beta2 が出たようなので更新してみようと思います。
公式の Wiki を見ても特に更新情報が書かれていないので Beta1 とほぼ変わらないと思います。
公式からサーバファイルをダウンロードしてきます。

$ wget "http://downloads.sourceforge.net/project/mumble/Mumble/1.2.0%7Ebeta2/murmur-static_x86-1.2.0%7Ebeta2.tar.lzma?use_mirror=jaist"

lzma 形式なので必要に応じて lzma アーカイバをインストールしておきます。

$ sudo yum install lzma

以下のように解凍すると murmur-static_x86-1.2.0~beta2 ディレクトリができます。

$ lzcat murmur-static_x86-1.2.0~beta2.tar.lzma | tar xvf -

この中の murmur.ini を編集してサーバの設定を変更します。
サーバの


dbDriver=QMYSQL
dbUsername=murmur
dbPassword=setyourpass
dbHost=localhost
dbPort=3306
dbPrefix=murmur_
pidfile=murmur.pid
bandwidth=512000000

データベースドライバは、特に指定しない場合は sqlite が使用されます。セットアップされたディレクトリ直下に sqlite のデータベースファイルが作られます。私は MySQL が好きなので MySQL を指定しています。murmur 用に適当なデータベースを作ってそこに割り当ててあげればいいでしょう。この場合は murmur という名前にしています。
murmur で MySQL を使う際の注意点としては、mysql.sock を見に行く位置が /var/run/mysqld/mysqld.sock で固定になってしまう点です。この場合はこのようにシンボリックリンクを張って対応しましょう。

$ sudo ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock

また、pidfile でサーバ実行時に Process ID が記述されたファイルが吐き出されるようにしています。サーバのプロセスを落とすときなどにいちいち PID を指定せずにすみます。

$ kill -9 `cat murmur.pid`

Server の bandwidth が少ないと Client の送信パケットが少なくなり、Client が自動的に音質を下げてしまうので、多めにとったほうがいいでしょう。
準備が整ったら SuperUser のパスワードを設定しましょう。

$ ./murmur.x86 -supw set-your-superuser-password

SuperUser のパスワードをセットしたら、サーバに入る際のユーザ名を SuperUser として、先に指定したパスフレーズを入力すれば SuperUser としてログインすることができます。

 

IMG_3379

C76 にて販売されていた nabe さんのヘッドホンアンプを製作してみました。一発で音が出たのはいいのですが、OS-CON が微妙に浮いてしまいケースに入らなくなってしまいました。早く聴きたいのでジュンフロン線も無いのでクリップで代用して、電池ケースも秋月のキットから抜いて取り出して・・・とりあえずこの修正は後回しで音を出してみました。以前製作した秋月のヘッドホンアンプのとき、あまりに細かくて目が疲れた反省をから、コミケの帰りに秋葉に寄ってループ付きのクリップを買ってきましたがこれは正解でした。時間は3時間ぐらいかかったもののオペアンプを除き比較的さくさくと作ることができました。

IMG_3385

最初に出た音の感動はしばらく忘れなさそうです。まだバーンインは済んでいないことを承知でファーストインプレッションを書きます。
再生環境は iPod touch 16GB → Audiotrak iPod Dock cable → Etymotic Research ER-4S と AKG K701 です。

まず感じるのがその力強さです。ボーカルが頭の真ん中で聞こえます。これは自分の好みの鳴り方なので良かったです。鳴っている音がそれぞれがしっかりと分離しているおかげでクッキリとした音作りになっています。立ち上がりが早くきびきびとしていますが、引っ込むのも早いので音楽的な響きは少ないと感じるかもしれません。以前作った秋月のアンプキットでは低音ボワボワ、高音シャリシャリでとてもヘッドホンでは聴けた物ではありませんでしたが、このアンプは小さいのによくここまで綺麗に鳴るなと感心します。低音から高音までフラットで、解像度も高いです。普通に数万クラスの据え置きタイプのヘッドホンアンプと変わらないレベルの音は出ているのではないでしょうか。このサイズでバッテリー単 4 型電池 2 本で 24 時間持つそうです。私はこれからは今まで使っていた安物のポータブルヘッドホンアンプは捨てて、これ一つでポータブルオーディオを楽しもうと思います。

最後に素晴らしいアンプキットを販売して下さった nabe さんに感謝!

 

IMG_2983
先日、立川の花火大会に行ってきました。
同じ日には有名な隅田川の花火大会があります。去年は隅田川に行ってきましたが、ものすごい人が来ているため落ち着いて花火が見られませんでした。
今年行った立川は非常に広大な敷地をがある国営の昭和記念公園で開催しているおかげか、時間ぎりぎりに到着しても絶好の場所で見ることができました。
今年も一眼で花火の写真を撮っていますが、まだ三脚を持っていないのでブレまくりになってしまいました。
花火撮影は難しいですね。完全にマニュアルでないと良い写真が撮れなさそうです。
中でも奇跡的に見るに堪える写真が撮れましたので、良かったらご覧下さい。

スライドショーで見る

 

CSO における net_graph の挙動について軽くまとめてみました。

net_graph 1

net_graph 1

こちらは普通に FPS がほぼ 100 出ています。
cl_updaterate は 20、cl_cmdrate は 30 であることがわかります。

net_graph 2

net_graph 2

こちらは net_graph 2 の場合ですが、FPS が大体半分の 50 まで落ちてしまっています。ビデオモードが Direct 3D の場合のみこの現象が発生するようで、OpenGL の場合の FPS は 100 出ていました。

おまけ:ゲーム終了画面もゲーム中


ctwin

このスクリーンショットはゲーム終了時のものです。このときでも net_graph 表示は有効で、サーバとの接続状態が表示されていました。

 

CSO で設定しておいた方がよい config をメモしておきます。
コンソールが出ない場合はオプションのキーボードにコンソールウィンドウON/OFF があるので、そのバインドを適当なキーに設定し直すと出るようになります。

fps_max 101

FPS の最大値を設定します。ここの値がデフォルトの 72 のままなので、101 に設定しましょう。

cl_dynamiccrosshair 0

クロスヘアを移動や発射に合わせて大きく変更しないようにします。

cl_showfps 1

FPS (Frame Per Second) 表示を ON にします。左上に現在の FPS が表示されるようになります。fps_max の設定が有効になっているかどうか確認しましょう。ほぼ 99 で固定になるはずです。FPS  表示は、次の net_graph でもみることができるので、必ずしも有効にしておく必要はありません。

net_graph 3

現在のネットワーク状態を表示します。0 で OFF、1、2、3 があります。FPS やパケットの送受信量、パケットロス量などが確認できます。3 にするのは choke が確認できるようにするためです。これが出ている場合はサーバとの通信に問題があります。

net_graphpos 0

net_graph の場所を設定します。 0 にすると画面の左下に表示するようになります。左下が一番見やすいと思います。

cl_objname 0

爆破地点の場所や距離を表示するオブジェクトの表示設定します。オブジェクトと敵が重なって見づらくなるので消してしまいましょう。

cl_killeffect 0

敵を殺したときのエフェクトを設定します。僕はなんとなく 1 のままですが、消してしまっても問題ないでしょう。

なお、cl_updaterate, cl_cmdrate, rate, ex_interp などネットワーク系のコマンドは軒並み使えなくなっています。


 

Counter Strike: Online のクローズドβが今日 7/8 から開始されたので遊んできました。
今回のクローズドβの抽選は競争率が高かったようで、自分の周りでは外れる人も多かったようです。
3時間ほど遊ぶ時間がとれたので、ファーストインプレッションを書いてみます。
CSO

CS1.6をベースにしたゲームシステム

Counter Strike 1.6 は世界でもっともプレイされているゲームの一つで、そのリリースから数年経った今もその輝きは失っていません。Counter Strike: Online はその洗練されたゲームシステムを受け継いでいます。そのゲームが無料で遊ぶことができるのは一 CS 愛好家としてはうれしい限りです。とは言っても今ではわずか 1000円で買えてしまいますが :P

受け継がれなかった部分

逆にいくつか CS1.6 の仕様を受け継がなかった所があります。

武器がアンロック制

プレイヤーが利用できる武器は制限されています。プレイするごとに貯まる「クレジット」を元に利用するアイテムをショップから購入することになります。最初は AK や M4、AWP などの武器は使用できず、クレジットを貯めることになります。チームデスマッチモードではアンロックした武器は即時使えるようになりますが、通常のモード (de_ や cs_ に相当するゲームモード)  の場合は、ゲーム内の所持金が購入金額を満たさなければゲーム中に武器を持つことはできません。つまり二重に買うことになります。アイテム課金を強いるための弊害でしょうか。また T 専用、CT 専用武器の制限もうけるので、AK をアンロックしたからといって CT で使えるようになるわけではありません。

特殊なサーバシステム

まだはっきりとはわかりませんが、運営側がサーバを持たなくてもよいように、ルームマスターが自動的にゲームサーバを立てるような仕様に変更されているようです。その代わり、部屋ごとにサーバの質が変化したり、Ping がルームマスターの回線の質に左右されるようになってしまっています。

ロビーシステム

Steam を使わなくなった代わりに、独自のコミュニティー機能が追加されています。Steam のようにゲームをしていないときでもオンライン/オフライン状況がわからなくなってしまいましたが、メッセージ機能、フレンド機能はすでに実装されているようです。

オリジナルマップが追加

オリジナルマップが 3 マップ追加されています。

カモフラージュ

いわゆる CS マップです。極端に狭く開始 3 秒で敵が見えます。買い物に手こずっているとレスポン地点で棒立ちのまま撃ち殺されてしまいます。捕虜がいる意味がよくわかりませんでした。

トンネル

デスマッチ系マップです。ここも非常に狭いです。スポウンするとお互いは崩れた電車を挟んで向かい合います。buytime が長いので、スポウン地点から敵のスポウン付近に HE グレネードを投げられるほどです。いわゆる買い投げも可能で、お互いが買い投げするとレスポン地点から出ることができなくなってしまうでしょう。すぐ撃ち合いたい、さくさく回したいなど野鯖向きのマップです。

レックス研究所

普通の爆破マップです。 CS: neo を思い出させる近代的なバイオ工場のような建物が舞台になっているようです。全体としてはそこそこ広いのですが、それぞれのエリアが狭かったり通路が多かったりと Half-Life をやってる気分になりました。

バグ

今のところ気づいたところをあげてみます。

  • サーバブラウザの Ping が機能していない
  • サーバブラウザ上で新しく追加されるサーバにフィルタが適用されない

悪いところ

CS1.6 でできたのにできなくなたなど、気づいた限りあげてみます。

  • サーバの FPS が出ていない
  • クライアント側でリフレッシュレートが編集できない
  • ステータス (tab での表示) が強制トグル式
  • 購入バインドができない
  • 制限時間を過ぎるとラウンド中でもゲームが強制的に終了
  • ホストは Ping 0 でしかもブレが素直なので圧倒的に他プレイヤーより有利になる
  • 16ビットが選択可能
  • スプレーが自作できない
  • C4設置ポイントのアイコンが邪魔になる
  • どこにスクリーンショットが保存されているかわからない
  • チームバランスが均等になるようなモードがない

まだまだ

悪いことばかり書いてしまった気がしますが、CS1.6 ベースのゲームがこれほど多くの人に遊んでもらっている状況を目にするとは思ってもみませんでした。なんともうれしい限りです。スペクトしていて修正しないで撃ち合っている姿を見ると、自分の始めたてのころを思い出します。 CS1.6 を無料ゲームとして切ってみるのも面白いな思いました。これを機に CS1.6 の面白さに気づいてくれる人が増えてくれることを願ってやみません。
また、まだ新しい武器を使ったことがなかったり、爆破フラグが 1 に変更されていたり、クラン戦や地域登録、ランキング、大会など未実装の機能がまだまだあるので追って書いていこうと思います。

http://cso.nexon.co.jp/

スクリーンショット

ロビー
ローディング
買い物メニュー
装備画面

 

hltvctl と hltvstarter をマージして一つのファイルで HLTV を実行できるようになりました。(thanks! meta)

http://github.com/Vaduz/cs/tree/master

© 2011 vaduz.tk blog Suffusion theme by Sayontan Sinha