2010年11月12日 星期五

[DEVBLOG] 數據庫的問題

開發持續,並且緩慢的進行中...
目前在解決的是關於EVE的數據庫的問題.

由於CCP有公開遊戲中所使用的大部分的資訊,所以比方說以星系的ID來查他的名字之類的處理本身是很簡單,不過有很多技術上的問題要解決.

1.效率
API能取得的都是CODE,要拿到名字一定要去DB找,但是由於一個畫面往往會需要去查幾十次的名字所以不可能單純的每次去查數據庫,而需要考慮別的方法.

2.數據的保存方式
由於GAE不提供數據的匯入匯出,所以光是把數據放上GAE就是個不小的考驗....EVE的dump有個50M左右,要弄上去需要的時間也不少.(當然,裡面需要的可能也不多就是)

光是這兩個問題到是還簡單,不過在解決他們的時候又碰上了GAE上的技術限制導致這個問題蠻複雜的.

  1. GAE在一定時間之內沒人訪問的話會自動停止,等下一個人來在重新開始. 這代表不能單純的把系統架構成在server啟動時建構數據的快取,不然訪客會等到死
  2. 每次的Query只能取1000條數據,而且不提供你直接取得後續數據的方法,所以光是把一個10000條的資料放到記憶體上都很麻煩
  3. 每次的HTTP Request限制30秒超過報錯,所以所有系統所需的處理都不能寫成花很長的時間一次做完那樣單純.
  4. GAE的數據庫(Bigtable)不能用join等RDB的功能
結論是,只有隨機應變.
目前是去抓了Database Dump的Mysql版在本地先架好,像是有各種名詞的evenames(366086行),各種物件的數據的invtypes(18668行)  這些就寫個小程式把他們給做成class或是properties檔給傳上去,其他需要的數據也都事先做好view再傳上去,減少在GAE上給數據加工的負擔.

基本上,這問題已經快要解決了


接著來說些對不搞開發的人也有興趣的話題...

在檢查EVE的Dump時發現裡面有EVE的多國語翻譯的數據在裡面,量還不小耶(271382條)

想說來了解一下各國語言的翻譯狀況,原來中文的翻譯還算蠻進步的啊(陸服還在嗎?)
日文也翻譯到差不多一半了,可是反而搞到新手教學那段的日文都沒有了不知道事怎麼回事...

希望CCP哪天能大發善心來提供一下日文或是中文版啊.....反正多國語的架構一弄好,多一國也不需要多少資源.

2010年11月1日 星期一

[DEVBLOG]Eve Online的線上工具

Eve這個遊戲,因為他的基本架構以及公司的方針和其他網路遊戲大不相同,所以也玩家的族群也感覺上跟其他遊戲比起來,搞系統開發的朋友不少.
vivio本行也是搞開發的,由於現在在開發的東西一來技術上可能還蠻有趣,二來也希望能得到大家的意見,因此今天來寫一篇一般玩家可能比較沒興趣的東西

先來說說事情的由來.....


EVE ONLINE裡面玩家基本上是以透過Corp組織來聯繫的,由於Corp系統會管理到很多東西,像是POS啦倉庫啦BPO啦等,所以他的介面自然就很複雜,往往為了一點簡單的設定就要搞個半天.

但是即使是他已經很複雜的介面還是有很多大家需要卻沒辦法提供的功能,在LIB的管理上就發生了不少問題,有的問題是可以透過一些技巧可以克服的,但是以下幾個問題一直讓人煩惱(尤其是POS的管理員)

  1. POS燃料的現況要到當地才看得到
  2. POS沒燃料的24小時前開始發出的Alert Mail只有CEO和Director收的到.
  3. 各燃料庫存剩下多少也要到當地才看的清楚

1跟3基本上是透過API取得的資訊就可以查到,透過一些像是EVE Asset Manager的工具也不是看不到,不過問題是每個玩家只能收到自己能有權限能看到的資料,而CEO的FULL API KEY又不是隨便可以給人的.
至於2就更麻煩,由於不能透過API取得系統的Alert Mail(下次改版預定提供MAIL讀取機能,不過包不包含系統MAIL就還不清楚),而且要是能把POS的狀況用更人性化的畫面顯示出來那是沒話說了.

