堀つぶしなゲーム Orbital Decay

7月 24th, 2009

堀の時間つぶしに、手頃なFlashゲームの紹介。

徐々に、EVEと関係ない話しばかりになっていく予感がします。でも、気にしない。

Orbital Decay

Fighterとか、Turretとか、Repair DroneとかをFittingしながら進めるシューティングゲーム。
大味なゲームですが、そこそこに遊べます。Normalレベルを1回のコンティニューでクリア。アップグレードの戦略を間違うと、即死です。

まずは、主砲のアップグレードと、Fighterの数を増やすのが重要。ダメージが貯まったらRepair Droneのアップグレードも忘れずに。

OrbitalDecay

堀つぶしなゲーム The Space Game: Missions

7月 22nd, 2009

堀の時間つぶしに、手頃なFlashゲームの紹介。

The Space Game: Missions

エネルギーを管理しながら隕石を掘るゲームです。敵も来るため、防衛設備も必要です。なかなか手強い。EVEの堀の空き時間に、堀ゲームはいかが?

TheSpaceGameMissions

TheSpaceGameMissionsScore
難易度Normal、最終ステージがクリアできず・・・

目標

7月 20th, 2009

節目では無いけど、目標を明確にしておこう。

長期目標

  1. 個人所有のTitanを持つ
    • まず60Biskの貯金
  2. Titanを沈める
    • 船は沈む瞬間が一番楽しい
    • 自分の?敵の?両方の意味で
  3. 全ての種類の船を所有し、乗る。レアものは無視。Factionの違いも無視。
    • 未達成は、Titan(110d)、Mothership(skill ok)、Command Ship(63d skill ok)、Dreadnought(skill ok)、Interdictor(23d skill ok), JumpFreighter(skill ok), Orca(4d skill ok), T3(skill ok)
  4. 可能な限り、広く体験する。生産・戦闘・堀など、ジャンルを問わず何でも体験する

中期目標

  1. 個人所有のMothershipを持つ
  2. 年間36Bisk稼ぐ

短期目標

  1. 新しい生産ネタを見つけ、実行する
  2. 一度は、月5Bisk以上の稼ぎを出す
  3. ぼちぼちfleetに参加し、PvPへの勉強を開始する。

長期目標「個人所有のTitanを持つ」
 Titanは、このサイトのタイトル通り。え?映画のタイトル(Wikipedia)じゃないのかって?今のところ2台の所有は考えてないので単数形ですよ 🙂

長期目標「全ての種類の船を所有し、乗る」
 次のターゲットはMothershipと、JumpFreighter。どちらも高いです。iskを増やすことが当面の目標です。

長期目標「可能な限り、広く体験する。生産・戦闘・堀など、ジャンルを問わず何でも体験する」
 iskを増やす手段として、多ジャンルな取り組みを目指します。BPOの研究・発明、生産、堀、月資源の採掘・リアクション、転売、交易、R&D、ミッション、Ratting、iskを賭けたポーカーと経験しました。探索はまだ経験が少ないです。他にはどんな商売があるかな。なお、Standingを下げる行為は、今のところ禁止事項としてます。

短期目標「新しい生産ネタを見つけ、実行する」
 1品集中の生産は、リスク分散出来てない。かと言って増やすのは手間の倍増。この兼ね合いが難しいですね。

短期目標「一度は、月5Bisk以上の稼ぎを出す」
 現状としては、一度達成すればいいかな。それ以上の稼ぎは、まだ想像出来ていないです。5月が 4.7B、6月が 4.9B、と、もうちょいでした。記録していない細かい儲けを考えると達成した気もしますが、google spreadsheets で、メモした範囲では無いため、不完全燃焼。7月は、まったくダメっぽいです。

追記 2009/8/2
 乗れない船一覧にOrcaが抜けてました。あと4日。
追記 2009/12/10
 乗れない船一覧を更新

2つのEVE

7月 16th, 2009

知人にEVE Onlineを何度か紹介したことがあります。

ある日言われました。

