This article focuses on emscripten examples and for good reason! The effort to resolve the differences between OpenAL and Web Audio has been on-going and exacerbated by Web Audio's API churn, deprecations and poor support.
I love the story of the Seven Roach Rush. To quote the linked article, "The most interesting part of this build, however, is how counter-intuitive it is. It violates several well-known (and well-adhered-to) heuristics used by Starcraft players when creating builds."
I'm fairly certain that this application of machine learning will present some surprising strategies.
Hey, we interacted a little over 2 years ago when I was talking about a hand-coded port of Love2D to the web using Moonshine. Eventually the dependencies for Love did get to the point where I could do an emscripten port. Just wanted you to know that your project and our little interaction has stuck with me.
Oh, wow, that's very cool! How did you deal with the 3rd party dependencies? Is that open-source anywhere? I would love to see what you had to do in order to get that working.
I'm the author of the above-mentioned punchdrunk, by the way. There were three reasons that I decided to do the port by hand: 1) I wanted to preserve mobile support by falling back to 2d-canvas when necessary. 2) I wanted to really cut my teeth on some graphics programming because I'd never really had the chance before. 3) I just couldn't get the damn thing to compile with emscripten (which I why I'd be very interested in your process).
From my cursory evaluation, the debugging support is actually better than vanilla Lua. The only point of friction I can see if that you have to "compile" something that is normally interpreted.
That Lua was originally designed as a configuration language becomes really clear when you start doing things like this. Having my code and configuration being separate but equal was really a paradigm shift for me.
Also, the Tiled Map Editor exports directly to Lua.
I've recently installed Arch on two different laptops.
The first one was an old netbook. I hadn't done an Arch install in a long time (I've been spoiled by the simplicity and convenience of the Wubi installer) and wanted the learning experience. I also wanted the HDD to be encrypted using dmcrypt and LUKS.
The main problem I had was wrapping my head about the various partition schemes. This was made more difficult by my insistence to have the HDD be encrypted which meant I needed a separate /boot partition along with the special 1MB linux boot partition required to use GPT with BIOS (I missed that in the instructions and it tripped me up for quite a while). Altogether, it took three fresh installs before everything was exactly the way I wanted it but the last one was quite quick and was really on a fresh install because I wanted to make absolutely sure I had everything nailed down.
The second laptop was a midrange, 2 year old HP "media"-style laptop. With my new knowledge, partitioning and installing was easy even while maintaining an existing Windows install. But this laptop has both Intel and Nvidia graphics shared via PowerXpress whereas the netbook has simple Intel graphics. I still haven't taken a stab at the proprietary drivers but using the open source intel and nvidia graphics in tandem (after some fumbling around but it seemed counterintuitive to simply install both drivers side-by-side) it works well enough for what I'm using it for. I don't really relish the prospect of installing the proprietary Nvidia drivers, though.
I've probably spent 20 hours installing Arch on both of these machines but I've learned a lot in the process. It's been good.
To offer an alternate perspective: I owe video games a great debt. I wouldn't be where I am today if I hadn't thrown myself to whole-heartedly into playing and making video games right out of highschool. My passion for them got me my first job as a developer despite having extremely limited experience.
Giving up video games, for me, likely would have meant I was working a menial job for low pay. Games are a huge part of life for a lot of people and it's totally possible to engage with them meaningfully, often and still have it be healthy.
I recently had the pleasure of hearing on of your Engineers, Ben Vinegar, speak at a Tech Talk in Toronto. My impression from the talk was that the hacks were perhaps the more interesting subject. I hope you haven't cut them all out of your book.
Great! I had been passively looking for a lua gamma function to replace one I had been using since lmathx can't be compiled on Windows. Passively found!
I disagree. People become Zed Shaw or Jim Carey based on merit but if everyone is equally meritorious then nobody is. Being good at something is subjective but being better than most people is measurable.
I'm reading Operating Systems: Design and Implementation by Tanenbaum right now. He's damned clever and turns what could easily be very dry material into something quite readable and occasionally very funny.
In case anyone is considering this and wants an additional level of simplicity added to LWJGL, Slick is a great library for easy 2D graphics. http://slick.cokeandcode.com/
That said, this current pull request on emscripten is a fantastic step forward and I'm very excited to see it's completion: https://github.com/kripken/emscripten/pull/5367