另外一個考量就是,即使做了工具,要安裝啦COPY啦也是麻煩,而且有的環境辦不到(喂,就是你,上班時間還來看遊戲的BLOG真是...不要偷裝軟體被公司修理啊!)

能同時滿足上面的需求的,自然就是最近流行的線上工具(Web Application)了!
(老實說,vivio每天在做的也都是雲端的東西,也不太想做些要在本地執行的工具)

為什麼選擇Google App Engine?

在選擇這個工具的開發平台上,有幾個基本的考量...

  1. Free.除非能用ISK付費
  2. 能用Java.(會的人多,工具也多,我用的熟^o^)
  3. 配置,系統管理等不會太麻煩

由於Google App Engine(以下簡稱GAE)不只能滿足上述需求,更妙的是他內含了透過Google帳號來作用戶認證的機能,這代表使用這個工具的人不需要再去做一個新的帳號來登入(由於LIB在管理上都用Google的服務,所以成員都有Google帳號).

那....你到底正在做什麼?

這是個比較麻煩的問題.
上面的文章看了也知道,這工具一定要用有POS管理權限的API才能使用,所以自然不能給公司外的人看...
已完成的部分是POS的燃料顯示機能,把部份數據給打上馬賽克的圖片如下.

目前整個計畫算是剛完成評價階段,所以畫面也蠻簡陋的.
目前已確定能夠再GAE上架構個有用的工具(雖然還有些問題,後述)
POS燃料的殘量顯示接近完成,其他的機能也會稍後慢慢的推出(看vivio上班有多少時間摸魚?)
目前打算提供以下機能

  • POS的名稱,燃料消耗等的自訂機能(現在是以塔的消費量在算,沒考慮PG跟CPU....因為API取不到)
  • 用戶的管理介面,提供CEO登錄員工的Google帳號以及各員工的自訂機能
  • POS燃料的警告MAIL.....燃料快沒的時候會發到你的GMAIL帳號,甚至每天發日報給你.
  • 顯示用戶指定的倉庫中,事先指定的數種物資.....以方便POS管理員可以隨時確認燃料殘量.
  • 後續打算提供員工自行登記想跟其他員工共享的BPO(比方說放在事先指定的箱子裡面其他人就能看到裡面的BPO之類的)
  • 提供遊客試用的機能,讓別的公司的玩家能試看看是怎麼樣的工具
以上的機能基本上是只要有時間就能做起來,不過目前有些在GAE平台上或是EVE的API的問題有待解決

  • GAE的限制,每次HTTP通訊(GAE<-->EVE API)的容量上限是1MB,超過就會丟個Exception給你吃. 而EVE API那邊只提供一次取得所有資料的API(所以要是公司東西太多就拿不到資料)
  • GAE目前並沒有提供資料的匯入/匯出功能,要用戶自己想辦法. 目前所有物件的名稱等都是vivio直接寫在source裡面的,所以像是星系名稱等API取不到,要到database dump裡面才找的到的資料都不是很好找
  • EVE API....這可能不算是問題就是, EVE API很多端口都有流量限制,有的更有數據的更新頻度的限制.....像倉庫的內容,雖然透過Full Api可以取得很多次,但是每次取得後23小時之內他給你的都是你之前取得的數據的cache,要等過了23小時才會給你最近的數據,所以等於一天只會更新一次


如果看到這篇的玩家對這工具有興趣,或是有想到什麼有趣的機能的話,可直接在這個Blog留言或是在遊戲中直接發mail給vivio

另外誠徵開發夥伴,目前系統後台是採用 Spring MVC,畫面是用JSP在架構.
要是對共同開發有興趣的話,一樣請洽vivio 別害羞喔!

2010年9月23日 星期四

Shrine - Amarr Marauder: Paladin



經過了一個月的漫長等待,終於將技能練好,開了期待已久的 Marauder 級戰艦。

美麗的 Paladin 啊~(詠嘆)


目前自己練的技能能夠做以下的配置:


