Jump to content

Lightweight Game library


Firenibbler
 Share

Recommended Posts

      Hey, I have been working on a lightweight game library for a game I am making, and I discovered that it has quite a bit of potential to become a useful general library, It provides animations, sound, and a preloader that can be easily customizable. I am just wondering if this would be something you would like to see, and if so, I will release it along with several video tutorials, examples, and demos.

 

Current Features:

 

  • Rendering text with rotation, coloring, fill VS stroke, and various styling elements with almost no overhead.
  • Rendering rectangles with rotation, coloring, fill VS stroke, and various styling elements with almost no overhead. Also clickable and touch able.
  • Rendering circles with start and end points, coloring, fill VS stroke, and various styling elements with almost no overhead. Also clickable and touch able.
  • Rendering images with rotation, coloring, fill VS stroke, slice X Y Width and Height, and various styling elements. Also clickable and touch able.
  • rendering sprite animations, with rotation, coloring, fill VS stroke, and you can set your own animation speed. Also clickable and touch able.
  • Entire canvas is fully scaleable with smart scaling, program your game at any canvas size, and run it on any screen!
  • All rendering options support things like rotation around a user defined point, alpha values, Z-Index, clickability, touchability, smart rendering, and more.

 

It integrates HowlerJS for audio:

 

  • Play as many sounds as needed
  • set individual volumes, or global volume
  • fade in or fade out sound
  • use 3D positioning for the sound
  • Supports lots of file formats
  • Little to no overhead.

 

 

Custom Pre-Loading Features:

 

  • Preload Images.
  • Preload Sounds.
  • Preload Spritesheets.

 

Other optimizations:

 

  • If you aren't using a feature, that code won't even be touched. So the only thing being processed is your game.
  • Smart Rendering, if a image is not on the canvas, it wont be rendered.
  • Uses off screen canvases for image caching.
  • Separate update and rendering loops.
  • Rendering uses request animation frame, for optimal performance.
  • Rendering for separate canvases is called independently, for easily making multi-layer games with separate rendering speeds, for smart rendering.
  • Can re-size game to match multiple screen sizes.
  • Set maximum FPS for the animate loop, makes a much smoother game.

 

 

With all of my tests, this library provides an almost non-existent overhead and is extremely fast, beating other libraries like Phaser, and CreateJS. (Of course it dose not have nearly as much functionality as they do)

 

Thanks for your time, and tell me if you would be interested in seeing this available to the public! If you have any questions, or ideas, please comment below.

Link to comment
Share on other sites

Performance is always important.

Personally, I've invested some personal time in Phaser and I don't want to spend time to learn another (making games it's a hobby and not a full time job for me).

 

If your library performs better than Phaser, it would be great to bring your improvements to Phaser.

Link to comment
Share on other sites

Performance is always important.

Personally, I've invested some personal time in Phaser and I don't want to spend time to learn another (making games it's a hobby and not a full time job for me).

 

If your library performs better than Phaser, it would be great to bring your improvements to Phaser.

The way it is set up will make it pointless to try to integrate with phaser, however I would say that the learning curve is extremely small. This library is for visual and audio effects with user interface elements integrated, like click and double click. This library has almost no physics support (yet) other than AABB collision detection and circle collision detection.

Link to comment
Share on other sites

hi, maybe you could port a few phaser examples to your library and show how it's better.

Possibly, however its not meant to be a replacement to phaser, Its is a much smaller library with more customizability. It is meant to help when setting up games graphics, and preloading. The first release should be within about a week, and making some demos will be first priority after I finish the library.

Link to comment
Share on other sites

I'm interested in seeing how you fixed a preloader for sounds for howler. I looked at that, but it requires hacking around some of howler I think.

I did do a bit of hacking with howler for the pre-loader. An error still fires when you load a sound, but it does not effect anything in the engine. It should be fixed by the time I release the engine.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...