Skip to content
João Alves edited this page Feb 10, 2022 · 6 revisions

Introduction

Welcome to the Pixel wiki!

These pages contain practical development information on how to use the Pixel Game Framework. If you are looking for code (api) documentation, please check the javadoc available on each module.

Continue to the getting started section to begin your awesome journey with Pixel 🥇

Features

Bellow is a list of the currently supported features, check the learning sections for more info about how to use them.

Core:

  • Multi-platform runtimes (Windows, MacOS and Linux).
    • Native window creation (OpenGL).
    • Audio is provided by OpenAL.
  • Sprite rendering (via SpriteBatch).
    • Texture rendering (with support for manual depth sorting).
    • TexturePack support (includes texture pack JSON importers).
    • Custom GLSL shader support.
    • Post-processing effects (allows custom shaders).
  • Text rendering
    • Compatible with FreeType supported fonts.
    • Automatic creation of font textures based on source fonts.
  • Content processing.
    • Includes a customizable content processing pipeline (you can easily add more content processors).
    • Supports data caching.
    • Content loading is integrated with the typical Java resources folder.
  • 2D primitives rendering engine.
    • NanoVG built-in support as a 2D primitives rendering engine.
  • Audio Engine.
    • Import and play Vorbis audio files.
    • Assignment of pitch, gain, panning, time position to your sounds.
  • Input handlers.
    • Support for Keyboard, Gamepad and Mouse devices.
  • Logging
    • Extensible built-in logging system.
  • Math helpers
    • Vector modules (Vector2, Vector3), Line, Rectangles, Boundaries, etc. data classes.
    • Polygon collision helpers (separating axis-theorem).

Extensions:

  • LDTK support - (module: pixel-ext-ldtk).
    • Content importers for LDTK projects.
    • LDTK level renderers.
  • Log4J2 support - (module: pixel-ext-log4j2)
    • Replace the default console loger by a log4j2 implementation.
  • ECS (Entity Component System) - (module: pixel-ext-ecs)
    • Full ECS implementation including GameObjects, GameComponents and GameScenes.
  • GUI - (module: pixel-ext-gui) - WORK IN PROGRESS
    • Full GUI solution with CSS support.
  • Physics - (module: pixel-ext-physics) - WORK IN PROGRESS

In addition, since this framework is built on top of LWJGL, it easily supports their extensions (for example: ImGui).

If you want to use the Pixel framwork with Kotlin, please refer to this demo.

Code examples can be found here.

Clone this wiki locally