当前位置: 首页 > news >正文

游戏要从简单做起

本文首发于微信公众号:小蚂蚁教你做游戏。欢迎关注领取更多学习做游戏的原创教程资料,每天学点儿游戏开发知识。

嗨!大家好,我是小蚂蚁。

做游戏要从简单做起,尤其是对于新手开发者,一定要从简单做起。如果在啥也不会的时候,一上来就想做个大而复杂的,那结果只能是以失败告终。

有目标是好事情,但是前提是目标要合理,登顶珠峰是一个好目标,但是对于一个从未登山的人来讲,很显然这不适合当作第一个目标。

怎么样算是从简单做起呢?我归结出下面的这三点:

  • 简单的美术。

  • 简单的策划。

  • 简单的逻辑。

先说说美术,你玩过的那些大游戏中的美术其实相当的复杂,对于很多从未画过画的新手可能并不这么觉得,如果你觉得美术不复杂,那你随意打开一个游戏,随便找个游戏中的人物,动手画一下就知道了。

你的游戏不需要做到那么好看(主要是你也做不到那么好看),只需要做到能看即可。大多数新手开发者的第一个游戏其实是完全不需要美术的,用基础的几何图形即可,代表飞机的不一定非得是飞机的图片,用三角形同样可以代表一个飞机。

先不要纠结于好不好看,那是你以后要做的事,更不要因为缺少美术素材就觉得游戏无法做下去,即使是对于做游戏的高手,在制作游戏原型的时候也是几乎不需要美术参与的。

美术只是游戏中的一部分,简单点儿有助于你能轻装前进。

再来说说策划,策划指的就是你要做一个什么样的游戏,这个游戏怎么玩,都有哪些规则等等。在策划这里,你很容易想太多,天马行空的想法加上毫无节制的想要在游戏中增加内容,最后的结果就是梦一场。

虽说做游戏是个创意型的工作,但是创意也得能够落地才有意义。否则,无非是天空中又多了一个想法而已。能够帮助创意落地的就是做游戏的综合技能水平,对于新手来讲,这个技能水平很低,那些很有创意的想法并不是不好,而是你无法实现。

所以,你要想的简单一点儿。拿策划中的数值举例,假设你现在想要做个英雄打怪的游戏,数值简单一点儿,只需要一个“血量”和“攻击力”就可以了,有了这两个数值就足够让英雄和怪物对打了,A 打 B 一下,B 的血量减少 A 的攻击力,B 打 A 也是如此,最后谁的血量到 0 了,谁就挂了。此时英雄的攻击力计算公式就是下面这样:

英雄攻击力 = 自身攻击力

现在你想为英雄增加武器了,那不同的武器肯定也是有不同的攻击力的,就可以再增加一个武器攻击力的数值,这时英雄的攻击力计算公式就变成了下面这样:

英雄攻击力 = 自身攻击力 + 武器攻击力

接着你又想要增加暴击了,因为有暴击的时候给玩家的反馈是很爽的,这时就可以再增加一个是否暴击的变量,如果有暴击的话,最终的攻击力会加倍,此时攻击力的计算公式就变成了这样:

英雄攻击力 = (自身攻击力 + 武器攻击力) * 2是否暴击

对于怪物来讲,不同的怪物有着不同的血量和攻击力,单就这两个数值就能做出很多不同的怪物了。可以看出,现有的这些数值已经足够在游戏中做出很多的变化了。

如果你一上来的想法是这样的:我要做一个英雄打怪游戏,英雄要有攻击力,各种技能,升级,护甲,暴击,天赋加点,各种级别的武器,宠物......数值该怎么设计呢?祝你好运!

最后,再来说一下逻辑。如果你的策划简单的话,那么逻辑也会简单,逻辑中的一个原则就是用最少最简单的逻辑实现你想要的功能。

逻辑并不是越复杂越好,更不是代码数量越多越好,如果 1000 行代码实现的结果跟 100 行代码一样的话,那只能说这 1000 行代码写的很烂。代码写的好不好不是以代码量为评价标准的,就像我们不会以一个医生开药的数量来评价医生。

能用简单的逻辑实现就不要搞复杂了,无需去比较什么,程序逻辑是游戏中的一部分,它为游戏服务,你的目标最终是把游戏做出来。

简单的美术,简单的策划,简单的逻辑,这些简单的东西能够帮助你最终把一个简单的游戏做出来。

学习任何一项新技能时,都有一个由简单到复杂的过程,开始时简单一点儿没什么不可,想要挑战的话后面有更复杂东西在等着你。

不过,所有一切的前提还是你得能够走下去,做简单的事能够帮助你树立走下去的信心。如果连简单的都不做的话,那么远处的山峰就只能观望了。

更何况对于一个游戏来讲最重要的事情其实只有一个,那就是:做出来

 

相关文章:

  • 长沙做网站湖南微联讯点靠谱/seo网站快排
  • 品牌网站建设方案/360摄像头海澳門地区限制解除
  • 网站建设moban/电商大数据查询平台免费
  • wordpress url传参数/班级优化大师的功能
  • 网站建设php怎么安装/免费搭建个人网站
  • 动态网站建设论文/典型十大优秀网络营销案例
  • 作一回白嫖怪:写一个脚本自动获取ST官网积分,用积分领取奖品
  • kali渗透测试系列---信息收集
  • 学python以后做什么工作
  • Python 的列表方法 append 和 extend 有什么区别?
  • 第27章 MySQL 临时表教程
  • Java项目:springboot私人牙医管理系统
  • SpringBoot系列之整合MyBatis框架
  • 低代码多分支协同开发的建设与实践
  • 是谣传还是真强?GitHub一战封神的“SQL优化手册”获赞过百万
  • 2022年终总结-两年Androider的成长之路
  • URLLC应用场景及未来发展研究
  • rabbitmq基础5——集群节点类型、集群节基础运维,集群管理命令