Skip to content

Releases: KilledByAPixel/LittleJS

1.17.10 - Optimize particles, save data functions, new logo!

20 Nov 22:31

Choose a tag to compare

  • Optimize particles, now emitter keeps track of it's own particles
  • Added fillMode to set progress bar setting for scroll bars
  • Allow passing callback functions to tile collision tests
  • Added functions to read/write save data
  • Update licenses
  • New logo

1.17.5 - More WebGL, Box2d TileLayers, Sound Class

12 Nov 23:20

Choose a tag to compare

  • Remove overlay canvas, main canvas is now the overlay canvas in WebGL mode. This both simplifies and optimizes performance.
  • Use Vertex Array Objects for WebGL, fixes issues in some web browsers and slight optimization
  • Refactor FontImage to use WebGL if available
  • Color and scale options for FontImage
  • Hook up WebGL for Tile Layers, automatically enabled
  • Hook up Box2d physics for Tile Layers
  • Make debug rendering not use WebGL
  • Combine Sound and SoundWave classes
  • Fix type comments that were having issues with TypeScript
  • Many bug fixes

1.15.9 - UI navigation, Primary gamepad, WebGL robustness

27 Oct 17:13

Choose a tag to compare

Release Notes...

  • UI improvements to support gamepad and keyboard navigation
  • Added gamepadPrimary, the first gamepad to press a button rather then always using 0
  • Aspect ratio limits for canvas to prevent extreme sizes
  • WebGL robustness, detect context/loss and restore fall back to canvas2d
  • More precise tile raycast results and generic lineTest function provided
  • Added option for timers to use real time, useful for UI that runs while paused
  • Added more short demos and improved others
  • Improved asserts and early error detection
  • Support 0-4 buttons for touch gamepad, if 1 also acts as right analog stick
  • Fixed many small bugs and a few big bugs

1.14.8 - Sound instances, polygons, and level loading!

05 Oct 05:33

Choose a tag to compare

Release Notes...

  • improve box2d plugin, full wraps box2d code
  • Added webgl polygon rendering mode
  • Added tileCollisionLoad() function to load level data from json
  • Added SoundInstance class with ability to pause and seek audio
  • Added video capture tool.
  • Include plugins in build
  • Refactor examples to use modules
  • Added many more short example
  • Added TileLayer and TileCollisionLayer class
  • Added CanvasLayer class
  • Improved example browser, added code mirror support
  • Added Typescript and Electron examples
  • Comprehensive code cleanup pass
  • Fixed many small bugs

1.11.7 - Example Browser and More

09 May 17:05

Choose a tag to compare

Check out the new live example browser!

Release Notes...

  • added example browser and short examples
  • added tilesPixelated, separate control for canvas and tile pixilation
  • convert drawText to draw to main canvas by default instead of overlay
  • use dist/littlejs.esm.min.js as main for package.json
  • added setCursor() to set the html cursor style
  • cleaned up examples, removed electron, moved js13k to branch
  • massive spellcheck across all files
  • added combineCanvases()
  • don't assert if no texture loaded
  • clean up gl code
  • allow passing empty params to engineInit()
  • fix canvas jitter in some browsers if position is not an integer
  • added debugScreenshot()
  • added keyDirection()

image

1.10.7 - Many small fixes

09 Dec 18:26

Choose a tag to compare

added glAntialias - enabled by default, sets antialias when creating the webgl context
allow passing a promise for gameInit for loading custom assets before startup
rework ui plugin to use mouse down rather then click events
added scrollbar ui object to plugin
fixed bug with zzfx sounds using default randomness if set to 0 randomness
fix some issues with touch gamepad
simplify platformer demo
setup padding in some example tile sheets
Color.setHex can take 3 or 6 length hex colors with optional alpha
added isValid checks to vec2 and color

1.10.2 - uis, pixels, roots, and more

20 Nov 02:41

Choose a tag to compare

  • added ui system plugin and example
  • added example showing how to hookup html menus
  • allow passing root element to engineInit
  • set image-rendering pixelated and no alias for webgl
  • fix half pixel offset issue, now using flexbox to center
  • set tileFixBleedScale to 0 by default
  • allow setting tileFixBleedScale anytime
  • require passing in texture filename to engineInit
  • rework tile function to accept padding and vec2 positions
  • prevent warning if no images passed in
  • clean and improve box2d plugin
  • added cloth and softbody demos to box2d example
  • improved how stalled audio is resumed
  • added debugShowErrors() - Show error as full page of red text
  • added engineObjectsRaycast to raycast for objects
  • added drawPoly, drawCircle, and drawEllipse
  • improved jsconfig setup

1.9.9 - Box2d and Plugin system!

04 Oct 19:28

Choose a tag to compare

There is now a simple plugins system and a new folder for plugins!

  • Newgrounds API moved to plugin
  • Post processing moved to plugin
  • Box2D added

Box2D features

  • Box2dObject extends EngineObject with box2d physics
  • Added wrappers for most things
  • Functions to create polygon, circle, and edge shapes
  • Raycasting and querying
  • Joint creation for every type of joint
  • Contact begin and end callbacks
  • Debug physics drawing
  • Demo that shows off all the features

More changes

  • Added headless mode for servers, skips all rendering and sound
  • Added global gain node, volume can be changed in real time now
  • Fixed some issues with touch input
  • Circular clamp speed for particles
  • Make playAudioFile use SoundWave, get rid of HTML audio
  • Many other small fixes.

Check out the LittleJS Box2D demo!

screenshot (29)

1.9.4 - small fixes and cleanup, removed drawPoly

12 Aug 17:13

Choose a tag to compare

  • improve audio play on first click, prevents stacking while still allowing the first sound to go through
  • added TileInfo.frame() function for cleaner animation code
  • fix particle angle speed not working, it just wasn't hooked up, thanks to deep scan for helping me notice.
  • clean up some minor issues so deep scan is 100% perfect.
  • removed drawPoly, not needed by engine. feel free to copy that old function to your game code if you still need it.
  • improve platformer example with better sprite atlas and level loading code
  • improve touch gamepad, apply deadzone and fix issue with touchGamepadAnalog=0
  • remove unused glPostArrayBuffer in webgl code

1.9.3 - cleaner and meaner

05 Aug 21:43

Choose a tag to compare

  • more code and comment cleanup
  • fix particle angle speed not working
  • move builds folder to dist
  • audio context cleanup and simplification
  • added littlejs reference doc
  • platformer example improvements
    • use tiled editor
    • use mario 1-1 inspired level as default
    • added coins
    • setup texture atlas
    • cleanup sky and parallax