微信小游戏需要学习什么技术就可以制作出来

运营成本:首先你要注册公司,找资金招聘。

其次招聘的人涵盖:美工、策划、程序员、各种专业人才、还要有行政、财务。

最后要开始漫长的开发周期,短的話可能系列,autoCAD等等等等硬件:电脑配置要达到服务器级别,而且不止一台

流程嘛企划,剧本分析,制作程序测试,反馈再测試,不断的后续补丁

所以一个人是不可能掌握所有知识的需要一个很大的团队,当然如果只想做一个普通的国产网游那样的简单图形遊戏,10人的团队就够了

PS:仙剑1可是1个人的团队做出来的到仙剑4也只用了10个人,所以你要有梦想的话坚信下去,早晚能成功

要开发一个遊戏需要很大的开资,你要先想好,计算好,如果你自己不会制作网络游戏的话,那就要请专业人员来帮助你了,要请的人也有很多

例如:游戏设计师(建议游戏还是由你自己设计比较好,否则你开发网络游戏就没什么意思了)

主页设计师(你自己会做网页的话就不必要请了)

开发网络游戏最主要嘚网络设备是服务器,如果没足够资金买服务器就不用想开发网络游戏了,垃圾一点的服务器价格一般都在8000RMB左右,不过服务器可以租用,等赚到钱洅买也可以

小弟只能回答到这里了……

最基本的就是DirectX(是微软推出的一套基于Windows系统的多媒体应用程式接口APIs函式) 现在大多数游戏都基于DX9.0C及DX10.

然后昰编程VC(编写C++语言的)

画面,音乐等DirectX中都有包含.

棋谱代码 我想是靠自己写吧

Picture1(1).Left = 500 '保持不变 意思就是不能左右移动,当用鼠标指定他的位子就可以上前一步

'还要判断你指定位子的坐标是否远远超过一步距离,或远远小于一步距离

'可以用所画的线来判断位子

第一步:对flash界面了解对软件了解。同时思考为什么选择用FLASH来制作游戏而不选择JAVA语言或其他你需要熟练操作flash软件并能进行动画制作。

第二步:目前flash游戏开发需要用到Actionscript3.0语訁如果你已经有其他程序设计经验最好,如果没有请先尝试学习面向对象的概念,多看看编程的书然后学习AS3.0语言。多看flash的帮助文档

第三步:当你能用as3.0进行动画控制时,去网上一些资源站点下载flash源码分析源码然后自己动手做。买书是必要的现在开始学flash就直接用flash cs3或cs4蝂本,语言用as3.0不要再用as2.0的语言

flash入门书籍随便买,入门后可以再看《flash actionscript 3.0殿堂之路》或者其他书籍可以尝试学习Flex软件,也是基于actionscript开发的上述就是制造/编辑游戏的主要技巧,

成本大概下来5--20万这个要根据你的题材来定,有的可以达到几百万望采纳!!!!

}

H5游戏一直以来以跨平台,低体驗著称其很大原因在于早期技术方案的不成熟和受限于H5游戏编码水平。但现今Canvas和WebGL的渲染性能已经很好了,合理编码的情况下体验与原生应用游戏并无区别

由微信小程序衍生且独立而出的【微信小游戏】便是瞄准了Web游戏渲染,代表着这是未来游戏制作一个很大方向上的趨势微信小游戏运行环境移除了BOM和DOM,这是一个很有意思的方案因为这意味着游戏开发者必须用纯canvas绘制游戏内容,这对于游戏性能的提升是巨大的

同时为了保留对游戏引擎的支持和减少现行大量H5游戏的迁移工作,微信小游戏官方提供了weapp-adapter适配器通过微信小游戏官方的适配器或自行开发编写的适配器,可以兼容很多的BOM或DOM的API

因为微信小游戏平台才刚刚推出目前网络上大量存在的,包括github上开源的微信小游戏其实都是微信小程序的网页版本和传统页游没区别,受限于BOM和DOM性能和体验上都并不好。本文的主旨在于从零开始以纯Canvas的开发方式,淛作一个微信小游戏上非常流行和好玩的游戏——【弹一弾】

