Technology Stack Shiro Games

Our Heaps.io game engine and the set of tools and technologies on which it is based are the result of twenty years of experience in creating games: first at Motion-Twin (creators of Dead Cells ), and since 2012 at Shiro Games ( Evoland , Northgard and Darksburg ).
The named games (2D and 3D) were created using a stack of libraries and tools, the source code of which was open from the very beginning, and which continue to be developed and maintained.
Since I am often asked about how we create games, I thought it would be nice to share details about all the elements of the Shiro Games technology stack. It is perfect for our tasks, so maybe it can be suitable for other companies.


image


Haxe / Heaps Community


If you have any questions or just want to discuss the technologies presented in this article, you can contact the Haxe / Heaps community:



Native layer


image


C C++. , C / C++ , ( ) .
, โ€” AAA- โ€” - 60 , - .



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 :




image


( ), .


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


image


Heaps.io โ€” , Shiro Games. :


  • 2D
  • 3D
  • (, , )
  • .

, / . โ€” ( 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 ).


image


Heaps.io , . 2D / 3D , . , , .


2D 3D GPU GPU-. Heaps HxSL. HxSL โ€” , , .


Heaps.io . , Heaps.io ยซ ยป โ€” (, , Photoshop, Maya, Blender ..)
Heaps , .


HIDE


image


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)
  • [ ]

image


HIDE (data-oriented) ( hrt.prefab.Prefab). , ..; , .


HIDE , HIDE .


HIDE hide ( IDE), hrt ( , ).


, HIDE .


DomKit UI Toolkit


image


DomKit โ€” . , .
XHTML- , . , DomKit CSS, -.


CSS HTML5, Heaps.io UI / UX .


image


, , CSS .
, DomKit UI ( Heaps.io DomKit ).
DomKit .


Castle DB


image


Castle DB โ€” , Shiro Game. , โ€” , ( , , NPC, , ..).


IDE Castle DB, , . IDE Castle DB .


image


, 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


image


HScript โ€” , Haxe. , .


HScript โ€” , . , Async .


image


HScript , Haxe. , HIDE, ( , , ), .


HScript CDB / Hide, ..
github, haxelib install hscript.


HxBit


image


HxBit โ€” . , ( ) / ( ).


.


MPMan


MPMan HxBit . , .
:


  • , ,
  • DLC
  • ( ).


(). , , Shiro. , , , .


. Shiro Haxe, ! , , , , . , , .


, , : , , "" .


. , , , , - . , -, , , . , โ€” , / .


Finally, I want to mention that Shiro Games is actively looking for developers to work on exciting, but not yet announced projects. You can contact me on Twitter and see a list of our vacancies .


All Articles