purescript-emo8

A functional game engine for creating emoji games.


Keywords
emoji, functional-programming, game-engine
License
Other
Install
bower install purescript-emo8

Documentation

NEMO

[ 日本語 ]

※ it's beta for now

A functional game engine that can create emoji games.

nemo emodius

Major Features

  • Easy to create games with powerful functional languages ​​(PureScript).
  • Only emojis can be used as materials. Instead, there is room for creativity.
  • JavaScript knowledge is basically unnecessary. You can concentrate on implementing game logic with functional languages.
  • You can play on any device on which the browser runs.

Why PureScript

When making games in functional language, there were the following options.

Haskell -> If everything could be done with this, it was the best. However, it is difficult to play on any device.

Elm -> It was one of the good options when thinking about device independence. But there is no type class support. It is also recommended that you follow the Elm architecture.

PureScript -> There is type class support like Haskell. It will also be compiled into Javascript. Therefore, you can play on any device browser!

Why Only Emojis

Something restricted stimulates creativity.

I was very inspired by fantasy consoles represented by PICO-8.

There are severe restrictions on sprites, sounds, capacity, etc. that can be used.

On the contrary, These constraints inspire creativity and making the game more fun.

Just like this, I think that it is very interesting to have constraints that only emojis can be used in the Web platform.

Play Online

You can also add games you made with NEMO here.

If you want, please make issue or PR at Github Pages Repository

Installation

bower i purescript-nemo

Getting Started

Specification

  • Language: PureScript
  • Monitor Size: 1024x1024
  • Emoji: 1388 unicode emojis
  • Color: 16 html base colors
  • Map Editor: Raw text (emoji) editing
  • Sound Editor: Raw text (emoji) editing
  • Input Interface: Keyboard, Touch Screen
  • Frame Rate: About 60 FPS
  • Working Environment: Browers on any device (It needs some GPU power)

Input Interface

Keyboard

 /¯¯¯\_/¯¯¯\
|  W  |  ↑  |
| A D | ← → |
|  S  |  ↓  |
 \___/¯\___/

Touch Screen

For mobile, it is equivalent to keyboard inputs that swiping on the right or left side of the screen.

※ The swipe origin is the touch position which started.

Examples

clone this repository first.

install

npm i
bower i

build

※ if you can not build with warning, please pulp build once.

npm run build
npm run build:examples

open html (public folder) on browser

npm run open

access with tag (it may need reload)

public/index.html#hello
public/index.html#basic
public/index.html#emodius

Emojis

Under Developing List

high

  • add debug mode
  • more sound effect support (ex. noise)
  • improve touch screen operation

middle

  • interpreter which executes code on the web
  • performance tuning
  • iOS sound support

low

wait and see

Module Documentation

Contribution

Since it is beta version, wait for a while. If you find an improvement point, please give me an issue. Thank you.

License

MIT

※ About license of emojis' graphics are owned by each vendor.