for more information visit the package's GitHub page
Package contains the following modules:
PixelEngine is a graphic engine for rendering turn-based pixel games.
Games can either be stand-alone documents or imbedded in a website
MultipleImages
Type. (Use the Mouse to play)Ruin Jump - Platformer Game (src) I wanted to have a plaformer with a jumping mechanic. I also intentionally made it a bit janky. (Use the Arrow keys as well as SPACE to play)
hennydamonk/elm-wack-a-mole (src)
If you have created a game with this engine, please let me know.
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:
When not to use it:
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 * elm-2d-game * elmo-8 (currently outdated)
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 decided 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.
Location
and Grid
to Orasund/elm-game-essentialsprogram
and programWithCustomControls
are now renamed to game
and gameWithCustomControls
.Html.Attributes.style
.renderToScale
replaced usingScale
, but normally Graphics.program
is the better option.scale
of your game to 1
. In the new version the scale feature scales the entire game.Graphics.program
. It will also take care of the new way scaling works.