开发2d游戏要用什么引擎_下一个游戏要使用什么2D游戏引擎
開發2d游戲要用什么引擎
A few weeks ago, I posted about my experience attempting to make a prototype in a bunch of different 2D game engines/frameworks to learn what makes them tick.
幾周前,我發表了自己的經驗,試圖在一系列不同的2D游戲引擎/框架中制作原型,以了解使它們產生變化的原因。
If you're shopping around for an engine for your next 2D game, this article will provide some things to consider that may help in your discernment process.
如果您正在為下一個2D游戲尋找引擎,那么本文將提供一些考慮因素,可能有助于您的識別過程。
Do note that I'm not attempting to cover every 2D game engine out there; nor am I positioning one engine or framework over another. ?These recommendations are from my personal experience using different engines and frameworks for prototyping.
請注意,我并沒有嘗試涵蓋所有2D游戲引擎。 我也不會將一個引擎或框架放在另一個之上。 這些建議來自我的個人經驗,他們使用了不同的引擎和原型制作框架。
And if you'd prefer to watch rather than read, I've created a video version of this post (26 minute watch):
如果您更喜歡觀看而不是閱讀,那么我創建了該帖子的視頻版本(觀看26分鐘):
React (React)
At first glance, you might be thinking, "React is a front end framework for making interactive websites. It's not a game engine!" And you'd be mostly correct.
乍一看,您可能會想:“ React是用于制作交互式網站的前端框架。它不是游戲引擎!” 而且您基本上是正確的。
React doesn't provide native support for game development basics, like, for example, 2D physics, but it does handle state extremely well. ?If you're already a JavaScript developer and willing to pair React with something like boardgame.io to make a simple 2D game, you could potentially get a prototype up and running pretty quickly.
React沒有為游戲開發基礎提供本地支持,例如2D物理,但是它確實能夠很好地處理狀態。 如果您已經是JavaScript開發人員,并且愿意將React與boardgame.io之類的東西配對以制作簡單的2D游戲,則可以潛在地使原型快速啟動并運行。
For all other types of 2D games, you'll want to look elsewhere.
對于所有其他類型的2D游戲,您需要在其他地方查找。
統一 (Unity)
Unity has made itself ubiquitous in the 2D and 3D game development spaces. I'd position it as an excellent 3D game engine, and a serviceable 2D one.
Unity在2D和3D游戲開發領域中無處不在。 我將其定位為出色的3D游戲引擎和可維護的2D游戲引擎。
The Unity editor is fairly complex, with a lot of nested menus that take some time to wrap your head around (check out this article for a tour of its 2D features). ?If you don't already have a background in C#, which Unity uses for scripting, you'll want to brush up on it prior to learning Unity, as doing so will ease your overall learning curve.
Unity編輯器非常復雜,有很多嵌套菜單,這些菜單需要一些時間來解決問題(請查看本文以了解其2D功能)。 如果您還沒有Unity用來編寫腳本的C#背景,那么您需要在學習Unity之前對其進行梳理,因為這樣做可以減輕您的總體學習難度。
Unity also does a lot of things the "hard way" when it comes to 2D game development, which doesn't feel native compared to other game engines. ?Creating a 2D game world in Unity, for example, feels like you're shoehorning a 2D plane into a large 3D space, and things like animation and pixel perfection are more clunky than in other 2D-specific engines.
統一也做了很多事情“硬辦法”,當涉及到2D游戲的發展,這并不比其他游戲引擎覺得本地人。 例如,在Unity中創建2D游戲世界的感覺就像是將2D平面塞進一個大型3D空間中,并且動畫和像素完美之類的東西比其他特定于2D的引擎更笨拙。
You can make any type of 2D game with Unity if you're willing to wrestle with the editor and underlying 3D idiosyncrasies. It has extensive community support, and you'll find that working with C# is a delight. Additionally, Unity's Asset Store has all kinds of art and templates for you to download and purchase, but buyer beware: you might spend as much time rewriting someone else's code to fit your project as you would just starting from scratch.
如果您愿意與編輯器和底層3D特性進行搏斗,則可以使用Unity制作任何類型的2D游戲。 它具有廣泛的社區支持,并且您會發現使用C#感到很高興。 此外,Unity的資產商店提供了各種各樣的藝術品和模板供您下載和購買,但買家要當心:您可能花費大量的時間來重寫別人的代碼以適合您的項目,就像從頭開始一樣。
Unity is, in general, free to use, but pricing becomes more complex if you want to use everything it has to offer (see this page for more details).
團結就是,在一般情況下,可以免費使用,但是如果你想使用它提供的一切 (見價格變得更加復雜, 這頁有詳細介紹)。
戈多 (Godot)
Godot is a free and open source 2D and 3D game engine that supports GDScript, C#, and even C++ and Python if you're willing to do a lot of the heavy lifting to make them work. ?It supports a node-style workflow and is super lightweight.
Godot是一個免費的開源2D和3D游戲引擎,如果您愿意為使它們正常工作而付出很多努力,則它支持GDScript,C#甚至C ++和Python。 它支持節點樣式的工作流,并且超輕量級。
If you're a) willing to invest in learning GDScript or b) already super good at C#, C++, or Python, you'll probably be fine in Godot, particularly if you like working with open source software. ?If not, you may get easily frustrated, as there isn't nearly as much support for C# or other languages as there is for GDScript. ?Still, Godot is a pleasant engine with which to work, and although it may not have the same pedigree and community support as something like Unity, if you're a self-starter you might feel well at home.
如果您a)愿意投資學習GDScript,或者b)已經非常擅長C#,C ++或Python,那么您在Godot中可能會很好,特別是如果您喜歡使用開源軟件。 如果沒有,您可能會很沮喪,因為對C#或其他語言的支持幾乎沒有對GDScript的支持。 盡管如此,Godot還是一個令人愉悅的引擎,雖然它可能沒有Unity等類似的血統和社區支持,但是如果您是一個自我啟動者,您可能會感到賓至如歸。
構造3 (Construct 3)
If you just want to make 2D games and don't care about programming language or subscription fees, you'll find Construct 3 to have everything you need to get a demo up and running, and quickly. ?All of your work will be done in a browser, using drag-and-drop tools (and custom JavaScript support if you need it).
如果您只想制作2D游戲,而不在乎編程語言或訂閱費,您會發現Construct 3具備快速啟動并運行演示所需的一切。 您的所有工作都將在瀏覽器中使用拖放工具完成(如果需要,還可以使用自定義JavaScript支持)。
Don't expect to have a meaningfully productive experience with Construct 3 for free, however. ?There's a simple demo that you can try out, but impactful game development with Construct 3 is locked behind a paywall, and a subscription at that.
但是,不要指望免費獲得關于Construct 3的有意義的生產體驗。 您可以嘗試一個簡單的演示,但是使用Construct 3進行具有影響力的游戲開發將被鎖定在付費專欄后面,并且需要進行訂閱。
游戲制作工作室2 (Game Maker Studio 2)
Game Maker Studio 2 has a user-friendly editor that supports a proprietary language called, appropriately, Game Maker Language (GML), along with visual scripting. ?It also has a lot of tutorials, great community support, and an asset store (which comes with the same caveats as Unity's, above).
Game Maker Studio 2具有易于使用的編輯器,該編輯器支持一種專有語言,即Game Maker Language(GML)和可視化腳本。 它還有很多教程,強大的社區支持和資產存儲(與上面的Unity相同)。
The general workflow of Game Maker Studio 2 and doing things like animating sprites, setting up your game world, and so on, are straightforward and intuitive. GML might not be your cup of tea if you're coming from another, more widely-used programming language, and I would not recommend it as your first introduction to learning how to code. ?It employs some of the basic concepts of programming, but not important details such as coding best practices or how to write clean code.
Game Maker Studio 2的常規工作流程以及執行諸如使精靈動畫,設置游戲世界等等之類的工作都是簡單直觀的。 如果您來自另一種使用更廣泛的編程語言,那么GML可能不是您的最佳選擇,而且我不建議您將GML作為學習如何編碼的第一篇入門文章。 它采用了一些編程的基本概念,但沒有采用諸如編碼最佳實踐或如何編寫簡潔代碼之類的重要細節。
Additionally, you can try Game Maker Studio 2 with a free 30-day trial, but will need to pay to continue to use it after that time.
此外,您可以免費試用30天的Game Maker Studio 2,但需要付費才能在該時間后繼續使用。
移相器3 (Phaser 3)
If you want to code everything and learn a lot about the JavaScript ecosystem while doing it, check out Phaser 3 (or wait for Phaser 4, which is on the way).
如果您想編寫所有代碼并在此過程中學習很多關于JavaScript生態系統的知識,請查看Phaser 3 (或等待即將開始的 Phaser 4)。
Phaser is a lightweight and powerful JavaScript framework for making 2D games. ?Whereas Phaser 2 was extremely well-documented and had excellent community support, Phaser 3 is quite the opposite. ?There's good official documentation and a bunch of examples (without much context around them, it must be said), and a dreadfully small amount of tutorials.
Phaser是用于制作2D游戲的輕量級且功能強大JavaScript框架。 雖然Phaser 2的文檔記錄非常詳盡,并且得到了社區的大力支持,但是Phaser 3卻恰恰相反。 有很好的官方文檔和大量示例(必須說的沒有太多上下文),以及少量的教程。
Expect to build everything yourself, but if you're looking for ES6 or TypeScript support, or if you really want to polish your skills as a JavaScript developer, you'll be able to go a long way with Phaser 3.
期望自己構建所有內容,但是如果您正在尋找ES6或TypeScript支持,或者如果您確實想提高自己作為JavaScript開發人員的技能,那么您將可以在Phaser 3上走得很遠。
In the interest of fairness, I should mention a two other 2D game engines that have been recommended to me since I started writing on the topic: L?VE 2D, which uses Lua, and MonoGame, which supports C#. ?I haven't used either of them (or others, such as PyGame), and can't speak to their usefulness, but they may be worth checking out.
在公平起見,我應該指出,已經推薦給我的,因為我開始寫關于這一主題的其他兩個2D游戲引擎: L?VE2D ,使用了Lua和MonoGame ,它支持C#。 我沒有使用過它們中的任何一個(或其他,例如PyGame ),也無法說明它們的用處,但也許值得一試。
Let me know which 2D game engine you wind up using, and why!
讓我知道您最終使用哪種2D游戲引擎,以及原因!
If you enjoyed this article, please consider checking out my games and books, subscribing to my YouTube channel, or joining the Entromancy Discord.
如果您喜歡這篇文章,請考慮查看我的游戲和書籍 , 訂閱我的YouTube頻道或加入Entromancy Discord 。
M. S. Farzan, Ph.D. has written and worked for high-profile video game companies and editorial websites such as Electronic Arts, Perfect World Entertainment, Modus Games, and MMORPG.com, and has served as the Community Manager for games like Dungeons & Dragons Neverwinter and Mass Effect: Andromeda. He is the Creative Director and Lead Game Designer of Entromancy: A Cyberpunk Fantasy RPG and author of The Nightpath Trilogy. Find M. S. Farzan on Twitter @sominator.
法贊(MS Farzan)博士 他曾為知名的視頻游戲公司和編輯網站(例如,Electronic Arts,Perfect World Entertainment,Modus Games和MMORPG.com)撰寫和工作,并曾擔任《龍與地下城:龍骨無雙》和《 質量效應:仙女座》等游戲的社區經理。 。 他是《 Entronancy:Cyber??punk Fantasy RPG》的創意總監和首席游戲設計師,并且是《 The Nightpath Trilogy》的作者。 在Twitter @sominator上找到MS Farzan 。
翻譯自: https://www.freecodecamp.org/news/what-2d-game-engine-to-use-for-your-next-game/
開發2d游戲要用什么引擎
總結
以上是生活随笔為你收集整理的开发2d游戏要用什么引擎_下一个游戏要使用什么2D游戏引擎的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity程序化地形教程集合
- 下一篇: Array,String 方法