2013-09-24

尋找工作中的寶藏

工作佔了我們生活大部分時間,大概30~50%;假如不喜歡工作,當工作是一件苦差,那麼代表有三分一以上的時間,你是苦逼,不開心的;工作是辛苦是事實,而且我們也不能改變工作;但是我們可以改變心思,尋找工作中的寶藏和樂趣,讓生活變得喜樂健康;

這是我們能在工作找到的寶藏:

供應

大部分的工作都是有成果的,成果就可以是金錢,也可以是食物或日用品;這些也是就是我們維持自己和家人生活的東西,沒有工作,就難有這些供應,就讓生活變得困難了;

** 秘訣:當工作的時候,要感恩當刻的生活有一定保障;出糧時候,也記得興祝一番吧!

知識

工作中,為了令任務能夠達成,你的老闆或你自己會讓你會學習很多東西;這些知識,可能對你目前的生活,或下份工作有用;如果能好好地把握,這些知識和技能就是你的價值,你創業或就業的本錢了;

** 秘訣:多多整理和紀錄你工作學習了的知識或技能,當你自己回顧或準備面試,必有意外驚喜!

成就

把工作做好,就能給你成就,自己更能肯定自己,也能得到別人的認同和稱讚;不要把成就看未一件很宏大的事情;例如為公司的產品清理程序BUG, 提升品質,是一項成就;建立一個好的團隊,也是一項成就;

往往我們會忽略了我們成就,失去了那些成就帶給你的滿足感;

** 秘訣:多制定目標,並把它們達成;也可以利用社交工具(微博或Twitter)等,紀錄和分享一下;

友誼

工作中,你會跟很多人合作,那些人是和你有很多時間相處的人;在當中,你可以和你並肩作戰的人,你也可以在當中認識很多志同道合的人;
不過,人與人的關係很複雜的,未必人人能互相投緣的;
假如你的工作,沒有和你價值相同的人,其實應該考慮換換環境,碰上那些最能合作​​的伙伴;

** 秘訣:三人行必有我師,讓你的工作夥伴成為你的良師益友;

經歷神 (信耶穌的人獨有)

困難,挑戰,不可能任務;這些在工作中,必然會出現,越是高薪厚職,越常出現;
這些時候,如果我們相信神,就可以透過禱告,把事件交託給神,讓神介入,神往往給你有意外的驚喜,和給你最好的結果;有些這些寶貴的經歷,就能更確信神和他的供應,我們就能生活得更平靜安穩,不會被困難打垮,面對難處也能安然度過;

** 秘訣:應當仰望神,因他笑臉幫助我;我還要稱讚他(詩篇42:5)



聖經說:”六日要勞碌作你一切的工“;也說“你要吃勞碌得來的;你要享福,事情順利”;
工作是神的設計,雖然工作是付出勞力,但是同時它能帶給我們很多東西;如果單單看著
自己付出的,沒有看和吃所得的,你就可能錯過工作的樂趣了!


2013-09-17

Again?! What's a good game?

My company and I develop games for years; We always say "good games
make good returns"; However, what is a good game? We really don't have an good answer; Actually, I was making several games last few years but they are not good enough.

While I rethink about the definition of "GOOD", I remember the games I enjoyed and loved in my life. They recall me what are the elements of a "GOOD" game!

Here they are:

  • Comfortable to play
  • Attractive Story or Scene
  • Things to unlock
  • Skill to master
  • Make me great!
  • Killing my time happily
  • Beatable Challenges 
  • Wow! That's amazing!
  • My princess is waiting for me!
PS: No more explanation about the points above, it should be straight forward if you play or make games. 

2013-09-12

遊戲製作人需要具备的 5 项特質


1. 視野

遊戲製作是可以一件很複雜的事情,項目週期最少也有半年,最可以花超過五年;所以製作人的你,團隊的頭頭,要有清楚的視野(Vision)是很重要,因為當前做的,是之後收穫的東西;如果自己和團隊不能看不清楚未來,條路會很難很難走得好,而且會團隊會越走越累,越走越沒有信心;

你要給製作團隊一個清晰的景遠,讓他們相信,就能帶動大家一起幹活,把“夢想”變成“現實”

注:沒有異象,民就放肆; (箴言29:18)

2. 魅力

製作人的工作是製作遊戲產品出來;但是你第一樣要面對的,不是他的產品,是投資者,製作團隊,和你的玩家;

