作者azureblaze (AzureBlaze)
看板GameDesign
標題Re: [請益] 我應該從哪方面著手
時間Wed Sep 14 23:50:54 2011
我也是非資工資管出身的給你參考一下我的心得
首先如果你想成為programmer請先學好一種程式語言
計算機概論如果你語言有學好該知道的都會知道,剩下的部份不知道也無所謂
網路什麼的也可以先丟著,如果你把單機遊戲寫好後還沒喪失戰鬥意志那再去看
也不遲。
至於要學什麼語言?這視你打算在什麼平台上開發而定。
而且現在主流的程式語言概念其實都差不多,如果你有把一個語言學好要學新的
應該都不會太困難(除非你要用Brainfuck)
以平台而言
Windows和Linux上主要是 C / C++
Mac和iOS上是Objective-C
Android上用Java
Web上用Javascript + PHP 要用Flash還要學ActionScript
另外用C#配合XNA可以開發Windows和XBox上的遊戲
聽說還滿好用的,可是這方面我就不熟了
那要學哪個?
我個人還是充滿偏見的覺得男子漢用C/C++
而且Windows上開發較容易,因為使用人數和歷史長久他的資源也最多
Turbo C、Dev C++又是什麼?
他們是IDE(整合開發環境),只是用來幫助你寫程式的工具而已。
不過Turbo C已經是古董,我很驚訝還會有人提起這個詞
DevC++也荒廢一陣子了。
絕對不要用這兩個開發!!
要推薦免費工具的話首推Visual C++ Express
http://www.microsoft.com/
visualstudio/en-us/products/2010-editions/visual-cpp-express
如果不想被M$荼毒的話還有Code::Blocks可以選
http://www.codeblocks.org/
至於要學到哪種程度?
熟悉各種條件判斷、迴圈當然是基本的,可是要做比科學運算還複雜的
東西這樣遠遠不夠。
以C來說我認為至少對pointer要有完整的概念,
C++要大致瞭解
物件導向(繼承、virtual function)、
動態物件產生和消滅、
STL container(最好知道要怎麼實做這些功能)
然後最好能夠想像如何把這些OOP的功能返回去用C來寫
其他就是你一定要跟Debugger很熟
要知道如何讀錯誤訊息、跟著一步一步跑、還有stack trace
然後別想把書從頭到尾讀完,裡頭大部份的東西都是需要的時候再查就好。
前面的部份只是寫程式而已
接下來你可以開始寫遊戲了
DirectX和OpenGL是什麼可以先不要理他
這些底層API只會直接搞死沒學過電腦圖學的新手而已
我建議先找個引擎來用,最好是Opensource的。
有source code你就可以一邊用一邊看看別人是怎麼寫的,不滿意的地方也
能夠自己改。這樣用了夠久之後應該也能夠寫出自己的引擎。
至於引擎,
3D的我推薦OGRE
http://www.ogre3d.org/
2D的Haaf's Game Engine
http://hge.relishgames.com/
我會建議先從2D的開始,不然三維向量和4x4矩陣會讓沒學過線性代數的人
想死(像我現在)
要做什麼遊戲呢?
有夢想做MMORPG、FPS很好,不過這些東西是幾十個專業人士花幾年的時間
才生得出來的。
新手一開始就做MMORPG大概會在三天後放棄寫遊戲從此過著幸福快樂的日子
參考看看紅白機上的東西吧
有些東西用了現代技術可能還不是那麼容易
我覺得最重要的概念就是你是非本科的所以能撿現成就撿現成的來用
真的不懂不行的還是要懂,其他就閃開讓專業的來吧
不然真的要基礎扎實,請重考資工系
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.126.25
推 chenglap:其實更危險的是低估了單機遊戲的難度... 09/14 23:52
→ azureblaze:會覺得簡單代表你完全不懂XD 09/14 23:53
推 Bencrie:DirectX包很多東西,應該是說 Direct3D/Graphics吧 XD 09/15 00:00
→ azureblaze:除了D3D以外的部份好像都不是很受歡迎就當他是全部吧 09/15 00:06
推 tv1239:OpenSouce的引擎 如果懂日文的話 DxLib也蠻好玩的 09/15 00:20
→ tv1239:主要是教學範例不少,可是都是日文的就是XD 09/15 00:20
推 chchwy:不玩DX/OpenGL就不要用C++了,直接學C#好多了。 09/15 09:41
推 FSVDFS:從此過著幸福快樂的日子 = =+ 09/15 10:18
推 chenglap:其實我寫這麼久 C# 都完全是當 C++ 寫. 09/15 11:41
推 poshboy:推這篇,對程式新手有很好的方向引導~ 09/17 14:07