本文章是由機器翻譯。

跨平臺

跨平臺遊戲開發與Visual Studio工具的統一

Adam Tuliper

我注意到一些有趣的事情,在我進入遊戲的開發。一位朋友創建 Android 的遊戲,最近受衝擊的號 1 在谷歌上的播放存儲。我有一些其他朋友在另一個獨立的遊戲公司已達到 iOS 排行榜的榜首。我還知道另一位在 Windows 應用商店遊戲擁有超過 500,000 的球員。他們都共用共同為他們建立與平臺無關的東西:他們都在 Windows 上使用統一開發他們的遊戲。(這是團結的遊戲引擎,不依賴項注入的包,從微軟)。

在 Windows 上的團結占高達 88.6%的統一專案,遠遠超過了 OS X (stats.unity3d.com)。我發現這一統計資料很有意思,因為團結就是最流行的跨平臺遊戲開發中介軟體。一邊移動,iOS 佔用了大約 26%的移動平臺使用類別,與 Android 為 71%,然而,在 Windows 上的團結吸引了最多的開發人員,表明 Windows 仍然號 1 平臺的開發人員想要到代碼。

Visual Studio工具統一 (VSTU) 是一個套裝軟體 (以前稱為 UnityVS),微軟獲得通過收購 SyntaxTree 在 2014 年。 本產品用於成本約 100 元和允許的統一開發者使用Visual Studio不僅編輯代碼,但也可在調試代碼。為什麼這是一個大問題?第一,因為微軟作出這偉大工具 100%免費。第二,是由加入微軟的 SyntaxTree 團隊正在積極開發。第三,它是偉大,因為我可以使用熟悉的代碼編輯器/調試器開發我的遊戲。儘快Visual Studio2015年預覽位被釋放,被釋放對 VSTU 的更新來支援它,以及。

在統一中,任何遊戲物件,你想要分配給,代碼的簡單腳本將元件添加到它。若要編輯該代碼,請按兩下它。然後,統一將打開預設情況下 (這與統一安裝) MonoDevelop 編輯和調試代碼。對我來說,那裡是有點摩擦在這裡開發這種方式時。我認為 MonoDevelop 專案做了一些偉大的工作,但Visual Studio是一個功能更全面的工具。我想要使用Visual Studio編寫和調試代碼,就像我已經在過去的 18 年。以前在統一,您可以使用任何編輯器 (如Visual Studio,崇高,等等) 來編輯統一代碼,但您不能調試您的代碼從Visual Studio。這意味著你會在Visual Studio中編輯代碼並切換回 MonoDevelop 若要調試,或投遞 Debug.Log 語句無處不在這並不是最有生產力的方式來調試。

MSDN 雜誌的很多讀者都是企業開發人員。我說很多人想知道的關於編寫遊戲,特別是在 XNA 走渡渡鳥之後很長一段時間。對於這些人來說,最近我做的遊戲開發與統一上的雜誌系列分為四個 (msdn.microsoft.com/magazine/dn759441) 來説明新的觀眾,被引薦給遊戲開發與統一的窗戶上的經驗。我知道大多數企業開發人員在工作中,使用Visual Studio,但不能使用它在家裡的遊戲開發,因為他們組織許可證持有人。MonoDevelop 工作在這種情況下,但它不能提供的Visual Studio經驗。微軟最近發佈了Visual Studio的社區版,免費版幾乎Visual Studio專業相同。這是令人敬畏的小團隊或個人開發者,因為它是免費的可以運行 VSTU。加上統一的免費版本,必須使用統一和Visual Studio的完全免費的多平臺遊戲開發系統。對於那些想知道Visual Studio快遞,該產品不支援外掛程式,所以你不能在它運行 VSTU。有沒有未來版本的Visual Studio快遞因為Visual Studio的社區版是未來計畫 — — 和它是一個偉大的未來。

為什麼要使用 VSTU?

如果您開發過與團結和 MonoDevelop 次偉大的奧運會,為什麼要使用一些不同的東西?VSTU 給了什麼另外到 MonoDevelop?好吧,IntelliSense是更好的。代碼格式效果更好。可以使用外掛程式如 ReSharper 重構,提高你的代碼。如果你習慣于Visual Studio,你肯定用到解決方案資源管理器,其中單聲道的­開發了一個有限的版本,但它並不提供幾乎相同的體驗。所以你可以看到從 Debug.Log 等而不必來回切換到統一的命令來查看輸出作為你通常的結果只會有通過輸出視窗中Visual Studio,以及好的調試體驗。VSTU 還通過提供更好的視覺化效果,對於集合,例如清單、 字典和常用 (合一) 的雜湊表增強的調試體驗。統一為其自己的繪製,允許您自訂編輯器擴展閱讀檢查器中的值包含的功能。這種類型顯示與預期的一致 VSTU,但當在 MonoDevelop 進行視覺化處理,它噴出的線和誤差線統一主控台中。

另外,版本Visual Studio2015年預覽的過程中,是一個偉大的新功能添加到 VSTU:語法突出顯示為著色器 (見圖 1)。雖然它可能不被視為一個巨大的生產力助推器,明顯容易對眼睛的時寫著色器,和它是上面要求的功能,用來收集功能建議和回饋 UserVoice 網站上。已使用帶有語法高亮顯示功能的現代工具,然後不得不迅速發展離不開它的人錯過了的功能,所以大量的你會歡呼此版本。

新語法高亮顯示為著色器在Visual Studio2015年預覽
圖 1 新語法高亮顯示為著色器在Visual Studio2015年預覽

如何做所有的工作嗎?

前進一步探索新的功能,我將討論的"魔法"背後的工具的工作原理。統一包含內由柔軟的調試器控制其編輯器的虛擬環境。當您調試一個遊戲時,你不調試 Unity.exe,正如你可能期望,因為你可以將調試器附加到進程,從Visual Studio。相反,您要連接到團結,然後將命令發送到統一軟調試器的運行在編輯器內的埠。MonoDevelop 附帶的 MonoDevelop.Debugger.Soft 庫,瞭解用於頂嘴統一軟調試器的二進位格式。統一添加此庫來支援自訂操作的瘦包裝和分發,與 MonoDevelop,如中所示圖 2。該外掛程式可以推出統一或只是在一個港口,說話軟調試器連接 (若要簽出的代碼,請參閱在 GitHub 專案 bit.ly/1zY6K2a)。好的夥計,工作在 VSTU 上反過來面向Visual Studio,使用這個庫,以及擴展 (見圖 3)。它允許您不僅使用Visual Studio在所有其代碼編輯、 重構、 語法突出顯示和IntelliSense的榮耀,但也調試統一代碼中使用的調試體驗到你習慣在Visual Studio中 — — 和它的作品比什麼內置於預設統一配送。

統一用於從 MonoDeveloper 調試外掛程式
圖 2 統一用於從 MonoDeveloper 調試外掛程式

微軟Visual Studio工具Visual Studio2015年預覽統一延長
圖 3 微軟Visual Studio工具Visual Studio2015年預覽統一延長

統一創建它自己的.csproj 檔來管理其單聲道的編譯和一些其他的.csproj 檔將添加到Visual Studio,如果你想要使用Visual Studio作為編輯器只。我今年早些時候我統一系列第一篇文章中覆蓋有點這種統一架構。VSTU 創建其自己的版本的.csproj 檔中,如中所示圖 4。它可能看起來像那裡可以,很多的.csproj 檔來管理,但細節都處理在幕後,所以你不必為他們操心。通常在 MonoDevelop F5 調試並不總是有效。統一將永遠做自己編譯您的代碼,但 F5 來調試在 MonoDevelop 時,它將做進一步的編譯的二進位檔案,可能在一些語法上的錯誤團結實際上不介意,,因此,不能調試。每次你開始在 MonoDevelop 中調試,您必須附加到 Unity.exe 進程 (其中依次連接到用於調試的埠)。這不同于"按 F5 來調試"你已經習慣于在Visual Studio。我已經也鎖定了統一好幾次使用 MonoDevelop 若要調試,同時一直在窗戶上的 VSTU 問題的東西。

Visual Studio工具統一創建其自身的.csproj 檔版本
圖 4 Visual Studio工具統一創建其自身的.csproj 檔版本

使用 VSTU

VSTU 是簡單易用,但它不保證其 Unity 編輯器的簡要說明,因為它可能不同于您期望相比Visual Studio擴展,比如。Visual Studio擴展,只安裝一次,然後為每個專案,積極與 VSTU 一樣。統一環境是極其可腳本化與 C# 中,這使得強大,但你想要的功能在每個專案,該體系結構要求您導入所需的 VSTU 套裝程式。這是一個一次性的操作為每個專案。只需選擇 VSTU 包從資產/導入包,如中所示圖 5。這將解壓縮程式包,告訴你大約要導入的檔。就這樣。

Visual Studio工具統一包導入統一
圖 5 Visual Studio工具統一包導入統一

您也可以安裝任何.unitypackage 檔到統一通過按兩下它,所以為 VSTU,可能也只是在按兩下Visual Studio2015 Tools.unitypackage"檔在您的檔案系統。一旦安裝完畢,編輯代碼您只需按兩下指令檔中統一併將在Visual Studio與 VSTU 活動開。你一定要記住安裝 VSTU 套裝軟體到統一專案中,或Visual Studio將會顯示一個含糊不清的錯誤,可能會讓你有點困惑。此外值得一提的如果您的代碼不能編譯,當您嘗試第一次打開它時,Visual Studio專案不會產生,因此,沒有專案載入在Visual Studio中,所以您會收到同樣的含糊不清的錯誤。這也發生在統一與 MonoDevelop 專案 — — 他們只是不會生成,如果您的代碼最初包含出錯之前第一次專案代 (這又發生在幕後)。這些都只是幾件事情,我經歷過的你應該知道。

Mac 用法

