4款游戏开发引擎优缺点分析

news2024/9/22 21:21:57

随着微信生态中,小程序应用指数级的增长,许多休闲游戏变成为了众多游戏厂商流量变现的新手段。以近期很火的“羊了个羊”为例,它便是我们常常所说的小游戏。

游戏和小游戏的区别

要盘点小游戏开发引擎之前,我们得先来了解下游戏和小游戏两者之间的区别。

最核心的区别便在于运行环境的不同。基本上所有基于 HTML5 的游戏引擎都是依赖浏览器提供的 BOM 和 DOM API 的,而小游戏的运行环境是一个不同于浏览器的宿主环境,没有提供 BOM 和 DOM API,在微信中提供的是 wx API。通过 wx API,开发者可以调用 Native 提供的绘制、音视频、网络、文件等能力。

换句话说,如果用一个游戏引擎开发了一款游戏,如果要运行在App中,还需要引擎自身适配微信小程序的语法。

那么现在有多少游戏引擎适配了呢?官方的文档上介绍的是:Cocos、Egret、Laya以及Unity。最近了解到有一个​​小程序容器技术FinClip​​​,能够让运行在微信上的小游戏,同样运行在其他App中,感兴趣的小伙伴可以了解一下这个产品。
下面我们主要对这4款游戏开发引擎做介绍及优缺点的比较。

图片来源于微信开发者文档

一、Cocos

必须得把Cocos放在第一个讲,毕竟近期的羊了个羊就是基于Cocos引擎开发的。除了 " 羊了个羊 ",采用 Cocos 引擎开发的知名游戏还有《梦幻西游手游》《开心消消乐》《捕鱼达人》《热血传奇》《最强蜗牛》《剑与家园》《动物餐厅》等等爆款游戏。

编程语言:js,C++,lua

很多策划认为Cocos2D对于新入行的开发者来说不仅具备大量功能,而且非常容易上手。虽然该引擎比较复杂,但值得一提的是其功能和灵活性。

优点:强大而且灵活;理论上来讲,你可以为自己的游戏加入所有的iOS功能;提供成熟的框架和多种工具;开源、免费,社区支持强大。
缺点:和同类引擎相比比较复杂;学习门槛相对较高;特别适合Mac或者iOS平台,不过并不是跨平台引擎。
概述:cocos2d-x 的编程语言有不同的版本,是相对来说抽象比较少的引擎,也是我接触较少的一款游戏引擎,技术有点老了。

二、Egret(白鹭引擎)

Egret引擎是一个开源免费的游戏框架,用于构建二维游戏、演示程序和其他图形界面交互应用等。Egret使用TypeScript脚本语言开发。当游戏完成最终的打包后,可以将程序转换为HTML5游戏,实现跨平台特性。

Egret不仅仅是一个基于HTML5技术的游戏引擎,我们的产品线中除了Egret引擎还提供了很多辅助游戏开发的工具。准确的来说,Egret是一套游戏开发的解决方案。你可以使用Egret引擎来帮助你开发HTML5游戏,并运行在手机和PC端的浏览器中,同时也你可以使用Egret提供的相关工具搭建你自己的游戏开发工作流。

三、Laya Box(蓝亚盒子)

Layabox是北京蓝亚盒子科技有限公司打造的中国游戏引擎提供商品牌,旗下第二代引擎LayaAir是基于webGL的开源引擎,性能与3D是引擎的核心竞争力。配套引擎专属的可视化开发工具,引擎与工具同时支持ActionScript3、JavaScript、TypeScript三种开发语言,并且一次开发可以同时发布APP(安卓与iOS)、HTML5、小游戏(微信小游戏、QQ小游戏、百度小游戏、支付宝小游戏、BiliBili小游戏、字节跳动小游戏、小米快游戏、OPPO小游戏、vivo小游戏、华为快游戏、等)。除支持2D\3D的游戏开发外,引擎还可以用于应用软件、广告、营销、教育、线上虚拟展馆、智慧城市、智慧工业等领域。

LayaAir引擎是一套全新设计的精简API的游戏引擎,具有极致的性能、轻量易用、支持多语言开发、API功能齐全、工具链完善高效、免费、支持多版本发布等特点。

四、Unity

Unity3D对于游戏开发者们来说是一个真正可以负担的起的引擎,具有其他引擎难以匹敌的用户量。更为重要的是,你只需要付费一次,而且,不管你的游戏如何成功,都不用担心Unity会分走你的收入。这对于很多开发商来说当然是非常具有吸引力对,尤其是初创公司和新入行的开发者们。

优点:业内最具竞争力的授权条款;易于使用而且兼容所有游戏平台;开发者社区支持强大;学习门槛非常第;开发商使用率最高。
缺点:工具数量有限,所以开发商必须给自己创作工具;做复杂和多样化的效果比较耗时。

以上四种小游戏开发引擎,你钟爱哪一个呢?如果你有其他钟爱的小游戏开发引擎,欢迎您在评论区留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3+ts 实现文件在线预览

一、背景 企业微信自建项目中要求PC端也能进行文件预览,但是企业微信提供的接口只能在移动端使用,通过查阅资料修改成贴合项目的方法。参考:https://blog.csdn.net/w_t_y_y/article/details/115767747 kkFileView官方文档 二、preview-file…

浅析能源物联网技术在校园能耗监测系统中的应用与研究

摘要:绿色环保已成为时代的主题,与此同时,节能减排也成为我国蓝天保卫战的重要措施。我国大型公共建筑年耗电量约占全国城镇总耗电量的22%,每平方米年耗电量是普通居民住宅的10~20倍,是欧洲、日本等发达国家同类建筑的…

