Skip to content

Cross-platform 2D framework written in Haxe that can export natively to desktop (windows, mac, linux), mobile (ios, android), web (js + webgl) and to unity projects

License

Notifications You must be signed in to change notification settings

zenturi/ceramic

 
 

Repository files navigation

Ceramic

Ceramic Logo Cross-platform 2D framework written in Haxe.

Ceramic is a cross-platform 2D framework written in Haxe that can export natively to desktop (windows, mac, linux), mobile (ios, android), web (js + webgl) and to unity projects.

demo-video

ℹ️ More updates about ceramic soon

Ceramic is almost ready to be used by more developers.

At the moment, it lacks a lot of documentation, but you can already read a few articles:

Why ceramic?

Ceramic is made with a few goals in mind:

  • Provide a runtime with high level cross-platform Haxe API to make apps, 2d games, animations and creative coding projects.
  • Bundle a set of command line tools that handle building for different targets. Currently supported: iOS, Android, HTML5 (WebGL), PC (Win/OSX/Linux), Headless (Node.js).
  • Make it extensible with a plugin system. A plugin can extend both the runtime and the command line tools.
  • Ensure adding new backends is as easy as possible by keeping the API clean and platform independant. New backends/targets can be added via separate plugins without changing the framework itself.
  • Provide opinionated features out of the box (event system, observables, physics, data model...), but always try to make these optional.

How does it work?

Ceramic is built using Haxe, a high level strictly typed programming language that can compile to multiple platforms.

It consists on a high level cross-platform API for Haxe, the runtime, and makes it work on different platforms with backends.

Ceramic comes with command line tools, also written in Haxe language, then run with Node.js.

Getting started

Take a look at the Wiki.

Available backends

  • Current default backend is clay. It allows to natively target Mac, Windows, Linux, iOS, Android and HTML5 (WebGL).

  • A headless backend allows to run ceramic as a server/cli app (via Node.js for now, even if that could work with other language targets too).

  • A unity backend allows to run a ceramic app inside Unity Editor and take advantage of all the platforms Unity provides.

Credits

Ceramic was created by Jérémy Faivre but is also possible thanks to the following works:

  • Luxe Engine (alpha) by Sven Bergström which was used as a transitional backend before clay backend was ready. Luxe is also a great source of inspiration that influenced how ceramic works in various aspects. Some snippets of ceramic directly come from luxe.

  • HaxeFlixel's FlxColor class by Joe Williamson which was ported into ceramic.Color class.

  • OpenFL by Joshua Granick and PixiJS by Mathew Groves to implement ceramic.Transform class.

  • Haxe by Nicolas Cannasse, maintained by the Haxe Foundation, which is a fantastic cross-platform toolkit and programming language making it much easier to create a portable engine.

  • Node.js and its huge amount of community supported modules, helping a lot to create feature-complete and cross-platform command line tools.

License

Ceramic is MIT licensed.

About

Cross-platform 2D framework written in Haxe that can export natively to desktop (windows, mac, linux), mobile (ios, android), web (js + webgl) and to unity projects

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Haxe 84.4%
  • Java 12.3%
  • Objective-C 1.0%
  • GLSL 0.9%
  • JavaScript 0.5%
  • ShaderLab 0.5%
  • Other 0.4%