Game Frameworks
- unity 3d:最流行的游戏框架
- unreal engine:虚幻引擎,真实感超强
- cocos creator,cocos 2d:国产游戏框架
- godot:类似unity,基于OpenGL实现的游戏引擎,支持gdscript+csharp脚本。开源免费,非常开放。是一个非常值得自学的游戏引擎。
- scratch:https://scratch.mit.edu/ 小孩子的游戏工具
- CryENGINE:The most powerful real-time development platform for achieving the highest quality experience.只支持windows开发。
- Havok Physics
- Game Bryo:Gamebryo技术已经被业界领先的开发者广泛用于开发一流的游戏产品。这款成熟的引擎提供了完整的工具,灵活的工作流程,快速的原型开发能力和高性能的实时运行表现,以此简化了游戏的开发。
- Source Engine
- painterengine: 国产,纯C实现。https://www.painterengine.com/example.html。 底层依赖OpenGL,GLUT(OpenGL的工具库)等库。 Github:https://github.com/matrixcascade/PainterEngine/tree/master/core
- IRRLICHT:一个用C++编写的开源实时3D引擎。https://irrlicht.sourceforge.io/
- ebitengine:使用go语言开发的2d游戏引擎:https://ebiten-zh.vercel.app/
- stride:https://stride3d.net/ ,stride是一个开源C#游戏引擎。支持VR,有一个编辑器。也叫Xenko。Stride是一个用于真实感渲染和VR的开源C#游戏引擎。该引擎是高度模块化的,旨在为游戏开发者提供更大的开发灵活性。Stride带有一个编辑器,可以让你直观地创建和管理游戏或应用程序的内容。同时也支持Visual Studio编辑,支持Visual Studio本地运行。
- Amazon Lumberyard
- Haxe
- HaxeFlixel
- Lumberyard: 一个免费的游戏引擎,由亚马逊开发,支持3D游戏开发。
- Armory3D: 一个免费、开源的游戏引擎,支持3D游戏开发,使用Blender进行编辑和构建。
低代码游戏引擎
- RPG maker:不需要编程
- Game Maker:不需要编程
- stencyl:https://www.stencyl.com/ 无需编程
HTML5游戏引擎
HTML5引擎是最丰富的,各种框架层出不穷。其中PIXI.js、Three.js、babylon.js三者最强。
Mozila关于HTML5游戏介绍:https://developer.mozilla.org/zh-CN/docs/Games
http://html5gameengine.com/
- egret:也叫白鹭引擎,egret wing,从vscode改过来的编辑器。
- play canvas:https://playcanvas.com/ 一个基于WebGL的游戏引擎,可以用于创建高性能的3D游戏和应用程序。
- createjs:https://createjs.com/preloadjs
- defold:https://defold.com/ ,The ultimate game engine for web and mobile
- konva:html5的canvas库
- Pixi.js:html5的canvas库,最好用的2d图像渲染。html5的2D游戏引擎可以分为两类:用PIXI的和不用PIXI的。
- three.js:3d图像渲染
- babylon.js:webxr游戏引擎,一个用于创建3D游戏和应用程序的开源框架,支持WebGL和WebVR。
- GDevelop:一款无需编程就能开发游戏的2D游戏引擎。
- MelonJS: 一个用于创建2D游戏的开源框架,支持HTML5 Canvas和WebGL
- layabox
- ImpactJS: 一个用于创建2D游戏的商业框架,支持HTML5 Canvas和WebGL。
- eva.js:阿里出品
- phaser:https://phaser.io/ phaser是一个功能完备的游戏引擎,底层使用PIXI来执行所有的呈现人物。
- createjs:一个由Adobe赞助的开源JavaScript库,用于创建HTML5游戏和交互式应用程序。
- sar:字节跳动出品的web游戏工具。
游戏引擎两巨头
Unity和Unreal是使用最为广泛的游戏引擎,代表了当今游戏产业的最先进生产力。web端因为各种受限,虽然小游戏多如繁星,但是很难像Unity和Unreal那样不断产生风靡全球、制作精良的游戏大作。
webxr游戏引擎两巨头
Threejs和babylonjs是webxr中最流行的两个游戏框架。
字节小游戏支持的引擎
- cocos
- 白鹭egret
- laya
这三个是前端技术开发游戏的三个主要引擎。
游戏引擎的功能
- 物理:刚体、碰撞、连接、关节
- AI
- 渲染
- 网络
- 声音
- 动画
unity和unreal和cocos2d
游戏引擎的诞生并没有一个明确具体的时间点,往往要经历很长时间的摸索阶段才能正式与开发者见面。
unity 2006年,脚本支持csharp、js
unreal 二十世纪90年代,脚本仅支持cpp
cocos2d 2008年兴起于阿根廷。2011年,中国推出cocos creator。
三维建模
3ds Max、Maya、Blender
为什么不要使用Unity?
- Unity对开发者非常不友好,收费很高。
- Unity过于臃肿。
为什么要用Unity?
- Unity是目前最流行的游戏引擎。
unity和unreal的选择
- C#比C++容易学习,开发效率高
- unity对2d支持更好
- unreal视觉效果虽然更好,但是只有3A游戏才对视觉效果有高追求
什么是游戏引擎?
游戏引擎就是开发脚手架集合,便于快速制作游戏。
游戏分为很多种类型,有一些特殊类型的游戏引擎,例如文字冒险类的游戏引擎,棋类游戏引擎等。
像cocos、unreal等很多著名游戏引擎的诞生都是源于某个具体的游戏,游戏制作者在制作过程中积累了一定的经验,把这些经验沉淀下来、做得通用一点就会变成游戏引擎。