面對投資者,你要投資者相信你可以把產品製作出來,可以為他們帶來回報;所以你要發揮你的魅力,把你團隊的景遠和夢想說出來,打動對方投資;

面對製作團隊,其實和麵對投資者一樣,不同的是投資是給錢,團隊是給心力和時間;所以你需要讓團隊喜歡你,喜歡團隊,喜歡團隊的景遠,喜歡團隊做出來的東西,就算一起辛苦和挫敗也可以;

面對玩家,這可能是最重要;如果你是單人團隊,你沒有其他開發者,也沒有投資者,你只有玩家;如果遊戲沒有玩家的話,我建議你還是放棄製作遊戲吧;當然,我們不能接觸每一個玩家,但是作為製作人的你,你的任務是讓玩家喜歡你的作品;
作品未成的時候,怎樣做到?可以很多方法,找你的朋友親人,透過Internet, 社交網絡, ….
最近在 Kickstarter 有2個遊戲項目,Project Phoneix 和 Mighty No.9 就在說吸引玩家投資他們的遊戲;

注:要別人相信,先要建立自信
注:在信的人,凡事都能 (馬可福音9:23)



3. 親和力

製作遊戲時候,會出現這些情況:為了一些決定而爭執,因為進度落後而士氣低落,因為老闆試壓而感到疲累,因為沒有玩家感覺挫折,.... ; 實現夢想的過程,總是苦的;(當然開始時候,感覺很甜);

狀況出現時候,製作人作為團隊的老大,需要站出來,平息紛爭,安慰,鼓勵;簡單來說,要維持團隊對《遊戲夢》的愛和熱情;

包容,忍耐和團隊合一是很重要,所以要在團隊提倡和建立互相專重,互相包容,互相體諒的文化,讓團隊可以一直;

注:喜樂和笑容很重要
注:溫柔的人有福了,因為他們必承受地土 (馬太福音5:5)


4. 胸襟

這個特質其實不用多說了;這個世界,沒用全能的人,有人美術強,有人寫代碼強,有人數理邏輯好;製作出好的遊戲,就是需要這麼多人一起努力;如果你沒有胸襟,老是覺得別人做得不夠你好,別人的意見是無謂;那麼你的團隊,就會越來越少發聲的人,這樣好的意見和點子也會隨後消失;

注:將能,而君不御者,勝! (孫子,謀攻篇)

5. 毅力

夢想成為現實的過程,是一個需要花大量能量的過程,好像水從液體變成氣體那樣,需要很多熱能;製作人就帶動團隊釋放能力,把夢想實現的人;產品目標清楚,團隊和資金準備好了,那麼最後一大步,就是默默把產品做出來和做好;要有不到黃河心不死的精神,把產品完成;

未完成的作品,不算一件作品,作為製作人的你,需要帶頭髮揮毅力和努力,讓團隊也知道這樣做的好處和成果;

注:殷勤籌劃的、足致豐裕(箴言21:5)

2013-09-05

对与错

終於申請離職了,下個月轉去新的公司; 這次的決定是對,但是執行上卻很錯,需要好好記得這次的經歷和教訓; 決定是對,因為我配合不了公司的情況,留下來發揮也不大,鍛煉機會也不多,而且核心價值和自己有點不同; 執行的時間和做法不對,其實我可以先辭職,後找機會;這樣雖然冒險一點,但是這樣不會得失現在的公司,離職時間可更有彈性, 而且在找機會時候,也能順便休息,整頓一下自己,未未來重現出發; 不過事情既然決定了,就不能回頭,我要繼續好好工作,好好生活,依靠神積極面對困難和挑戰! ! !

2013-09-03

C++ Study: Implements String trim()

This code snippet show how to trim a string (remove whitespace at the beginning and end of the string);
The implementation is inspired by Poco Library

std::string trim(std::string input) 
{
 int first = 0;
 int last = input.size() - 1;
 
 while (first <= last && isspace(input[first])) { first++; }
 while (last >= first && isspace(input[last])) { last--; }

   return input.substr(first, (last - first + 1));
}

Testing for Syntax Highlighter

This article shows my testing or Syntax Highlighter in Blogger

Thanks to:


void testSimple()  
{   
        queue q;
        setupQueue(q);

        while(! q.empty()){
                string str =  q.front();
                cout << "data=" << str << "\n";
                q.pop();
        }
}