Dave is a Principal Technical Evangelist for Microsoft focused on Windows, Windows Phone, Windows Azure and the Web. Based out of the Greater Philadelphia Area.
During the past couple of months I’ve been hacking around in the world of HTML5 Canvas and casual gaming. The community that has formed up around HTML5 Gaming in particular is awesome and I am continually impressed by what I’ve seen.
Not to mention I’m a big retro gaming fan – 8 bits anyone?
With that in mind I wanted to contribute back to the community if I could. I figured the best way I could do that was to take the experience I have writing Windows 8 Metro Style Apps and combine them with the world of HTML5 Canvas based gaming.
Things were super easy to bring over from a code perspective. All of my layout is done through CSS3 (including media queries for ViewState), the game loop is straight up HTML5 Canvas with requestAnimationFrame, the music uses HTML5 Audio Tags, and the sounds use third party JavaScript libraries like SoundJS.
You can grab the sourcecode from Codeplex here:
Or GitHub here:
I am replicating all the source back between GitHub into Codeplex so regardless of where you fork you will always have the latest source.
If you decide to write a Windows 8 app and want to get into the Windows Store I would love to hear about it! You may also want to check out my previous Windows 8 Metro Style Development Tips:
Happing Coding!
-Dave
Via Davedev.net…
I recently paved one of my demo machines and was running a fresh build of Visual Studio 2012 Ultimate RC. I came across something interesting I thought I would share in order to save you time. In the past I have been running Visual Studio 2012 Express RC and noticed in Ultimate things are in different locations. For example, in Express you get a Store menu at the top but in Ultimate you need to go to the project properties to pull up the Store Menu.
When I tried to force a suspend on an app I was running I noticed the Suspend/Resume/Terminate toolbar icons were missing! I only had pause/stop debugging like you would get in all Visual Studio projects.
I right clicked and opened up my ToolBar options menu and found a Debug Location option.
I then started debugging again and low and behold I now had Suspend/Resume/Terminate next to my process!
After doing a little web research I found an MSDN article here that talks about the menu item. It doesn’t tell you to turn on the Debug Location Toolbar but it does show a screenshot. I imagine this is due to the layout style you chose when first running Visual Studio Ultimate. Express will always be set up in the best layout for Metro Style Apps where as my Ultimate installation was set up originally for Web Development. In any event I hope this tip helps you out if you run into the same issues.
As always if you decide to write a Windows 8 app and want to get into the Windows Store I would love to hear about it! You may also want to check out my previous Windows 8 Metro Style Development Tips:
Those of you who have been following my blog for a while are probably familiar with what DoodlePad is. For those new, DoodlePad is a fun little sketch app I wrote for my kids when Windows Phone was launched in the fall of 2010. It has done fairly well (at least by my own standards) since launch with over 35,000 downloads globally for both the free and paid versions.
DoodlePad was never intended to be a full featured art application but more of an easy to use, simple UI that anyone could pick up and sketch or take pictures with. The reviews have been largely positive with the negative reviews revolving around drawing performance. Unfortunately, as you will see in the code, the drawing performance comes form the Ink Presenter class in the Windows Phone Runtime itself. Since I chose to go with the native Silverlight capabilities rather than an XNA approach there wasn’t anything I could do about performance without a re-write.
The app itself is still making money but I knew in my heart I had no intention of going back and rewriting it. I also switched roles at Microsoft last year from Windows Phone to a Technology Evangelist for Windows 8. Technically speaking I’ve been going much deeper on the JavaScript and HTML5 side of the house lately and to take on a full XAML/C# project, especially for an app that is towards end of life, didn’t seem worth investing in. So why not give the code back to you, the community, as a way to get started with your own apps! I’m continually impressed by what I see developers doing with Windows Phone and if my code helps them with their app than that’s worth more than any money I’d make each month.
Thanks to Microsoft’s generous moonlighting policy for employees writing Windows Phone applications I own all the code. So I’ve chose to release it under an Apache 2.0 license and post it up to Github here.
I am not including a NOTICE file with the Apache license so you are pretty much free to do with the code what you want. If you want to thank me you can include a link to my twitter (http://twitter.com/thedavedev) in your code or app credits but totally not required. I’ve also included all of my cusotm icons as Expression Design files so if you have been looking for additional resources for your apps feel free to re-use. Enjoy!
- Dave
Update – July 12th – Updated with Codeplex project info.
In order to give easier access to all of the sample code and starter kits I am now hosting everything on my Codeplex account with all of the source being replicated from my GitHub account.
This means you will be able to grab the latest source code builds from both Codeplex and Github, whichever ones you prefer to work with.
Right now there are four repositories broken down as follows:
As always, all of this code is for demonstration purposes only. Microsoft and I offer no warranties or support for it. It’s sole purpose is to helps you get started in writing your own amazing apps!
Have fun!