Hi! If you are a coder and ever wanted to make a game (do i even have to say the second part?), you probably came across the whole canvas thing.
Yes, it is weird and overly complicated, and no, you are not alone who thinks that. So here, an attempt, at least, to make more sense of it is
DrawJS. We are wrapping the core canvas functions in an easy-to-use format and gradually adding cool features to speed up development.
Games are not the only thing where you can use this library, of course, anything you would normally want to visualize is doable. We are always interested in seeing what you come up with, so if you use Draw in one of your projects, contact us, and we will add you to a hall of fame.
'But how is this different from p5?' I hear you ask. I mean not literally, this website is totally not listening through the microphone. The goal here is not a complete framework, with physics simulation and whatnot. I mean you can write those yourself if you want to. This library is just here to simplify drawing things on a canvas.
Games are not the only thing where you can use this library, of course, anything you would normally want to visualize is doable. We are always interested in seeing what you come up with, so if you use Draw in one of your projects, contact us, and we will add you to a hall of fame.
'But how is this different from p5?' I hear you ask. I mean not literally, this website is totally not listening through the microphone. The goal here is not a complete framework, with physics simulation and whatnot. I mean you can write those yourself if you want to. This library is just here to simplify drawing things on a canvas.
DrawJS is not super hard to learn. The basic funcionality is all abstracted away
for you so you won't have to memorize the obscure canvas API.
We have an extensive documentation
here. All the current features are searchable
and organized.
You can see the example in action here:
Draw is also perfectly good for making small games. Here is an example of a Ludum Dare entry written with DrawJS:
Displaying data is also easy, for example take a look at the rating of the last 20 Studio Ghibli films. (The 41 is Tales from Earthsea, I know you are interested about that.)
All of these sources are available here. The game has a bit more code, check it out.
Draw is also perfectly good for making small games. Here is an example of a Ludum Dare entry written with DrawJS:
Displaying data is also easy, for example take a look at the rating of the last 20 Studio Ghibli films. (The 41 is Tales from Earthsea, I know you are interested about that.)
All of these sources are available here. The game has a bit more code, check it out.
The easiest way to use Draw is to include it from a cdn:
<script src="https://rawgit.com/RazorSh4rk/DrawJS/master/draw.js"></script>
You can also download the repo and use the .js file: If you decide to use Draw in production (yay), use the minified sources.
<script src="https://cdn.rawgit.com/RazorSh4rk/DrawJS/8fe13774/draw.min.js"></script>
<script src="https://rawgit.com/RazorSh4rk/DrawJS/master/draw.min.js"></script>
License information:
This library is provided under the GNU GPL 3.0 license.
Every contribution is welcome. There is no clear roadmap, if some new possible
feature comes up, it will be added to the GitHub kanban board. If you have a
free hour and want to help out, you are welcome to.
That being said, there are a few guidelines. Try to follow the current coding style.
Do not use JS hacks (or at least not extensively). If you want to add a feature that
is not strongly connected to drawing things (e.g. sounds), do so in a separate file.
I will take care of minification and cdn deployment, don't worry about that. If you
add a new feature, please document it, or ask for documentation in your pull request.
You can help with other stuff too, you might have noticed that I'm not great with web
design, so if you want to revamp this site, that would be cool.