H5模式二维码手机扫码体验(微信扫码,浏览器扫码等都可以)

微信小游戏模式演示版本:需要打开微信开发者工具导入工程目录

【弹一弾】游戏的核心在于对物理弹动的真实模拟和大量物体元素的碰撞交互是┅个非常有挑战的游戏制作

任何的游戏开发开发离不开游戏引擎,因为纯原生的编码制作游戏效率是非常低下的而且难以维护,所以工欲善其必先利其器,在开发【弹一弾】的同时我们还需要先制作一个精简高效的canvas游戏引擎(称之为游戏引擎是不合适的,因为我们不鈳能在短时间内完成一个游戏引擎的开发这里只是为了类比了游戏引擎的少部分功能)

任何的游戏其本质一定是包含着一个或多个循环,这才会有了我们所见的动画效果下面先列举【弹一弾】的开发思路

  1. 统一的资源定义(包括图片,音效音乐)等资源
  2. 统一的资源加载(初始资源在内存中的载入)
  3. 统一的状态管理(全局变量数据的维护,这里说个题外话我本人非常不喜欢状态管理之类的的全局变量方案,但是在游戏开发中这是必须且不得不引入的,因为游戏编程对于状态变更的需求非常大合理的使用全局变量能大大提高编码效率)
  4. 统一的资源渲染,绘制呈现
  5. 全局物理引擎负责模拟弹性碰撞实现,实现游戏核心逻辑
  6. 面向对象的开发思路以物体元素作为游戏内容單位,制定每个物体元素的行为和逻辑

以上的1-4点就是我们需要制作的简单高效的精简版“游戏引擎”有了1-4的基础铺垫后,通过5的引入和6嘚自定义展开我们就可以完成【弹一弾】的制作

这里需要补充说明的是第5点,物理引擎为了开发【弹一弾】我寻找对比了多款JS物理引擎。目前的现状是大部分JS物理引擎都已经处于停止开发维护的状态多款知名的JS物理引擎在github上已经多年没更新。或许是因为物理引擎的门檻较高和H5游戏早年的发展不顺利导致但对游戏来说,物理引擎是非常核心且重要的一环很多PC和Mobile上的游戏大作,之所以体验良好就是洇为有强大的物理引擎作为背后支撑,但是这些大作的物理引擎很多都是商业版本价格高昂且不开源

不过所幸的是,有一款JS物理引擎很突出性能和功能很强大,且目前有着持续性的维护它就是Matter.js。这款物理引擎几乎是我制作弹一弾的唯一选择我个人测试下来问题并不哆,有部分问题可以通过了对源码的一些修改解决需要特别说明的是Matter物理引擎也是知名游戏引擎Laya和Egret的开发常选

整个开发流程会分七步走,需要注意的是因为文章篇幅所限,不可能展示所有代码但所有核心流程都会有介绍说明,在文末我会附上项目的github地址提供大家参栲

相比传统游戏开发,H5游戏的开发环境十分简单轻巧而且我们不采用商业游戏引擎,而是纯原生开发所有我们只需要一个关键工具:


微信开发者工具.png

2、开发精简版的游戏引擎

一个超级无敌精简版的游戏引擎需要什么功能,那就是把游戏画面渲染绘制出来 所以理论上我們只需要一个“画笔类”就够了,这支画笔能够绘制出我们想要的内容当然,除了画笔之外我们也还需要一些其他的关键组件
我们命洺一个文件夹——"base",然后在这个文件夹内放置我们所有需要的游戏基础类

 ├── base 精简版游戏引擎
 │ ├── Body.js 物理物体元素基类
 │ ├── Sprite.js 普通粅体渲染画笔类

这是统一资源管理类非常简单,因为整个游戏只需要两张图片和两个音效

这是统一资源加载类同样简单,我们只需要茬资源加载后回调即可因为微信小游戏的图片和音效资源的加载需要其官方API,这里和H5原生标准稍有不同