[Paladin, Shrine]

Large Armor Repairer II
Energized Adaptive Nano Membrane II
Armor EM Hardener II
Armor Thermic Hardener II
Heat Sink II
Heat Sink II
Heat Sink II


Cap Recharger II
Cap Recharger II
Cap Recharger II
Cap Recharger II


Imperial Navy Tachyon Beam Laser, Imperial Navy Multifrequency L
Imperial Navy Tachyon Beam Laser, Imperial Navy Multifrequency L
Imperial Navy Tachyon Beam Laser, Imperial Navy Multifrequency L
Imperial Navy Tachyon Beam Laser, Imperial Navy Multifrequency L
Small Tractor Beam I
Small Tractor Beam I
Salvager II


Large Ancillary Current Router I
Large Energy Collision Accelerator I


Drone 傷害不計,DPS 744 / volley damage 5123,抗性也都有 75% 以上,足以應付多數 lv.4 任務。

若是覺得不妥,可以慢慢換裝備,將甲修換成 faction 或海盜等級,續戰力將大幅上升,面對猛烈炮火也不用擔心。

Marauder 級戰艦可以將牽引光束的距離和牽引速度倍增,基本上可以完全勝任邊打邊回收這項任務,真的是很好用的一艘船呢。(滿足的笑)


我將她取名為 Shrine,神聖殿堂。

2010年8月1日 星期日

黃雀在後

最近一直在摸索蟲洞, 掃描算是上手了, 可以不用花很長時間完成定位.
再來就是要評估一下各個探索點的內容.因為之前我都是靠挖礦賺錢, 一個苦命藍領自然對於 0.0 的礦點有無限的憧憬, 即便理智告訴我在蟲洞不應該靠挖礦賺錢, (原因是礦物體積要比其他能獲取的東西大太多, 即使挖很多變現肯定不夠效率) 但是嘴邊肉怎能不心動呢 ?

圖中可以看到礦點裡, 各種礦琳瑯滿目, 太多是我從未見過的. 在這之前, Kernite 以及 Omber 是我挖過最"稀有"的礦物, 其他如Crokite, Dark Ochre只是書本上的東西. 但是這裡俯拾皆是. 還有單價最高的 Ankonor 二話不說, 即刻開挖 !! 並沒有惱人的礦槍一開敵機就來的情況, 不過該來的還是來了, 3 FF + 1 C 的 Sleeper小隊來干擾我的發財夢了. 無奈不能用礦槍燒醒他們. 只得回去換 Drake 來清場.


一個礦工開著 Drake 還是礦工, 用很慢的速度清掉巡邏隊, 一邊加以回收. 據本公司奸商工會理事VK計算, 這四架小小的廢鐵也可以值10M. 就在我慢條斯理的終於幹掉最後一架巡洋, 警報響起 !!

 
一架隱形的 Helios現身, 它干擾了我的曲速引擎使我無法躍遷, 斷我後路, 但這並不是全部. 約莫十秒鐘後, 一個八人中隊已經出現在我眼前, 還沒能將Helios擊退, 敵方ECM已經啟動...我已全然是甕中之鱉. 笨蛋礦工不知道已經被盯上多久了呢, 還慢慢的回收....
 

2010年7月13日 星期二

Wormhole 蟲洞實習

這兩個星期, 公司的老員工都放長假沒有上線. 我一個人悶的發慌, 於是乎興起蟲洞探險的念頭. 目前, 我掃描的技能如下:

Astrometrics Lv3
Astrometric Acquisition Lv2
Astrometric Pingpointing Lv 0 <忘了練??>
Astrometric Rangefinding Lv2

船艦使用 C 族 掃描船 Heron , 與基本的 Core Probes, (max 6 probes)


目前有在掃描上沒有很大的問題, 一步步縮小 scan range, 移動調整位置. 大都能掃的出來.
有一些信號確實很難掌握, 用最小的 0.5A , 六顆 probe 還是只能掃出一個空間範圍.
必須調整與猜測好幾次才能成功定位. 相信在技能提升與 Rig 加強性能之後能夠改善.

