This example running in the browser is just a proof of concept, I'll keep updating it as soon as I develop new features.

What is selene?

Selene is a Lua game framework written in C, it has some builtin modules to help with game development (or any type of app, graphical or not). It's similtar to LÖVE, but the idea is to expose the functions of libraries like OpenGL and SDL2 to give more options to build a framework from scratch by the Lua side. Modules include font, audio and image loaders, mini wrapper for SDL2 (it can be extended in the future), OpenGL, JSON encode and decode. These are available as global modules, but selene has internal modules that implements renderer, audio system, and other low level stuff in the future.

The idea is to extend it with plugins as well, the modules are embedded in the engine and are developed only in C, but plugins can be developed in both C or Lua langs. With plugins I plan to develop high level stuff like resource managers, UI, editor, runner.

For examples of how to setup the main.lua file, start looking at the examples/ folder in https://github.com/canoi12/selene.

An example of main.lua file:


selene("MyGame", "1.0.0", "org.selene.MyGame")
local render = selene.renderer.RenderBatch2D(selene.get_renderer())
selene.set_event(function(name, ...)
    if name == 'quit' or name == 'window closed' then selene.set_running(false) end
end)
selene.set_step(function()
    render:begin()
    render:enable_3d()
    render:clear(0.2, 0.3, 0.3)
    render:draw_cube({ 32, 64, -32 }, { math.rad(15), math.rad(60), 0 }, { 32, 32, 32 })
    render:disable_3d()
    render:finish()
    render:present()
end)
Updated 10 days ago
StatusIn development
CategoryTool
PlatformsHTML5, Windows, Linux, Android
AuthorCanoi Gomes
Made withSDL
Tagsframework, Game engine, lua
Average sessionDays or more

Download

Download NowName your own price

Click download now to get access to the following files:

emscripten_v0.4.1.zip 1.1 MB
selene_v0.4.1.apk 3.9 MB
Selene_v0.4.1-x86_64.AppImage 2.2 MB
windows_v0.4.1.zip 1.7 MB

Development log