你在那裡的 Mac 使用者呢?因為Visual Studio運行在 Windows 和不 OS X 上,如何做,另約 11%的不使用 Windows 開發人員提高他們與統一的開發經驗嗎?你可以在虛擬機器 (VM) 中運行 Windows 和共用資料夾,因此您可以來回切換,用於調試。有一個小摩擦的方法,也是,雖然。還有更好的方式。因為 VSTU 在一個埠連接到統一,從技術上講你可以做跨電腦發展。與相似之處和在 Mac 上的 VMware 的虛擬化軟體,你可以從您的來賓 VM 上運行軟體,並讓它顯示在您的主機作業系統桌面就像它是以本機方式運行那裡在一個視窗中。這就意味著Visual Studio可以運行在 OS X 桌面上只是像任何其他 OS X 應用程式,並連接到團結在你的 Mac 來調試它從 Windows 上運行。是的很酷。

跨平臺的方式

當然,我們生活在一個神奇的時代的多平臺應用程式開發。有時候,儘管,這個應用程式開發風景感覺就像我們生活在單一的土地,與許多不同的貨幣,和一些供應商採取一些並不是另一個,每個人都講不同的語言。有這麼多不同的工具、 平臺和設備,你能保持忙碌只學習他們所有的生活。在 Microsoft,我們已經密切與許多合作夥伴一道為綜合的經驗給我們的工具和平臺帶來跨平臺開發。我可以旋轉在微軟 Azure 上的 Linux VM。我可以使用Visual Studio進行調試的 Python 腳本 (甚至遠端運行在雲中),和我能讀懂有關推式通知 iPhone 設備上設置 microsoft.com 上的大量文檔。最重要的是,現在是.NET 開源、ASP.NET運行 OS X 與 Linux 及Visual Studio有 Android 的模擬器。當然沒有預見到這一天,而我相信只是看到了我的窗戶外面飛的豬。

團結,當然,是我最喜歡的跨平臺遊戲開發的工具,雖然見過令人印象深刻的具有先進的 3D 能力,做了統一的商務應用程式實現。Unity 支援 16 個不同的平臺 — — 是的你沒聽錯。這是相當令人印象深刻,你可能會好奇什麼構成了號碼,所以在這裡你去:iOS,Android (包括設備 (例如歐雅),Windows、 Windows 應用商店、 黑莓、 Windows Phone、 OS X、 Linux、 Web (通過外掛程式以前和現在 HTML5/JavaScript/WebGL),PS3、 PS4、 PS Vita、 PS 手機、 一個 Xbox、 Xbox 360 和 WiiU。

您還可以為開發跨平臺應用程式僅與Visual Studio幾個不錯的選擇。旗艦微軟 IDE 現在已與 Apache 科爾多瓦,允許跨平臺基於 HTML 的應用程式集成 (不 Web 網站 — — 這些都是應用程式) 擬從其熟悉的環境中。您可以調試這些應用程式從Visual Studio在 Windows 中,安卓系統,並甚至 iOS。舉這樣的例子,查閱 MSDN Library 的文章,"你的 Apache 科爾多瓦應用程式上運行 iOS,"在 bit.ly/1ycNUVD

在跨平臺的應用程式空間中,領導者是 Xamarin (發音 zam 一凜,對於那些仍不能確定)。Xamarin 不是遊戲為主,雖然您肯定可以使用它創建遊戲。該工具可與集成Visual Studio,以及優秀的跨平臺應用程式開發,甚至允許您設計一個 UI 為 iOS 和 Android 都從內Visual Studio。Xamarin 年以來原始的 Mono 團隊,其成立以來部分以便專門知識一直行之有效的公司。單也是甚麼的權力你的遊戲的自訂代碼和統一的可擴充性 — — 自 2001 年成立以來,它已經很長的路。

對於那些愛 c + + (你知道你是誰),我剛才簡要 Android 模擬器,和它將支援 c + + 應用程式。沒錯:Visual Studio現在可以讓您創建一個本機的 Android 應用程式,通過跨平臺 |本機活動應用程式範本。這使開發和調試從Visual Studio的 Android 代碼入手Visual Studio2015年預覽。這是我能做的只是要不附和這整個的最後一行 !

總結

審查,微軟已經已將添加到其跨平臺的故事一段時間,但是現在它處於超速。VSTU 是,當然,免費,經歷了一些偉大的更新 ; 你可以找到的他們在歷史 bit.ly/15pC1RN。Visual Studio社區版是免費的。微軟已知的有很大的發展工具,並致力於使最好的發展及調試經驗到遊戲發展商,使用Visual Studio。所以我向大家說:使用統一,在 Windows 上為發展和使用Visual Studio令人敬畏的開發和調試經驗。

額外的學習


Adam Tuliper 是與生活在陽光明媚的南加州的微軟高級技術福音傳教士。他是獨立遊戲開發公司管理員的奧蘭治縣團結 Meetup 和 Pluralsight 作者。他和他的妻子都約有三個孩子,所以向他伸出雖然他仍然有時間,就在 adamt@microsoft.com 或在 Twitter 上 twitter.com/AdamTuliper

感謝以下的微軟技術專家對本文的審閱: Jb Evain