Skip to content

Latest commit

 

History

319 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graffiti style logo reading "Lili's Game Engine"

I made this game engine by combining the best in modern web technology. This game engine is highly moddable, meaning it is really easy to combine different libraries together and to add support for new libraries. State management is handled using my own universal state management library Jabr which is very simple to use and has no ecosystem lock-in unlike most state libraries.

This game engine strongly leverages the benefits of being written in a Functional Programming (FP) style instead of Objected Oriented Programming (OOP) while still having some resemblance to OOP by using an Entity Component System (ECS). In line with Functional Programming ethos every part of my game engine was built to maximize separations of concerns.

If any of these technical details aren't making sense to you don't worry! I suggest you try out setting up an example project and reading the docs :)

Getting Started

To get started find a demo that you would like to use, then click "View Source Code" to see the corresponding directory name. Then use the following command in the command line (with the command line located in the directory you would like to create your project in), replacing "example-name" with the name of the example directory you'd like to use as your basis:

npx lilis-engine create example-name destination-dir

So for example if we want to make a flappy bird type game in the "my-first-flappy-game" directory we'd use:

npx lilis-engine create spike-vs-space my-first-flappy-game

There are also more example projects available that are not listed in the demo page, you can find them by visiting the examples directory in the engine's source code or you can list their names by using the create command without additional arguments:

npx liis-engine create

Please note that all of the example projects are made using SolidJS for interactive HTML and Astro as the website framework. While these tools are not mandatory for the game engine to run learning the basic of using them will help you greatly both in understanding the example projects' source code and in building web based games & apps going forwards.

Documentation

You can learn how to use this engine by visiting the documentation!

Integrations

This game engine has a number of built in integrations for common game development libraries, for example:

One of the core features of this game engine is that adding support for new libraries is very easy. If there's a library you'd like to add support for consider making a pull request or opening an issue.

More Links

About

Modern & moddable game engine for the web & beyond

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages