A functional 2D game engine that can create emoji games.
※ It's still a beta version.
[ 日本語 ]
- Who want to make simple games in functional language
- Who thinks it is troublesome to prepare game materials
- Who want to distribute the game easily
- Who want a start to learn purescript
Because it is a functional language that can write programs with good expression and good readabilities. It is also compiled into JavaScript and easy to distribute.
Expressive power | Ease of distribution | |
---|---|---|
Haskell | ○ | △ (Hard to convert into JavaScript) |
Elm | △ (No type class) | ○ |
PureScript | ○ | ○ |
Because it is the materials that everyone can use easily on the Web. In addition, I think that the limited materials stimulate your imagination like playing with the LEGO block.
This library is made with inspiration form PICO-8. PICO-8 also has severe restrictions, but I think that it will make the game making fun.
You can play sample programs on the web.
- Display: variable size (recommended 256px~1024px)
- Background Color: HTML Named Color 140 colors
- Emoji: Unicode Emoji - Supported Emojis
- Input: 8 buttons(up down left right 4 buttons x 2)
- Map: No limit Emoji map - Map Edit
- Sound: 4 channels Emoji score - Sound Edit
- Language: PureScript
- Compiled File Volume: about 500KB~1MB
- Frame Rate: about 60 FPS
- Operating Environment: web browser
- Keyboard
/¯¯¯\_/¯¯¯\
| W | ↑ |
| A D | ← → |
| S | ↓ |
\___/¯\___/
- Touch Screen (Swipe)
|¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯|
| 👆 | 👆 |
| 👈 👉 | 👈 👉 |
| 👇 | 👇 |
|________|________|
Clone this repository first.
yarn
is required.
yarn
yarn postinstall
yarn build
yarn example
open dist/hello/index.html
open dist/basic/index.html
open dist/emodius/index.html
open dist/nekof/index.html
- Interpreter which executes code on the web
- Improve performance
- emoji rotate (45°, 135°, 225°, 315°) problem on canvas Why won't emojis render when rotated to 45 (or 315) degrees?
- default emoji presentation CSS Fonts Module Level 4 - Editor’s Draft, 17 August 2018
Please wait as it is still a beta version. If you find improvements please give me an issue. Thank you.