Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Jarrio/ceramic

Open more actions menu
 
 

Repository files navigation

Ceramic

Ceramic Logo

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)
  • Unity projects

Examples and Documentation

https://ceramic-engine.com

Credits

Ceramic was created by Jérémy Faivre, as well as multiple libraries used internally, 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. Some snippets of Ceramic still directly come from luxe.

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

  • 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.

  • Janicek Core Haxe by Richard Janicek, for some borrowed code for ceramic.Utils.hashCode().

  • Slugify by Simov, and Slug haxelib port to provide ceramic.Slug.

  • HaxeFlixel's FlxEmitter class used as a starting point to implement ceramic.Particles and ceramic.ParticleEmitter.

  • Optimised HashMaps by Mikhail Vorontsov to implement ceramic.IntIntMap and related on static targets.

  • Some crash logging snippets by Lars Doucet to handle errors with ceramic.Errors.

  • Cardinal Spline JS by Gleb Denisov, used to create ceramic.CardinalSpline.

  • Nuclear Blaze's GameBase Camera by Sébastien Bénard, used as a model to create ceramic.Camera.

  • Bezier Easing by Gaëtan Renaudeau, used to create ceramic.BezierEasing.

  • Some GLSL shader code by Richman Steward.

  • Some browser mess handling from Holwer.js to help implement Ceramic audio backend for web.

  • Heaps Aseprite by Austin East, from which several snippets were ported for make Ceramic ase format parsing and rendering.

  • Aseprite Blend Functions by Igara Studio S.A. and David Capello, which were ported to Haxe in order to implement ase frame blending at runtime in Ceramic.

  • Extrude Polyline by Matt DesLauriers, via Haxe port used in Ceramic to draw lines.

  • Earcut from Mapbox, via Haxe port to triangulate shapes.

  • Haxe Format Tiled by Pavel Alexandrov to parse Tiled Map Editor's TMX format.

  • Akifox Async HTTP by Simone Cingano, used to implement HTTP backend on native targets.

  • Nape Physics by Luca Deltodesco and contributors.

  • HSLuv to provide additional color manipulation helpers to ceramic.Color and ceramic.AlphaColor.

  • Dear ImGui by Omar Cornut, via Haxe bindings initially created by Aidan Lee.

  • Gif Capture ported by Tilman Schmidt and Sven Bergström from Moments.

  • Linc RTMidi by Tilman Schmidt.

  • Rectangle Bin Packing by Sam Twidale, used for ceramic.TextureAtlasPacker.

  • Ase format parser by Michael Miriti to read .ase/.aseprite files.

  • Fuzzaldrin from Atom to provide some auto-completion features at runtime debug UI.

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

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.