《四》多线程基础——Java线程生命周期及转换

Java并发编程系列文章 《一》多线程基础——Java线程与进程的基本概念 《二》多线程基础——Java线程入门类和接口 《三》多线程基础——Java线程组和线程优先级 《四》多线程基础——Java线程生命周期及转换 《五》多线程基础——Java线程间的通信(互斥与协作&…

Git统计代码行数;Java实现统计代码行数,忽略空行、注释行

前言 某天,产品叫我算下某个项目的代码行数,我一愣,这怎么统计?总不可能一个文件一个文件算吧?后面我找了下,git是可以统计提交到仓库的所有的代码的,不过有个问题,就是假如有些文件…

在STM32F103C8T6上使用RT_Thread Nano移植控制台和Finsh

一、移植环境: 开发环境:Keil MDK 5.33 硬件平台:STM32F103C8T6 RT_Thread版本:RT-Thread Nano V3.1.5 二、在RT-Thread Nano V3.1.5添加uart控制台 1.需要在rtconfig.h开启以下两个宏 1)#define RT_USING_CONSO…

ITK (1)窗宽窗位的意义与设置

背景与意义 医学图像与传统可视化图像相比,其具有更大的“灰度”范围。如,普通图像(灰度图像)的灰度范围一般是256级(即图像中最亮的点的灰度值定义为0,最亮的定义为255,也就是2^8,…

【图像处理OpenCV(C++版)】——2.1 深入理解OpenCV之Mat类及相关成员函数

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…

【论文阅读31】《OptCuts: Joint Optimization of Surface Cuts and Parameterization》

目录 一些疑惑 0 引言 1 introduction 2 related work 2.1 parameterization with fixed connectivity 2.2 Separate Cut Computation 3 problem statement ​编辑​ 3.1 数学形式1 3.2 数学形式2 3.3 能量函数 3.3.1 接缝线长度(归一化)&am…

程序员们,你会考虑使用中文编程吗?

众所周知,编程语言有一条无形的“鄙视链”。 Java和C#相互不服,并且看不起写Python的,Python看不起PHP,PHP看不起前端。而中文编程就在这个语言“鄙视链”的底端艰难生存。 有人对中文编程嗤之以鼻,相比于“人生苦短…

免费网课题库系统接口

免费网课题库系统接口 本平台优点:免费查题接口搭建 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库:题库后台http://daili.jueguangzhe.cn/ 题…

[附源码]计算机毕业设计JAVA职业中介信息管理系统

[附源码]计算机毕业设计JAVA职业中介信息管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…

Java进阶——IO流(I)

文章目录IO流一、文件1.1、文件流1.2、常用的文件操作1.2.1、创建文件对象相关构造和方法1.2.2、获取文件的相关信息1.2.3、目录的操作和文件删除二、IO流原理及流的分类2.1、Java IO流的原理2.2、流的分类2.3、IO流常用的类2.3.1、InputStream:字节输入流FileInput…

SSH 远程连接协议详解

一、SSH 协议 1、SSH 协议简介 SSH全称是Secure Shell,SSH协议是基于应用层的协议,为远程登录会话和其他网络服务提供安全性的协议。 SSH使用最多的是远程登录和传输文件,实现此功能的传统协议都不安全(ftp、telnet等),因为它们使用明文传输数据,而SSH在传输过程中的…

【云原生.docker】docker部署Redis集群

1、镜像拉取 docker pull redis:5.0.5 2、容器启动 docker run -d --nameredis-6400 --net host --privilegedtrue -v /home/dev/toms/docker_redis/data/redis-6400:/data redis:5.0.5 --cluster-enabled yes --appendonly yes --port 6400 & docker run -d --nameredis-…

在抖音及一些直播上,如何进行违禁词在线检测呢?

本文首发于:行者AI谛听 随着直播行业的兴起,越来越多的网红主播纷纷加入,平台的审核能力也面临着巨大的挑战,相对于平台的严格监管,很多主播也需要进行深层学习,避免在直播中出行违规。 其实很多主播在直播…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java小型餐饮综合管理系统j1c7m

首先选择计算机题目的时候先看定什么主题,一般的话都选择当年最热门的话题进行组题,就比如说,今年的热门话题有奥运会,全运会,残运会,或者疫情相关的,这些都是热门话题,所以你就可以…

文档对象模型 (DOM) :初学者介绍和指南

果你已经使用JavaScript一段时间了,你可能相当熟悉DOM(文档对象模型)和CSSOM(CSS对象模型)脚本。除了 DOM 和 CSSOM 规范定义的接口之外,CSSOM 视图模块中还指定了方法和属性的子集,从而提供了用…

Vue3知识点之数据侦测

Vue 的核心之一就是响应式系统,通过侦测数据的变化,来驱动更新视图。 实现可响应对象的方式 通过可响应对象,实现对数据的侦测,从而告知外界数据变化。实现可响应对象的方式: getter 和 setterdefinePropertyProxy …

IB课程工具书单,助力你考高分

亚马逊汇总了近期最畅销的IB课程工具书单,该书单以购买量和评分进行综合排名。其中的许多书籍都是IBDP学生可选用的绝佳工具书!1、Physics for the IB Diploma Coursebook 这本书涵盖了IB 2016年首考的物理课程要求。这本课程手册的第六版针对IB物理教学…

写出go程序

1.安装go包 下载地址:https://golang.google.cn/dl/ 2.安装vscode 下载地址:https://code.visualstudio.com/ 安装好后 以打开文件夹形式打开.go文件。 该文件自己创建一个即可。