{"author_link":"\/users\/coda-highland","author_name":"Coda Highland","author_uid":"coda-highland","comments":[],"epoch":1544061882,"event":"LD43","format":"md","ldjam_node_id":136280,"likes":3,"metadata":{"p_key":"126462","p_author":"Coda Highland","p_authorkey":"1012242","p_urlkey":"342582","p_title":"Game Development With html52d","p_cat":"LDJam ","p_event":"LD43","p_time":"1544061882","p_likes":"3","p_comments":"0","p_status":"WAYBACK","us_key":"1012242","us_name":"Coda Highland","us_username":"coda-highland","event_start":"1543536000","event_key":"71","event_name":"LD 43"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD43","removed_author":false},"_superparent":120415,"_trust":9,"author":12242,"body":"My game [Golden Lord](https:\/\/ldjam.com\/events\/ludum-dare\/43\/golden-lord\/) is built on an engine currently under the working name \"html52d\". (The name needs work.) This is meant to be a lightweight, high-performance, no-dependencies development framework for 2D web-based games, and I'm going to be releasing it to the public. \n\n![screenshot](\/\/\/content\/2df\/2\/z\/1e286.png)\n\n**Features:**\n\n* No dependencies, small footprint\n\nhtml52d's code is entirely self-contained and built according to what current-generation web browsers support. No need for npm or Babel.\n\n* Good browser compatibility\n\nMicrosoft Edge, Firefox, Chrome, and Safari all work with good performance, on both mobile and desktop. Internet Explorer 11 is currently not supported but it may not take much work to fix that. The input manager cleans up the differences between the various browsers.\n\n* High performance\n\nI've profiled and tuned the engine to run as quickly as possible. This does mean that I've had to trade off some level of code readability for performance, but it's all encapsulated inside the engine code. But by keeping the core so tightly optimized, game code can be written in a more relaxed way without needing to worry about speed.\n\n* Straightforward code structure\n\nWorking with html52d should feel similar to working with other modern game development environments. Most game objects can be built with a simple, readable syntax, while more sophisticated constructs can be created using modern Javascript techniques.\n\n* Flexible\n\nUnlike a lot of game engines, html52d is built to be agnostic. The engine doesn't care what kind of game you want to make, as long as it's 2D. It's happy to work with a one-sprite-per-file design or with sprites collected into sheets, or you should be able to use SVG files (I haven't tested it but all of the browsers say it ought to work). It doesn't mind if you want to use canvas functions to do vector graphics or custom rendering. The physics engine just keeps track of where things are and when they're touching; it doesn't demand that you do things the way it wants you to do them. \n\nAnd since it's all running in a web browser, you're free to use whatever other features you want. html52d won't get in your way. That's how Golden Lord presents its UI and audio, in fact. If you want to throw a YouTube video up over the game window for a cutscene or something, more power to you!\n\n* Freely licensed\n\nhtml52d is licensed under the MIT license, so you can use it for whatever you want, however you want to use it. It doesn't cost anything, you don't have to make your own code open-source, you don't even have to advertise that you use it. You can copy out parts that you're interested in or put in new parts if it doesn't quite do what you want. The only thing you have to do is keep the license information alongside the code you use.\n\n* Mobile functions\n\nAs mentioned above, the code all works just fine in mobile browsers. On top of that, the beginnings of an on-screen D-pad and command buttons are already implemented. There's still work to be done to make these meaningfully usable that I wasn't able to get to during the jam, but it's in good enough shape that I'm comfortable saying that html52d supports it.\n\n**Author's Commentary:**\n\nAs the developer, I'll be the first to say that it's not 100% complete. That said, it was sufficient for me to build my game for this jam without any significant complications. I also won't say that my jam game is a good example of the cleanest way to use it, because as is always going to be the case during a game jam, I wrote the first code that would work -- I wanted to spend my time polishing the game, not the code. \n\nI've gotten started writing developer documentation, but it's not done yet. I'd be happy to provide one-on-one support to anyone interested in giving it a try, though. \n\nWhen I say it's fast... the slowest I've ever seen Golden Lord run is about 150 effective FPS, and that was on a six-year-old laptop when I was doing testing in MS Edge. It's actually faster than that on my phone. (In practice, the engine is throttled to the browser's refresh rate, so it's not likely to exceed 60 actual rendered FPS, but the performance metrics in the engine track how long it takes to render each frame so it can guess at how many frames it COULD do if it tried.)\n\n\n\nSo what do you say, fellow jammers? Does this sound like the kind of tool you might try out? ","comments":0,"created":"2018-12-06T02:04:27Z","files":[],"files-timestamp":0,"id":136280,"love":3,"love-timestamp":"2018-12-06T03:05:32Z","meta":[],"modified":"2018-12-06T03:05:32Z","name":"Game Development With html52d","node-timestamp":"2018-12-06T02:04:42Z","parent":131813,"parents":[1,5,9,120415,131813],"path":"\/events\/ludum-dare\/43\/golden-lord\/game-development-with-html52d","published":"2018-12-06T02:04:42Z","scope":"public","slug":"game-development-with-html52d","subsubtype":"","subtype":"","type":"post","version":408942},"node_metadata":{"n_key":"136280","n_urlkey":"342582","n_parent":"131813","n_path":"\/events\/ludum-dare\/43\/golden-lord\/game-development-with-html52d","n_slug":"game-development-with-html52d","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"12242","n_created":"1544061867","n_modified":"1544065532","n_version":"408942","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/43\/golden-lord\/game-development-with-html52d","text":"My game [Golden Lord](https:\/\/ldjam.com\/events\/ludum-dare\/43\/golden-lord\/) is built on an engine currently under the working name \"html52d\". (The name needs work.) This is meant to be a lightweight, high-performance, no-dependencies development framework for 2D web-based games, and I'm going to be releasing it to the public. \n\n![screenshot](\/\/\/content\/2df\/2\/z\/1e286.png)\n\n**Features:**\n\n* No dependencies, small footprint\n\nhtml52d's code is entirely self-contained and built according to what current-generation web browsers support. No need for npm or Babel.\n\n* Good browser compatibility\n\nMicrosoft Edge, Firefox, Chrome, and Safari all work with good performance, on both mobile and desktop. Internet Explorer 11 is currently not supported but it may not take much work to fix that. The input manager cleans up the differences between the various browsers.\n\n* High performance\n\nI've profiled and tuned the engine to run as quickly as possible. This does mean that I've had to trade off some level of code readability for performance, but it's all encapsulated inside the engine code. But by keeping the core so tightly optimized, game code can be written in a more relaxed way without needing to worry about speed.\n\n* Straightforward code structure\n\nWorking with html52d should feel similar to working with other modern game development environments. Most game objects can be built with a simple, readable syntax, while more sophisticated constructs can be created using modern Javascript techniques.\n\n* Flexible\n\nUnlike a lot of game engines, html52d is built to be agnostic. The engine doesn't care what kind of game you want to make, as long as it's 2D. It's happy to work with a one-sprite-per-file design or with sprites collected into sheets, or you should be able to use SVG files (I haven't tested it but all of the browsers say it ought to work). It doesn't mind if you want to use canvas functions to do vector graphics or custom rendering. The physics engine just keeps track of where things are and when they're touching; it doesn't demand that you do things the way it wants you to do them. \n\nAnd since it's all running in a web browser, you're free to use whatever other features you want. html52d won't get in your way. That's how Golden Lord presents its UI and audio, in fact. If you want to throw a YouTube video up over the game window for a cutscene or something, more power to you!\n\n* Freely licensed\n\nhtml52d is licensed under the MIT license, so you can use it for whatever you want, however you want to use it. It doesn't cost anything, you don't have to make your own code open-source, you don't even have to advertise that you use it. You can copy out parts that you're interested in or put in new parts if it doesn't quite do what you want. The only thing you have to do is keep the license information alongside the code you use.\n\n* Mobile functions\n\nAs mentioned above, the code all works just fine in mobile browsers. On top of that, the beginnings of an on-screen D-pad and command buttons are already implemented. There's still work to be done to make these meaningfully usable that I wasn't able to get to during the jam, but it's in good enough shape that I'm comfortable saying that html52d supports it.\n\n**Author's Commentary:**\n\nAs the developer, I'll be the first to say that it's not 100% complete. That said, it was sufficient for me to build my game for this jam without any significant complications. I also won't say that my jam game is a good example of the cleanest way to use it, because as is always going to be the case during a game jam, I wrote the first code that would work -- I wanted to spend my time polishing the game, not the code. \n\nI've gotten started writing developer documentation, but it's not done yet. I'd be happy to provide one-on-one support to anyone interested in giving it a try, though. \n\nWhen I say it's fast... the slowest I've ever seen Golden Lord run is about 150 effective FPS, and that was on a six-year-old laptop when I was doing testing in MS Edge. It's actually faster than that on my phone. (In practice, the engine is throttled to the browser's refresh rate, so it's not likely to exceed 60 actual rendered FPS, but the performance metrics in the engine track how long it takes to render each frame so it can guess at how many frames it COULD do if it tried.)\n\n\n\nSo what do you say, fellow jammers? Does this sound like the kind of tool you might try out? ","title":"Game Development With html52d","wayback_source":[]}