2008年8月13日 星期三

人生的選擇

如果當我兒子長大之後,我告訴他,我之前為了你犧牲了什麼什麼,他一定會回答說『關我什麼事,是你自己決定的』;人生的各種過程應該都是自己來決定的,如果需要依靠別人來決定,那決定者必當承受無比的沉重壓力;平順穩定、按步就班的人生與波濤洶湧、冒險犯難的人生本來就不相容的,血液中存在著冒險犯難的因子,確選擇著按步就班的人生,這樣的選擇似乎會遇到瓶頸,會促使這樣的選擇,我想平順穩定的環境幫了一個大忙吧!!
難道真的沒有既能夠冒險犯難與平順穩定的路嗎?最近的腦袋一直思考著一直思考著,希望能獲得一個二全其美的選擇。

2008年8月12日 星期二

可悲的大學指考錄取率

鑽石之所以值錢,就在於它的稀少與特殊價值,當鑽石的數量跟你路上可以撿到的石頭一樣多時,它也將失去它的價值,相同地,在台灣的大學生也出現了一樣的問題,一個國家絕對是不需要整個國家的人民都是大學生的,我想這個道理大家都知道,所以當新聞爆出錄取率高過100%時,大家才會出現訝異的聲音,但是既然大家都瞭解這樣的結果是有問題的,那是什麼原因造成這樣的結果呢?我想大家也知道是學校過多的關係,但是身為主導教育相關業務的教育部為何任由這樣的事情發生呢?我想應該也不是任由吧,我們先來假設如果2001年起國內的學校都沒有增多,而且五專也都維持原來的體制,而不是像現在都升格成技術學院,那到了現在,似乎是不會變成滿街都是大學生的狀況,不過我想學生因為考試壓力而自殺的相關消息應該也會不斷重演吧!!
那為什麼需要那麼密集的擴充學校呢?最主要的原因我想原自於一個政策,就是大學生可以透過教育學程而變成業餘老師的部份,為何會有這個政策呢?因為當時的老師真是供不應求,只靠師院體系產生的老師沒辦法負荷現有的師資要求,所以走了這一步的險棋,其實這步險棋也不一定會造成師資過多的需求,當時的與論壓力與把關者對於這個新政策仍無法正確的掌握關鍵的數據,所以也讓這步棋成了往後的一個錯誤的決定。
第一個錯誤已經產生了,而且在2000年又正值政黨交替的關鍵時間點,對於越來越多的非正規師資流出,對於師資市場自然產生的衝擊,無腦又沒經驗的民進黨政府在凹不過民意的壓力下,於是頭痛就醫頭吧,腳痛就醫腳,於是大規模開放學校的申請門檻,許多財團看到這塊餅,於是紛紛投入這個穩賺不賠的教育行業,而且與這些財團掛勾,對於執政者畢竟也可以得到不少好處,但是這樣的一個開發政策下,不到4年,問題就開始發生了,接下來的就是現在的狀況,我們回過頭以邏輯來看,其實當初的執政者到也可以大刀闊斧的直接終結這種校育體制問題,為什麼不做呢?難道他們不了解這樣的問題嗎?我想這種問題因為連白癡都知道,既然這樣,為何不這樣做呢?能夠獲得合理解釋的理由應該就只有一個了吧.......那些財團應該會在暗地罵被害慘了吧,反正人家已經吃完抹淨,拍拍屁股走人囉~~~

2008年8月8日 星期五

人類覺得有趣的慾望分析

在我還在遊戲產業擔任企劃Leader的時候,我就在想一個問題,為什麼搞創意一定要這麼麻煩,有沒有一種驗證的方法,可以直接就來檢驗現在的Idea有沒有發展性、有不有趣,於是我就去思考一個問題--人類,到底對擁有那些要素的事物會覺得有趣,於是著手去從娛樂產業中,去分析出一些共通要素出來,於是做成了以下的東西 :

人類覺得有趣的慾望分析

編號

慾望名稱

要素分析

001

