最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

簡單的2D游戲開發(fā)經(jīng)驗分享

2020-12-28 12:35 作者:AIPC沒有I  | 我要投稿

前言

? ? ??本文主要介紹的是我在參加學校工作室考核(是的)時開發(fā)一個簡單的2D橫板跳躍游戲時的一些思路和開發(fā)記錄,如果你對游戲開發(fā)比較感興趣并且想成為一個游戲開發(fā)者的話,這篇文章或許對你會有一些幫助!如果你是一個游戲開發(fā)者的話歡迎來和我交流:D!

1、引擎選擇?

? ? ? ?當決定開發(fā)一款游戲的時候,第一步要考慮的是游戲引擎的選擇。所以首先要問自己一個問題:我需要用什么游戲引擎來開發(fā)游戲?相對主流的兩款游戲引擎分別是Unity和Unreal Engine4(UE4),二者各有利弊,比如Unity的3D渲染效果不如UE4,但Unity有許多插件可以使用,開發(fā)效率會更高。

? ? ? ??由于本文介紹的是2D游戲的開發(fā),所以我個人覺得Unity是一個更優(yōu)的選擇(其實是因為我們學校工作室考核要求用Unity)。但是說到Unity,你的第一反應可能是胖鼠的某首電音神曲,而對這個作為游戲引擎的這個單詞感到陌生。為了讓你對Unity產(chǎn)生一點熟悉感,我來舉幾個用Unity開發(fā)的游戲的例子。

? ? ? ?許多優(yōu)秀的2D游戲都是用Unity開發(fā),比如DEEMO(古樹旋律)、Plague Inc.(瘟疫公司)、Hollow Knight(空洞騎士)、Gris、Ori and the Will of the Wisps(精靈與螢火意志)、Lobotomy Corporation(腦葉公司)等等。除此之外,一些相對輕量的3D游戲也可以考慮使用Unity開發(fā),比如Monument Valley(紀念碑谷)、The ROOM(謎室)、Outer Wilds(星際拓荒)、The Almost Gone(憶落謎境)、Kerbal Space Program(坎巴拉太空計劃)等等。?

