2013年5月15日 星期三

為何你不該辭職去寫遊戲APP


為何你不該辭職去寫遊戲APP? 
這樣的標體對於某些人來說可能有點聳動,
特別是對正打算辭職去寫APP創業的人,或是已經辭職投入APP創業的人。

明明手機 APP 產業正蓬勃發展。
而根據統計遊戲APP 又是其中下載率及獲利最高的。
為什麼你不該辭職去寫遊戲APP?

其實是一篇 2011 年的老文章了。
但即便已經過了1年半,以現在的眼光看來,這篇文章依舊歷久彌新。
原文在此:

Why You Shall Not Quit Your Day Job To Make A Game App

作者半路還製作了中文版的簡報

半路,本身就是一個成功的遊戲APP開發者,代表作 邦妮的早午餐
他自己經營的部落格猴子靈藥 ,忠實的紀錄了他遊戲開發一路走的辛苦過程。

我簡單摘要文章中幾個重要的論點和建議,和補充我上網找到的相關資料,
以及我的心得。

離職去寫APP前,你必須考慮清楚因為...

1. 你將沒有收入
代表你必須省吃儉用,勒緊褲帶過日子。

2.光有點子是不夠的
點子無法被執行的話就一文不值。

3.你不可能靠一己之力完成所有事
不只會寫程式就夠了,還要會行銷、設計、公關,
你需要夥伴,而好夥伴難尋。

4.必須放下身段,創業要做的事比你想像的多

5.並非一款遊戲就能讓你賺大錢
一次就命中市場是可遇不可求的,你需要為長期抗戰做好準備。

6.當老闆不如想像中自由反而更需要自律

7.自行創業寫程式是很孤獨
並且充滿各種讓你停下工作的干擾和誘惑。

8.你會需要親人和親密伴侶的支持
否則你將孤立無援,無已為繼。

9.有很多你沒看到的現實面
利用APP來賺錢好像很簡單,但背後的辛苦誰人知?
許多報喜不報憂的消息,讓人一窩蜂的投入這個產業。
但這究竟是明日趨勢,還是一日曇花?

10.你可能不善於交際
你必須勇敢的跨出腳步,開放的和人交流。


以上這些,就已經令人卻步了。

但我覺得,時至今日,除了上述自身條件的問題,
還要考慮兩個很重要的大環境因素:

1. APP 入場時機已過

根據統計資料,目前 APP STORE 的APP 數量已經超越 75萬個。
而GOOGLE PLAY MARKET 的APP數量已經超過 70萬個。

在為數眾多的APP競爭中要脫穎而出將會非常困難,
即便是設計良好的APP,也不容易去吸引到用戶目光。

就像路跑時一旦沒有搶到良好的起跑位置,
後續就算速度不錯,照樣還是會受困人群。

更令人擔心的是,急速發展膨脹的產業,是否會有泡沫化的可能性?

2.大者恆大
大型的遊戲 APP公司,手上有全方面的人才,
包含文書、美編、公關,甚至有音樂人才。
能做出較為完整的作品。

相較之下,獨立開發者,唯一的優勢就是創意而已。
但創意知所以為創意,就是在於嶄新和不可預測。

所以對於廣告商和下載用戶來說,不一定願意嘗試。

針對辭職寫APP可能遇到的問題,對岸有一篇文章:
APP開發者已窮途末路。

內容滿是心酸血淚,專職寫APP 卻幾乎無以維生。
文章引起廣大迴響,許多人表示看了心有戚戚焉,

辭職去寫APP?或許要再想一想。
比較保險的做法,可能是保有目前的工作,並用空閒時間去開發。
不要投入過多的資金,多利用現有的資源,以避免風險。

這也部落格主目前努力的方向,與大家分享。

                                                                                               2013/05/15





2013年5月12日 星期日

[LINUX]我的 CentOs-Server 安裝流程-part1




首先要來安裝LINUX作業系統啦,小茂這次選擇的是CentOS這個Distribution,雖說過去也有用過Ubuntu,但據信CentOS作為伺服器應用的話是相對優的版本。

認識一下什麼是CentOs:伺服器安裝第一首選 CentOS 6帶來寧靜革命


安裝版本:CentOS-6.2-i386-LiveCD.iso
義守大學伺服器

.iso 是光碟映像檔,在Windows上丟進Daemon Tool就可以燒成可開機的光碟,讓我們部署在新機器上啦。






