2012年3月23日 星期五

愈來愈貧乏的想像力

感覺上,失去想像力已經不是一天二天的事了,可能是從小看了太多好萊塢的電影,覺得這個世界上已經有人負責產生想像力,我只要負責欣賞別人的想像力就好了....

SONY這支手機廣告很有趣的描述了小朋友天馬行空的想像力,但是我想這段8歲小孩一分鐘的想像力,可能是他那40歲,在廣告公司上班的老爸帶領了20個人的創意小組,花了2個月的時間研究了佛洛依德對兒童心理的研究報告,再加上20位兒童行為學家組成的研究團隊,寫出一份400頁報告後編出來的情節。算是用了精密的科學方式,精準的詮釋了兒童內心深處無限的想像....



這就讓我想到養豬這件事....幾十年前,如果老王在養豬,豬就養在自已家的後院裡,餵餵從鄰居家吃剩的廚餘,一方面算是幫鄰居清掉垃圾,一方面豬也吃的開心。豬養大了,老王就把豬帶到市場賣了,然後拿了錢回去養家,再買條新的小豬,日子就這樣一直過下去了。

但是幾年前,有家好心的飼料公司,送了些便宜的基因改造飼料來給老王,這些豬說也神奇的吃了後就一夜大一寸,但是偶而會生些小病,但是沒關係,另外又有家好心的藥廠會送給老王免費的藥,只要加到豬的飼料裡,就能藥到病除。開心的老王從來沒想到養豬可以這麼容易,但是一頭一頭豬賺要賣到什麼時侯,這時侯好心的銀行又借了一大筆錢給老王說要就要做大啊,老王借了錢就蓋了棟新的豬舍,買了一百頭豬,用了不再便宜的飼料,不再免費的藥,用科學的方法餵大他的豬.....愈科學的方法,就讓老王對豬是怎麼長大的愈來愈不能理解...但是飼料公司和藥廠都說那不重要,只要餵了他們新研發的添加物,都能解決豬生小病的問題...結果老王只好向銀行借更多的錢來買更多不知道是為了什麼用的添加物.....那不去花錢加添加物可以嗎?當然不行,政治人物已經收了藥廠的政治獻金,制定了一條法案,規定豬農一定要照著飼料廠、藥廠的方法養,不然就可能會檢測出什麼聽都沒聽過的怪病,讓你不能賣到市場去...

我想後續的發展複雜的我沒辦法再描述了,什麼國際外交壓力,什麼全民健康把關,什麼選票考量....養豬這件事已經不再是把豬養大拿去市場賣錢這麼簡單的一件事了。原本一個人可以養大一頭豬的這個生意,後來變成了一百個人(飼料廠、藥廠、銀行、政治人物、中盤商、大盤商....)一起來養一頭豬,那每個人當然都要分一杯羹,那一頭豬要賣多少錢當然不是老王一個人能決定的了,最後老王日子有過的比以前好嗎?錢可能也沒多賺一點,但是背了一屁股飼料廠、藥廠、銀行、政治獻金....的債.....經濟就是這樣發展起來的...那怎麼可能不泡沫化呢?

怎麼會從想像力講到養豬去了....這篇算碎碎唸的...

2012年3月19日 星期一

家庭類和模擬類遊戲雙料冠軍耶...

大家真是太捧場了! 昨天才擠到家庭類遊戲第二名了,沒想到才過一天,下載排名就衝到家庭類和模擬類遊戲的雙料冠軍了.....希望有機會拚進app store總排行的前十名(現在是第20名)....



2012年3月8日 星期四

樂田麵包屋(遊戲)上架了

這是我的第4個iphone APP, 而且是第一次挑戰設計遊戲,這幾天還一直擔心這次不知要被app store reject幾次才能通過審核,現在終於順利通過審核上架了,今天應該可以好好的睡一覺了...

先來說說當初怎麼會有這個遊戲好了。最初的想法是樂田這家麵包店想做一個iphone app來介紹他們的經營理念,就像是其它企業的app一樣,你點進去就介紹公司理念,像是什麼“我們的理念是先求不傷身體,再講求療效”之類的話,接下可能有些產品介紹,什麼我們的麵粉是從長白山的天山雪蓮旁的千年小麥粹練而成之類的講產品是由什麼珍貴的食材做出來的....最後可能頂多再加個facebook按讚的功能。

後來我就拿出我女兒最愛的cooking mama給樂田看說“如果能做得像這樣,把做麵包的過程變成一個遊戲就很酷了。沒想到這個無心的idea,就這樣的讓大家無異議的一致通過了。所以在同樣的預算下,幫自已原本2個月的工作,搞了半年才完成......

雖然說這只是一個遊戲,但是當初我們在討論這個遊戲的定位時,給了它一個很大的使命,就是讓玩家可以在遊戲的過程中,除了能夠獲得烘焙過程的知識外,更能瞭解到如何去品嚐到麵包的最佳風味。


先來介紹一下這是個怎麼樣的遊戲。即然是從cooking mama來的idea, 那當然先要選擇你要做的麵包。每一款麵包玩家都可以選擇是要先練習烘焙,還是直接挑戰開始烘焙。這2個的不同在於練習烘焙是有包含提示的,正式烘焙就是沒有提示的。而且練習是可以一直重覆練習同一個步驟直到熟練為止,正式烘焙就是失敗了也沒辦法重來,直接進入下一步驟。