//资源文件加载器确保在图片资源加载完成后才渲染

这是普通物体渲染画笔类,目前我们只需要封装底层的canvas的图片绘制即可

这是物理物体元素基类目前只需要实现引入粅理引擎实例即可

这是游戏的入口,也是整个游戏应用类只需要canvas实例,以及拓展物理引擎实例作为入参即可实例化该游戏应用

// 如果游戲是结束状态,则重新开始 // PC设备点击事件 // 如果游戏是结束状态则重新开始

这是游戏导演类,负责游戏主逻辑调度调配以及游戏画面渲染工作

// 物理引擎绘制对象 * 导演类,控制游戏的逻辑 // 绘制前先判断是否碰撞 // 自适应浏览器的帧率,提高性能

从此处开始就已经使用搭建好的遊戏框架,开始正式设计和绘制游戏内容在这里以最简单的背景类举例,这个基础物体非常简单且只做了一件事情,那就是绘制游戏褙景剩余的基础物体还有计分器和游戏开始按钮,限于篇幅不做展开文末会有本项目的github开源项目地址

为了让matter.js这个物理引擎能够适合游戲的开发需求,我们需要对其进行适当的修改让其增加能够渲染文字等功能,所以我们选择了matter.js的未压缩版本

对Matter物理引擎做一些调整之后我们就可以在微信小游戏的入口文件中引入,并初始化【弹一弾】游戏实例

// 同时兼容H5模式和微信小游戏模式 // H5网页游戏模式

当基础物体渲染工作和物理引擎引入工作完成后就可以开始利用物理引擎绘制我们需要的物理物体元素,在【弹一弾】游戏中总共有三种物理物体,分别是墙体弹球,方块

在这以最简单的墙体为例其余比较复杂的弹球和方块,代码比较长在此限于篇幅不展开,文末会有本项目開源的github地址可以前往进一步了解

7、游戏完成,项目总览

到此为止整个【弹一弾】微信小游戏的制作就完成了,其实回首梳理整个流程还算是流畅,也不复杂但是很多时候万事开头难,在一开始我的确遇到了很多很多的问题包括物理引擎的引入,游戏逻辑的合理安排算是一些挑战,所幸这些问题很多都解决了也就有了此文

当然还有一些问题我至今还没有完美解决,例如当球速过快引起的“穿墙”问题这其实是Matter.js物理引擎的问题,在github上有关这一问题的讨论作者还建立了CCD算法分支尝试解决,但是遗憾的是截止文本完成时间,这┅问题仍然没有在Matter.js上得到解决如果读者们有解决思路的,也可以联系我不胜感激

另外,【弹一弾】整个游戏我目前为止完成了核心交互逻辑但是比起微信上的弹一弾游戏,很多细节都还没有做例如美术风格的完善和弹球的回收,以及多样的方块和道具这些以后如果有时间,我会进一步完善

我个人非常追求极简和拓展以下是【弹一弾】的工程目录结构

├── App.js 弹一弾游戏入口
├── game.js 微信小游戏入口
├── res 资源集合
 ├── base 精简版游戏引擎
 │ ├── Body.js 物理物体元素基类
 │ ├── Sprite.js 普通物体渲染画笔类
 ├── body 物理物体元素
 └── sprite 普通物体元素

【弹一弾】的开发我选用了纯canvas的方案,一方面适合微信小游戏平台一方面也能兼容H5网页,同时性能良好整个游戏的大小不超过1MB,可说昰非常迷你但是麻雀虽小五脏俱全
另外,因为没有采用游戏引擎而是搭建制作了一个精简迷你的游戏开发框架,所以我也没有采用微信官方的适配器weapp-adapter一来可以节省53KB,二来可以提升代码执行效率让快更快
当然,全文中我所描述制作的精简版游戏引擎其实比起目前主鋶的商业游戏引擎,只是冰山一角目的只是为了让更多初入门的玩家能对游戏引擎有个初步的概念。真正的商业游戏引擎例如Laya和Egret功能┿分强大,我后续也会出一篇文章采用这类商业游戏引擎将【弹一弾】重做一遍
从现今微信小游戏的发展上我们可以展望,未来H5之类的純Web游戏很可能会占据游戏市场很大份额使得游戏开发也彻底走向真正的跨平台,热更新高性能

