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
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
Emi
iT邦研究生 5 級 ‧ 2019-09-21 22:15:16

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

sixwings iT邦研究生 4 級 ‧ 2019-09-21 23:18:16 檢舉

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

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

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

Emi iT邦研究生 5 級 ‧ 2019-09-21 23:42:24 檢舉

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

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

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

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

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

1
yhsat
iT邦新手 4 級 ‧ 2022-12-23 15:17:02

可參考遊戲開發公司的職缺和這個遊戲開發學習地圖建議在桌面電腦瀏覽器瀏覽)
點入自己想學的主題, 就會有些頭緒了
有關遊戲開發適合的程式語言, 最佳遊戲開發程式語言 – 製作視訊遊戲要用什麼語言? 有很清楚的資訊

我要留言

立即登入留言