(遊戲篇) 免費取得程式編碼軟體 Microsoft Imagine Access

羅列 Microsoft Imagine Access 網站中,所有免費編寫遊戲的軟體及資源,依初學者至專業遊戲開發排列如下。

Kodu Game Lab

使用 Kodu Game Lab 創作您的第一個視訊遊戲

免費下載 Kodu,就可以在 Windows 電腦上建立刺激的遊戲。 不論是賽車遊戲、動作遊戲和策略遊戲或其他遊戲,您可以即刻創作您最愛的遊戲類型!

免費下載 Kodu Game Lab
創作您的第一個遊戲
瀏覽 Kodu 遊戲

了解如何使用 Project Spark 編寫神奇的世界

如果您有 Xbox One 或 Windows 8.1 的電腦,可免費下載 Project Spark,您會很驚訝竟然可以創造出如此神奇的世界。 然後立刻可以使用視覺化程式設計語言編寫程式,讓所有想像成真!

下載 Project Spark for Xbox One
下載 Project Spark for Windows 8.1
建立您的第一個 Project Spark 遊戲

了解如何使用 SmallBasic 編寫遊戲

使用免費的學生程式設計工具 SmallBasic,進一步實際體驗編寫程式碼! 學習非常基本的程式編寫知識,只需運用 20 個命令,即可創作整個世界的遊戲。

免費下載 SmallBasic
了解如何編寫程式碼
瀏覽 SmallBasic 遊戲

使用免費的專業工具開發您的遊戲

您可以使用 Microsoft Visual StudioUnity 遊戲引擎,像專業人員一樣地創作遊戲。 此外,您還能免費獲得發行作品所需的一切所需!

下載 Visual Studio
下載 UnityVS 外掛程式
下載 Unity 遊戲引擎

透過免費的線上學習即可和專業人員一樣地開發遊戲

準備好深入了解嗎? Microsoft Virtual Academy (MVA) 有免費的線上影片課程,您隨時都可以上課。 已有經驗的學生透過適當的課程,能了解專業遊戲開發的基本知識!

在 MVA 尋找遊戲開發人員的免費線上課程影片

延伸閱讀

1. 學生免費公有雲服務 “Azure for Students”

2. 免費取得程式編碼軟體 Microsoft Imagine Access (應用程式篇)

UnityVS (Visual Studio Tools for Unity) 免費下載

目前許多的 Unity 開發者是採用內建的 MonoDevelop 來編寫程式,但其實有很多開發者比較習慣用 Visual Studio 來當作編輯環境,UnityVS 即由此而生,透過 UnityVS 你就可以用 Visual Studio 來當作Unity的編譯環境。

微軟於 2014/07 宣布收購 SyntaxTree,也就是開發 UnityVS 的公司的同時,亦宣佈將進一步優化後讓開發者免費下載,並更名為 Visual Studio Tools for Unity。目前的版本為 v1.9,重要的更新如以下:

  • Faster debugger. Attaching and detaching the debugger as well as expanding local variables is now faster.
  • Faster startup. Opening VSTU projects is now faster.
  • Better handling of C# constructs. The local variables window is now properly populated when debugging iterators or when variables are accessed inside closures.
  • Start your game and your debugging session in one click. This feature is one of our most-requested: you can now attach the debugger and start the game by simply changing the debug target. This is only available in Visual Studio 2012 and 2013.

目前提供三種不同版本的 Visual Studio add-ons 讓開發者免費下載:

進一步說明請見: http://blogs.msdn.com/b/visualstudio/archive/2014/07/29/visual-studio-tools-for-unity-1-9.aspx

Visual Studio Tools for Unity 1.9

 

2014 Global Gram Jam 成果 (以及Unity –> Windows Apps 實測)

如同在巴哈姆特的新聞稿中所提到,微軟為了更加豐富在 Windows Store 及 Windows Phone 市集上的遊戲 App,自去年宣佈與 Unity 及奇銳科技合作之後,更在農曆年前的1/24 (五)~26(日)周末期間,共同主辦了全球總計有近二萬人同時參加的 Global Game Jam (GGJ)。

TeckALook 採訪此連續 48 小時的馬拉松活動,並剪成 2 分鐘影片介紹:

2014 Global Game Jam