在做這個遊戲前,其實我對“做麵包”這件事的瞭解,大概都是從“烘焙王”裡看來的,不外乎就是用太陽之手揉麵之類的。後來為了要寫出不要太離譜的做麵包遊戲,我還去買來西川功晃的烘焙麵包教科書來研究。最後還是感謝樂田麵包屋的企劃淑華把複雜的程序,在保有遊戲的趣味性,又能呈現真實的焙烘過程下,最後整理出了8個關卡。從天然酵母培養、倒料備用、攪拌、桿麵、裹油延壓、捲麵團、烤焙、裝飾等。每個關卡都希望玩家能在遊戲中體會製作一顆麵包所要付出的努力。這樣或許可以讓你在下次品嚐麵包時,更能感受到那份用心的美妙滋味。


在這裡我先不一一介紹每個關卡的過關方式,留點驚喜讓各位玩家自已去發掘應該會更有樂趣。

這個遊戲最特別的是,當你過關後,你可以到任何一個樂田麵包屋的門市,拿著你的iphone去兌換你完成的那一顆麵包。所以兌換麵包前,有一些需要注意的事項。當你通過所有關卡後,會出現選擇兌換麵包的“保存方式”的選擇畫面(如下):


為什麼不是過了關就可以直接到門市換麵包,而要選擇保存方式呢?這是我們希望透過這個遊戲來讓玩家能養成怎麼去品嚐麵包最佳風味的習慣。


所以,如果你在2天內可以直接去門市兌換麵包,那就選擇”常溫保存“,如果這2天不方便去換,那就選擇”冷藏保存“,可以多保存一天。


但是如果你選擇的是”冷藏保存“,那要記得要去兌換的當天,要先“回烤”,也就是按右下角那個有笑臉而且有寫”冷藏保存中,回烤並兌換“按鍵,它會自動跳到”回烤“那個關卡,設定好回烤的溫度,把麵包烤一下才會更好吃哦。

希望大家都會喜歡這個遊戲。如果有任何的卡關或是在遊戲過程中有發現任何的bug, 或是有任何的建議也請告訴我。可以讓我持繼的改進,讓這個遊戲更好玩。最後,別忘了,過關可以到下列門市換免費的麵包哦!


2012年3月1日 星期四

NSDateFormatter設定日期格式

日期常常會因不同的需求,以不同的型態出現,在iOS雖然會依你iphone/ipad上設定的國別自動調整日期習慣的顯示方式(例如台灣格式是年/月/日,美國格式就變成月/日/年), 但是有時侯你還是有需要自已設定成需要的格式。在這裡示範樂田麵包屋裡兌換商品畫面裡2個日期的實作:


首先,先講右邊圓形郵戳的實作:


先在.h宣告一個UILabel來讓日期顯示在畫面上


IBOutlet UILabel *todayDate;//宣告一個UILabel叫todayDate

接下來在.m裡設置一個getDate這個程序來格式化這個日期

- (void)getDate{
    NSDate *date = [NSDate date]; //先取得現在的日期時間
    NSDateFormatter *form = [[NSDateFormatter alloc] init]; //宣告一個NSDateFormatter用來格式化日期
    [form setDateFormat:@"yyyy.MM.dd"]; //把日期顯示的格式設成“yyyy.MM.dd"各代表的意義請參照下面列表
    NSString *dateStr=[form stringFromDate:date]; //將格式化後的日期格式設成dateStr這個字串中
    todayDate.text = dateStr; //設定todayDate這個label的文字為dateStr這個字串的值
}

日期格式代表意義
﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣
yyyy = 年(4位數), yy = 年(最後2位數),MM = 月(1~12),MMM = 月(英文縮寫),MMMM = 月(英文完整)
K = 時(12小時制),H = 時(24小時制),mm = 分,ss = 秒,aa = 午前/午後(AM/PM)
dd = 日,EEE = 星期(英文縮寫),EEEE = 星期(英文完整)
﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣

接下來說明左側的“賞味期限”的日期格式,賞味期限的日期是今天後的2天。一樣先在.h宣告一個UILabel

IBOutlet UILabel *remainDate; //宣告一個UILabel叫remainDate

接下來在.m裡設置一個getRemainDate這個程序來格式化這個日期

- (void)getRemainDate{
     NSDate *date = [NSDate date]; //一樣先取得日期的日期
   //設定一個reserveDate是今天的日期加上2天,但是NSDate都是以秒處理,所以先算出2天一共是(2*24*60*60)秒, 用dateByAddingTimeInterval把算出來的秒數加到date這個我們剛取得的現在的日期中
   NSDate *reserveDate = [date dateByAddingTimeInterval:(2*24*60*60)];
      NSDateFormatter *form = [[NSDateFormatter alloc] init];//宣告一個NSDateFormatter用來格式化日期
   [form setDateFormat:@"MM/dd"];//把日期設為月/日的格式
   remainDate.text = [NSString stringWithFormat:@"%@",[form stringFromDate:reserveDate]];//跟上面例子最後2行一樣的功能,只是縮寫成一段就是變這個樣子
}

至於右邊郵戳怎麼轉15度角,請參考UIView 同時移動、旋轉、放大的作法