https://github.com/elm-messenger/messenger
A 2D game engine for Elm
https://github.com/elm-messenger/messenger
elm game-engine game-engine-2d
Last synced: 9 months ago
JSON representation
A 2D game engine for Elm
- Host: GitHub
- URL: https://github.com/elm-messenger/messenger
- Owner: elm-messenger
- Created: 2023-05-01T09:08:25.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-06-20T03:14:50.000Z (about 1 year ago)
- Last Synced: 2025-06-20T04:25:22.166Z (about 1 year ago)
- Topics: elm, game-engine, game-engine-2d
- Language: Python
- Homepage: https://elm-messenger.netlify.app
- Size: 460 KB
- Stars: 21
- Watchers: 2
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: Readme.md
- Changelog: Changelog.md
Awesome Lists containing this project
README
# 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/elm-messenger/Messenger-core)
- WebGL rendering in Elm: [elm-regl](https://github.com/elm-messenger/elm-regl), [elm-regl-js](https://github.com/elm-messenger/elm-regl-js)
- Extra Messenger Elm library: [messenger-extra](https://github.com/elm-messenger/Messenger-extra)
- Messenger templates: [messenger-templates](https://github.com/elm-messenger/messenger-templates)
Other repositories related to Messenger:
- Examples: [messenger-examples](https://github.com/elm-messenger/messenger-examples)
- Messenger documentation: [messenger-docs](https://github.com/elm-messenger/messenger-docs)
## Games made with Messenger
More than 60 games are made with Messenger:
- [Reweave](https://github.com/linsyking/Reweave)
- [2023 SilverFOCS Games](https://focs.ji.sjtu.edu.cn/silverfocs/project/2023/p2)
- [2024 SilverFOCS Games](https://focs.ji.sjtu.edu.cn/silverfocs/project/2024/p2)
Including various game types: RPG, Platformer, Puzzle game, Visual novel, Roguelike, multi-player.
## 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.
- Borrow concepts from OS design, such as kernel isolation, virtual machine, context switching.
## Conceptual Picture

## Tutorial/Guide
https://elm-messenger.netlify.app/