(上面舉例的游戲都很好玩XD!感興趣可以玩玩看。?

(明日方舟也是用Unity開發(fā)的?。▏L試抓人入教 )

? ? ??那么,選擇好了游戲引擎接下來應該怎么做呢?當然是從官網(wǎng)上下載Unity(廢話)!下載和安裝Unity是完全免費的,建議在下載時選擇“從Hub下載”(p4中的綠色選項)。Unity Hub非常便于管理項目和許可證(有的時候打不開項目是因為許可證過期,手動激活即可),也可以在Hub中選擇安裝多個不同版本的Unity自由切換。但是注意,更高級的編輯器版本中的一些功能可能無法在舊的編輯器上使用。

? ? ? ??在安裝好Unity之后,還有一個很重要的軟件需要安裝,那就是Visual Studio(VS)。VS是用來寫代碼的,因為做一個游戲肯定要通過寫腳本來實現(xiàn)各種炫酷的功能啦。Unity的腳本編輯語言可以選擇C#或者JS,這里建議選擇C#(原因會在下文中解釋)。如果本身有一定的JAVA編程基礎的話是可以比較快上手C#的,因為二者在語法上有點像。

? ? ? ?到這里,游戲引擎的選擇和基本設置就完成了,我們可以進入下一個步驟——開發(fā)了。

2、開發(fā)流程?

? ? ? ?因為要做的是橫板跳躍游戲,所以游戲的必備的兩個元素已經(jīng)出來了:地圖系統(tǒng)和角色操控系統(tǒng)。在這個基礎上開始思考接下來我們需要加入一些什么元素呢?我們可以給游戲加上故事和驚險刺激的戰(zhàn)斗,這一切都基于“你想做一個什么樣的游戲”。

? ? ? ?我的大體思路是:主人公與幾個NPC對話之后在商店里購買了武器,接下來用這武器打敗了游戲里的大boss(可以吐槽我確實沒有什么創(chuàng)新能力,這什么劇情...)。這個思路里面就包含了對話系統(tǒng)、商店系統(tǒng)、物品系統(tǒng)和戰(zhàn)斗系統(tǒng)這么幾個要實現(xiàn)的模塊。于是,我們從思路中明確了我們接下來要實現(xiàn)什么樣的功能,可以開始著手寫代碼了。?

? ? ? ??關于怎么寫代碼這一塊:實現(xiàn)一個功能的方式有很多種,但是我們要盡量選擇最優(yōu)的那一種方式,所以在游戲開發(fā)中引入面向對象編程的思想是非常重要的。比如說可以裝進背包格子的物品有一些公有的方法(獲取名字、獲取用途說明等等),我們可以用一個Iitem接口來存放這些公有的方法。盡量多使用接口或者采用合適的設計模式來編程。?

? ? ? ??之后需要美術來幫忙。如果自己不會畫畫的話,Unity的asset store里有很多免費的資源可以用。不過!還是和身邊的大觸們搞好關系吧(癱瘓

3、技術困難?

? ? ? ??寫代碼的時候遇到技術難題是很正常的,俗話說代碼十分鐘debug兩小時不無道理。那么寫腳本的時候遇到難題又沒有人能問的時候怎么辦呢?百度當然非常不錯,但是百度廣告太多,而且親測上面有的方法并不是很棒(我當時找控制人物行走的腳本,測試了幾個都有非常大的問題)。

? ? ? ??然后最重要的一點是:在網(wǎng)絡上搜索解決方案的時候我們能查到的例子基本都是用C#寫的,這也是為什么在上文中建議選擇C#為腳本語言而不是JS的原因。

推薦一個好一些的網(wǎng)站(或者直接在谷歌上搜索也可以): Stack Overflow:https://stackoverflow.com/?

? ? ? ??此外,你也可以在油管上試試看能不能找到答案。介紹一些不錯的游戲開發(fā)相關的油管主:

Brackeys(涵蓋了非常多內(nèi)容)

Blackthornprod(內(nèi)容比上面這位少一些,但都挺實用的)

Code Monkey(有很多關于C#編程的內(nèi)容)?

Telegram上有一個挺活躍的Unity技術交流群,你可以在上面問任何問題(僅允許使用英文)。TG鏈接:t.me/unityThreeD?

給不能翻墻的朋友:

b站- M_Studio: https://space.bilibili.com/370283072?from=search&;seid=10106931170352874846 Siki

學院: http://www.sikiedu.com/ Unit

官方手冊: https://docs.unity3d.com/cn/2018.4/Manual/index.html Unity

官方腳本文檔: 英文:https://docs.unity3d.com/ScriptReference/ 中文:https://docs.unity3d.com/cn/2018.4/ScriptReference/index.html UnityList(有很多開源項目): https://unitylist.com/ C#官方文檔: https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??作者:時光

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?審核:円島

APC編輯部科普組

加入我們:956098947

科普平臺:格物社·科普平臺

QQ群:605923025


簡單的2D游戲開發(fā)經(jīng)驗分享的評論 (共 條)

分享到微博請遵守國家法律
天柱县| 阳山县| 清流县| 三亚市| 岑巩县| 昔阳县| 吉林省| 白河县| 夏河县| 梅河口市| 绥棱县| 抚远县| 顺平县| 兰西县| 铜陵市| 仁寿县| 新民市| 罗田县| 西城区| 密山市| 维西| 花垣县| 绥化市| 普定县| 滦南县| 仁怀市| 景洪市| 雷波县| 马公市| 噶尔县| 南川市| 丹江口市| 闸北区| 景洪市| 项城市| 盐亭县| 黑水县| 民勤县| 赞皇县| 道真| 临泉县|