Emo8
An unique functional 2D game engine that can create games with only emoji.
[ ๆฅๆฌ่ช ]
This Library Is For Someone Who...
- Thinks only emoji is interesting!
- Wants to share the game easily
- Wants to write a clear program using PureScript
Why Emoji?
- Familiar materials that can be used anywhere
- Create games like assembling LEGO blocks
- Interesting that there are restrictions like PICO-8
Why PureScript?
Language abstraction | Distributability | |
---|---|---|
PureScript | โ | โ |
Haskell | โ | โณ โป1 |
Elm | โณ โป2 | โ |
- โป1: Hard to convert into JavaScript
- โป2: No type classes
Feature
Screen Size | Variable 256px~1024px๏ผreasonable๏ผ |
Background Color | 140 colors๏ผHTML named colors๏ผ |
Material | Unicode Emoji v13.0 ๏ผSingle code point only๏ผ |
Controller | 8 buttons๏ผup down left bottom ร2๏ผ |
Map | Map made of Emoji |
Sound | Sound made of Emoji |
Language | PureScript |
Output File Volume | ~1MB๏ผreasonable๏ผ |
Frame Rate | About 60 FPS๏ผrequestAnimationFrame๏ผ |
Operating Environment | Web browser |
Controller
Keyboard Input
/ยฏยฏยฏ\_/ยฏยฏยฏ\
| W | โ |
| A D | โ โ |
| S | โ |
\___/ยฏ\___/
Screen Swipe
|ยฏยฏยฏยฏยฏยฏยฏยฏ|ยฏยฏยฏยฏยฏยฏยฏยฏ|
| ๐ | ๐ |
| ๐ ๐ | ๐ ๐ |
| ๐ | ๐ |
|________|________|
Resource Editor
Map
๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
๐ณโ
๐ณ๐ณ๐๐ณ๐ณ๐ง๐ณ
๐ณ๐ณ๐ณ๐ณ๐ป๐ณ๐ณ๐ณ๐ณ
๐ณ๐ณ๐ณ๐ป๐ป๐ป๐ณ๐ณ๐ณ
๐ณ๐ณ๐ป๐ป๐ป๐ป๐ป๐ณ๐ณ
๐ณ๐ป๐ป๐ป๐ป๐ป๐ป๐ป๐ณ
Sound
๐น๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
๐น๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
๐น๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐น
Manual
Sample Program
See example for the implementation.
yarn
Output File
yarn bundle:example
open dist/example/hello/index.html
open dist/example/basic/index.html
open dist/example/emodius/index.html
Development
yarn build
yarn dev
Known Issue
- emoji rotate (45ยฐ, 135ยฐ, 225ยฐ, 315ยฐ) problem on canvas Why won't emojis render when rotated to 45 (or 315) degrees?