lessmilk Posted August 11, 2016 Share Posted August 11, 2016 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 :-) haden and commention 2 Quote Link to comment Share on other sites More sharing options...
totor Posted August 11, 2016 Share Posted August 11, 2016 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. Quote Link to comment Share on other sites More sharing options...
mattstyles Posted August 12, 2016 Share Posted August 12, 2016 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. Quote Link to comment Share on other sites More sharing options...
symof Posted August 13, 2016 Share Posted August 13, 2016 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. Quote Link to comment Share on other sites More sharing options...
rich Posted August 15, 2016 Share Posted August 15, 2016 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. Quote Link to comment Share on other sites More sharing options...
Ninjadoodle Posted August 16, 2016 Share Posted August 16, 2016 I think this looks awesome Keep going! I also think that you should remove the word 'prototype' and instead call it a lightweight engine or something. Good Job! Quote Link to comment Share on other sites More sharing options...
DexterZ Posted August 16, 2016 Share Posted August 16, 2016 This is cool! But If may I inquiry, when the creating a large game, how does MilkJS make sure that all of the script and assets if any will be loaded first before the application run ? Quote Link to comment Share on other sites More sharing options...
lessmilk Posted August 16, 2016 Author Share Posted August 16, 2016 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. Quote Link to comment Share on other sites More sharing options...
azzz Posted September 23, 2016 Share Posted September 23, 2016 On 8/12/2016 at 3:22 AM, lessmilk said: If people are interested in it, I'll try to fix the last few bugs and put it on GitHub. Any chance you might be able to get this up on GitHub soon? I'm itching to give it a go! Quote Link to comment Share on other sites More sharing options...
commention Posted September 24, 2016 Share Posted September 24, 2016 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? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.