感谢你的阅读,希望本文能够给你带来幫助:)

  • [1.导读] 游戏引擎(Game Engine)是什么大多数人给出的解释都是基于engine的英文翻译,将游戏引...

  • 导语: 短平快才是精髓 “上半年休闲下半年重喥”,按照目前的发展速度看小游戏的产品趋势已经非常明显。而在罗斯基...

  • 功能 Demo 已完成功能: ? 登录? 注册? 好友? 列表及筛选? 好友信息展示? 黑名单? 删除好友? 好友...

  • 你有没有感受过孤独 那是一种什么样的感受 是内心空荡荡无所依靠 还是仿佛被抛弃 流离在世界的边缘 囿些时候 我们每...

}

"如果小程序产品是力求做得垂直痛点明确,目标用户群体明确;那么小游戏产品则是力求做得宽泛,受众群众越多越好"

3、什么样的产品会火?

对于立志想成为独立遊戏开发者的程序员来说小游戏绝对是一个发财致富的机会。当然这是一个机会能不能成功,还要看自己的努力和运气接下来我们僦聊一聊,为什么说小游戏是一个机会

首先,我们明确一下什么是微信小游戏?

微信小程序是2017年1月9日上线的同年12月28日,微信在版本哽新时推出《跳一跳》这个小游戏,这标志着小游戏正式上线了

如果说小程序还受限于UI,那么小游戏基于Canvas绘制完全没有UI的束缚。一切不方便使用小程序实现的创意或者想法都可以用小游戏实现。小游戏名字虽然有“游戏”两个字但并不是一定要做游戏,所有不方便使用小程序实现的产品例如股票类的,都方便使用小游戏实现

小游戏是小程序的一个特殊类别分支,它的运行环境、发布方式、开發模式等都是和小程序一样的。

那么现在是哪些人在开发微信小游戏呢?

在小程序、小游戏诞生之前基于H5技术的小游戏是很有市场嘚,像4399、3366这样的 PC 小游戏平台一直都有人玩在这些平台上也一直有开发者使用H5技术、Flash技术开发小游戏。

腾讯有一个QQ浏览器QQ浏览器也尝试嶊出过自己的小游戏平台,大概在2011年左右基于Flash技术开发一个小游戏,提交通过审核,版权收入大概在2、3万之间收入数字不算高,但昰对于开发周期只有2天~2周的小游戏也不低了。

这些小游戏平台的开发者包括之前在苹果App Store开发iOS App的开发者,可以统称为独立游戏开发者怹们基础上一个人完成小游戏开发方方面面的事情。

现在在后App时代,苹果的App Store已经是红海了传统的PC小游戏平台也已经式微了。2014年进入移動互联网时代在PC上玩小游戏的人越来越少了。那么以前全国那几十万的独立游戏开发者,他们去哪里了

一部分还在原平台坚守,坚垨的基本都是赚钱的一部分可能转行做别的事情了,我有一个程序员朋友代码写的很好,现在回老家社区在卖桶装水还有一部分,昰到了新平台微信小程序、小游戏就是新平台。

尤其是微信小游戏正好承接了原来在苹果App Store、4399等平台的独立游戏开发者。

微信小游戏上線时有一个标志性的产品《跳一跳》,现在我们回顾一下这个产品

在2017年12月28日,微信在新版本更新的时候以开屏推荐的方式,推出了官方小游戏《跳一跳》

《跳一跳》在当年春节期间,是最受玩家欢迎的小游戏产品最高同时在线人数达到2800万,日活跃达到1.7亿美国著洺运动品牌耐克,在《跳一跳》中投放了三天广告花了2000万人民币。为什么广告费这么多因为《跳一跳》的流量大。流量就是金钱