接著把光碟放進目標,記得修改BIOS中的開機順序,光碟>硬碟,系統就會從CentOs中開機了!

接著會看到自動倒數的畫面,按個任意鍵讓他跳出開機/安裝菜單:



即便我們最終要建的是文字版操作界面,但這時候可千萬要選擇Install
(因為實測後發現Install才能自定分配磁碟空間,小茂覺得糊塗)

然後我們就順利進入安裝程序了,中間的過程基本都很好懂:
選擇語言、鍵盤系統、時區⋯這裡就不一一囉唆了

關鍵是磁碟分配:

唯有圖形安裝界面才會到這步呀(搔頭)
考慮到日後的維護還有擴充,小茂在此做了以下分配:

  • /boot 500MB
  • /        10GB
  • /usr    5G         (應用程式檔案放置的地方啦,獨立割出來便可以獨立備份啦)
  • /var    5G         (應用程式參考的資料庫,也是需要備份的)
  • 剩下的都留給LVM(拿來建立/home用的,用LVM利於擴充,放影片音樂的地方啦)

啪嗒,原則上過了磁碟分配後就沒有需要傷腦筋的地方了。

接著重新開機,取出光碟,讓系統從硬碟開機,與伺服器相見歡,由於剛剛是用圖形模式安裝的緣故,系統會理所當然的進入有GUI的CentOS

小茂希望系統開機後還是回歸文字模式,所以來做以下設定更動:

調整run level,使用vim 改變設定檔:

#vim etc/inittab

找到這行(預設是5,X-Window模式):
id:5:initdefault:

改成(多使用者文字模式)
id:3:initdefault:

重開機後系統的世界就是黑白的了!

然後,對於伺服器而言,第一重要的就是sshd服務了,這個服務可以讓我們透過網路,對伺服器進行遠端登入,不用坐在伺服器前也可以維護/設定主機,而且這項服務在window、MAC、Linux都可應用,簡單地說,只要龍五手上有電腦(加網路),誰都無法阻止他操作自己的伺服器!

好了,現在就來啟動伺服器上的sshd服務:
#/etc/init.d/sshd start

原則上這個服務不太需要設定即可馬上應用,接著用其他電腦對伺服器進行連線測試,如果你有LINUX或MAC,打開終端機輸入:
#ssh root@192.168.0.105 (我的伺服器在此區網IP的情況,)

如果是用windows,可先來此下載pietty
然後在主畫面上鍵入IP或是domain name,port 使用預設的22
就可以進入你的主機登入畫面了



好了,sshd也測試成功了,現在我們可以遠端登入了,可以來拔掉鍵盤還有螢幕了嗎?等等!要先確定重開機後系統也會自行啓動sshd服務,否則人還是要跑到機器前拜託他讓你連線,這樣似乎還是功敗垂成。

小茂的印象是這版CentOS的run level3預設是不會啟動sshd的,我們可以透過以下動作確認:

#vim /etc/rc3.d/

這檔案是敘述了系統run level3時,會載入/停止的服務清單,可以這樣的方式解讀:
[K或S]編號 服務名稱

其中K代表Stop(關閉服務)、S代表Start(啓動服務)

你可發現其中有一行:
#K25sshd

喔喔這可不妙,這代表系統預設重開機後不會載入sshd服務,龍五要死來了。

原則上,我們不要去修改rc3.d這預設的服務載入清單,以免未來經過修修改改導致系統發生問題時,系統回不到這最基本的可啓動狀態(瑞凡:系統回不去了)

正確做法是,在自定服務載入清單內,加上自行想啟動的服務,來做以下設定:

#vim /etc/rc.local

這檔案就代表了自定啟動服務清單,在文件內加上先前操作過的指令:
#/etc/init.d/sshd start

如此一來系統會經由以下的順序,在開機時載入sshd服務了:

  1. inittabl    (進入run level3模式,並透過rc3.d啓動服務)
  2. rc3.d     (關閉xx服務⋯關閉sshd服務⋯開啟xx服務⋯執行rc.local)
  3. rc.local  (啟動sshd服務)

重開機後測試看看,果真有效!
之後可以翹腳捻鬍子在星巴克玩伺服器了,喔耶!


(To Be Continued)






2013年4月22日 星期一

3D Printer - 我把想像中的世界印出來了