「以外だったよ。あんなゲームしてるなんて」

・・・

EVEシリーズ(Wikipedia)との勘違いはEVE Onlineプレイヤーが人に紹介するときに通る道ですね。

shirou1さんの記事を見て、思い出しました 🙂

ネッシーと言われたキー配置 新JISカナ

7月 14th, 2009

英語は、Dvorak配列。
日本語は、新JIS配列を利用しています。

微妙な配列のため、Typoしたときに、Typoであることが誰にも分からないという欠点があります。
(* Typo とは打ち間違えのことです。Wikipedia

ちょっと新JISについて、検索してみたら以下の表現がありました。

多数派   ローマ字入力
少数派   JIS仮名
極少数派  親指シフト
ネッシー派 新JIS  いるかもしれないと思われていたが、実は存在しなかった。

http://www.trans-usa.com/mike/oldnanda26.html から引用

僕、ネッシー派でした 🙂

で、Typo辞書です。「かち」と発言したときは「o/」と挨拶したかっただけですw

(IMEがOnによるTypo)
かち → o/
ぅ) → :)
ぅま → :D
うた! → hi!
かをれ → orz

あと、スペースキーを押してるかどうかで、日本語も変わります。これによるTypoも多いのが・・・

スペース無し → スペース有り
す → ぅ
る → ろ
う → お

たまに意味不明な文字を打ちますが、スルーしてくださいませ。

p.s. なぜNICOLA(親指シフト)にしなかったの?と聞かれることがあります。NICOLAはキーボードを選ぶので、自分の好きなキーボードを利用できないためでした。優先順位は、キーボード→配列 🙂

キーボードはRealforce106S

p.s. IMEがOnと勘違いしたTypoが一番多いことに気づきました。

IME On → Off
おつ → Hf
ばわー → anNV
てらー → pEV

ventriloで、録音。通常の機能だったYO

7月 13th, 2009

Allyの会議はventriloによる音声会議です。

英語はサッパリですが、勉強かねて全体会議などは可能な限り参加しています。
3%ぐらいしか内容は分かりませんが、重要なところは聞き直すためにも録音をしたいところです。

最初は、午後のコーダーを利用したりと色々考えたのですが、ventrilo自身に録音機能がありました 😀

ventriloRecord

ventrilo のツリー表示のところを右クリック→[View]→[Record / Playback…]でいけます。

chatで名前を呼ばれたとき、起こしてくれる何か

7月 11th, 2009

いつもながらAFKな僕です。寝落ちです。

そんなときに、chatで名前を呼ばれたら起こしてくれる何かが欲しくなります。

chatの発言は自動でファイルに保存されています。単純にこれを監視するだけです。注意点は文字コードがUTF-16(BOM付き)のため対応ソフトが少ない点です。
なお、ログは「My Documents\EVE\logs\Chatlogs」にあります。過去の全てのログが残ってますので、フォルダを作って全部移しておくと操作しやすく楽になります。

要件は、以下の4つ。
1.キーワードを検出して、警報(視覚・聴覚)する
2.複数のキーワードを指定できる
3.日本語キーワードにも対応
4.ファイル名を指定しなくてもフォルダ指定で対応できる(&多クライアントでも動作)

まず、vector で要件を満たすソフトを探してみます。
Tailsは、UTF-16に対応しており、上記要件の「4」以外を全て満たしています。アカウント1つでプレイし、channel数が少ない場合は、このソフトで十分に機能すると思います。

しかし、要件「4.ファイル名を指定しなくてもフォルダ指定で対応できる(&多クライアントでも動作)」を満たしていないため、起動する度に、ログファイルを指定する必要があります。これがやってみるとかなり大変です。

書き途中…以下、メモ書き的ナニカ