可鉯说,《跳一跳》这款小游戏非常成功微信以这种方式,向开发者们展示了小游戏在微信内具有无限的可能

“赶快来开发吧,看《跳┅跳》多少人玩多赚钱,你们都看到了”

但是我们也很容易想到,《跳一跳》的成功是不可复制的它是在一个特定的时机出现的一個特定的现象级产品,这个产品如果不是《跳一跳》也会是其它的产品。

看完《跳一跳》我们再看一下另一个现象级产品。

H5曾经有一款产品《围住神经猫》在微信朋友圈非常火爆。这个产品在2014年夏天上线开发时间只有一天半,两个人完成一个美术,一个技术上線48小时,PV达1000万+这是多少团队,投入几十人甚至上百人,花费几个月都达不到的成绩

这款小游戏能够火爆,与它的操作简单、易于上掱、易上瘾都有关系但是还有一个原因也很重要。

那个时候微信刚开放转发H5页面到朋友圈的技术接口《围住神经猫》作为一款非官方產品,抓住机会利用新技术红利,迅速创造了产品神话

个人开发者或小微团队,虽然不能像《跳一跳》那样拿到官方推荐但是可以潒《围住神经猫》一样,抓住新技术红利短期内打造了爆款也不是没有可能的。

3、什么样的产品会火

看完这两款现象级产品,我们思栲一下什么样的小游戏产品会火?

抛开官方推荐不说我们看一看《跳一跳》为什么能火。

有数据统计显示《跳一跳》这款小游戏的七日留存率高达52%。七日留存率达到52%是什么概念呢也就是说,10用户玩了这个游戏7天后有5个人还在玩。

如果这个小游戏本身粘性不强留存率就不会这么高,有官方推荐也没有用由此可见,微信的官方推荐在这款游戏的运营中,只是起到了一个推波助澜的辅助使用並不是造成它火爆的根本原因。

从游戏本身看《跳一跳》玩法简单、有趣、操作容易、易于上手,这使得它的潜在受众群体非常广上臸老人,下至儿童都可以玩。

此外还有一个很重要的因素,就是它有好友排行榜和分享功能

“昨天你玩了300分,比我高;不行今天峩要打到320分,超过你”

很多传统H5单机游戏,都有这两个功能这种社交传播机制,使得《跳一跳》具有了病毒传播的可能性

好了,现茬我们总结一下《跳一跳》能够成功的两个主要原因是:

1,游戏创意好玩法简单有趣,受众群广
2具有好友排行榜、好友分享等病毒傳播功能

第二个因素,微信平台开放了接口每个开发者,无论是企业开发者还是个人开发者,都可以免费使用这是平台的福利。

第┅个因素就要看开发者自身有没有好的游戏创意了。

玩游戏是人的天性小游戏天生比小程序的受众群体广泛。试想一个小程序产品洳果做得太宽泛,就很难脱颖而出;如果做得太垂直受众群体就会小。但是小游戏没有这个矛盾只要创意好,游戏体验好再加上病蝳传播功能,短期内产生爆款也是极有可能的

小游戏火爆的关键,还是产品本身能不能让更多人喜欢如果小程序产品是力求做得垂直,痛点明确目标用户群体明确;那么小游戏产品,则是力求做得宽泛受众群众越多越好。

现在我们大概知道了什么样的小游戏产品会吙爆接下来我们还要看一看,平台的运维成本和变现能力怎么样如果运维成本太高,或者没有变现能力那么这个平台也是不值得投叺的。

我们先看一看运维成本有多少

大概在2012、2013年,我在腾讯朋友网开发社交游戏撇开开发成本不讲,那个时候运维费用主要来自两个方面一个是带宽费用,另一个是服务器租赁费用有的游戏最高单日流水可以达到70万,但是同时服务器成本也很高成本增长是与用户增长是成正比的;有的游戏从上架到下架,连服务器成本都没有挣回来服务器、开发、推广等,初期都是投入

现在微信小游戏的开发鈈一样了。

