Nosso mecanismo de jogo Heaps.io e o conjunto de ferramentas e tecnologias em que se baseia sĂŁo o resultado de vinte anos de experiĂȘncia na criação de jogos: primeiro na Motion-Twin (criadores de Dead Cells ) e desde 2012 na Shiro Games ( Evoland , Northgard e Darksburg ).
Os jogos nomeados (2D e 3D) foram criados usando uma pilha de bibliotecas e ferramentas, cujo cĂłdigo fonte foi aberto desde o inĂcio e continua sendo desenvolvido e mantido.
Como muitas vezes me perguntam como criamos jogos, pensei que seria bom compartilhar detalhes sobre todos os elementos da pilha de tecnologia da Shiro Games. Ă perfeito para as nossas tarefas, talvez seja adequado para outras empresas.
![imagem](https://habrastorage.org/webt/ta/ae/tv/taaetvyngonlw-mmquauskz1ybm.jpeg)
Comunidade Haxe / Heaps
Se vocĂȘ tiver alguma dĂșvida ou apenas quiser discutir as tecnologias apresentadas neste artigo, entre em contato com a comunidade Haxe / Heaps:
Camada nativa
![imagem](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 :
![imagem](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
![imagem](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 ).
![imagem](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
![imagem](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)
- [ ]
![imagem](https://habrastorage.org/webt/84/zy/4p/84zy4p5ul_zbontnw5vov04jdjc.png)
HIDE (data-oriented) ( hrt.prefab.Prefab
). , ..; , .
HIDE , HIDE .
HIDE hide
( IDE), hrt
( , ).
, HIDE .
![imagem](https://habrastorage.org/webt/9f/yq/hb/9fyqhbifi9kjdopcyhsd7u3r0xc.png)
DomKit â . , .
XHTML- , . , DomKit CSS, -.
CSS HTML5, Heaps.io UI / UX .
![imagem](https://habrastorage.org/webt/sx/m2/vs/sxm2vsj4x1xv2gx345exjoq4ssy.png)
, , CSS .
, DomKit UI ( Heaps.io DomKit ).
DomKit .
Castle DB
![imagem](https://habrastorage.org/webt/10/sq/bx/10sqbxf9pliue1jxuw-tinfbf54.png)
Castle DB â , Shiro Game. , â , ( , , NPC, , ..).
IDE Castle DB, , . IDE Castle DB .
![imagem](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
![imagem](https://habrastorage.org/webt/ey/9g/ce/ey9gcevmc8oqjcdsnleyd9s4kkk.png)
HScript â , Haxe. , .
HScript â , . , Async .
![imagem](https://habrastorage.org/webt/2t/fq/ix/2tfqixra9cshmy8b_tuxdudgioc.png)
HScript , Haxe. , HIDE, ( , , ), .
HScript CDB / Hide, ..
github, haxelib install hscript
.
HxBit
![imagem](https://habrastorage.org/webt/uf/jj/uw/ufjjuwkgingnzi0ibsoirshobx0.png)
HxBit â . , ( ) / ( ).
.
MPMan
MPMan HxBit . , .
:
(). , , Shiro. , , , .
. Shiro Haxe, ! , , , , . , , .
, , : , , "" .
. , , , , - . , -, , , . , â , / .
Por fim, quero mencionar que a Shiro Games estĂĄ buscando ativamente desenvolvedores para trabalhar em projetos interessantes, mas ainda nĂŁo anunciados. VocĂȘ pode entrar em contato comigo no Twitter e ver uma lista de nossas vagas .