- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【精选】2D平面游戏开发指南
2D 平面游戏开发指南
由于对这个课题已有的信息不甚满意,因此在这里尝试对2D 平面游戏的不同的实现方式做一次
系统的分类整理,列出他们的优缺点,并讨论他们的实现细节。
一个比较长期的打算是把它做成一个权威透彻、易于理解的2D 平面游戏开发指南,如果您有任
何形式的反馈、更正、要求或者补充,请在文后留下您的评论。
免责声明:这里提供的一些信息来源自对某些游戏行为的反向工程分析,而不是来自分析源代码或
者游戏开发者,因此这不一定是这些游戏的准确的实现方式,也许仅仅是从外表上看起来像一种类似
的类型,另外需要指出的是,文中列出的区块的大小仅仅是为了实现游戏的逻辑表述,实际图像区块
可能是不同的大小。
四种实现的方式
我能想到的是有四种主要的方式可以用来实现一款2D 平面游戏,从简单到复杂依次是:
类型#1: 基于区块的 (单纯方式)
这种类型的游戏角色的运动限于区块内, 所以你永远不能站在两个区块之间. 也许会使用一些动画效
果来造出角色平滑移动的幻觉, 但就像游戏逻辑所关注的那样, 玩家总是恰好处于某一个特定的区块
的上方, 这是最容易的实现平面游戏的方式, 但这样的话在角色控制方面强加了很多限制,使得这
种方式并不适合传统的动作型游戏,但是,它在猜谜和电影技术领域很流行。
Flashback, shown with tile boundaries
例如: 波斯王子(Prince of Persia), 小鸡快跑(Toki Tori ), 偷金子(Lode Runner), Flashback
实现机理
这里的地图是区块组成的网格, 每个区块都定义了一些属性,例如这是否是一个障碍物、使用哪个图
片, 使用哪种类型的脚步声音等等.在游戏里,玩家和其他角色被一系列的一个或多个区块的协同移动
来代表。例如,在偷金子这款游戏里,玩家是一个单个的区块. 在小鸡快跑中, 玩家是一个 2× 2 的
区块. 在Flashback 中,并不像通常那样占有小一些的区块尺寸,在游戏里,玩家站着的时候是两个
区块宽五个区块高,而在卷缩的时候仅有三个区块高。
在这种类型的游戏中,玩家按对角线移动就算是有的话也是非常罕见的,但是,如果他是这样,这个
动作可以分解成两个独立的动作,同样地,他可能每次只前进一个区块,如果需要的话,多区块运动
可以用单区块运动的多次复合开实现(实际上在Flashback 这款游戏中,你总是每次前进两个区块),
算法如下:
1.当他决定前进的时候,做一个角色的拷贝(例如,如果向右前进一个区块,就为这个要向右前进
一个区块的角色的每个区块做一个拷贝)
2.检查这个拷贝与背景和其他角色的交叉点。
3. 如果有交叉点被发现,这个角色的运动被堵塞,相应地做有关出力。
4. 否则,道理是畅通的,把角色移动到那里,有时候会放一个动画使得变化看起来很平滑。
这种类型的运动非常不适合传统的弧线形状的跳跃,所以,这种类型的往往没有跳跃动作(小鸡
快跑,偷金子)。或者仅仅允许垂直或水平方向的跳跃(波斯王子,Flashback)。这无非是一些线
性运动的特例而已。
这种系统的优点是简单和精确。既然这种游戏有更多的确定性,差错可能大大减少,游戏体验也
受到更多的限制,根据环境需要只有很少的游戏参数设置。与更加复杂一些的运动风格相比的话,
这里实现某些特定的机制(就像抓边和单向平面)变得像吹口气那么简单,所有需要你做的就是检查
玩家的区块和背景区块以某种给点的方式结合起来允许一种给定的动作而已。
原则上,这种系统不允许小于一个区块的动作,但这个不足可以通过一些不同的方式缓解,例如,
区块可以比游戏角色小一些(就是说,一个角色是2*6 个区块),或者你可以允许一个仅仅视觉上的
运动在一个区块内部发生,而不影响逻辑。(我相信这是偷金子-传奇归来这款游戏实现的方式)
类型#2: 基于区块的 (平滑方式)
碰撞能够通过区块地图测定,但角色仍然能够自由地环游世界(典型的是 1px 解决方案,联成整数,
但参考本文后面的考虑运动平滑化的评注),这是8-bit 和16-bit 控制台平面的最普通的实现方式,
并且直到现在仍然流行。由于这种方式仍然易于实现并且使得平面编辑(level editing)比精巧的技
术简单很多。它还允许斜面和光滑的跳动弧线。
如果你想作一款动作游戏,但不确定那种类型的平面是你要实现的,我建议你做这种类型的。他
灵活,相对容易实现,而且提供给你这四种类型最多的控制,无怪乎多数最好的动作游戏都是在这种
您可能关注的文档
最近下载
- 人教版(2024)一年级数学上册《10的认识》(课件).pptx VIP
- 2024全国职业院校技能大赛GZ106研学旅行赛项规程+赛题 (3).docx VIP
- 八年级英语上册各单元练习题及专题语法习题.doc VIP
- FANUC工业机器人集成359.pptx VIP
- 高温气冷堆核电站三壳组对专用工装及安装方法.pdf VIP
- 【医学】呼吸内科诊疗常规 共(29页).doc VIP
- 公司财务原理 第十一版 习题答案 - Principles of Corporate Finance ,11th edition ,solution.pdf VIP
- 电气控制与S7-1200 PLC应用技术教程郑海春习题答案.docx VIP
- 《网络安全》安全教育PPT课件.pptx VIP
- 《结核病患者外周血淋巴细胞亚群检测及临床应用专家共识》(2020)要点.docx VIP
文档评论(0)