上圖昰 MakerBot 推出的 3D 印表機: Replicator ,售價 2,199 美元 (台幣約六萬多)。
平易近人的售價,開啟 3D 印表機居家使用的可能,
讓每個使用者的家裡,就是一個 "夢的工廠"。

圖片來源 : http://www.makerbot.com/blog/2012/01/09/introducing-the-makerbot-replicator/ 

3D Printer (立體印表機) 昰最近在朋友間最熱烈討論的話題,
對於一般平面印表機的運作原理,相信大家不陌生,
以噴墨印表機為例,就是將墨水透過噴頭,塗佈在紙上,印出想要的圖案。

那要怎麼印出立體的東西來呢?

首先,3D 印表機的墨水,或者說他的耗材,
通常是用塑料: 最普遍的像是 ABS 樹脂(工業用途的熱塑性塑膠),PLA (聚乳酸,一種環保材料)。

3D Printer 讀取3D 的圖檔(目前幾乎都只支援 STL 檔),
經過機密的計算面積決定位置後,在平台上,將加熱熔融的塑料用押出或射出噴頭,
一層又一層噴在適當的位置上,當一層一層的塑料堆積起來硬化之後,就會形成立體的物件了!

點我看列印的說明和示範影片。

3D Printer 帶來了幾個嶄新的改變

1.  生產自動化

過去立體零件的製造,多採用減法工程,
大量的人力會印用在鑽洞、拋光、切割....... 等步驟中。

但是 3D Printer ,是利用堆疊的方式,直接做出立體的物件,幾乎不需要後段加工。

隨著科技的研發,3D Printer 的可用素材增加,包含金屬、玻璃、食材、甚至是細胞。都可以被用來做為 3D Printer 的材料,列印出不同材質的立體物件。

如果 3D Printer 普及使用在工業上,勢必會淘汰不少人力。

2. 更加個人化、多樣化

3D printer 擺脫了傳統的製造概念,

因為不用製模,也沒有複雜的生產線,不用大量生產來壓低成本。

只有了想列印的立體圖檔。生產物件的成本,取決於 大小、材積、列印時間、耗材使用量。

於是獲利的模式,生產的重點,會從製造大量 -> 製造別人想不到的!

可以預想,會有更多創新的、特別的、稀有的立體物件、產品被製造出來。
在市場流通。


3. 新的商機

 3D 印表機可以運用在飾品、家庭用品業。小資本的創業可能性,讓人聯想到,台灣曾經一度很流行的:家庭代工。

http://wired.tw/2013/02/19/3-d-printing-cookie-cutters/index.html

上面這個網站,介紹了 艾希.莫拉維茲(Athey Moravetz),
如何用 3D Printer ,製造出造型特殊的餅乾模型,並在網路上販售。


MakerBot 在紐約成立的實體商店,讓民眾可以體驗 3D printer 。
親自去製作或是購買 3D Printer 所印出的產品。


筆者對於 3D 印表機的發展,和普及化,抱持著非常樂觀的態度。
在台灣,也有產商致力於這項產品。台灣 3D Printer 的製造商 迪威科技

希望在這波新的革命裡,台灣是能搭上浪潮,而非被淘汰。




2013年4月20日 星期六

[LINUX]我的 CentOs-Server 安裝流程-part0

哎呀呀,隨著科技的演進,家裡的PC地位是越來越不如了,家人們一個個淪陷成為低頭族或是平板族,可以舒服的躺在沙發,手指頭滑來滑去就可以看電影、FB,誰願意正經八百坐在電腦桌前操作PC哩?老夥伴們晚景淒涼,常使宅哥淚滿襟ˊ_>ˋ

不如就把PC們湊成一台伺服器吧!硬碟2、3顆搜集一下還是可以湊個1T,把大家的影片音樂湊在一起還綽綽有餘,跑LINUX伺服器也不用太好的硬體,
剩下的零件好好保存起來當作備品,機器有問題還有可以料件可以替換(就像國軍封存戰鬥機一樣⋯噓),太棒了!







馬上來規劃一下!目標如下:

  • 安裝一台在區網內可遠端控制(sshd)的伺服器(CentOS)
    • 設定完後不用螢幕鍵盤一樣可以透過網路維護伺服器,省了一組器材!
  • 網路印表機功能(Canon IP1880)
    • 印表機所有人用一台就夠啦!
    • 舊機再利用
  • 網路磁碟(nfs)的功能作為區網小雲端
    • 以UNIX-LIKE系統遠端看影片、聽音樂都是很容易的事喔。
    • 比方說MACBOOK-PRO