自我成長、明顯的成長

數值;視覺;外觀變化

002

收集

道具;裝備;有限制的收集品

003

數量很多的敵人、無腦殺

打擊大量敵人;直覺式攻擊;按鈕就有反應;像揉死一堆螞蟻一樣的快感

004

思考、鬥智、策略

動腦;有思考的時間;決策;勝負

005

惡搞、諷刺、對比

好笑;諷刺的事物;幽默的點

006

劇情

幻想;與小說、漫畫、電影同等價值

007

等待時機、命中

命中的快感;抓取瞬間的時機

008

組合、調配

各種組合獲得結果;變化多樣化

009

模擬、真實互動

真實的去模擬無法親身體驗的情境

010

速度感

高速賽車;快速移動;有阻礙物

011

自由落體

害怕的刺激感;落體的恐懼感

012

可愛

外觀;動作;聲音;象徵物

013

帥氣、酷、漂亮、華麗

外觀;符合潮流;未來感;色彩鮮艷;色彩分明

014

對戰、優越感

比對手強的慾望;比玩家強的慾望

015

自動化、夢想、一步登天、懶惰

自動做事;有人服侍,不需要自己動手;突然而來的財富

016

角色伴演

去伴演自己喜歡的角色,去做自己希望他做的事

017

好奇心、恐懼感

對未知事物的恐懼,卻又想挑戰;偷窺;偷偷摸摸怕被人發現

018

犯罪、慘忍、虐待、暴力

滿足現實生活中無法達成的事物;殺人;虐待;肢解

019

女人、異性

喜歡看到美麗的女人或異性

020

擬人化

非人類做出人類才能做的事

021

發現、搜索、探險

去尋找隱藏的事物

022

溫馨、溫暖、親情、感動、愛情

有被關懷的感覺

023

期待、暗示

期望會有似乎是預期中的事情發生;利用按示的方式來誘導玩家期待

024

養成、塑造、建構

看著非自己以外的人或物逐漸成長;越來越豐富

025

躲藏、藏匿

盡力的不要被發現;躲藏起來不希望被發現,被發現後將發生可怕的事

026

九死一生、反敗為勝、好險、賭一把、賭博

到達山窮水盡的地步,卻突然大獲全勝的快感

027




想想,這還真是一件有趣的事呢,而且人類所追求有趣的因素,似乎是隨著人類的發展而越來越多,不過最骨子裡的,應該還是一樣的東西吧!!

與遊戲開發製作相關的職務名稱

由於本人在遊戲產業待了一陣子,也待過程式、企劃職務等等的經歷,在對於台灣遊戲產業的分工狀況一直不敢恭維,甚至我認為有大部份的產業人士也不是那麼的清楚劃分的臨界點在哪裡,大部份只要是分成程式、企劃、美術三大部份,那再更細節呢?就甚少人討論了,以下將我找到日本遊戲產業的相關書籍說明的職務名稱列如下:

出處

ゲームの全仕事2002

(Game的全部工作2002)

なりたいゲームクリエイター

(想要成為Game Creator)

めざせGAME

クリエイター

(目標Game Creator)

ゲームクリエイター完全養成マニュアル

(Game Creator完全養成手冊)

Game Architecture and Design

作基本Concept

監督

Game Designer

Producer

Director

Producer

Director

Game Designer

Producer

Director

Game Designer

Producer

Director

Game Designer

Chief Architect

Project Manager

基本劇本

Planer

Scenario Writer

Planer

Scenario Writer

Planer

Scenario Writer


Software Planer

畫面相關

畫面作家

Animator

Creature Designer

CG Artist

Illustrator

2DCG Designer

3DCG Designer

Graphic Designer

Character Designer

2D Illustrator

3D Illustrator


Chief Artist

Artist

音樂/音效相關

作曲家

Sound Composer

音效監督

Sound Creator

Sound Composer

Sound Creator

Sound Programmer

Sound Designer

Musician

音效技術人員

其他技術





其他的技術人員(例如Motion Capture)

Programming

