Monthly Archives: July 2009

WebFaction能不能跑自己的C/C++語言Server?

介紹如何在WebFaction虛擬主機下跑自行編譯的C/C++ Server Continue reading

Posted in 中文文章, 分享 | Tagged , , , , , , , | 2 Comments

wxPython自製Control : 用Matplotlib畫圖表的FigurePanel

最近可能會接到一個需要GUI上畫不少圖表的案子,於是就來研究了一下wxPython + matplotlib,前陣子買了wxPython in action,雖然一本1500元大洋讓我心有點淌血,不過這本書真的寫得很棒,讓我對wxPython有更深入的瞭解,如果案子接下來買n本都可以,我個人認為買書來讀是一種投資,所以基本上看上眼的書買起來也不會手軟,接著因為除了畫圖形,也需要用到不少GUI,我把wxPython官方的demo抓下來,裡面每個範例都跑了一次,對於wxPython能做到什麼地步有了更深入的瞭解,越來越覺得wxPython真是酷斃了,很好玩的GUI framework 在這之後,雖然案子還在歸劃的初期,不過我不是很喜歡空等而沒有程式可以寫的感覺,其實在接洽的這段期間就能先完成一些將會用到的東西,像是widget之類的,或寫寫原形來驗證確實可行之類的都很好,所以我就寫了一個用Matplotlib畫圖表的Control : FigurePanel,因為往後在寫GUI都會用到,如果每次都要特地寫來處理這些我會發瘋,當然最好的方法就是包成Control,如此一來所有圖表都可以直接使用,加上可以有統一的行為,例如另存新檔、列印等等,相當方便 什麼是Matplotlib? Matplotlib是一套強大的Python畫圖表用的函式庫,如果不知道他到底可以畫到什麼地步,就可以看他們官網的畫廊,相信看完後就知道它有多強大,幾乎你想得到的圖、想不到的圖,沒看過的圖,他都可以畫,當然,如果裡面沒有你要的圖,或著你要自創圖,當然也可以自己擴增,有了這套函式庫,原本我可能得先花個一個星期還多少時間來建構一套畫圖表的基礎,如今這些時間完全省了下來,這就是使用Open source的好處,沒有這些東西真的不知道要寫到民國幾年 切入正題,我們來看一下FigurePanel的原始碼

Posted in Python, 中文文章 | Tagged , , , , | 6 Comments

WebFaction價目表中文版,再一次推薦WebFaction

介紹WebFaction優秀的主機商,提供使用者完整的自主權,可以執行任何程式,包括自己寫的伺服器等等 Continue reading

Posted in 中文文章, 分享 | Tagged , , , , , , , , , | 19 Comments

夢想線上聊天室的新成員 腦殘NPC: Dragon

因為Client需要重構要花一些時間,在這期間想說如果都沒變化還挺無趣的,但Client又還不能動,就在伺服器端加了一個無腦亂跑和亂說話的NPC: Dragon 話說這幾天下來還蠻多人進來的,大多是外國人,果然全球的市場就是不一樣,才放上去沒多久下載次數已經是之前程式的幾倍,不過安裝率反而比較低,大概是因為太揚春和有些問題,玩家大多都打英文,來自各個時區,不同年齡,目前看到最小的是一個外國小女孩13歲拿著G1在玩,真是有錢 囧 玩家的反應兩極,有人一進來就說”This is suck”, “I’m out”就跑了,不然就說”This is gay!”, “You look gay”, “every one in this game looks gay”,也有人覺得很有趣,說”This is an awsome idea”, “This is interesting”, “I can’t wait this game to be improved”,或許因為兩極反應拿到3.5顆星 整體看起來Android上的mmorpg或是像這樣的線上聊天室還是有搞頭的,單以台灣市場可能太小,但全球的話就應該夠大足以稱起這遊戲,不過還有很長的路要走,首要的工作就是改進client

Posted in Android, 中文文章, 遊戲, 遊戲設計 | 5 Comments

夢想線上聊天室Beta

終於,第一個可運行的版本出來了,本來這種程式應該要慢慢寫才對,但是臨時決定要衝比賽,玩家端包含伺服器端寫了我三天的程式,程式寫得很髒很亂,有不少小bug,但大至上的運作都是正常的,日後維護可辛苦了,不過至少即時趕出來了 遊戲截圖 進入主畫面後點擊地圖的八個方向就可以移動 未來的目標是做成手機上的MMORPG,不過可能還要很久的時間 下載 透過下載連結或是qrcode:

Posted in Android, 中文文章, 遊戲, 遊戲設計 | Tagged , | 3 Comments

卡卡獸的移動

增加了角色移動的功能,感覺上還蠻順暢的,不過好趕,有種在亂寫的感覺 移動的影片,實做角色移動的部份,因為Webcam是固定焦距,太遠又暴光過 度,所以只能這樣拍,看起來像近視一樣= = 不過感覺上滑動還蠻順暢的 話說,有誰知道哪裡可以找到免費的八個方向角色走路的圖…. 我想要找來測試一下都不知道從何找起 orz 美術白痴的我要畫大概是不太可能

Posted in Android, 中文文章, 遊戲設計 | Tagged , , , | 5 Comments