弄好了一定很棒,但想先來休息一下XD
To Be Continued⋯

2013年2月3日 星期日

LAST

http://pic.pimg.tw/wispa/1181229421.jpg千萬別感到驚嚇,LAST不是最後一篇網誌,才剛開始呢

LAST是日本直木賞得主,“池袋西口公園”暢銷作家,石田衣良發表的另一部短篇集,
搜集了七個窮途末路倒楣傢伙在人生懸崖邊發生的故事,寫實的反應日本社會處在經濟低潮時,人吃人的慘不忍睹集體黑暗(只有一篇有著稍微開心的結局,但女主人公下海了,還是淡淡哀傷)

文中的日本像是已經成為地下錢莊統治的國度,在筆者的描述中,地下錢莊與無數悲慘人生有著連結,藉著暴力和債務綁架人們的勞動力,甚至可以像判官般在帳冊上大筆一揮決定芸芸眾生生死,有些情況連公權力都無法介入,事實上利益可能是這世上最強大的力量,利益驅動人心,人心造就事實,大概就是如此。
 
在那樣的環境下能跟地下錢莊沒有瓜葛已經是十分幸運的事,有些人是不願面對事業的頹落,因而請鬼開藥、有人則是捱不住經濟蕭條帶來的生活拮据,轉而用債務換得暫時的虛榮與快樂,債務人都確實有未實現的債務責任,但石田老兄並不打算引出任何結論,就只是描寫,像素描一樣紀錄著這些故事

小茂在走完這本書給人的絕望後,不禁對自己目前的生活豎起大拇指,何等的完美啊!!我想這就是石田兄的貢獻吧,讓大多的讀者去感受自己還是基本幸福的。

以經濟成長為名推動著所有人前進的這個世界,還真是個瘋狂世界(攤手)。





2013年1月30日 星期三

Sikuli - 改變世界的圖像程式語言?


什麼是 Sikuli ? 是一個極有創意的程式編輯軟體,挑戰了程式碼的新可能。

可以參考Sikuli 的 Demo 影片:
http://www.youtube.com/watch?v=FxDOlhysFcM

官網:
http://www.sikuli.org/

以及Sikuli 作者 Vgod的部落格,可以讓人更深入了解核心:
http://blog.vgod.tw/2010/01/30/sikuli/


過往寫程式時,總是先得先學習一套語法,在既有的規定和邏輯下,
一字不差的打出程式碼,否則電腦便讀不懂指令。

寫出來的程式,只要稍加複雜一點,
即便是懂得程式語言的人,即便是清楚的在// 後寫上註解,甚至即便是作者,
都可能要花點時間去思考。

而Sikuli ,卻跳脫了框架,不用再輸入冷冰冰的文字,而是利用截圖的方式,
即便是完全不懂程式語言的人,也能輕鬆上手,寫出來的程式,更是老嫗能解。


上圖就是用Sikuli 的介面,最上方是一般工具列,
左欄是函式,右上是程式碼的編輯區,右下是執行程式的結果。
寫好的程式碼只要按下執行的箭頭,就會開始測試。
測試後如果有bug ,會在出問題的那一行前出現驚嘆號。

只要安裝好軟體,只要會點滑鼠,就算沒有教學可看,也能很直觀的使用。
安裝好軟體之後,我寫了一個自動登入信箱的程式,不需要花幾分鐘的時間。

單就Sikuli 的設計理念而言,這是一個很傑出的創作。
但......

Sikuli 有以下的矛盾點:

1.是一個帶來方便的工具,但工具外的包裝卻不便利:

http://www.sikuli.org/download.html

看Sikuli 的下載頁面就可以理解筆者所言為何,
Sikuli要能使用,電腦必須先安裝有  Java 6。

而且一定要是 Java 6 , 最新版的 Java 7 are not supported !?

但其實,坊間已經找得到破解版,讓Sikuli 能在 Java 7下運作。
只要改掉原本程式碼幾個小地方而已。

另一個不便之處: 要使用者自己 fix bug。

雖然步驟不難,但不免讓人會嘀咕,
為什麼不直接做一個沒有bug 的installer 讓使用者下載呢?

