Jump to content

Webcade JS - A new easy but direct JS/HTML5 Library currently a WIP


ggvicviper
 Share

Recommended Posts

So, hello to everyone, I'm new here. I found this site, and figured it would be a great place to talk about what I'm trying to create.

 

So, after developing my first game in HTML5/JS, I found too much boilerplate that I didn't like, as I'm sure we all have. The game is called Huoli Arcade. and it's a revised game I originally wrote in C about 1.5 years ago. You can check it out here:

 

http://www.brooklyncodebits.com/index.php/software-games/158-huoli-arcade-2013-version

 

After I was finished, I was (and still am) eager to start work on another arcade shoot em up game. However, I couldn't help but think that things would be easier to develop with (for me) if things were a little more down and dirty. Things like if the loop wasn't so annoying to create (unlike a simple do/while and vsync), or some of the time-eating scope lookup that JS has, or creating a nice fullscreen effect, or getting straight data from input without having to always rel on the even handlers, and other problems.

 

Well, I started on a solution that gives a little more of a traditional game-programming feel. I'm calling it WebcadeJS, and it's specifically for 2D games. It will ease a lot of nonsense off the markup, but will still retain much of how you use the very direct HTML5-JS API. Working on it pretty well, and I'm hoping that maybe some people would also find it useful, too.

 

It will handle:

Page Setup

Game Loop

Display/Canvas (including fullscreen and stretched fullscreen modes, canvas & context will be direct HTML5/JS access)

Input (Keyboard, Mouse, Touch and Joystick)

Audio (via Audio element only as of right now, will be direct HTML5/JS access)

Video (will be direct HTML5/JS access)

Link to comment
Share on other sites

Ezelia, there are libraries and engines all over the place for all sorts of languages. Programmers can use these libraries that do different things. Yet libraries continue to pop up based on different people's needs and requirements. Please don't invalidate what I'm trying to accomplish here - I'm NOT looking to make another engine that does all the work for you, such as scenes, labels, game objects, physics and other things.

 

I'm creating a lean library that's very dirty for programmers who like writing their own code. My objective is to take some of the browser-based boilerplate out of setting up the system, and giving the programmer the raw stuff in a quicker way with a few added features. I was doing some game programming in C and Allegro/SDL before moving to JavaScript, and I wanted to replicate that experience for engineers who prefer things to be a bit more raw, but want to bypass the cross-browser problems and get immediate access to what HTML5 APIs they'll ultimately be using. I haven't seen much about people using the WIP Gamepad API either, so this could be useful too.

 

I've also developed two different ways to run the loop - a more standard way that uses frameskipping if necessary, and something I like to call SmartRate. Some work better on certain platforms than others - for instance, at 60FPS, IE seems to play more nicely with SmartRate, but Safari might be better suited to the standard loop.

 

There are plenty of options that I feel that I can expand on here - I'm glad to be working on this too.

Link to comment
Share on other sites

  • 2 months later...

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...