从像素游戏到 3A 大作的游戏引擎/框架
工作不饱和,想自己做个游戏玩玩?无论是网页小游戏还是 3A 大作,这里的游戏引擎/框架都能轻松驾驭,准备动手准备动手!
Godot :2D/3D 游戏引擎
Godot 是一个 MIT 协议下的 2D/3D 游戏引擎,其功能集类似闭源跨平台游戏引擎 Unity,可用于开发 PC、主机、移动和 Web 游戏,支持 Linux、Windows 和 OSX 开发平台。
Godot 引擎内置了类似 Unity 的编辑器,GUI 工具包,2D/3D 物理支持,支持 OpenGL ES 2.0 功能集的 3D 渲染器,易于学习的语言和 API,支持用 ASM.js 或 Google Native Client 输出 HTML5 代码。
开发者称该引擎的 2D 和动画支持要强于 Unity,而功能和特性完爆其它开源游戏引擎。
软件详情:https://www.oschina.net/p/godot
Cocos2D-X:跨平台手机游戏开发框架
Cocos2d-x 是一款国产的跨平台手机游戏开发框架,基于MIT许可证开源。引擎提供了图形渲染、GUI、音频、网络、物理、用户输入等丰富的功能,主要优势是跨平台、高性能、高兼容性、可热更新、可定制及易用性,目前被广泛应用于游戏开发及交互式应用的构建。
Cocos 引擎实在是赫赫有名,保卫萝卜 2、捕鱼达人 2、开心消消乐这些大热游戏都基于该引擎,盛大游戏、昆仑万维 、畅游、完美世界、4399、广州菲音、西山居等国内顶尖游戏公司都在用它,还有来自 Google、Zynga、Microsoft、Intel、Samsung、BlackBerry 等公司的老码农在贡献代码。
Cocos2d-x 引擎的核心采用 C++ 编写,支持使用 C++、Lua 或 JavaScript 进行开发。它文档齐全,易学易用,目前已经支持 iOS、Android、Windows、Mac OS、Linux、BlackBerry、Windows Phone 等平台。
软件详情:https://www.oschina.net/p/cocos2d-x
Open 3D Engine :实时 3D 开发引擎
Open 3D Engine (O3DE) 是一个模块化、开源、跨平台的 3D 引擎,起源于 Amazon 的 lumberyard 游戏引擎,可用于制作 3A 级游戏、电影级 3D 视觉和高保真模拟,基于 Apache 2.0 许可。
O3DE 的开发考虑到了最先进的实时图形和复杂的交互,具有多线程逼真渲染器、可扩展的 3D 内容编辑器、数据驱动的角色动画系统、实时物理引擎和不断增长的开源社区。
软件详情:https://www.oschina.net/p/open_3d_engine
C++ 实现的游戏引擎见得比较多,下面介绍一下其他语言实现的游戏引擎:
LITIENGINE:纯 Java 2D 游戏引擎
LITIENGINE 是一个开源 Java 2D 游戏引擎,可以使用纯 Java 语言来创建 2D 游戏的所有基础结构。该项目最重要的设计原则之一是对纯 Java 的依赖:其将外部依赖项的数量保持在绝对最低限度,以保持整洁轻便的库。
LITIENGINE 游戏引擎包含两个组件:提供基本游戏基础结构的轻量级 Java 库,以及专用的项目管理工具和地图编辑器 utiLITI。
LITIENGINE 基于 MIT 协议开源,原生支持 Windows、Linux 和 Mac OS,简单易上手。
软件详情:https://www.oschina.net/p/litiengine
jMonkey Engine:Java 3D 游戏引擎
jMonkey Engine 是一个用 Java 编写的完整的 3D 游戏开发套件,它封装了 OpenGL,提供一个完整的高性能工具包,专为想要创制作 3D 游戏的 Java 开发者设计。
jMonkey Engine 基于 BSD 协议,功能非常强大,支持 3D 音频、有多个物理引擎解决方案、自带创建地形的库和框架和开箱即用的后期处理。
软件详情:https://www.oschina.net/p/jmonkeyengine
KorGE:Kotlin 多平台游戏引擎
KorGE 游戏引擎是在 Kotlin 中创建的开源现代游戏引擎,体积小巧且易于使用,适用于桌面、Web 和移动设备。
KorGE 是完全异步的,KorGE 使用 intelliJ 作为 IDE + Gradle 进行构建,提供了一个嵌入在 IntelliJ IDE 中的强大编辑器,非常适合 Web 端。
KorGE 基于 MIT/Apache 2.0 双重许可。
软件详情:https://www.oschina.net/p/korge
Pyxel: Python 像素游戏引擎
Pyxel 是一个 Python 的经典像素风游戏制作引擎,支持 Windows、Mac 和 Linux 平台,内置 16 色调色板、图像和音频编辑器等基本组件,游戏控制台以及 API 的设计参考了经典的 PICO-8 以及 TIC-80。
像素风游戏的机制非常简单(如:最多只能显示 16 种颜色、播放 4 种声音等),任何人都可以轻松地享受这种游戏的制作过程。
注意:Pyxel 需要 Python 3.0 及以上版本。
软件详情:https://www.oschina.net/p/pyxel
下面是一些情怀游戏的引擎:
OpenRA : “命令与征服:红色警戒” 游戏引擎
OpenRA 是开源重新实现的“命令与征服:红色警戒” 游戏引擎(Westwood 工作室的策略类游戏“红警” ),利用 OpenGL 的新一代显卡硬件加速功能,围绕攻击移动、单位指令和战争迷雾等功能进行现代化设计,目标是重做成一款完全支持 Mod 和自定义地图的在线游戏。
OpenRA 包含社区用户创建和策划的地图,以及用于创建新 RTS 游戏的 Mod SDK,原生支持 Windows、macOS 和 Linux 平台,基于 GPL 许可。
软件详情:https://www.oschina.net/p/openra
Freeablo :暗黑破坏神 1 游戏引擎
Freeablo 是暗黑破坏神 1 游戏引擎的现代化跨平台重新实现,目标是使这个老游戏具有更快的性能、现代分辨率,以及一流的 Mod 支持。
Freeablo 只是暗黑破坏神的引擎实现,美术、音乐等游戏资产受版权保护,因此玩家需要用原始数据文件来玩游戏。目前可以在镇上、玩家和 NPC 动画中跑来跑去,还可以下到地牢的前几级。
Freeablo 基于 GPLv3,采用 C++ 开发,支持 Windows、macOS 和 Linux 平台。不过这个项目的开发已停滞了两年,因为开发者 wheybags 缺少空余时间。
软件详情:https://www.oschina.net/p/freeablo
地图制作方面,推荐:
Tiled:2D 关卡制作器
Tiled 是一款 2D 关卡编辑器,风格类似 mini 版的 photoshop,简单易用,基于 Apache/BSD/GPL 等多重许可。
Tiled 的主要功能是编辑各种形式的瓦片地图,它支持直线矩形瓦片层,也支持投影等距、交错等距和交错六边形层。Tiled 还支持对象层,可以自由放置图像和文本,采用对话框/引导文本等信息来注释关卡。
Tiled 还支持通过插件添加自定义地图或瓦片集格式、使用 JavaScript扩展 Tiled、瓦片戳内存、瓦片动画支持和瓦片碰撞编辑器。
软件详情:https://www.oschina.net/p/tiled
祝大家玩得开心!
本文所述软件已收录至 Awesome 软件集锦之开源游戏引擎/框架:https://www.oschina.net/project/awesome?columnId=22。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Db层治理:SQL精细化及并发更新数据丢失问题解决最佳实践
原创 得物技术 - 胡志敏 1.背景 1.1 概述 1.1.1 SQL精细化提出背景 目前使用比较广泛的数据库持久层框架有两个,JPA和Mybatis,先来简单比较一下这两种框架。 从选择上来看,和业务场景是有关系的,迭代比较频繁、复杂性较高,配合MYSQL数据库,我们的数据库持久层选用的是Mybatis,Mybatis的一个很重要的特性就是开发可以自己写SQL,或者借助自动生成工具生成SQL,在实际的开发工作中,没有统一的规范,我们习惯于SQL Mapper文件中的通用的或者万能的查询、更新、插入等方法上叠加自己的增删改查操作,随着业务的场景增多,SQL的复杂性也会随着上升,那么在开发完成开发之后,一个可以review的SQL是我们迫切需要的,大家在CR代码的时候,可以很快的发现SQL中可能存在的一些问题,比如慢SQL、是否走到索引、走了哪个索引等。SQL质量的好坏将会影响整体应用的性能以及整体链路的压力,所以对于SQL的精细化管理是很有必要的一项工作。 1.1.2 并发更新导致数据丢失问题 我们的数据库表结构设计的时候,往往会预留一个feature字段,很多的业务增值信息都会存...
- 下一篇
基于Impala的高性能数仓建设实践之虚拟数仓
导读: 本文主要介绍网易数帆NDH在Impala上实现的虚拟数仓特性,包括资源分组、水平扩展、混合分组和分时复用等功能,可以灵活配置集群资源、均衡节点负载、提高查询并发,并充分利用节点资源。 对于高性能分析型数仓,除了需要有优秀的执行引擎能够让查询尽快完成外,还需避免因为查询间的相互干扰导致查询性能下降的问题,比如对计算和IO资源的竞争等。上节提到Impala可以通过资源池来进行计算资源的管理。但在使用时发现光有资源池还不够,仍然会出现不同的资源池竞争同一个计算节点上内存资源等问题。 1基本概念 “虚拟数仓”来源于Snowflake的“virtual warehouse”,简称VW。虚拟数仓能够按需进行水平和垂直扩缩容,是一种高效的资源调度方法,是存算分离设计架构下,计算资源弹性伸缩非常好的验证案例。如下图所示,该Snowflake集群有两个虚拟数仓,分别服务于BI和ETL用户。其中BI虚拟数仓为了应对报表查询的高低峰,采用了单元化的水平扩缩容模式,ETL主要关注计算能力,采用了改变虚拟数仓规格的模式。 NDH的Impala组件也具备类似的能力,在开始之前,先结合Impala的实际来...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- MySQL8.0.19开启GTID主从同步CentOS8
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装Docker,最新的服务器搭配容器使用
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址