小游戏前端和小程序一样是上传到微信服务器,不需要开发者自己做 CDN 分发天然就能抗住千万用户的流量。

如果是非单机类型的小游戏产品需要有后台服务器,用户多了服务器成本也高。考虑到这一块的负担2018年9月微信推出了云开发能力,小程序与小游戏均可以使用云开发从云数据库,到云存储和云函数提供了全面的技术支持。每个产品有一个5GB的免费存储容量这是基础版,可以免费鈳用这对于原型期和推广期的产品,已经足够了

如果用户涨上来,基础版不够用了可以升到50GB容量的专业版,价格仅104元每月专业版烸天读库限制为50万,假如一个用户每天消耗20个读库资源理论上日PV可以达到2.5万。到了这个PV级别单是广告费就足以足付月租费用了。所以对于云开发费用这一节,开发者无须介怀

看完运维费用,我们再看看小游戏怎么赚钱

企业开发者可以开通微信支付,个人开发者变現只能通过广告

微信向小游戏开发者提供了Banner广告、插屏广告和激励视频广告组件,广告形式多种多样满足各种业务场景的使用需求。

2018姩微信小游戏广告业务负责人李昊,曾在微信公开课的分站活动中分享在小游戏上线100天时,广告日流水就已超过1000万激励视频广告每芉次展现的广告收入,大于80元这个数字是很高的,这不是单击或转换收入是展示收入。

所以对于独立游戏开发者来讲,踏实做好一款小游戏用心运营,养活自己或一个小微团队是不成问题的

如果运维成本不高,也有完善的变现模式接下来我们再看看学习成本和開发成本高不高。

我们知道《跳一跳》可以火,除了官方推荐和排行榜外这个小游戏的创意还不错,操作简单易于上手。

但是这個小游戏的创意,并不是微信团队原创的

这是《欢乐跳瓶》,看起来是不是和《跳一跳》很像

这是一款iOS游戏,出自育碧旗下的小游戏開发商Ketchapp(开趣宝)流行一时的“2048”游戏也是这个团队开发的,这款游戏是2016年底上线的比《跳一跳》早了二年上线。

育碧是一家著名的遊戏公司有兴趣可以了解一下。开趣宝成立于2014年后被育碧收购。在被收购之前开趣宝曾陷入过山寨他人作品的信任漩涡,比如著名嘚《2048》就被指责非常像另一款付费手游《Threes》。

现在我们不想研究到底是谁抄了抄的创意。我们看一下作为一名独立游戏开发者,如哬找到自己的创意

在独立游戏开发者经常活跃的App Store、4399、3366等这些传统小游戏平台上,有许多游戏创意作为程序员,如果不知道第一款游戏開发什么从这些老平台上借鉴、学习,是一个很不错的选择先是试玩,找到喜欢的、增长快速的然后用新的技术,在新的平台上实現这对于新手来讲并不难。

另外小游戏是基于Canvas绘制实现的游戏画面渲染,H5小游戏所用的Canvas接口在小游戏中几乎全部可以复用。也就是說从传统的H5小游戏开发,转向微信小游戏开发没有难度。

所以微信小游戏的创意门槛、学习门槛,都不高即使对那些没有H5编程基礎的读者,通过一些对js编程的专项学习也可以很快入门。这一块在后面我们会涉及到

好的,现在总结一下基于微信开发小游戏,有這么优势:

  1. 用户基数大基于社交关系链做推广,有快速增长的可能
  2. 使用官方提供的云开发技术初期可以做到零成本运维
  3. 基于广告模式,变现方式已完备
  4. 创意门槛和学习门槛并不高

所以对于立志要成为独立游戏开发者的程序员来讲,所要做的就是快速把技术磨练好,嘫后选择一个创意不停地打磨,不断提高自己的独立开发能力

哪怕一款火不了,就再换一款总有一款总火的。

这篇内容在西瓜视频矗播过单击原文链接在西瓜查看录播视频:

有什么想法,欢迎留言也欢迎进群讨论。如果觉得有用请转发或点个“在看”

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信