2D Game art for HTML5 Game Programmers Posted 16:16PM on March 17 2012 by Pascal Rettig Chris Hildenbrand has a great blog called 2D Game Art for Programmers targeted at programmers designing art for 2D games, focusing on using open-source tools such as Inkscape. Also check out Chris' introductory post on GamaSutra which covers a lot of the basics and is a huge boom to indie-developers without design skills. Here's a sampling of recent posts: All-in-all, great, well-illustrated tutorials that should greatly help programmers with an "Art Problem", here's a sample of how the tutorials are illustrated (click through for the tank tut):
JavaScript Physics Engines Comparison In this article we will take a look at three popular Javascript physics libraries and one that is currently in development: box2dweb, Ammo.js, JigLibJS, and Cannon.js. For each one, a quick introduction will be given and then the library will be rated based on ease of use, performance, and feature set. Though it is possible to run any of these libraries without a visual representation, that isn’t much fun, so we will set up a small environment to see the results as the simulation runs. I’ll use Three.js and its CanvasRenderer for this due to its popularity and how simple it is to use. Setup Our base scene that will be used in each example has two ramps which lead down to the ground. box2dweb box2dweb is a port of the C++ box2d project and is unique on our list of libraries in that it is designed to only simulate two-dimensional scenes. Collision detection with box2dweb is easy to do by using the b2ContactListener object. Overview: Ammo.js JigLibJS Cannon.js Conclusion
Emmet — the essential toolkit for web-developers Working with CSS Media Queries and Media Types, Part 1 RELATED: "HTML5 and CSS3 Feature Detection with Modernizr" and "HTML5 Is in Style: Working with CSS3 and HTML5" The latest statistics on Internet consumption show that close to 9 percent of all web traffic now comes from mobile devices. That percentage is a significant increase over previous years and is certain to increase even more as consumers continue to purchase more and more devices. If you've been browsing websites from a mobile device, you've probably noticed that many sites aren't optimized for smaller screen sizes. CSS Media Types If you've ever printed a page and noticed that it looks different from the actual page displayed in the browser, you've more than likely witnessed a CSS media type in action. Figure 1 shows an example of using a CSS media type to change styles as a page is printed from the browser. Figure 1: Defining a CSS media type for printing This type of code can be placed directly in a <style> element in a given page or in an external style sheet. More to Come
Mobile Game Primer Until recently, performance of browser-based games for mobile devices has lagged significantly behind desktop performance. If you wanted to create a Canvas-based mobile game, performance was terrible and you needed to build your game around the limitations of the platform. Developing a usable game meant using tricks like scaling up from very low resolutions or doing partial screen updates instead of full refreshes, meaning your game design was limited by the platform’s weaknesses rather than your creativity. Luckily, this has changed. iOS5 now ships with Nitro Javascript Chrome for Android browser is now available on Android 4 (Ice Cream Sandwich) Windows Phone 7 Mango launched IE9 mobile with hardware acceleration All feature a GPU hardware-accelerated HTML5 Canvas element and both feature multi-touch support inside of the browser, a must for any but the simplest games. Developing HTML5 games that work in the mobile browser comes with its own special set of requirements. Touch Controls
hot barrel Web API reference - Web technology reference The Web offers a wide variety of APIs to perform various useful tasks. These can be accessed using JavaScript code, and let you do anything from making minor adjustments to any window or element, to generating intricate graphical and audio effects using APIs such as WebGL and Web Audio. Each individual interface across all APIs is listed in the index. There's also a listing of all available events in the event reference. Document Object Model The DOM is an API that allows access to and modification of the current document. Device APIs This set of APIs allows access to various hardware features available to Web pages and applications. Communication APIs These APIs let Web pages and applications communicate with other pages or devices. Data management APIs User data can be stored and managed using this set of APIs. In addition to these APIs that are available to any Web site or app, a set of more powerful Mozilla APIs are available to privileged and certified applications. Privileged APIs
Working with CSS Media Queries and Media Types, Part 2 With more and more Internet traffic now coming from mobile devices, it's time to start thinking about how your website can be optimized to look good and function well on phones, tablets, and other devices, if you haven't thought about it already. Although there's no magic pill to transform a site to look good across multiple devices, you can start the process by integrating Cascading Style Sheets (CSS) media queries into your site. Media queries provide a way to dynamically reorganize content in a page using pure CSS. Although they aren't the only thing to consider when creating mobile-optimized sites, CSS media queries do provide a simple way to repurpose existing content without changing back-end code. In the previous article of this series, "Working with CSS Media Queries and Media Types, Part 1," I introduced the concept of CSS media queries and discussed the fundamentals of how you can use media queries to target different screen sizes. Figure 2: Widget Masters sample website
Adventures in JavaScript Development FPS TACTICS: Strategy guide to first person shooter online multiplayer gaming PEAR - PHP Extension and Application Repository A Unified Approach to Client-Side Storage Papa's Perspective A Unified Approach to Client-Side Storage By John Papa08/31/2012 This simple API can give you a leg up on local storage in your Web apps. Web apps, generally, have sets of data that either don't change a whole lot, or that represent state -- the configuration, content and attributes -- which must be maintained between page calls. Why Use Storage? You can use cookies, but there are some limitations, which Christian Heilmann explains in his article, "Local Storage and How to Use It on Web Sites". Say you're building a Web app that supports multiple versions of different browsers. Unified API with Amplify.store This is the sweet spot for AmplifyJS, a library of jQuery components built by the folks at appendTo LLC. Note: If your browser doesn't support JSON2, you must include JSON2.js as well. Local storage stores a key value pair, where the key and the value are both strings. The following sample code defines an array of people objects: About the Author
Bouncy Mouse Introduction After publishing Bouncy Mouse on iOS and Android at the end of last year, I learned a few very important lessons. Key among them was that breaking into an established market is hard. Given this experience, I saw an interesting opportunity on the Chrome Web Store. In this case study, I will talk a bit about the general process of porting Bouncy Mouse to HTML5, then I will dig a bit deeper into three areas that proved interesting: Audio, Performance, and Monetization. Porting a C++ Game To HTML5 Bouncy Mouse is currently available on Android(C++), iOS (C++), Windows Phone 7 (C#), and Chrome (Javascript). So now the question is, can anything be done to make a codebase easily hand-portable? Keep the Codebase Small While this may seem obvious, it’s really the main reason I was able to port the game so quickly. Not writing any excess code may seem obvious, but it’s one thing I always fight over with myself. Don’t Take Dependencies You Don’t Need That’s pretty much it. Audio
What they DON’T tell you about being a game developer So I’m in an interesting position. Malevolence, while not my first game by a long shot, is my first RELEASED game, and I’ve been lucky enough to have it gather a lot of attention (for an indie title) early on in its creation. From what people tell me, this does not normally happen. STAGE 1 – DELUSIONS ————————— Going through university I had the same delusions as most people that I would get my qualifications, build a folio and get a job at a AAA game company. A good example of what it is to be a tester, provided by Penny Arcade. Sure, that would give me a foot in the door to have my true skills recognised later on, however, most game companies go through and trash their QA teams at the end of every project after smothering them in NDAs which make their soul now below to the company. EDIT: Since this seems to be causing some controversy, let me clarify that my thoughts listed below are not my opinion of ALL games companies. I was young.