Monogame介紹與Windows 8上執行-另一種選擇Monogame
開發遊戲這件事,到前段時間為止如果是開發Windows的桌面遊戲到Xbox再到Windows Phone都是使用XNA為主要選擇。XNA是微軟提供的一個遊戲框架,提供許多相關的遊戲資源如鍵盤輸入、音效、載圖繪製以及遊戲的流程邏輯等等,而且是一個免費的遊戲框架,協助許多開發者學習如何開發製作獨立遊戲,也有開發者從中獲利。但是在最新的Windows 8作業系統上卻不再支援XNA了,更有消息指出微軟將讓XNA在明年4月1正式退休結束並不在提供任何資源或開發上架的動作,不管如何XNA即將被淘汰是不爭的事實。
但是由於XNA已經培育出了許多的廣大開發用戶,也加上XNA的遊戲開發資源整合便利性,所以有許多人仍然期望可以繼續沿用XNA框架,因此後來便出來了一個「使用XNA框架開發並可跨平台執行」的遊戲框架-Monogame,主打「Write Once,Play Where」的願景,並且透過對XNA框架的重新撰寫,讓開發者可以使用熟悉的XNA框架在Window
前言
開發遊戲這件事,到前段時間為止如果是開發Windows的桌面遊戲到Xbox再到Windows Phone都是使用XNA為主要選擇。XNA是微軟提供的一個遊戲框架,提供許多相關的遊戲資源如鍵盤輸入、音效、載圖繪製以及遊戲的流程邏輯等等,而且是一個免費的遊戲框架,協助許多開發者學習如何開發製作獨立遊戲,也有開發者從中獲利。但是在最新的Windows 8作業系統上卻不再支援XNA了,更有消息指出微軟將讓XNA在明年4月1正式退休結束並不在提供任何資源或開發上架的動作,不管如何XNA即將被淘汰是不爭的事實。
但是由於XNA已經培育出了許多的廣大開發用戶,也加上XNA的遊戲開發資源整合便利性,所以有許多人仍然期望可以繼續沿用XNA框架,因此後來便出來了一個「使用XNA框架開發並可跨平台執行」的遊戲框架-Monogame,主打「Write Once,Play Where」的願景,並且透過對XNA框架的重新撰寫,讓開發者可以使用熟悉的XNA框架在Windows8上開發執行!
Monogame介紹
如上所述,Monogame「使用XNA框架開發並可跨平台執行」的遊戲框架-Monogame,主打「Write Once,Play Where」的願景,並且透過對XNA框架的重新撰寫,而Monogame之所以能在Windows 8上執行是在XNA底下透過了一個Open Source-SharpDX使XNA能在Windows 8上(WinRT API)執行。
1.下載Monogame並安裝
進入Monogame的官網,下面便會擺出許多使用Monogame開發的遊戲(其中不乏很多上架的遊戲!當然Windows Store App也有)
2.開啟Monogame Windows Store Project
下載完後開啟你的Visual Studio 2012,便會看到Monogame的專案選項,並選擇Monogame Windows Store Project開啟
然後執行!
你便會看到一個藍色的畫面,那便是預設的XNA背景畫面囉!
補充-遊戲流程介紹
如果是沒有開發遊戲經驗的人,個人滿建議使用類似這樣的遊戲框架做一個開發學習,因為他有一個最基本的遊戲主流程可以做為學習,再來是這類型的遊戲框架,可以讓你學習如何開發從中製作不同類型的遊戲
那麼稍微介紹一下遊戲框架,他主要包含是大流程
1.Initialize(初始化):
設定一些遊戲中角色或其他資源的資料,如:一位英雄要屠龍,那麼英雄與龍會有他們的生命值,所以一般會在Initialize要設定英雄與龍的生命
2.Load Content(載入資源):
載入要呈現遊戲的圖檔,如像是前面提到的英雄與龍,為了呈現給玩家看到一定要有龍與英雄的圖片以及血量呈現出來
注意!!此時圖片還沒有顯示在畫面上,只是載入圖像資源到電腦記憶體中
3.Update(更新):
處理遊戲中所有元件角色的邏輯條件,如按下Enter英雄攻擊龍,龍的血量扣100
4.Draw(繪製):
把圖像畫出來到螢幕上給玩家看,此時如果Update有更新一些會影響到畫面呈現的事物時,畫面也要更新新的情況,如:上面我們英雄攻擊了龍,使血量扣了100,那麼此時龍的血量在畫出來時,要畫出減少的血量
最後,上述這些流程的走法會是:Initialize -> Load Content 之後便會進入Update與Draw的循環之中
參考資料:
Windows 8, XNA and MonoGame – Part 1, Overview
以上用圖取自第三方資源,如有侵權請告知
文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝 =)
另外要轉載請附上出處 感謝