Jump to content

I'm building a simple HTML5 framework to quickly prototype games


lessmilk
 Share

Recommended Posts

Hello!

I'm currently working on my own HTML5/Javascript game framework. My goal is to make it ridiculously simple to build a game prototype. This means a simple API, and a short code to make a game.

It's early in development but it already works: you can build 2D games running at 60fps in any browser.

I'm calling this new framework MilkyJS, and I wrote a short tutorial to present it to you here: lessmilk.com/milkyJS

If people are interested in it, I'll try to fix the last few bugs and put it on GitHub. So I'm really interested in your feedback, especially:

1. Would you use a framework like this?
2. Do you see ways to improve the API?

Thanks :-)

Link to comment
Share on other sites

It"s difficult to have an opinion just by reading your tutorial so i wait for the github ;)

i like the simplicity and the 60 fps but not at the sacrifice of sound and sprites. Any browser means mobile too, canvas or webgl or both? The thing is that if it's a protoyper then when you are ready with your game tests, how do you handle the transition to your production engine ? I mean if you make a phaser wrapper with presets, then it's easy to port to phaser but if you make a prototype with milkyJS, i have to port everything to phaser?

One more thing, what size is milkyJS, small enough for the js13k contest? ;) that would be a good testcase.

Link to comment
Share on other sites

Prototypes and PoC's should be thrown away when you're done exploring concepts, you don't want any traces of that hacky prototype getting into your soon-to-be production code. I think MilkyJS sounds great for that purpose. Blows away a lot of cruft, has very simple concepts, and lets you iterate very quickly to try out parts of your design.

As with all these things, they tend to only be good at creating a specific type of game/experience, but, if you're making that sort of game then I think a 'wireframing' tool like this has benefit, and its good that its done in code rather than configuration as you'll have more control when you want to evolve your concepts a little.

I'm a big fan of this sort of thing, remove the glitz and glamour of sound/visuals/options and focus on very core gameplay concepts, perfect for the conception stage.

I'm not sure about the prototype moniker though, this is really a concept tool, the prototype should probably be testing some of the harder technical and design choices for your new product, as such, milkyJS doesn't do that, but I think thats a wider semantic argument.

Link to comment
Share on other sites

If it's just for prototyping you could use construct and not even have to learn a whole new framework to do the prototype.

Phaser is already good and light enough that you can build upon it should you chose to do so, and I believe that people that chose phaser did so for the control that it gives over the code.

Also it seems to me that you are missing some code that loads the image files from the preload function on the phaser side.

Also on the phaser side there are 4 lines that deal with the physics arcade object. Is arcade the implied physics engine in milky? What if I wanna use p2js?

Also ... what happened to the hitSound? Is it hardcoded into milky? What if I want a different one, do I have to modify the framework?

Very misleading. I just wouldn't use something like this.

Good luck.

Link to comment
Share on other sites

Thanks for the feedback everyone! Here are the answer to some of your questions below :-)

 

On 11 August 2016 at 8:33 PM, totor said:

Any browser means mobile too, canvas or webgl or both? 

Canvas only.

 

On 11 August 2016 at 8:33 PM, totor said:

One more thing, what size is milkyJS, small enough for the js13k contest? ;) that would be a good testcase.

It's currently 15kb unminified, which is super tiny.

 

On 12 August 2016 at 10:16 AM, mattstyles said:

I'm not sure about the prototype moniker though, this is really a concept tool, the prototype should probably be testing some of the harder technical and design choices for your new product, as such, milkyJS doesn't do that, but I think thats a wider semantic argument.

That's a good point. So what "tagline" would you use to describe this framework? Lightweight? Micro? Super simple? Something else? I don't want people to expect it to be as powerful/flexible than Phaser for example.

 

On 13 August 2016 at 5:43 AM, symof said:

Also it seems to me that you are missing some code that loads the image files from the preload function on the phaser side.

Also ... what happened to the hitSound? Is it hardcoded into milky? What if I want a different one, do I have to modify the framework?

As I said in the article, there are no assets in MilkyJS. Sprites are only colored rectangles, and for sounds you just do M.sound(frequency, duration). This has some limitations, but make creating a game much faster and simpler.

 

7 hours ago, rich said:

I think it looks really fun. I'm not sure why it's just a prototype framework - I've seen plenty of finished / complete games that use similar geometric sprites and arcadey physics, and they're not 'prototypes', but are full games in their own right.

Getting a positive feedback from you means a lot, thanks Rich! I'm saying "prototype" to lower expectation because it's super basic, but based on the feedback I'm getting here I should probably use another word.

Link to comment
Share on other sites

  • 1 month later...

Hello @lessmilk,

I would love to see your project on GitHub soon. For now, it's hard to give you any feedback.

1. Would you use a framework like this?

Probably yes, currently i'm working on a game project but i have some issues on stage. If this framework will solve our issues and make the process better, i will probably use the framework.:)


2. Do you see ways to improve the API?

I love milkyJS's structure. I mean, init, loop and this array structure is cool. I just wonder is it possible to use images? Or there will be only colors? And is it possible to get built-in tween system?

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