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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

图片

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

图片

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

图片

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

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


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


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

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


- 开始场景

- 游戏场景


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

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


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

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


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


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

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

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


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


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

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

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


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


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


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

总结一下:

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

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

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

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


推荐阅读
  • 玩转直播系列之消息模块演进(3)
    一、背景即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 如何方便地退订邮件列表,避免混乱和烦恼
    本文介绍了如何方便地退订邮件列表,避免混乱和烦恼。文章指出,退订邮件列表可能会造成混乱,特别是当被意外添加到列表中时。为了快速、轻松地取消订阅,建议不要将退订电子邮件发送到用于发布消息的电子邮件地址。文章还介绍了邮件列表由邮件列表软件控制,作为邮件列表成员,可以对该软件进行一些用户控制。一些邮件列表允许使用自动电子邮件地址退订,但这可能会带来一些混乱。最后,文章提到退订邮件列表需要向电子邮件服务器发送特殊命令来脱离列表。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • Shodan简单用法Shodan简介Shodan是互联网上最可怕的搜索引擎,与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“ ... [详细]
  • 必须先赞下国人npm库作品:node-images(https:github.comzhangyuanweinode-images),封装了跨平台的C++逻辑,形成nodejsAP ... [详细]
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社区 版权所有