以下是一些這兩天的發現, 蟲洞裡面真的是值得冒險, 有礦有任務, 還有星球滿滿的資源.
我好想呆在裡面不停的挖寶. 可惜以我目前的技能,看的到吃不到.
建立一個 蟲洞 POS 是第一步, 才能夠持續以及有系統的把蟲洞資源撈出來, 一兩個洞主看家也是必須的, 再來是維持 POS 補給, 以及考量防禦工事.

這些基本要求便需要一批瘋子以及天才才能夠成事 :)

來一些蟲洞風光 :

1. 不小心闖到人家裡, 溜~


2. 再一次掃到別人家, 這家是住在 C4 裡面 , 或許配備可以參考一下



3. 掃了好久找到的礦點, 沒帶掃描器不知蘊藏量的水準如何.不知道開挖是否馬上出現 Sleeper.



4. 好豐富的星星 ... :D


應該要練一隻 ALT , PI + scanning skills .. stay inside , to be the door man ?

2010年6月30日 星期三

警告! Patch後AutoPilot出問題!

昨天那個又延長好幾小時的Tyrannis 1.0.2 Patch後有玩家指出AutoPilot的機能出了問題,
即使你設定為Prefer Safer他還是會照樣衝向LowSec.
昨晚Vivio測試了一下確實是如此所以來跟大家提醒一下.(看來這是CCP回收isk的新戰略?)
(正確的說法應該是導航裝置出問題,因為你照著他的路線手動WARP還是一樣衝到Low去)

好在昨天延期到很晚,所以亞洲的朋友們可能不會有很多受害的人吧...有爆船的可以在這邊吐吐口水lol

再次提醒,在CCP改好這問題前,千萬記得在設定好航路時記得再確定一次是不是有問題....不過這基本上算是正常的流程吧,因為你要是不小心指定目的地為Low的話他也不會再給你警告.

如果發現航路有問題的話可以透過遊戲外的各種能幫你排出航路的軟體/服務來自行設定waypoint.
vivio是建議使用 http://evemaps.dotlan.net/ 這網站,能滿足你在遊戲中地圖方面的所有需求.

↓官網上關於這問題的討論可以看這
http://bit.ly/ckJnXP

祝各位飛行員航海平安

#日本の皆さんへ:なぜかこのブログ、台湾よりも日本からのアクセスが多いので一応・・・
#星の海に魂の帆をかけるさんのところにも記事が出来たので、詳しくはそちらの方を参照してください。

2010年6月29日 星期二

行星開發的背景故事

 行星開發已經出來了好一陣子,想來大家應該都已經有玩過了?
相信有很多朋友都在奇怪,怎麼行星開發能夠這麼有效率?
那些怎麼看起來都像是有人住的行星怎麼能讓我們POD飛行員隨便亂牽線?

CCP在不久前發表了一篇Chronicle,告訴我們在EVE世界裡是怎麼詮釋這個新系統的...
Xenocrary

EVE ONLINE的背景故事往往都是很黑暗的,這篇也不賴 相信各位玩家讀過後一定會開發的更有勁lol

2010年6月18日 星期五

礦工注意! 第三次Hulkageddon來了!

Hulkageddon,簡單的說就是殺礦工的活動...相信各位在玩RTS的時候都很有經驗,只不過這次是換你被殺 XD

這活動好像主要是在High殺礦工,包括偷東西逼你打啦,神風特攻等手法
然後再看KB上的"戰果",以公司或是聯盟單位排行決定名次並有豪華獎品,另有各種特別獎來獎勵各位有特別的貢獻的艦長.

上次的HulkageddonII總共擊沉了1800艘船,總價約275b
HulkageddonII詳細請看:http://hulkageddon.wordpress.com/

雖然這活動的對象好像只是礦工,但是可想而知的是整個銀河會被他們帶入黑暗面...
在活動期間內 HIGH SEC的各種犯罪率都可能提高,最好是不要帶著貴重品Auto Pilot或是發呆啊(本來隨時都該注意就是)

Hulkageddon官網

EVE官網論壇上的討論

2010年6月12日 星期六

20100612 第一次打蟲洞