是作者希望能營造一些step by step 的互動嗎 ?
還是作者因為使用 Mac 的關係,無心對windows 版做改善呢?
謎。

最後一擊,是在軟體說明的地方,所連到的網址,不管是要找範例,手冊,Q&A。
都會出現嚇人的 404 以及大量的 Sorry 。似乎是最一開始的網站被攻擊的緣故。



排掉這些稍稍有點惱人的問題後,Sikuli 的使用介面還是十分親切的。


2.用創意扼殺了創意

用圖像寫程式是一個很有創意的想法,
但是,圖像本身就缺乏想像的可能性。

簡單的說,你做了一件事,然後截圖加一些指令,叫 Sikuli 依樣畫葫蘆跟著做。
 Sikuli 僅能讓已存在的東西動作再現,很難去創造出新的可能性。

很像是,請了一個助理,認真聽話但不聰明,一步一動。

當然,這也可能只是因為我才疏學淺,使用受限。
或者在其他高手的使用及擴充下,能有更突破的應用。

誠如Sikuli 作者 Vgod 說的,這一切只是個開始,還有無限可能。


3. 表相與真相

這是個非常殘酷的現實:凡事不能只相信外表。
憑藉著圖像做為辨識的依據是很危險的。

光是從這台電腦到那台電腦,icon 的樣子和位置就不一定一樣。
就算是自己的電腦,姑且不論軟體的更新,光式桌面改了個配置....
就很可能影響了程式的執行。

如果寫出來的程式,在別人的電腦使用時可能會有困難,
那麼,程式碼的易讀,又有什麼用處呢?

越是能跨平台的程式語言,往往越是抽象,
反之,越具體的程式語言,是不是就越受限呢?

這可能也是Sikuli 需要突破的關口。

4.Sikuli 為誰而生?

Sikuli 作者 Vgod 是個很有想法的人,可以去看他非常有名的系列文章:
追求神乎其技的程式設計之道:   http://blog.vgod.tw/category/divine-code/

對 Sikuli 有興趣的人,有高手中的高手,也有連Hello world 都寫不出來的老百姓。
對高手來說,比起使用Sikuli ,更有興趣在改寫 Sikuli 本身的程式碼。
對於老百姓來說,省省手指頭點滑鼠的次數,業已心滿意足。

那麼 Sikuli 會怎麼改良呢? 往什麼方向去呢?
我們拭目以待。


後話:

Sikuli 確實可以幫忙節省許多時間,
特別是一些工作上 routine 的步驟,類似定期查詢跑報表之類的。
但想想自己平時工作其實花了這麼多時間在不動腦的事情上......

不知為何感到有點哀傷。

                                                                                                                    2013/01/30

2012年10月27日 星期六

來囉!







阿囉哈,這裡是宅哥小茂,This is MAO speaking.

今天跟宅女帽貓一起買了生平第一台MAC
(人一生一定要擁有過蘋果電腦,喂!是哈雷機車吧)





從此頭也不回的踏上X-coder之路
好啦沒那麼沈重,總之準備開始與宅女帽貓一起來玩APP
有多有趣的點子想實現呢~

雖說宅哥小茂連一句X-code都沒打過(畢竟今天才買MAC)
但不全然是程式新手,相反地在誤打誤撞中,該是手持板手、腳踩齒輪的機械系硬漢的宅哥小茂在大三時學會了C/C++程式語言,自此成為一位終日滴滴答答敲鍵盤的程式哥

畢業專題-研究所題目-至今的工作,無一不跟程式有關(嘆~)
寡言的宅哥小茂有時候在想,講給電腦聽的程式語言可能都比自己說過的話還多了
只是程式這玩意兒不是說會寫 if-else、能把Function馬上交出來就能征服全世界
宅哥小茂在這些時日間也體會到學無止盡的道理,怎麼寫得物件化、跑得有效率、日後好擴充、記憶體管理……哎呀呀,頭又開始痛了。

為什麼即使頭會痛也想玩APP呢?除了想多瞭解別的程式語言,找點可以跟宅女帽貓一起玩的樂子外(教宅女帽貓程式語言這件事本身也頗樂),腦袋裡也是有些小小的創業夢

不求飛黃騰達,但希望能自在的決定自己的生活
這一切,就從去APP-STORE下載X-coder開始吧! GOGOGO