Don’t let the Open Web lose momentum. Innovate and compete!

by Josh Tynjala

Lately, there has been much hoopla about the battle between Flash and HTML5. Anyone in the Flash community will tell you that the new features of the Open Web are still years behind Flash Player and other plugins. However, I believe that the amazing passion currently growing within that community can lead to exciting opportunities and new innovation. Advocates of the Open Web are currently trying to show that Flash isn’t required in the browser, and I encourage them to compete strongly in the coming months to prove their assertions.

To succeed, to knock Flash off it’s throne as the strongest innovator in web technology, HTML, CSS, and JavaScript need to be pushing out new versions much faster. When did HTML4 come out? Not in this decade. Consider the way everyone has been talking about HTML5 and CSS3 so much lately. I’ve seen so many cool examples that show the improvements over HTML4 and CSS2. To me, it seems like most of the big decisions have already been made. Yes, it may be a while before the standard is officially approved, but the important stuff is there and browsers are implementing things like mad. That’s so awesome!

With that in mind, I strongly suggest that we all should begin thinking about the next versions of Open Web tech very, very soon. You know why? Because Adobe generally has an 18 month release cycle for many of its products. Flash Player will continue to improve with cool new features, and that’s what keeps developers like me sticking with Adobe’s infamous plugin. I’m not saying that HTML needs the same duration for a release cycle. Standards are finalized at a slower pace for good reason. However, I strongly believe that HTML and all of its open friends have been stagnating for far too long, and that the release cycles have been slower than they should be.

Every browser vendor has been committing to new features like crazy lately, and many have been inventing new APIs that greatly improve the web. Keep that up, guys, because I’m impressed. However, I think one extra bit of effort should be combined with all this new stuff. Start throwing things into a bin that will eventually become HTML6, CSS4, and ECMAScript 6. Maybe not immediately, but I think 12 to 24 months from now, the most interesting features of the upcoming Open Web should be considered ready for the majority of smaller websites, and six months away from appearing on major web portals. At that time, developers should be just as excited about HTML6 and other future tech as they are today about HTML5.

I’m a Flash developer, and I’ve been one for nearly six years. I love Flash, and I hope that it continues to improve for a long time to come. However, I understand the role of the open web, and I want to see it follow a similar path. I do not see any sort of epic opposition between Flash and standards. In fact, I think that plugins like Flash Player and Silverlight can help to drive standards by being a test bed. Still, I see excellent opportunities for more friendly competition between plugins and web browsers, much like browsers compete among themselves to provide the best user experience for visiting our favorite websites. However, even with all the passion that has recently grown within the Open Web community, I think that there’s a chance that everyone could all settle down again and leave those technologies in limbo for a while. That would be unfortunate, and I encourage anyone who supports the idea of an Open Web to advocate for quicker standardization and to push for continued innovation in the very near future.

Adobe AIR for Android: Chroma Circuit, Gridshock, and Qrossfire Preview Videos

by Josh Tynjala

Updated! Added a video of Gridshock on a Nexus One.

Recently, the folks at Adobe gave me access to early builds of AIR for Android. With permission, I’m able to share a little bit about my experience so far. For your enjoyment, I’ve also uploaded a couple of videos to YouTube where I demo Chroma Circuit on the Motorola Droid along with Gridshock and Qrossfire on the Google Nexus One.

First, here’s a look at Chroma Circuit:

Since I’ve only been targeting a single platform so far, I hadn’t yet spent a lot of effort making my games resolution independent. With each one, I had to spend a couple hours making adjustments to ensure that the layouts would properly fit the screens of different devices. None of this new code that I wrote is Android-specific. In fact, now that my games have these changes in place, I shouldn’t need to make any adjustments when Adobe brings AIR to other types of smartphones in the future. That’s awesome. Of course, if a platform has an important UI paradigm, like Android’s hardware back button, then yes, I’ll make the necessary tweaks to ensure it is supported.

Now take a peek at Gridshock too:

