当前位置:首页>入围博克体计划>如何制造一个简单的2D游戏?

如何制造一个简单的2D游戏?

热帖

前言

本文主要介绍的是我在参加学校工作室考核(是的)时开发一个简单的2D横板跳跃游戏时的一些思路和开发记录,如果你对游戏开发比较感兴趣并且想成为一个游戏开发者的话,这篇文章或许对你会有一些帮助!如果你是一个游戏开发者的话欢迎来和我交流:D!

 

No.1

引擎选择

当决定开发一款游戏的时候,第一步要考虑的是游戏引擎的选择。所以首先要问自己一个问题:我需要用什么游戏引擎来开发游戏?相对主流的两款游戏引擎分别是Unity和Unreal Engine4(UE4),二者各有利弊,比如Unity的3D渲染效果不如UE4,但Unity有许多插件可以使用,开发效率会更高。

如何制造一个简单的2D游戏?

由于本文介绍的是2D游戏的开发,所以我个人觉得Unity是一个更优的选择(其实是因为我们学校工作室考核要求用Unity)。但是说到Unity,你的第一反应可能是胖鼠的某首电音神曲,而对这个作为游戏引擎的这个单词感到陌生。为了让你对Unity产生一点熟悉感,我来举几个用Unity开发的游戏的例子。
许多优秀的2D游戏都是用Unity开发,比如DEEMO(古树旋律)、Plague Inc.(瘟疫公司)、Hollow Knight(空洞骑士)、Gris、Ori and the Will of the Wisps(精灵与萤火意志)、Lobotomy Corporation(脑叶公司)等等。除此之外,一些相对轻量的3D游戏也可以考虑使用Unity开发,比如Monument Valley(纪念碑谷)、The ROOM(谜室)、Outer Wilds(星际拓荒)、The Almost Gone(忆落谜境)、Kerbal Space Program(坎巴拉太空计划)等等。
(上面举例的游戏都很好玩XD!感兴趣可以玩玩看。
(明日方舟也是用Unity开发的!(尝试抓人入教.

如何制造一个简单的2D游戏?

如何制造一个简单的2D游戏?

那么,选择好了游戏引擎接下来应该怎么做呢?当然是从官网上下载Unity(废话)!下载和安装Unity是完全免费的,建议在下载时选择“从Hub下载”(p4中的绿色选项)。Unity Hub非常便于管理项目和许可证(有的时候打不开项目是因为许可证过期,手动激活即可),也可以在Hub中选择安装多个不同版本的Unity自由切换。但是注意,更高级的编辑器版本中的一些功能可能无法在旧的编辑器上使用。

如何制造一个简单的2D游戏?

如何制造一个简单的2D游戏?

在安装好Unity之后,还有一个很重要的软件需要安装,那就是Visual Studio(VS)。VS是用来写代码的,因为做一个游戏肯定要通过写脚本来实现各种炫酷的功能啦。Unity的脚本编辑语言可以选择C#或者JS,这里建议选择C#(原因会在下文中解释)。如果本身有一定的JAVA编程基础的话是可以比较快上手C#的,因为二者在语法上有点像。
到这里,游戏引擎的选择和基本设置就完成了,我们可以进入下一个步骤——开发了。

 

No.2

开发流程

因为要做的是横板跳跃游戏,所以游戏的必备的两个元素已经出来了:地图系统和角色操控系统。在这个基础上开始思考接下来我们需要加入一些什么元素呢?我们可以给游戏加上故事和惊险刺激的战斗,这一切都基于“你想做一个什么样的游戏”。
我的大体思路是:主人公与几个NPC对话之后在商店里购买了武器,接下来用这武器打败了游戏里的大boss(可以吐槽我确实没有什么创新能力,这什么剧情…)。这个思路里面就包含了对话系统、商店系统、物品系统和战斗系统这么几个要实现的模块。于是,我们从思路中明确了我们接下来要实现什么样的功能,可以开始着手写代码了。
关于怎么写代码这一块:实现一个功能的方式有很多种,但是我们要尽量选择最优的那一种方式,所以在游戏开发中引入面向对象编程的思想是非常重要的。比如说可以装进背包格子的物品有一些公有的方法(获取名字、获取用途说明等等),我们可以用一个Iitem接口来存放这些公有的方法。尽量多使用接口或者采用合适的设计模式来编程。

 

之后需要美术来帮忙。如果自己不会画画的话,Unity的asset store里有很多免费的资源可以用。不过!还是和身边的大触们搞好关系吧(瘫痪

如何制造一个简单的2D游戏?

 

No.3

技术困难

写代码的时候遇到技术难题是很正常的,俗话说代码十分钟debug两小时不无道理。那么写脚本的时候遇到难题又没有人能问的时候怎么办呢?百度当然非常不错,但是百度广告太多,而且亲测上面有的方法并不是很棒(我当时找控制人物行走的脚本,测试了几个都有非常大的问题)。

 

然后最重要的一点是:在网络上搜索解决方案的时候我们能查到的例子基本都是用C#写的,这也是为什么在上文中建议选择C#为脚本语言而不是JS的原因。

 

推荐一个好一些的网站(或者直接在谷歌上搜索也可以):
Stack Overflow:https://stackoverflow.com/

 

此外,你也可以在油管上试试看能不能找到答案。介绍一些不错的游戏开发相关的油管主:
Brackeys(涵盖了非常多内容)
Blackthornprod(内容比上面这位少一些,但都挺实用的)
Code Monkey(有很多关于C#编程的内容)
Telegram上有一个挺活跃的Unity技术交流群,你可以在上面问任何问题(仅允许使用英文)。TG链接:t.me/unityThreeD

如何制造一个简单的2D游戏?

给不能翻墙的朋友:
b站- M_Studio:
https://space.bilibili.com/370283072?from=search&seid=10106931170352874846
Siki学院:
http://www.sikiedu.com/
Unity官方手册:
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/

如何制造一个简单的2D游戏?


作者:时光

审核:円岛

APC编辑部科普组

总部候考群:https://jq.qq.com/?_wv=1027&k=Gxm8DflR 

科普平台:https://jq.qq.com/?_wv=1027&k=BCtwKu2W

如何制造一个简单的2D游戏?

本文由奇点天文作者上传并发布,奇点天文仅提供文章投稿展示,文章仅代表作者个人观点,不代表奇点天文立场。

本文由奇点天文作者上传并发布,奇点天文仅提供文章投稿展示,文章仅代表作者个人观点,不代表奇点天文立场。

给TA充能
共{{data.count}}人
人已充能
入围博克体计划奇点妙想宇宙之谜

甲烷如何做为比氧气更强力的"生命特征"

2021-1-2 22:20:39

入围博克体计划奇点妙想

量子跃迁的新观点挑战了物理学的核心原理

2021-1-3 22:19:10

51 条回复 A文章作者 M管理员
  1. 轻松打蓝天

    一个人在科学探索的道路上走过弯路犯过错误并不是坏事;更不是什么耻辱;要在实践中勇于承认和改正错误。

  2. 空

    我首先要求诸君信任科学;相信理性;信任自己;并相信自己。

  3. 白开水大胆

    科学家不创造任何东西;而是揭示自然界中现成的隐藏着的真实;艺术家创造真实的类似物。

  4. 黑裤娇气

    我要把人生变成科学的梦;然后再把梦变成现实。

  5. 无私扯老鼠

    无论鸟的翅膀是多么完美;如果不凭借着空气;它是永远不会飞翔高空的。事实就是科学家的空气。

  6. 舒服给小丸子

    在科学上最好的助手是自己的头脑;而不是别的东西。

  7. 娜美

    科学要求一切人不是别有用心而心甘情愿地献出一切;以便领受冷静的知识的沉甸甸的十字勋章这个奖赏。

  8. 戒鹽

    学科学是一口气也松不得的;科学的成就就是毅力加耐性。

  9. 睫毛膏发嗲

    一个人在科学探索的道路上走过弯路犯过错误并不是坏事;更不是什么耻辱;要在实践中勇于承认和改正错误。

  10. 手套怡然

    科学既是人类智慧的最高成果;又是最有希望的物质福利的源泉。

  11. 奶喵九九酱

    科学成就是由一点一滴积累起来的;惟有长期的积聚才能由点滴汇成大海。

  12. 安安老师

    在科学上最好的助手是自己的头脑;而不是别的东西。

  13. 明日方舟

    这个可不简单啊😂,要写代码

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索