Skip to content
This repository has been archived by the owner on Sep 16, 2021. It is now read-only.

Latest commit

 

History

History
251 lines (176 loc) · 9.75 KB

about.md

File metadata and controls

251 lines (176 loc) · 9.75 KB


Please note the instructions below are for the old deprecated luxe alpha.

A lovingly handcrafted free cross platform game engine guidessource


Please note the instructions below are for the old deprecated luxe alpha.

About

luxe is a lovingly handcrafted free, open source cross platform rapid development game engine for deploying games on Mac, Windows, Linux, Android, iOS and Web.







luxe 1.0 is coming...

Please be aware this alpha version of luxe was deprecated as early as 2015/2016. It is not representative of luxe.

.

Visit the new site to find out more!


All the details of this transition are being expanded in the development logs! In short: The alpha code base was temporary and is going away.

The information on the engine below is regarding the alpha stage.
The page below refers to the "alpha-1..3" phase in the below diagram.


Development

All the latest development news is always posted here on this blog. To get notified when new posts are made visit the news page.
There are currently two forms of development updates:

Community

Please read the community conduct page before getting involved.

All development questions, discussions, bugs and issues are welcome and should be posted on the support repository – This allows everyone to find them in one place. If you have any questions, or have run into an issue, please feel free to post it. That's what it's for!

You can also find help and friends on the community chat.


Getting started (alpha)


Quick look (alpha)

var player = new Sprite({
    texture : Luxe.resources.texture('assets/player.png'),
    pos : Luxe.screen.mid,
    depth : 4
});

Development

Currently development is centered on finishing luxe 1.0.0. The focus is placed heavily on being a strong 2D engine first along with good stability, plus a fluid and iterative workflow. 3D is supported but will mature later.

Design Philosophy

luxe is designed with numerous fundamental design choices – as you would expect – although there are some key ones that make it differ in ways that will influence assumptions when using it. Below briefly mentions some of these to make it easier to understand the goals of the engine.

luxe is a facilitator
The engine supplies and supports common patterns for making games, like Components/Entity systems, State Machines and Events messaging systems. These are not enforced and do not stop you from doing your own thing, bypassing those in favour of your own specific methodology or game specific architecture.

luxe is minimalistic in core and design which means that application/game specific domain features are left up to libraries and the application itself. It might not supply every feature you need for your specific game, but it will make it very easy to get there quickly. Therefore, luxe contains many helpers in functions and systems for you to use when building your games.

Features (alpha)

Short list and focuses

  • Open - Free and Open Source, under the MIT license
  • Approachable - high pace through an expressive, easy to use API.
  • Rapid Fits jam games and long form projects alike.
  • Documentation - continuous focus on documenting with high standards
  • Audio - OpenAL/WebAudio backed portable audio API
  • Rendering - WebGL spec based API, same code on all platforms
  • Portable - written to be ported, supporting new platforms is simpler
  • Input - Low level, immediate, event based OR high level API for Gamepad, Touch, Keys and Mouse

gameplay

  • Scene - simple scene container management
  • Collision - SAT collision query for shapes and rays
  • Physics - third party framework hooks, i.e nape.
  • Transforms - stackable transforms for positioning/rendering
  • Timing - control over time scale, per entity fixed rates and more
  • Timer - schedule functions and events into the timeline
  • Audio - simple to use but flexible audio api

Rendering

  • Sprite - visual backed class with animation, flipping etc
  • Color - handle HSV, HSL, RGB interchangeably
  • Render - automatic or self managed batching of geometry
  • Render control - flexible depth, blending and group rendering
  • OpenGL - direct or indirect access to WebGL spec API
  • Shaders - first class citizen, built into the core of rendering
  • Camera - split views, focus, rotation, shake, etc built in
  • Tilemaps - isometric, ortho support, with import from Tiled
  • Drawing - easy style shape/geometry drawing API
  • NineSlice - for scaling of assets like UI elements
  • Particles - simple particle support for quick effects
  • Textures - easy to use texture api, fully supports render to texture
  • Fonts - BMFont based bitmap font rendering

systemic

  • Assets - cross platform access to assets
  • Maths - support for Vector, Matrix and Quaternion based maths
  • States - modal, transient and stacked state machine
  • Events - expressive filterable local or global events
  • Components - modular code (behaviour composition)
  • Structural - common data structures link
  • Tweening - customized Actuate built in
  • Utils - many geometrical and game related utilities
  • Parcel - control preloading, loading/unloading parcels of assets

games (alpha)

Even though luxe is in alpha, people have released a number of games already. From jam games to full releases, here are a few games you will find around. Since there are numerous games, only a small selection are listed in no particular order.

The Westport Independent

Released on Mac, Windows, Linux (Steam, GOG), Android (Play, Amazon), iOS Visit the website for full details

westport westport westport

Topsoil

Released on iOS and Android with a web based demo. Visit the website for full details

topsoil topsoil topsoil

Operator Overload

Released on Steam for Mac, Windows and Linux Visit the website for full details, Steam page

operator overload operator overload operator overload

Rise

Released on Steam as part of HELP: THE GAME bundle Visit the website for full details

rise rise rise

QWOP (WebGL)

Released as a port to WebGL to support more players (originally in Flash) Visit the website for details and to play

qwop qwop qwop

THREES (WebGL)

Released as a port to the web platform (originally in Unity) Visit the website for details and to play

threes threes threes


All product names, logos, and brands are property of their respective owners. WebGL and the WebGL logo are trademarks of the Khronos Group Inc.