Performance-wise, AIR for Android is fast. When I was making iPhone apps with Adobe’s Packager for iPhone in Flash CS5, I had to make heavy use of hardware acceleration to make even the most basic animations run smoothly. On Android, my games are all rendering in software, and they feel no less responsive on the phones than they do on my desktop. As Lee Brimelow pointed out, “[Adobe is] able to get tremendous performance on Android devices because Google and the various handset manufacturers have chosen to work closely with us to provide the best possible experience to the end user.”

Finally, here’s my third game, Qrossfire:

With barely any work on my part, I got my three existing mobile games running in AIR for Android. It’s exciting. This week, I’ll be starting a totally new game (finally!), and I plan to target my Android phones first. It’s a side-scrolling shooter, which is a nice change of genre for me, and the control scheme I have planned should be fun to implement with multi-touch.

Addressing color blindness in game design

by Josh Tynjala

As a game developer, I try to be accommodating to all types of players. One thing I learned pretty quickly after I released my first web game, Chroma Circuit, is that choosing colors (especially in puzzle games) is very important and not a task to take lightly. Color blindness can easily make two colors that seem very different to me look almost indistinguishable to others. When gameplay only relies on being able to see the difference between colors, you’ve got a problem.

As soon as I received the first request from a color blind user who was having some trouble with Chroma Circuit, I realized my mistake in simply choosing an aesthetic mix of colors that looked good to my own eyes. Only a couple of the colors seemed similar to the color blind player, but those were enough to take all the fun out of the game, and to make it mostly unplayable. Right away, I started putting together a new palette for Chroma Circuit. I’m no expert in this area, but I do have some tools at my disposal that certainly helped me out.

Photoshop color blindness modes

I think the first thing I did was take screenshots of a few levels from Chroma Circuit to load into Photoshop. Under the View menu, go to the Proof Setup sub-menu. This section lets you preview how your image will look in different color modes. For instance, designers can try CMYK to see how something might look a little different in print. You’ll find two options relevent to color blindness here, Color Blindness — Protanopia-type and Color Blindness — Deuteranopia-type.

Spectrum as seen with Protanopia-type and Deuteranopia-type color blindness

A standard spectrum of hues is shown above. Each of the color blindness proof options is shown for comparison. If you have a moment, and want some more examples, grab screenshots of your favorite websites that use an interesting mix of colors, paste into Photoshop, and take a look at how they change for color blind visitors. Below, you can see Chroma Circuit through the eyes of someone with Deuteranopia-type color blindness. The top half displays a level with the original colors, and the bottom half shows the same level after I made changes to the palette.

Screenshot of Chroma Circuit with color blindness mode enabled

To address the issue with Chroma Circuit, I took a pretty basic approach. I bumped up the contrast among each level’s colors as high as I could so that players could rely on brightness, in addition to hue. I generated the brightness levels based on the number of colors appearing in the level to achieve maximum contrast. If there were four colors required, I might set brightness values to 20%, 40%, 60%, and 80% brightness. If there were only three color needed, I would use 20%, 50% and 80%. The resulting colors weren’t particularly pretty, but they seemed to work well enough for the players who thanked me after I made the change (accessible in the Settings screen).

Screenshot of Chroma Circuit mobile with Pattern Mode enabled

When I brought Chroma Circuit to mobile devices, I decided to take a different approach based on a suggestion from a color-blind player. Rather than creating a palette of high-contrast colors, I decided to augment my regular palette with a set of unique patterns for each color, if “Pattern Mode” is enabled.

Screenshot of Qrossfire's symbols

With Qrossfire, another puzzle game I made, I tried adding something directly to the game, rather than making players enable it from the settings screen. In addition to colors, I created a set of visually unique symbols to display on the game board.

Screenshot of Gridshock with patterns mode enabled

In my most recent mobile game, Gridshock, I went back to making the patterns an option. Still, I feel like I integrated the patterns into the overall design better because I often “forgot” that I had the patterns enabled while testing. Additionally, Gridshock provided a new challenge that I think may have actually helped me design the patterns better. Since the timer bar shows the current color, and it’s a different shape than the squarish blocks in the grid, I had to ensure that the patterns were bold and flexible enough to display within differently-sized regions.

More Real-World Examples

Let’s take a look at some other games out there, including popular commercial titles to see how they handle (or mishandle) colors.

Bioshock screenshots

