Metadata-Version: 2.2
Name: elm-messenger
Version: 0.5.1
Summary: The Messenger toolkit for Elm
Author: linsyking
Author-email: linsy_king@sjtu.edu.cn
License: MIT License
Keywords: cli
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: typer

# The Messenger Game Engine

Messenger is a 2D game engine with experimental concepts for Elm based on **[WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API)**.

This repository is a CLI tool to create messenger project.
Main development is under several repositories:

- Core Messenger Elm library: [messenger-core](https://github.com/linsyking/Messenger-core)
- WebGL rendering in Elm: [elm-regl](https://github.com/linsyking/elm-regl), [elm-regl-js](https://github.com/linsyking/elm-regl-js)
- Extra Messenger Elm library: [messenger-extra](https://github.com/linsyking/Messenger-extra)
- Messenger templates: [messenger-templates](https://github.com/linsyking/messenger-templates)

Other repositories related to Messenger:

- Examples: [messenger-examples](https://github.com/linsyking/messenger-examples)
- Messenger documentation: [messenger-docs](https://github.com/linsyking/messenger-docs)

## Games made with Messenger

- [Reweave](https://github.com/linsyking/Reweave)
- [SilverFOCS Games](https://focs.ji.sjtu.edu.cn/silverfocs/project/2023/p2) (all games in 2023 are powered by Messenger)

## Cool Features

- Engine in a library. Messenger core is built in a library.
- Message (or event) based. Faster development cycle, easier to divide work.
- Functional, but OOP styled. Take advantages of both functional programming and OOP.

## Conceptual Picture

![](docs/concept.png)

## Tutorial/Guide

https://elm-messenger.netlify.app/
