iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 5
2
自我挑戰組

卡牌連線遊戲開發經驗分享系列 第 5

#5 如何開始遊戲開發?

完整的遊戲包含以下部份:

  1. 操作
  2. 遊戲運作邏輯
  3. GUI
  4. 背景音樂、音效
  5. 2D/3D動畫特效
  6. 多人連線/伺服器/資料庫架設

以目前來說,大部分會建議使用遊戲引擎開發,但初學入門對程式概念不熟的時候會很嚴重卡住,因為你對程式運作的機制不了解。它是需要花時間摸索和熟悉的,建議剛開始接觸時買一本教學書,可以幫助你少走一些歪路。使用遊戲引擎不只是使用工具,它還包含遊戲開發常會用到的概念:場景、關卡、圖磚 Tile、精靈 Sprite …這些概念大致上都是通用的。

我還沒實際接觸遊戲引擎,目前希望先把比較核心的邏輯處理掉,再去擔心其他問題。一個人開發遊戲是一段漫長的旅程,要弄到完整的遊戲成品通常都要花上很長時間,建議跟其他專長的人一起合作開發。

如果你單純用程式開發,沒使用遊戲引擎的話,建議要了解以下概念:

  1. 多執行緒/多工環境:程式入門通常不會教,但這算系統蠻重要的概念
  2. 事件:如果你的程式語言支援事件的話(如 VB, js ),開發的痛苦會減輕很多

推薦的遊戲引擎: unity(C#), pygame(python) 還有其他的,網路上可以找到,如果有推薦的也歡迎回應喔

總結:你會需要遊戲引擎的幫忙,純程式語言開發的話,建議先了解一些電腦系統的概念
預告:遊戲運作的主循環、狀態機

原本想分享一篇我很喜歡的部落格文章,不過很可惜他的網站好像在今年停掉了,默哀。
那網站名字叫「猴子靈藥」[1],算是台灣遊戲開發小有名氣的部落格,小時候看了他的文章學到很多。

[1] http://blog.monkeypotion.net from 2008 to 2019


上一篇
#4 教練,我想寫卡牌遊戲
下一篇
#6 遊戲的基本流程:輸出、輸入、更新狀態
系列文
卡牌連線遊戲開發經驗分享30

1 則留言

0
Emi
iT邦新手 5 級 ‧ 2019-09-21 22:15:16

一直覺得遊戲開發在程式圈裡自成一個世界,仔細想想似乎就是因為遊戲引擎?一般所稱的前後端工程師大多使用各種軟體框架,但遊戲工程師(或者該說遊戲設計師?)使用的就是遊戲引擎。
所以說,遊戲引擎其實也可以視為一種軟體框架嗎?

sixwings iT邦新手 3 級 ‧ 2019-09-21 23:18:16 檢舉

應該是說遊戲對程式的需求和其他領域不一樣。遊戲是高度互動的程式體驗,如果遊戲沒有立刻把玩家的操作(輸入)回饋到畫面或音效(輸出),你就會覺得這遊戲的體驗很卡、延遲、不夠真實。

相對於其他程式應用,你或許可以等待,但是你玩遊戲絕對沒辦法等太久,玩家需要立即性的回饋。這是遊戲和其他程式對大的不同。除此之外,就沒太大差別了。

軟體框架、遊戲引擎算是開發環境的一部分,讓你省掉開發過程的成本。個人建議不要太依賴那些東西,軟體框架沒有一個永遠的解決方案,只是各種抉擇和成本考量之下的結果。

Emi iT邦新手 5 級 ‧ 2019-09-21 23:42:24 檢舉

了解......所以遊戲工程著重的特點,其實是與其他網頁、程式開發不一樣的使用者體驗。

軟體框架、遊戲引擎算是開發環境的一部分,讓你省掉開發過程的成本。個人建議不要太依賴那些東西,軟體框架沒有一個永遠的解決方案,只是各種抉擇和成本考量之下的結果。

簡單來說軟體框架其實就只是建構方便開發的環境、簡化實作過程的工具對吧。

雖然受限於工具,但也要超脫於工具之外......感覺像是某種程式哲學(遠目)

是說個人覺得前端的軟體框架和掛件已經變成可怕的巢狀了......B創建方便開發A的環境,C簡化B的實作方式,D又給C添加額外功能......這種回調地獄的既視感到底是...?

我要留言

立即登入留言