我们的Heaps.io游戏引擎及其所基于的工具和技术集是二十多年游戏创建经验的结果:首先是Motion-Twin(死细胞的创造者),然后是2012年在Shiro Games(埃夫兰(Evoland),诺斯加德(Northgard)和黑斯堡(Darksburg)。
命名游戏(2D和3D)是使用一堆库和工具创建的,其源代码从一开始就是开放的,并且将继续进行开发和维护。
由于经常有人问我们如何创建游戏,因此我认为最好共享有关Shiro Games技术堆栈所有元素的详细信息。它非常适合我们的任务,因此也许可以适合其他公司。
![图片](https://habrastorage.org/webt/ta/ae/tv/taaetvyngonlw-mmquauskz1ybm.jpeg)
Haxe /堆社区
如果您有任何疑问或仅想讨论本文中介绍的技术,可以联系Haxe / Heaps社区:
本机层
![图片](https://habrastorage.org/webt/qp/gi/iz/qpgiizbupy8v_nxvwxe9qzhlnwe.png)
C C++. , C / C++ , ( ) .
, — AAA- — - 60 , - .
HashLink VM
HashLink — Haxe. JavaVM Mono ( Unity), HashLink VM .
.hl
, HashLinkVM JIT. HashLink C, — PlayStation, Xbox Nintendo Switch.
HashLink VM -, . , . , . , 3D- Northgard 500 .
HashLink — , , ( ) ( C), , , , .
HashLink , ( C), API. , , . , , .
HashLink : SDL2, DirectX11, OpenAL ( ), LibUV (), SSL () FMT ( Zip, Ogg, Png, Jpg) .
HashLink.
API Steam, , .
, .
. Shiro Games :
![图片](https://habrastorage.org/webt/nx/hc/hd/nxhchdqtnsq8txawdb0o3-pbvzk.png)
( ), .
Haxe. Haxe - , , , .
, Haxe, , Shiro Haxe, . , (C++, C#, JavaScript, Python, Java ..), Haxe .
Haxe — , . Shiro : HashLink JavaScript ( ).
- Haxe ( HashLink ), : Papers Please, Brawlhalla, Dicey Dungeons .
Haxe . Haxe Foundation, , Haxe .
Haxe .
: Heaps.io
![图片](https://habrastorage.org/webt/ic/3b/z0/ic3bz0xx0qpoyskf115rersnckg.png)
Heaps.io — , Shiro Games. :
, / . — ( HashLink). Heaps.io / API:
- HashLink DirectX11
- HashLink OpenGL / SDL2
- HashLink / C NVN ( API Nintendo Switch SDK)
- HashLink / C GNM ( API PS4 SDK)
- HashLink / C Xbox One SDK
- JavaScript WebGL2
: "HashLink / C" , HashLink C (JIT VM ).
![图片](https://habrastorage.org/webt/zb/05/i9/zb05i9q4zq7y2plk_0bwhg9_fkk.jpeg)
Heaps.io , . 2D / 3D , . , , .
2D 3D GPU GPU-. Heaps HxSL. HxSL — , , .
Heaps.io . , Heaps.io « » — (, , Photoshop, Maya, Blender ..)
Heaps , .
HIDE
![图片](https://habrastorage.org/webt/fn/ks/ob/fnksob6ugxu82_x-anjseebhwdu.png)
HIDE (Heaps IDE) — , 2D / 3D-.
HIDE — HTML5-, Heaps.io WebGL2, , Haxe HTML / CSS.
HIDE :
- 2D
- 3D FBX
- 2D 3D (timeline based effects)
- 2D 3D
- 3D- ( Darksburg)
- ( hscript)
- [ ]
![图片](https://habrastorage.org/webt/84/zy/4p/84zy4p5ul_zbontnw5vov04jdjc.png)
HIDE (data-oriented) ( hrt.prefab.Prefab
). , ..; , .
HIDE , HIDE .
HIDE hide
( IDE), hrt
( , ).
, HIDE .
![图片](https://habrastorage.org/webt/9f/yq/hb/9fyqhbifi9kjdopcyhsd7u3r0xc.png)
DomKit — . , .
XHTML- , . , DomKit CSS, -.
CSS HTML5, Heaps.io UI / UX .
![图片](https://habrastorage.org/webt/sx/m2/vs/sxm2vsj4x1xv2gx345exjoq4ssy.png)
, , CSS .
, DomKit UI ( Heaps.io DomKit ).
DomKit .
Castle DB
![图片](https://habrastorage.org/webt/10/sq/bx/10sqbxf9pliue1jxuw-tinfbf54.png)
Castle DB — , Shiro Game. , — , ( , , NPC, , ..).
IDE Castle DB, , . IDE Castle DB .
![图片](https://habrastorage.org/webt/tq/b0/of/tqb0ofe6eqhfuai0fceqtcdbhgu.png)
, Haxe, , CDB-, (enums) / / ..
// Data.hx
private typedef Init = haxe.macro.MacroType<[cdb.Module.build("data.cdb")]>;
CDB JSON, , (, , ..).
Castle DB ( -), HIDE, CDB ..
Castle DB castledb.org.
HScript
![图片](https://habrastorage.org/webt/ey/9g/ce/ey9gcevmc8oqjcdsnleyd9s4kkk.png)
HScript — , Haxe. , .
HScript — , . , Async .
![图片](https://habrastorage.org/webt/2t/fq/ix/2tfqixra9cshmy8b_tuxdudgioc.png)
HScript , Haxe. , HIDE, ( , , ), .
HScript CDB / Hide, ..
github, haxelib install hscript
.
HxBit
![图片](https://habrastorage.org/webt/uf/jj/uw/ufjjuwkgingnzi0ibsoirshobx0.png)
HxBit — . , ( ) / ( ).
.
MPMan
MPMan HxBit . , .
:
(). , , Shiro. , , , .
. Shiro Haxe, ! , , , , . , , .
, , : , , "" .
. , , , , - . , -, , , . , — , / .
最后,我想提及的是Shiro Games正在积极寻求开发人员来从事令人兴奋但尚未宣布的项目。您可以在Twitter上与我联系,并查看我们的职位空缺列表。