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?

  1. Unity对开发者非常不友好,收费很高。
  2. Unity过于臃肿。

为什么要用Unity?

  1. Unity是目前最流行的游戏引擎。

unity和unreal的选择

  • C#比C++容易学习,开发效率高
  • unity对2d支持更好
  • unreal视觉效果虽然更好,但是只有3A游戏才对视觉效果有高追求

什么是游戏引擎?

游戏引擎就是开发脚手架集合,便于快速制作游戏。
游戏分为很多种类型,有一些特殊类型的游戏引擎,例如文字冒险类的游戏引擎,棋类游戏引擎等。
像cocos、unreal等很多著名游戏引擎的诞生都是源于某个具体的游戏,游戏制作者在制作过程中积累了一定的经验,把这些经验沉淀下来、做得通用一点就会变成游戏引擎。