第一次打蟲洞, 完全是因緣巧合. 正準備加入 L.I.B. 在處理搬家問題的時候, 聽聞 Vi Vio說要打蟲洞, 便厚臉皮的開了一架三輪車就跟著去了.

一開始我運氣不錯,都沒有被瞄. 很順利的幫打 fg, 放 Painter.
















這次打的洞是 C3 等級的, 但是我沒留意到是否有特殊屬性的修正.
















第一次看見沉睡者 Slepper 的船艦, 帶觸手的 ?!


一路順順利利打了三個 site, 撿了一些據說很貴的 data report.
第四個site運氣就不是太好了 , fleet warp 進去之後就被鎖定, 加上自己失誤 align 錯目標,就錦上添花放了個煙火. 為當晚畫下一個美麗的句點.


打仗時偷瞄了一下蟲洞裡面的星球, 恩, 很肥. 隊友 Da Gork 似乎早有準備, 偷渡了 Command Center 進去, 也證實出了蟲洞仍然可以控制. 或許他Remote Survey 練很高吧, 可以看很遠.


Anyway, 一個很好的經驗, 也是一個新的開始.

2010年3月29日 星期一

CALDARI的各種名詞翻成日文....

稍懂一點日文的玩家應該會覺得Caldari的各種名詞都有點像是日文.
實際上不錯,他是有點像日文.
不過他可能由於大多是亂數生成的,大多是在日文裡沒有意義的音,但是有一小部分不只是有意義而且還蠻好笑的.
這在日本玩家之間是常常被提出來,但是對不懂日文的玩家來說自然不會發現.
不過今天看到好玩的網站:
http://podlogs.com/kanji/
...有漢字又有英文解說,應該國內玩家也可以體會一下EVE中的星系名有多好玩 :-)

2010年3月18日 星期四

2010年2月10日 星期三

R&D Agent研究報告

不囉嗦..這個是把目前R&D 的Agent 整理後, 再選出超過LV4 Q0的Agent以及他所會的科學技能
Boundless Creation  
Heidirdria Bord 4 9 6.45 Metropolis Amo EP HEP ME MSE NP    

Carthum Conglomerate
Bummiri Nadaneh 4 16 6.8 Kador Aharalel ASE LP ME NE RS
Qerray Cherti 4 10 6.5 Domain Hadonoo ASE EE LP MOE RS
Yekatah Naman 4 12 6.6 Domain Hahda ASE LP NE RS

Core Complexion Inc.
Eindolf Fer 4 7 6.35 The Citadel Haatomo EE EP MSE NP RS
Kasukell Bjaren 4 13 6.65 Verge Vendor Raneilles EE EP ME MSE PP QP RS

CreoDron
Doppepuette Ciete 4 8 6.4 The Forge Reisen EE EP GSE PP QP  

Duvolle Laboratories
Avagher Xarasier 4 13 6.65 Sinq Laison Fricoure GSE HEP HS PP QP  
Sitaleere Beene 4 16 6.8 Sinq Laison Ainaille GSE HEP ME NE PP    

Ishukone Corporation
Ya Alhunaya 4 18 6.9 Essence Allebin CSE HP QP  

Lai Dai Corporation
Kokanogi Hayeda 4 12 6.6 Lonetrek Nonni CSE EE EP GP MOE        
Panakiya Nakkilen 4 14 6.7 Lonetrek Kamokor CSE EE EP GP RS

以上
如果覺得很亂的話, 複製下來貼到excel用資料頗析去頗"空白", 可以變的好看一點...沒辦法,我用excel整理的超大表格, 最後結錄成這樣, 再貼上來又更慘.....
以第一個簡略說明一下
Heidirdria Bord <--RD Agent名字
4 9 <--他的任務品質
6.45 <--你所需要的standing
Metropolis Amo <--他家的位置(區域 星系)
EP <--他會的科學的簡寫Electromagnetic Physics
ASE = Amarrian Starship Engineering
EP = Electromagnetic Physics
HEP = High Energy Physics
依此類推...我相信玩科研的人很容易聯想起這些簡寫

就醬, 下班了, 來造~