自作したLogWatcher(Adobe Air を用いたActionScriptによるクライアントソフト)があるのですが、バグとかあって修正中。ふと、cygwinのtailコマンドでいいじゃんと、寄り道です。今のところ、cygwinのtailは文字コード周りでうまくいかない・・・cat なら iconv (or nkf) でうまくいくけど、tail だと、だめだー

 $ tail ./* | iconv -f UTF-16 | grep "ちょめちょめ"

な感じですんなり行けると思ったのになぁー

堀タイマーで読書な日々

7月 10th, 2009

High Sec での堀は警戒せず、のんびりと掘れるのがうれしい。そして、可能な限り別のことをしていたい。

そこで、カーゴ容量MAXなFitのHulkで、ICEを掘っています。
ICEは枯渇することが無く、掘りながら移動する必要がありません。カーゴ満杯時にStationを往復するのみです。

ここで問題は、カーゴが満杯になったタイミングで読書中でもEVEを思い出すことです。

これには、カーゴが満杯になる時間を計算しタイマーをセットします。
(Harvesterのshow infoから計算もできますが、分からなければ単に実測します。Rigやインプラントにもよりますが、20~30分で満杯になります)
(カーゴの残量メーターから、色の変化を察知しても良いですが、タイマーで十分かな)

キッチンタイマーでも良いですが、夜中には近所迷惑な気もします。自分に都合の良いソフトをvectorから落としてきます。

毎回タイマーのセットも手間なので、多少の効率は落ちますが、タイマーはループにしておくといいかもです。Stationへの往復も考慮して、時間を調整してください。(操作が遅れたときだけタイマーのリセットをします)

なお、HulkによるHigh SecでのICE堀は、時給3.7M前後です(White Glazeで、溶かし能力Max、Jitaで捌く場合。価格はすぐに変動します)。

余談ですが、HulkをPLEX(Pilot License Extension)で維持するには

340M(PLEX) ÷ 3.7M/h = 91h

91時間の堀が必要です。30日で割ると、毎日3時間を掘ることでアカウントを1つ維持できます。毎日3時間・・・R&Dなども組み合わせないと難しいところですね。

さらに余談、0.0でのICE堀は約3倍の収益となります。
Red監視を組み合わせれば、堀タイマーでウマーと見せかけて、Rat(NPC)のBS*2で沈みます。Tankが必要だったりで読書どころではありませんw

ローカルにRedで電気が流れる椅子

7月 8th, 2009

これは古い記事です。新しい記事は「ローカルにRedでも「Neut」でも電気が流れる椅子」です。

0.0 で生活していると、いつのまにかLocalにRedがいて、あわてることがあります。LocalにRedが来たら音で知らせてほしいです。

というわけで、Local窓を監視するツールを作ることにしました。
以下はあくまでも参考としてであり、自分の環境やスタイルに合わせて調整してください。

メモリの解析、Cacheファイルの解析、通信パケットの解析、画面からの判断と、やり方はいくつかありそうですが、一番簡単で規約にも問題ない画面からの判断にしました。デメリットは、「Local窓で数が多く、はみ出たRedは見逃す」ことです。つまり、多人数の堀OPでは役に立ちません。

要件は「特定領域に赤色があると警告する」だけなので、UWSCを利用しました。

以下、ソース。
複数のクライアントが前提のため、監視するEVEクライアントをアクティブにし、ALT + F1キーでUWSCの再生します。peekcolorを利用した色判定は応用範囲が広いので、参考になれば幸いです。

// 監視EVE Window をアクティブにして、ALT+F1で、開始する。
public RED_MARK_X = 295; // 赤アイコンの左端座標(正確な数値が必須)
public RED_MARK_Y_START = 100; // ローカル窓の上端Y座標(小さめでもok)
public RED_MARK_Y_END = 720; // ローカル窓の下端Y座標(大きめでもok)
public RED_MARK_HEIGHT = 9; // 監視するICONの高さ。変更の必要は無い

id = getid(GET_ACTIVE_WIN);
acw(id, -1280, 100); // 通常は acw(id, 0, 0)、マルチモニターの左端に配置するため、この値になっています。変更が必須です。
mouseorg(id);

while isRed() = false
	sleep(2);
wend

sound("C:\WINDOWS\Media\ringin.wav", true); // WindowsXPの場合のパス。好きなwavファイルに変更します。
speak("Red Alert", false);

function isRed
	for i = RED_MARK_Y_START to RED_MARK_Y_END step RED_MARK_HEIGHT
		c = peekcolor(RED_MARK_X, i);
		R = c and $FF;
		G = (c and $FF00) / $100;
		B = (c and $FF0000) / $10000;
		ifb (R > 140) and (G < 80) and (B < 10) then
//		ifb (R < 10) and (G < 80) and (B > 100) then
			result = true;
			exit
		endif
	next
	result = false;
	exit;
fend

座標のはかり方は、画像をキャプチャーして、ペイントで確認するのが楽です。

  1. EVE Windowをアクティブにして、Alt + PrintScreenキーで、キャプチャー
  2. ペイントを起動して、貼り付け(Ctrl + V)
  3. ペイントの鉛筆を選んで、ローカル窓の赤アイコンの左端の座標を確認(画像参照)

RedAlertXPosition

え、電気が流れる椅子の話し?それは、、、

Google spreadsheets で EVE-Central の価格を自動取得する

7月 7th, 2009

EVEにおける様々な管理・計算をするときに Google spreadsheets は大変重宝します。
今回は、Google spreadsheets で、EVE-Central.com からアイテムの価格を自動で取得する方法の tips です。

EVE-Central.com のAPI

EVE-Central.com は、価格をCSVやXMLで取得するためのAPIを提供しています。EVE-Central.com のDeveloper Integrationを見ると実際にXMLを取得するためのルールと、例があります。
http://api.eve-central.com/api/marketstat?typeid=34&regionlimit=10000002
このようなアドレスにアクセスすることで、XMLを取得できることが体験できます。
ここでの typeid=34 とは、Tritanium のことです。regionlimit=10000002 は、Jitaの存在する The Forge を意味します。
各種アイテムのTypeID の調べ方は、後ほど。

※EVE-Central はよくサーバーダウンしています。うまくいかないときの原因として、サーバーダウンの可能性を常に考慮する必要があります。

Google spreadsheets での価格XMLの取得

XMLの取得は、ImportXML関数を利用します。そして、第2引数で、取得したいXMLのパスを指定します。
実際に以下の式をセルに埋めてみます。

=ImportXML("http://api.eve-central.com/api/marketstat?regionlimit=10000002&typeid=34", "//sell/min")
=ImportXML("http://api.eve-central.com/api/marketstat?regionlimit=10000002&typeid=34", "//buy/max")

上側のセルに表示されるのが、販売価格(Sellers)。下側が、買取価格(Buyers)です。
第2引数の書式は、ヘルプによると XPath の形式で指定します。ヘルプにXPathの説明ページへのリンクがありますが、分かりづらいです。XPath Examplesのページを見れば何となくニュアンスが分かります(えー?)

なお、この関数は、spreadsheets内で、50個しか利用できません。このままでは、50個の価格しか調査できないことになります。そこで、1回の利用で、必要なXMLを一気に取得する必要があります。

=ImportXML("http://api.eve-central.com/api/marketstat?regionlimit=10000002&typeid=34&typeid=35&typeid=36&typeid=37&typeid=38", "//sell/min")

このように typeid を列挙することで、一気に値を取得します。(上記を試す際には、式を入れたセルの下側を空欄にしておくこと)

しかし、今度は、EVE-Centralの上限にぶつかります。 EVE-Central は同時に100個までしかtypeidの列挙を許していません。このため、100個ごとに分けて、ImportXML関数を利用します。

書き途中…以下、メモ書き的ナニカ

書き途中と思ってたけど、上記内容で十分な気もしてきました。
でもない?

あとは、「単価(とか、@Priceとか、、)」ってシートを作って、別シートから VLOOKUP関数で参照します。

=VLOOKUP($B6,'@Price'!$B$32:$D$51, 2, )

こんなところかな?

今度、画像をキャプチャーして貼り付けてみようかな。