As I was writing this post, I was lucky to came across some complaints about BioShock 2, an example of a big commercial game that isn’t friendly with colors. Negative Gamer shows us What BioShock 2′s Hacking Looks Like if You’re Colour Blind.

Screenshot of Puzzle Fighter with color blindness comparison

Ars Technica had an article about the developers being unaware of color blindness a couple years ago. It includes the Puzzle Fighter screenshot comparison above, and many other examples described in the text, including first-person shooters, platformers, and more. Notably, New Super Mario Bros. doesn’t provide enough visual cues to easily tell the difference between Mario and Luigi.

Screen shot of Bejeweled showing the different shapes of colored jewels

In Bejeweled, each gem not only has a different color, but a different shape as well. These shapes are integrated into the design, and they’re always on by default. Instantly playable by color blind gamers!

Image of playing cards

I know, I know, it’s not a video game, but standard playing cards are an excellent example of game pieces that can be used by color blind players. Though card games often rely on the difference between red and black suits, color blind players shouldn’t have a problem with that. You might have never noticed, but both red symbols (hearts and diamonds) come to a point at the bottom while the black symbols (spades and clubs) have that little flat handle. Moreover, the contrast between red and black should be more than enough to allow players to note the difference, even if red looks a little more brown or yellow to them.

Don’t ruin the fun!

We all hate when players to stop having fun in our games for any reason. Though we might not be able to make changes to support all disabilities, ones like color blindness are often very simple to address, and I think it’s worth the small amount of effort required. One needs not ruin the aesthetic experience to make it happen either. If you can integrate various helpful tweaks into your main design, great, but a simple setting that can be enabled only when needed can be an acceptable alternative. Don’t forget that Photoshop provides tools that can be a big help in the process.

If you can, try to remember color blindness early in the design process, so that you don’t have to spend time changing an existing design that you might already be happy with. Not only will it save you frustration, but it might allow you to find better solutions that might not be acceptable later in the process.

Gridshock Mobile for iPhone (with Android on the way?)

by Josh Tynjala

Update (7/7/2010): Apple decided to keep my third iPhone game, Qrossfire, in review with neither approval nor rejection for three months. They offered no explanation, and it made me feel unwelcome and greatly disrespected as a software developer excited about their mobile platform. I have chosen not to renew my yearly subscription to the iPhone developer program. As a result, Gridshock is no longer available for Apple iOS devices like the iPhone. In the future, Gridshock will be back again for other mobile platforms, such as Google Android, where Adobe Flash Player and Adobe AIR are given a much warmer welcome. Stay tuned!

The original post follows, in its entirety:


My most recent mobile conversion, Gridshock, has gone live in the iPhone App Store. Unlike Chroma Circuit, Gridshock required some heavier fundamental layout changes, but I think I kept the difficulty balance and speed at a level that’s about the same as the original. I even took some time to add a couple new features.

Gridshock iPhone title screen

First, I added the Shock powerup to the mix. When you match five or more lights, one of them won’t disappear. Instead, it upgrades to add the powerup, and it can be matched again. When matched a second time, it will remove an entire row of lights. Very useful when things get fast and frenzied, and the grid has almost overflowed.

Gridshock iPhone game with patterns

On the Options screen is a new setting called “Patterns”. For players who might have difficulty telling the difference between some of the game’s colors, Patterns mode adds a unique and high-contrast shape to each color.

What’s that I said about Android?

On other fronts, you might be interested to know that I’ve had a chance to preview an upcoming version of Adobe AIR for the Android mobile operating system. Adobe’s Ted Patrick recently showed off a few sneak peek Android screenshots, and he includes both Chroma Circuit and Gridshock in the mix.

Chroma Circuit on Android!

The only thing I needed to focus on for Android from a development perspective was ensuring that my games would fit well in different screen resolutions. Christian Cantrell’s recent article, Authoring mobile Flash content for multiple screen sizes, has a wealth of information on this subject, and I suggest any Flash developer expecting to target mobile check it out. I was thinking about writing a blog post about multi-screen content myself, but Christian covered all the details I would have, so I recommend it highly.

Pages: Prev 1 2 3 4 5 6 7 8 ...47 48 Next