热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

微信小游戏开发新手教程13从想法到设计

在接下来的几节里,我会向你展示游戏制作的整个流程,从开始的一个粗略的想法,到游戏设计,再到最终的游戏制作。一个游戏通常开始

在接下来的几节里,我会向你展示游戏制作的整个流程,从开始的一个粗略的想法,到游戏设计,再到最终的游戏制作。

一个游戏通常开始于一个想法,这个想法可以是千奇百怪的,可以是五花八门的,甚至可以是可笑的。不论如何有一个想法,是一个游戏的开端。当你有了一个想法了以后,如果你希望它最终能够变成一个真正的游戏,那么你就必须要继续往前走,反复的思考,雕琢你的粗糙的想法,将它细化,形成一份具体的可行的游戏设计方案。

通常,当你将想法变成具体的游戏设计时,并不是那么顺利,你可能会发现这个想法漏洞太多,或者不切实际,亦或者这个想法的实现超出了你的能力范围,大部分的想法会在这一阶段被否定,或者被修改,你可能根本拿不出一份具体可行的游戏设计方案,亦或者,你的方案完全背离了起初的想法.....

无论你遇到的是哪种情况,都无需担心,因为这是游戏制作中再正常不过的事了,它告诉了我们两件事情:

- 我们脑袋中的大部分的想法都不切实际。

- 制作游戏是一项需要积累和反复练习的技能,没有人能一上来就做的很好。

言归正传,下面正式开始从想法到设计的过程。

首先,假设我们有了一个想法:我要做一个“打飞机”的游戏,要有一个炫酷的名字叫“太空保卫战”,我要控制着战机击落每一个入侵的敌人。

好了,现在我们有一个粗糙的想法了,我们甚至为游戏起了个名字,那么接下来呢,我们尝试为这个想法进行细化,让其变的更具体一点儿。

可以从下面这几个方面入手:

- 这是一个太空射击游戏,所以游戏的主题背景是太空。

- 我要能控制战机在太空中飞行,如何控制呢?因为这是一个手机上的游戏,所以一个比较好的控制方式是用手指点击战机,然后在屏幕中随意的拖动就可以控制战机的移动。

- 战机需要攻击敌人,因此我们的战机要能够发射子弹。

- 要有入侵的敌人,敌人如何入侵呢?最简单的方式就是不停的有敌人从屏幕上方飞下来,战机有两种选择,要么将敌机击毁,要么躲避敌机。

现在我们的想法已经有了些具体的内容了,我们打算有一个太空作为背景,使用拖拽的方式控制战机的移动,战机可以发射子弹,敌机不停的从上方下落,我们可以选择击毁敌机或者躲避敌机。

虽然想法已经丰富了很多,但是作为游戏设计,还是不够清晰具体。

游戏需要有一个目标或者也叫做任务,我们需要一个“目标”来作为玩游戏的动力,这里我们就将击毁敌机的数量当作一个目标,击毁的敌机数量越多,表示你越厉害。我们设置一个得分的数字记录,每击毁一架敌机,得分就加一。在游戏中尽可能多的击毁敌机,获得更高的分数,就是游戏的目标。

另外,游戏也需要有一个结束条件,总不能无止境的玩下去吧!这里,我们设定战机被任何一架敌机碰到,则游戏结束。

现在,游戏有了目标和结束条件,我们想法更加清晰和明确了:这是一个太空射击游戏,敌机不停的从上方入侵,玩家需要使用手指拖拽的方式控制战机移动,击毁或者躲避飞来的敌机,要在不被敌机碰到的前提下,击毁尽可能多的敌机,以获得更高的分数。

有了清晰的想法,下面我们可以做一些具体的设计了。

我们先从游戏的外观开始,画一些草图,来展示它看起来应该是什么样子。

图片

这是一个游戏开始界面,它展示了游戏的名字,并且只有一个“开始”按钮,点击“开始”按钮就会正式进入游戏。

图片

游戏大概是这个样子,敌机从上方不停的下落,战机不停的发射子弹,用手指拖拽战机,控制其移动,左上角显示的是游戏的得分。

图片

游戏结束后,我们只简单的显示游戏结束的提示,并增加一个“重新开始”按钮,点击后可以重新开始游戏。

以上就是游戏看起来的样子,非常的简单,一个开始界面,一个游戏界面,一个结束界面。开始界面负责展示游戏的名字,游戏界面是我们进行游戏的地方,结束界面提示游戏结束了,并且可以重新开始。


在纸上画草图可以帮助你梳理想法,而且这些草图也会是你制作游戏过程中的最好的参照。


游戏了外貌有了,下面我们要深入其中来设计逻辑了。

首先,来划分一下游戏场景,这里,简单的划分为两个场景:


- 开始场景

- 游戏场景


“开始场景”只负责开始界面,点击“开始游戏”按钮,就会进入到“游戏场景”,我们将游戏的所有的逻辑都放在“游戏场景”中。

接下来,分析一下战机,战机需要能通过拖拽来控制移动,另外,战机碰撞到敌机时,游戏就结束了。所以,战机需要处理以下的逻辑:


- 当手指点击战机拖拽时要做出响应,战机位置跟随手指移动。

- 战机碰撞到敌机时,则游戏结束,显示游戏结束提示。


接着,看一下子弹的逻辑,游戏一开始,战机就会不停的发射子弹,所以子弹需要用到“克隆”,当子弹被“克隆”出来后,应该位于战机的上方,这样看起来才像是战机发射的子弹,所以子弹被“克隆”出来后需要调整其位置,最后,当子弹击中敌机时,子弹就应该消失。所以子弹需要处理以下逻辑:


- 游戏开始后就不停的克隆子弹。

- 当子弹被“克隆”出来后,将其位置设置在战机的位置。

- 当子弹碰撞到“敌机”时,子弹应该被销毁。


接着,来看敌机,敌机需要不停的从屏幕上方的随机位置向下落,我们需要不停的产生敌机,所以需要对敌机进行“克隆”,新生成的敌机需要位于屏幕上方的随机位置,所以在敌机“克隆完成时”,需要对位置进行设置。另外,当敌机被子弹击中后,会被击毁,需要处理与子弹的碰撞,最后,敌机被击毁后,需要发送一个事件告诉得分加一。所以,敌机需要处理下面这些逻辑:


- 游戏开始后就要每间隔一定的时间“克隆”敌机。

- 当敌机被“克隆”出来后,将位置设置为屏幕顶端的随机位置。

- 当子弹碰撞到敌机时,敌机销毁,并发送一个“敌机销毁”事件。


最后,再来看一下得分,它只负责记录敌机被击毁的数量,所以它只需要关注是否有“敌机销毁”的事件。


- 查看是否有“敌机销毁”事件,如果有,就将得分加一


终于,我们有了一个比较完整的设计,有草图显示了游戏看起来的样子,有了游戏中每个部分的具体逻辑,来展示游戏运行时每个部分所应该负责的任务。

总结一下:

我们展示了一个想法是如何通过不断的完善和细化,最终变成一份游戏设计的。

下一节,我们会将所有学过的内容结合起来,做出自己的第一款小游戏。

游戏设计是需要不断的练习和打磨的,尝试将自己的想法变成一份游戏设计,不停的打磨,直到其完善。

最后,欢迎关注我的微信公众号:小蚂蚁游戏开发。了解更多与游戏开发有关的原创内容。


推荐阅读
  • 在众多不为人知的软件中,这些工具凭借其卓越的功能和高效的性能脱颖而出。本文将为您详细介绍其中八款精品软件,帮助您提高工作效率。 ... [详细]
  • 本文记录了作者在一次旅途中阅读阿道司·赫胥黎的《美丽新世界》的心得。通过探讨小说中对未来社会的预言,文章揭示了集权政府对人性和社会结构的潜在威胁,并反思了现代社会中的一些现象。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 本文详细介绍了MySQL InnoDB存储引擎中的间隙锁概念及其作用,探讨了它在解决幻读问题方面的关键角色,并解析了间隙锁与其他操作之间的冲突关系。同时,文章还讨论了next-key-lock的构成及应用,以及在不同场景下的优化策略。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文介绍了如何使用PHP代码实现微信平台的媒体素材上传功能,详细解释了API接口的使用方法和注意事项,确保文件路径正确以避免常见的错误。 ... [详细]
  • 正则表达式是一种强大的文本匹配工具,但在不当使用时,也可能成为安全漏洞的源头,特别是当它们被恶意利用以触发拒绝服务(DoS)攻击时。本文将深入探讨正则表达式如何成为攻击者的目标,并提供防范策略。 ... [详细]
  • 近期,谷歌公司的一名安全工程师Eduardo Vela在jQuery Mobile框架中发现了一项可能引发跨站脚本攻击(XSS)的安全漏洞。此漏洞使得使用jQuery Mobile的所有网站面临潜在的安全威胁。 ... [详细]
  • 基于Java的学生宿舍管理系统设计
    本论文探讨了如何利用Java技术设计和实现一个高效的学生宿舍管理系统。该系统旨在提高宿舍管理的效率,减少人为错误,同时增强用户体验。通过集成用户认证、数据管理和查询功能,系统能够满足学校宿舍管理的多样化需求。 ... [详细]
author-avatar
好几个健康2002_408
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有