Programmer

Programmer

Programmer


Chief Programmer

Programmer

品質保證Test

Debugger



Debugger

品質保證負責人員

品質保證技術人員

Play Tester

2008年8月6日 星期三

製作純資源DLL的方法

僅含資源的 DLL 是指僅包含資源而不包含其他項目的 DLL,例如,圖示、點陣圖、字串和對話方塊。使用僅含資源的 DLL 是在多個程式間共用一組相同資源的好方法,也是為應用程式提供當地語系化為多國語言的資源的好方法。

若要建立僅含資源的 DLL,請建立新 Win32 DLL ( MFC) 專案,並且將您的資源加入專案。

  • [新增專案] 對話方塊中選取 [Win32 專案],並且在 [Win32 專案精靈] 中指定 DLL 專案類型。
  • DLL 建立包含資源 (例如字串或功能表) 的新資源指令碼,並儲存該 .rc 檔案。
  • [專案] 功能表上,按一下 [加入現有項目],並且將新的 .rc 檔案插入至專案。
  • 指定 /NOENTRY 連結器選項。/NOENTRY 可以防止連結器將 _main 參考連結至 DLL;建立僅含資源的 DLL 時需要這個選項。

  • 建置 DLL

使用僅含資源的 DLL 的應用程式時應該要呼叫 LoadLibrary 明確連結 DLL。若要存取資源,請呼叫可以使用在任何類型的資源的 FindResource LoadResource 泛用函式,或者是呼叫下列資源特定函式的其中之一:

  • FormatMessage
  • LoadAccelerators
  • LoadBitmap
  • LoadCursor
  • LoadIcon
  • LoadMenu
  • LoadString

應用程式應該在完成資源使用時呼叫 FreeLibrary

範例程式

#include "..\Mod1res\resourceppc.h"

#include "WelComeModule.h"

WelComeModule::WelComeModule()

{

m_pWelcomeBitmap = 0x0;

}

WelComeModule::~WelComeModule()

{

SetActive(false);

}

void

WelComeModule::SetActive(bool bActive)

{

if (m_bIsActive==bActive)

return;

m_bIsActive = bActive;

if (m_bIsActive)

{

if (!m_pWelcomeBitmap)

m_pWelcomeBitmap = new CBitmap;

//載入資源DLL

if (!m_hResourceDLL)

m_hResourceDLL = (HINSTANCE)LoadLibrary(_T("Mod1res.dll"));

if(m_hResourceDLL)

{

m_hOldResource = AfxGetResourceHandle();

AfxSetResourceHandle(m_hResourceDLL);

HBITMAP hBitmap =

::LoadBitmap(AfxGetResourceHandle(), MAKEINTRESOURCE(IDB_WELCOME));

_bLoad = m_pWelcomeBitmap->Attach(hBitmap);

AfxSetResourceHandle(m_hOldResource);

m_hOldResource = 0x0;

}

else

m_bIsActive = false;

}

else

{

if (m_pWelcomeBitmap)

{

BOOL check = DeleteObject(m_pWelcomeBitmap->Detach());

delete m_pWelcomeBitmap;

m_pWelcomeBitmap = 0x0;

}

//卸載資源DLL

if (m_hResourceDLL)

{

if (FreeLibrary(m_hResourceDLL)==true)

m_hResourceDLL = 0x0;

}

}

}

void

WelComeModule::Render(CDC* pDC)

{

if (!m_bIsActive)

return;

if (!m_pWelcomeBitmap)

return;

//初始化Memory DC

CDC MemoryDC;

MemoryDC.CreateCompatibleDC(pDC);

//取得圖片尺寸

BITMAP bm;

m_pWelcomeBitmap->GetObject(sizeof(bm), &bm);

MemoryDC.SelectObject(m_pWelcomeBitmap);

//將圖貼到要秀的DC

pDC->BitBlt(View_Offset, View_Offset, bm.bmWidth, bm.bmHeight,

&MemoryDC, 0, 0, SRCCOPY);

}