微軟對台灣遊戲開發者持續支援,將在 2014/2/22 (六) 下午於資策會舉辦一場將 Unity 遊戲移植為 Windows Apps 的免費 workshop。(細節及報名網站: http://www.accupass.com/go/unitywindowst1)

回到 GGJ 的活動,本次的經驗裡最令我驚訝的是,在台灣所有四個舉辦場地中最後上傳的22個遊戲之中,竟然有16個(或以上)是以 Unity 開發的,顯示這項遊戲設計工具在台灣現有遊戲開發者之間的普及程度。而在此同時,也提供了作為主辦單位的我們一個很好的機會,能實際測試各組以 Unity 製作的遊戲直接轉換為 Windows Store/Windows Phone Apps 的過程。 微笑

以台灣微軟場為例,上傳的7個遊戲之中有5組是以 Unity 製作,而這5組皆能直接在現場成功於 Unity 4.3.3 + Visual Studio 2013 on Windows 8.1的環境下,轉為 Windows Store/Windows Phone Apps 並順利執行。

以下列出這5組遊戲以 Windows Store App 的執行畫面。各位若對 Unity –> Windows Apps 有興趣的話,也可以直接到本次 GGJ 的遊戲上傳網頁中,下載各個遊戲的 source code,再在自己的環境之下作測試。

III SeeBrick WallsANNAJust runningWhat do you seePNG

相關連結:

Windows Store與Unity入門

我的第一個 Unity3D Windows Store App

[Unity Game to Windows Store] Compile error- missing namespaces/classes

Windows 8.1 上市之後,我還能繼續開發 Windows 8 App 嗎?

答案是可以的! 您可以繼續使用 Visual Studio 2012 開發且上架 Win8 App,或是使用 Visual Studio 2013 開發 Win8.1 後上架;最棒的是,Visual Studio 2012 及 Visual Studio 2013 是可以同時安裝在 Windows 8.1 上的!
至於 Win8 App 及 Win8.1 App 在不同版本作業系統上之相容性如何呢? 請見下表:
image
也就是所有的 Win8 Apps,都能直接在 Win8 及 Win8.1 機器的市集中下載並且順利運行;然而 Win8.1 Apps ,則只能運行在 Win8.1 的機器上。
以這樣的角度看來,繼續開發 Win 8 App 以能同時在 Win8 及 Win8.1 的機器上運行,就會是很明智的作法,因為雖然2013/10/18起,所有的 Windows 8 就可以免費經由 Windows Store 升級為 Windows 8.1,但在這完全轉移的過程中, Win8 Apps 能同時讓最多的使用者有機會下載使用。
那是不是就沒有開發 Win8.1 Apps 的理由了呢? 有兩點考量給各位參考。
第一,就是 Win8 App 在不更改程式碼的情況,只要重新 compile 成 Win8.1 App,在效能上就會有很大進步:
image
第二,當然就是 Win8.1 加強或新增的 APIs 了。下表可以看到這些改變:
image
以上這些改變中,綜合過往一年來 Win8 App 開發合作夥伴的反應,前 3 名最有感的改變是:
1. WebView 控制項: 現在可以直接存取本地 Web 內容,甚至執行其中的 JavaScript 了! (範例: http://code.msdn.microsoft.com/XAML-WebView-control-sample-58ad63f7)
image
2. 利用全新的 RenderTargetBitmap 物件,就可以將整個 UIElement (如: Gird) 存成圖檔,以作出如 Instagram, Instaweather 等效果: (說明: http://msdn.microsoft.com/zh-tw/library/windows/apps/bg182878.aspx)
 image
3. 終於內建支援 PDF rendering,再也不用花錢購買第三方軟體套件了! (中文詳解: 在Windows 8.1 App中輕鬆完成PDF渲染)

image

小結: 在 Windows 8.1 上市之後,要開發一個 Windows Store App ,可以有以下 3 種選擇:
A. 僅作成 Win8 App: 優點是可在 Win8/8.1 機器中看到,但效能會較差且無法使用 8.1 新增 APIs.
B. 僅開發 Win8.1 App: 可使用 8.1 APIs 且在效能有進步,但無法在 Win8 機器中運行。
C. 同時開發 Win8及8.1的版本: 可使用新功能且效能好,又可同時在 Win8/8.1 機器上運行 (但增加維護成本)
未來的 Windows Store 的上傳畫面,也因這些可能的選擇而作了改變,以下是 packages 上傳畫面:
image
相同的 App 在 Win8/8.1 的資訊填寫畫面:
image
延伸閱讀: Windows 8.1 Preview:開發人員適用的新 API 和功能

Visual Studio 2013 台灣發表會上demo的Windows Store App

這個 Windows Store App 是連結了 Eric 上一場 Demo 建立出來的Web API (JSON格式),將現場人員的留言撈出來的小範例。

程式碼下載: http://sdrv.ms/18oi37y

image

程式碼的部份很簡單,撈取 JSON URI 資料後存為 JsonArray,以 for 迴圈填入 ListView 即可:

private async Task GetJSON()

{

    try

    {

        progressRing.IsActive = true;

        listView.Items.Clear();

        string strURI = "http://twvs2013launch.azurewebsites.net/api/message";

        var http = new HttpClient();

        var response = await http.GetStringAsync(new Uri(strURI));

        jsonValue = JsonValue.Parse(response.ToString());

        jsonArray = jsonValue.GetArray();

        arraySize = jsonArray.Count;

        this.listArray = new string[arraySize];

        textBox.Text = arraySize.ToString();

        for (i = arraySize – 1; i >= 0; i–)

        {

            

            listView.Items.Add(jsonArray[i].GetObject().GetNamedValue("time").Stringify() + " "

                                + jsonArray[i].GetObject().GetNamedValue("name").Stringify() + ": "

                                //+ (jsonArray[i].GetObject().GetNamedValue("message").Equals(null)?jsonArray[i].GetObject().GetNamedValue("message").GetString():"null"));

                                + jsonArray[i].GetObject().GetNamedValue("message").Stringify());

        }

        progressRing.IsActive = false;

    }

    catch(Exception e)

    {

        progressRing.IsActive = false;

        new Windows.UI.Popups.MessageDialog("網路不通??").ShowAsync();

    }

}

[Windows 8.1] 升級Windows 8 App到Windows 8.1

本文章的內容來自2013/6月在舊金山舉行的BUILD 2013大會。
原始投影片及錄影檔請見: Upgrading Windows 8 apps to Windows 8.1
image
首先這堂課的內容是如何使用Visual Studio來針對既有的Windows 8 App升級為Windows 8.1的版本,無論是以XAML或HTML寫的Apps。但不涵蓋C++。
image
為何要升級我的Windows 8 App呢? 使用者由Windows 8升級為Windows 8.1之後,仍然能夠在Store中看到所有的 Windows 8 Apps;亦即,您已上架到Windows 8 市集中的Apps,在Windows 8.1的環境中仍然能被找到、被購買、也能完全相容且正確的執行。而且,若您的Apps升級到8.1之後,Windows 8的使用者即無法在Store中找到您的Apps。
所以,我們得先來衡量一下升級到8.1的好處,之後也會討論到是否要同時管理Windows 8 及Windows 8.1 版本的方法。
image
首先最重要的是,8.1在Apps的效能執行上作了非常大的改進! 在無需修改任何一行程式碼的情形下,只要retarget您的Apps到8.1,就可以感覺到效能上的大幅進步。
而您若使用了8.1的新功能,如 WinJS Scheduler, Dispose Model等的話,效能更能顯著提升、同時減少Working Set等記憶體使用量。
接下來是一段比較內建的Mail (郵件) App,在沒更改一行程式碼的情況下分別在Windows 8及Windows 8.1中執行起來的比較:
image
啟動速度較快(圖片先出來)
image
在ListView control 用手作快速的panning時,右側8.1的畫面不會有lag的情形。
image
其次,當然就是一些Windows 8.1的許多新功能了。(更多新功能的詳細說明請見BUILD 2013的錄影: https://channel9.msdn.com/Events/Build/2013)
image
而最後,也許也是最重要的,就是Windows 8.1重新改版的Store(市集)了,新的Store會特別精選具有8.1 新功能的Apps,增加您的Apps被使用者找到、下載的機會。
同時因為所有的Windows 8機器都可以免費升級到Windows 8.1,我們也預期會有許多的使用者願意直接升級。
image
請視App升級至8.1為讓您的Apps更好(better)的過程,而非只是單純的升級。
第一步驟即是regarteting您的Apps至8.1,重新編譯、執行、測試。
第二步驟是使用8.1的全新功能,讓您的Apps更好! 比如Search控制項在8.1中可以很好的利用。
第三步驟即是讓您的8.1 Apps上架Store。
image
OK 現在我有兩個不同版本的Apps了,要如何維護呢? 建議的作法是:
1. 在您所使用的Source Control軟體中,建立一個全新的分支(branch),這也是微軟內部的作法;或是
2. 拷貝整個solution再各自維護。
比較不建議的作法是維持一個單一的solution,然後在不同的projects中target到不同的Windows 版本。這種作法的缺點是,當有共用reference時,還得依據不同版本的reference給它不同的名稱,增加coding上的複雜度,也增加管理reference上的困難。
image
不同版本的Visual Studio 2013在開發及升級Windows Store Apps上的差異:
– Profession, Premium 及Ultimate版本:
1. 可以建立、編譯Windows 8.1專案
2. 可以升級Windows 8專案至Windows 8.1
3. 可以編譯Windows 8專案
– Express版本:
1. 可以建立、編譯Windows 8.1專案
2. 可以升級Windows 8專案至Windows 8.1 (但不能編譯Windows 8專案)
同時,Visual Studio 2012及Visual Studio 2013可以同時執行在同一台機器上!
image
現在來試一個Windows Blog Reader (XAML) App,這是在MSDN可以免費下載且附程式碼的範例程式
image
Visual Studio 2013 (Preview)開啟後會出現建議retarget到Windows8.1的提示,按了OK後並不會直接幫你升級。
image
你可以看到右側的各專案還是Windows 8的專案。我們可以按F5直接執行:
imageimage
看起來好像完全沒問題,但是在Windows 8.1中,使用者可以在此App所容許的最小寬度以上任意調整寬度。以下看到當使用者變換寬度時會看到有黑色留邊的現象:
image
好,接下來我們來試試升級至Windows 8.1:
image
image
image
看來是無痛升級成功了,執行之後會發現皆能正常執行,同時在使用者改變App寬度時不會有黑邊的情形發生:
image
雖然在此範例中能無痛升級,當然並非保證所有的Windows 8 Apps皆能如此輕易的完成升級,在retargeting的過程中會提示您閱讀一份文件,可以作為遇到問題時之參考。比如常見的問題是8.1使用了IE 11作為Web redering engine,這些都可能影響到相容性。
image
在另一個Windows Blogs Reader App的JavaScript版本中,也可以作同樣的升級,除了會發現在使用者改變Apps寬度時不會出現黑邊外,不同版本間的CSS會有些不同,但只要些微修改即可:
imageimage
說明至此各位已發現Windows Size是各位在升級時必需考量的重點之一。
在Windows 8中,有一個固定的Snapped View (320 pixels 寬)可讓使用者選擇。
image
而在Windows 8.1,使用者不但能在同一螢幕上同時執行最多4個Apps (包含Destop Apps),同時在寬度的選擇上也有更大的自由。
以下圖為例,中間的Weather Apps其最小的可能寬度為500 Pixels,以能完整的顯示其資訊,使用者可在此500 pixels以上的寬度間自由調整。而最右側的Reader List App,其最小則能縮至320 Pixels。
image
image
Windows 8.1再也沒有所謂的Filled View及Snapped View了!
新的作法是,所有的Apps的預設最小寬度是500 pixels,亦即使用者可以將您的App設為612, 700 pixels等寬度。而開發者則可以決定你的App的最小寬度至320 pixels。若設為320,使用者即可在320以上以至於螢幕的寬度間來更改你的App寬度。
App在執行時,使用者更改寬度後(手指離開螢幕時)會接收到一個event,開發者即可以據此event handler來設定layout。在這個步驟中,能取得Windows Size的資訊就很重要了。
以下是在manifest中設定最小寬度:
image
那到底要設多少呢? 這當然是取決於你的App是否能在某種寬度下仍能最佳顯示所要呈現的內容了。同時也要考慮到小幕尺寸的平版、以及在Portrait模式時,你的App能呈現的內容會是受限的,也需要將這些使用情境列入考量。
image
以下是HTML及XAML取得Windows Size & Orientation資訊的程式碼:
image
imageimage
image
image
image
好,假設您已經成功升級、實作了Windows 8.1的新功能並測試完畢之後,就準備好上傳您的App至Store了。
image
在您submit同一個App的過程之中,您會注意到只需要重新填寫Description (描述)、Features (新功能)及Screenshots (截圖),其他諸如App Name, Pricing, Website and support等都是相同的資訊,故不用重新填寫。
image
這裡有一個需注意的一點,同一個App若有Windows 8 及Windows 8.1的版本,則Windows 8的版本別(version numbers)不能超過8.1的版本。Visual Studio 2013會自動幫您解決或避開此問題。
好,我們來看看上傳介面吧!
image
你會看到可以在同一畫面中上傳Windows 8及Windows 8.1的package.
image
如前所述,您只要再填入Description (描述)、Features (新功能)及Screenshots (截圖)資訊即可。
延伸學習:
Beautiful Apps at Any Size on Any Screen
The fast lane for app certification
BUILD 2013 Channel 9