簡單的Android地圖引擎

剛才在android上寫了一個最基本的地圖引擎,就只是把地磚拼起來而已,感覺效果然不錯,FPS也在可接受的範圍,HTC Magic上大約能跑到25~30左右,地圖滑動也相當順暢 我在想,Android上面玩MMORPG不知道有沒有搞頭 XD,真的蠻想做做看,不過也要我有時間,心有點癢想繼續寫下去

Posted in Android, 中文文章 | Tagged , | 1 Comment

Android遊戲設計初體驗

今天玩了一下在Android寫game,託以前經驗的福,很容易就上手了,和一般的Game沒有太大的差別,但因為Android所謂的main-thread和main-loop都是用來回應UI用的,因此要更新遊戲的邏輯、畫面,需要另外的Thread,參考Android裡的遊戲範例,很快地就隨便寫出一個還稱不上是Game的小程式來玩,只是簡單地移動貼圖,在模擬器跑慢到暴炸,FPS只有1初頭,根本沒辦法進行debug,而在我的HTC Magic下跑FPS可以到30~40左右,所以要在Android開發遊戲似乎實體的手機是必需的,模擬器平時跑一般的程式都可以慢成誇張的地步了,更何況是不停更新的Game,所以非手機或其它硬體支援不可,除非哪天模擬器效能大改進 雖然這小程式沒什麼大問題,但是有件事情讓我很困擾,就是每隔一點段時間就會發生delay,週期性且不斷地發生,這樣的delay會讓玩家感到不爽,難以進行遊戲,糾~竟~是為什麼會有這週期性的delay,我們…繼續看下去 Delay的兇手 找了一些資料,終於讓我發現這週期性delay的兇手,就是來自於garbage collection的週期性回收垃圾,請看VCR 在Android寫一個簡單的貼圖移動程式,發現會有週期性的delay,原因出在於垃圾回收機制不停地週期性地運作,請看背後LogCat的GC發生的一瞬間,程式的畫面就會delay 而亂丟垃圾的兇手就是…. 我,沒有什麼寫Java經驗的我,new一個物件似乎很輕鬆平常,反正Java有垃圾回收機制,一般寫程式再怎麼丟都有人幫你撿,但是寫Game就是另一回事了,對於寫Game而言,垃圾回收機制是delay的來源,所以在遊戲迴圈內不能有用完即丟的new物件產生,任何物件在遊戲都應該被reference或是重覆利用,不停丟垃圾的下場就是你的遊戲會因為有人一直停下來幫你撿垃圾所以不停的delay 當我移除所有new之後… 我發現delay似乎還是會發生,想了一想,想到了在這背後還有隱含的new會發生,也就是Java的字串其實骨子裡就是new,只是方便的寫法所以不用特別寫出來,在移除了所有使用到暫時字串的地方後,果然圖片的移動就相當順暢 接著 我想寫一個簡單的地圖引擎實作來看看Android的2D貼圖效能如何,如果不幸的很不夠力,可能就得用OpenGL下去畫2D了

Posted in Android, 中文文章, 遊戲設計 | Tagged , , , | 1 Comment

第一隻Android程式: 電力座標定位

在拿到HTC Magic後,就開始試著寫程式,我有很多點子,不過在一開始對Java不熟還有Android也不熟不是那麼容易實作,就挑了一個簡單一點的題目來做,就是電力座標定位程式,那什麼是電力座標呢? 電力座標其實是台電公司標在電器設備上用來表示座標位置的一種表示法,你可以在住家週圍的電線桿上找到,例如像這樣的電線桿 它的詳細一點的介紹可以在這裡找到 要手動計算電力座標雖然不難,但也很煩,而且還有座標轉換的問題,為此我就寫了這樣一個程式,只要輸入座標就可以自動換算在地圖上標示出來,這程式說起來簡單,不過就代公式而已,但是對於我來說卻一個頭兩個大 麻煩的公式 不止是公式麻煩,在找到公式前,還得瞭解一大堆背景知識,關於地理、地圖的相關知識,對於讀資工的阿宅我來說,那些資料真的很不好找,讀起來也很痛苦,經過辛苦地在google上打滾,還有好心人的幫助下終於知道怎麼做,其實要把電力座標轉換成TWD67很簡單,只要一些簡單的式子,接著把TWD67轉換成TWD97也不難,最麻煩的就在於把TWD97轉成經緯度,它的式子非常之復雜,這之後另外再寫一篇來介紹 截圖 目前程式非常地陽春,我還沒有加任何額外的東西進去,目前就只有輸入和定位如此而已,較細節上的功能會慢慢更新 —— 更新 —— 2009/7/9 更新了介面,還有操作方式,讓使用更人性化 修正了座標第六七個字元限制設錯的bug,請下載最新版,否則遇到有E之後的字元都沒辦法輸入 免費下載 只要在Android Market搜尋電力就可以找到程式,或是如果從android上瀏覽此文章可以點擊此連結前往Android market下載頁面,又或著用你的barcode scanner掃描以下連結 (我都忘了還有QR barcode可以用= =)

Posted in Android, 中文文章 | Tagged , | 14 Comments