This is an alternative site for discovering Elm packages. You may be looking for the official Elm package site instead.
We were not able to find the expected elm-package.json file at this tag.
Tag 4.2.0
Committed At 2019-02-17 20:14:40 UTC

Modules

    README

    PixelEngine

    PixelEngine is a graphic engine for rendering turn-based pixel games.

    Games made with pixelEngine

    Games can either be stand-alone documents or imbedded in a website

    Tutorials

    • Tic Tac Toe Beginner Tutorial, uses clickable Tiles.
    • Snake Beginner Tutorial, uses keyboard controls.

    Games made with this Engine

    If you have created a game with this engine, please let me know.

    Should I use this Package?

    This package follows a few philosophies:

    • Let CSS handle all animations - I feel like functional programming should describe reactions to some events. Animations are normally running all the time and not a reaction. Addionally by getting rid of an infinite game loop, we can use the time-travel debugger.
    • Pixel games first - There are a few optimizations to ensure crips pixels as well as good old low-frame animations.
    • Demand driven features - There is no roadmap. I intend to use this engine for all my games. If I feel like I can't make a game, because my engine is missing a feature, I will add it. (Please feel free to ask if you are missing a feature.)

    When to use it:

    • The game is turned based. (Board Games, Rogue-likes games, Puzzle games, Turn based strategy games)
    • The game has an idle state. (Farming games, J-RPG games like Pokemon)
    • The game is tile based. (Tetris,Pack-man)

    When not to use it:

    • The game is about speed or accuracy. (Racing games)
    • The game is physics based. (Flappy Birds)
    • The game has a continues gameloop. (Platformers, western RPGs like Zelda)

    Motivation

    I had just watched a talk about the time-travel debugger of Elm. So I wanted to test it out for my next project: A little game.

    The graphics engines that I could choose from where

    Both used a loop to draw animations and therefore did not support time travelling and besides elmo-8 couldn't even render pixel graphics properly.

    So I desided to try something different and to use HTML and CSS instead of WebGL. This way I could let CSS handle the animations. I knew that my little project was not a universal game engine, but for very specific games it might be just right.

    Upcoming Features

    • Console - It would be great if all games written with this engine would have a common way how the interface looks like. I am mainly thinking of a PICO-8-like style, but i would like to provide a few different GUIs and Startscreen.
    • Controls Rewrite - I made the mistake of offering a InputNone instead of using something like Maybe Input. This is totally unnessery.
    • MultipleTiles - Similar to MultipleImages but for Tiles.
    • Modular Transitions - For now I do not expect this will ever be done, just because its a very complex problem.
    • Particles - Maybe using BrianHicks/elm-particle?

    Upgrading

    • To 4.0.0
      • program and programWithCustomControls are now renamed to game and gameWithCustomControls.
      • This package now uses avh4/elm-color for colors.
      • For styling use Html.Attributes.style.
      • renderToScale replaced usingScale, but normally Graphics.program is the better option.
    • To 3.0.0
      • First follow the error messages of the compiler
      • Next set the scale of your game to 1. In the new version the scale feature scales the entire game.
      • If you want keyboard support use Graphics.program. It will also take care of the new way scaling works.