Skip to content
/ Enlil Public

This repository houses a javascript library to facilitate developing HTML5 square tile and isometric games. The goal is to make a runtime platform that can parse and run a packaged application containing animations, sounds, game logic, etc.

License

Notifications You must be signed in to change notification settings

oceddi/Enlil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Enil

Javascript HTML5 game library.

The intent of Enlil is to package up and provide resources to HTML5 game developers making 2D sprite based games.

Enlil Current Feature Set:

  • Uses require.js packaging scheme to organize source code into loadable modules.
  • Parses sprite sheets into groupings of animations (i.e. walk, run, fly, jump, etc).
  • Cycle through various animation groupings during draw calls.
  • Sprite movement can be controlled directly by setting screen coordinates or movement paths can be pre-defined and interpolated paths (tweening) can queried at varying time intervals for coordinates.
  • Rudimentary json loader of game packages.
  • Isometric tile engine that loads from json and scrolls as mouse is moved.
  • Square tilemap style engine for more traditional style games.
  • Physics system to handle jumping, falling, collision detection, etc.
  • Some basic verlet ragdoll physics.
  • Speech bubbles that can scale in size.
  • MIDI player built on top of Web Audio.
  • Quadtree for fine grain collision detection between many moving entities.

Example use of this library can be cound under the the "/examples" folder:

  • paths.html - Demonstrates loading sprite sheets, animating, sprite movement and the mouse input support. Clicking on the screen will cause the pirate sprite to move towards the click.

  • loader.html - Demonstrates the loader which is an early attempt to package up the game definition into a concise json grouping (see testpackage.json). The intent is game makers would use some other tool to create this package and Enlil could parse and "run" the package to load your game. This feature is a work in progress.

  • isomap.html - Demonstrates loading and displaying and isometric tile map. Can be run in fullscreen mode and moving the mouse to the edges of the screen/browser will cause the map to scroll.

  • tilemap.html - Demonstrates loading and displaying a spellunky style 2-D tile map. Space bar and arrow keys will cause pirate to jump and move around the map.

  • uitest.html - Demonstrates speech bubble ui elements. Click on screen to see some random speech bubbles getting placed where you clicked (random text and size).

Special Thanks:

Sprite sheets in the example directory courtesy of Sithjester at http://untamed.wild-refuge.net/rpgxp.php

The vertex module borrows heavily from Sylvester.js (James Coglan) implementation for physics related to 2d vectors.

Questions/Feedback:

[email protected]

Twitter:

twitter.com/oceddi

GITTIP:

https://www.gittip.com/oceddi/

About

This repository houses a javascript library to facilitate developing HTML5 square tile and isometric games. The goal is to make a runtime platform that can parse and run a packaged application containing animations, sounds, game logic, etc.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published