All Projects → Zinggi → Elm 2d Game

Zinggi / Elm 2d Game

Licence: mit
A small rendering engine for creating 2d games with elm, based on WebGL.

Programming Languages

elm
856 projects

Projects that are alternatives of or similar to Elm 2d Game

React Vertex
◾️ React Vertex | Hooks-based WebGL library for React
Stars: ✭ 1,231 (+1209.57%)
Mutual labels:  webgl
Threejs Starter
Stars: ✭ 89 (-5.32%)
Mutual labels:  webgl
Nunustudio
Web powered cross-platform 3D, WebXR game engine.
Stars: ✭ 1,302 (+1285.11%)
Mutual labels:  webgl
Human Gpu
🤖 Hello human, I'm sick to be your GPU!!
Stars: ✭ 76 (-19.15%)
Mutual labels:  webgl
Helixjs
A Javascript 3D game engine.
Stars: ✭ 84 (-10.64%)
Mutual labels:  webgl
Ternion
A simple starter kit to prototype quickly your ideas with Three.js
Stars: ✭ 89 (-5.32%)
Mutual labels:  webgl
Pan Zoom
Pan / zoom for any element
Stars: ✭ 77 (-18.09%)
Mutual labels:  webgl
Hlviewer.js
Half-Life in WebGL
Stars: ✭ 93 (-1.06%)
Mutual labels:  webgl
Cezanne
This is a project showing varied shading algorithms with a simple apple.
Stars: ✭ 85 (-9.57%)
Mutual labels:  webgl
Sky Shader
☀️ WebGL sky and sun shader editor
Stars: ✭ 90 (-4.26%)
Mutual labels:  webgl
Sketch Threejs
Interactive sketches made with three.js.
Stars: ✭ 1,227 (+1205.32%)
Mutual labels:  webgl
Three Forcegraph
Force-directed graph as a ThreeJS 3d object
Stars: ✭ 84 (-10.64%)
Mutual labels:  webgl
3dhop
3D Heritage Online Presenter
Stars: ✭ 89 (-5.32%)
Mutual labels:  webgl
Godot Demos
Dozens of free and open source demos for the Godot game engine
Stars: ✭ 1,231 (+1209.57%)
Mutual labels:  2d-game
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+10806.38%)
Mutual labels:  webgl
Qurobullet
A powerful 2D projectile system module for Godot!
Stars: ✭ 78 (-17.02%)
Mutual labels:  2d-game
React Tint
A React component that applies image processing filters to an image using Processing
Stars: ✭ 89 (-5.32%)
Mutual labels:  webgl
Fe Daily Record
📚前端书籍汇集点 + 每日好文推荐 + 公开课学习资料 + 各种大会资料
Stars: ✭ 94 (+0%)
Mutual labels:  webgl
Plotly.py
The interactive graphing library for Python (includes Plotly Express) ✨
Stars: ✭ 10,701 (+11284.04%)
Mutual labels:  webgl
Medium
Progressive WebGL toolkit for art.
Stars: ✭ 90 (-4.26%)
Mutual labels:  webgl

Elm render 2D game

This library aims to enable creating 2d games based on WebGL using elm.

TODO: pretty pictures and more examples

Related Libraries

Goals

My current goal is just to enable users with no WebGL and GLSL knowledge to create simple games. Hopefully this will eventually grow into something bigger, but currently that's what this is.

This library is for you, if

  • you want to create a simple 2d game as a learning experience
  • you want to use elm
  • you've used elm-graphics, but are looking for a slightly more powerful option without going full WebGL.

If you want to create a "real" game, I strongly recommend other options such as Godot / LÖVE / libGDX / MonoGame / Unreal / Unity etc...

Examples

Vision

The vision for this library is to grow into something bigger. Currently it only provides a way to render things to the screen.

It does not provide a way to structure your physics/gameplay code, no resource management, no input management, no sound, no networking, etc.

However, the idea is that each of the mentioned missing topics can be created as a separate package that would live under the same namespace. E.g. a 2d physics engine might live in a package called elm-game-2d-physics and provide the namespace Game.TwoD.Physics

Update log

  • ** 3.1 -> 4.0 **

    • Upgrade to elm 0.19
  • ** 3.0 -> 3.1 **

    • Added viewportToGameCoordinates thanks to @Luftzig.
  • ** 2.1 -> 3.0 **

    • Breaking changes:
      • Removed rectangle. Use shape rectangle instead
      • Changed what the pivot affects.
        • Previously, the pivot only affected the center of rotation. The pivot now also affects where position refers to. For instance, a pivot of (0.5, 0) means that the position parameter of the object now refers to its bottom center.
        • If you want the previous behavior, use (x + pivotX*w, y + pivotY*h) instead of (x, y) for position.
        • makeTransform is also affected by that change.
    • ** New stuff: **
      • Added more prototyping shapes, thanks to @yourSenchou.
      • Added manuallyManagedAnimatedSpriteWithOptions
  • 2.0 -> 2.1

    • Exposed renderTransparent
  • 1.0 -> 2.0

    • Updated to WebGL 2.0.
    • Renamed Vertex attribute a_position to position
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].