LevelUp for Photoshop – Updated for CC

With the release of Photoshop CC as part of the Creative Cloud, Adobe has also updated the LevelUp for Photoshop extension with a ton of enhancements which focus on new Photoshop CC features! It’s a great way to get familiar with the product and teach others through an integrated learning experience.

LevelUp CC

LevelUp for Photoshop is a game of missions — and points and rewards — that guide you along the way of learning basic Adobe® Photoshop® CC software skills. If you are a photographer and are just starting to use Photoshop, this is the game for you.

New in LevelUp for Photoshop CC:

  • An additional level to attain – Level 4
  • A new set of Quiz questions
  • 4 new PhotoShop CC inspired Missions (below)

New Missions

It was a really interesting experience working on enhancing this project with Adobe – I encourage anyone learning Photoshop CC to check it out!

Adobe and the Flash Gaming Landscape

I had the opportunity this month to speak at the Rocky Mountain Adobe User Group about gaming, Flash, Adobe, et cetera alongside Jun Heider who talked about Apache Flex. Here are my slides:

There have been a lot of changes with the Flash Platform over the past year or two  plus a lot of changes in the web landscape in general. The role of Flash is shifting and Adobe is adapting to this shift by focusing engineering efforts, tooling, and community library support to the two areas in which Flash really excels: gaming and premium video experiences. In this session, we’ll have a look at the momentum behind Flash Gaming and see how Flash Builder 4.7, Flash Professional CS6, and Adobe Scout contribute to this momentum while taking advantage of the new Adobe Gaming SDK and the support of Stage3D libraries like Starling, Away3D, and Feathers. Interested in how to get started in game development with the Flash Platform? Don’t miss this session!

The recordings of both my talk and Jun’s Introduction to Apache Flex 4.9 can be accessed as well.

Cootie Crush! Starling game for Android

My children are absolutely in love with this game (and so am I)!

Crush swarms of cooties beneath your fingertips. Clear them all before time runs out and advance to the next challenge. Cootie crushing fun for everyone!

Casual game geared toward children – but challenging for adults as well. Beat your high score and race the clock!

Get it on Google Play

This game was developed in Starling as part of the One Game a Month effort.

Even though I’m monetizing the game via the Google Play store – I am still making the source code available through my GitHub account: https://github.com/josephlabrecque/CootieCrush.

Adobe Game Developer Tools part of Creative Cloud!

Adobe has announced a great new addition to the Creative Cloud: Game Developer Tools! The addition of this set of tools reinforces a commitment to the Flash Platform on top of the already rapid advances in runtimes we’ve seen over the past year. Making this new set of gaming tools a part of the Creative Cloud places them alongside the excellent Edge Tools and Services offering which became available in October, and the core creative tools which includes Flash Builder 4.7 and Flash Professional CS6.

This new set of tools includes the Adobe Gaming SDK, the FlasCC cross-compiler, and the new Adobe Scout 1.0 advanced telemetry profiler.

FlasCC is the product previously codenamed Project ‘Alchemy’. FlasCC allows developers to bring C/C++ code — including the leading game engines on PCs, Xbox 360, and PlayStation 3 — to the web using Stage3D.

Adobe Scout is the product previously codenamed Project ‘Monocle’. Scout enables advanced profiling and introspection through the advanced telemetry features of Flash Player 11.4 and Adobe AIR 3.4.

Gaming SDK is a new convenience offering which provides a sort of jump-start for developers getting into all of this great new stuff the Flash platform has to offer.

So why a Gaming SDK? The world of Stage3D is very different from that of traditional Flash development. Stage3D was first available with Flash Player 11 and AIR 3 last year on the desktop – and has recently been made available for mobile devices as well. The new APIs offer a huge leap forward in terms of what Flash is capable of- yet the use of these APIs requires some pretty hardcore knowledge of shaders, vertexes, AGAL, and just all around low level programming that most people do not have the time or desire to deal with.

Enter a set of brilliant 3rd party framework developers who enable the use of Stage3D APIs is a functional way for everyone! Frameworks like Starling for 2D rendering views, Away3D for 3D rendering views, and the awesome Feathers component and layout library for GUI elements provides a core set of powerful frameworks upon which to build any number of experiences for games, apps, whatever!

Adobe has recognized the value of these frameworks and have thrown their support behind all three of them. These are core frameworks as part of the new Gaming SDK, alongside the AIR SDK 3.5 and a number of great ActionScript Native Extensions. Rounding out the package is a group of documentation resources, code samples, and a set of tools to work with ATF textures. Installing the Gaming SDK will enable everything needed for a developer to get going with all this new stuff quickly!

Also available now is the final version of Flash Builder 4.7 and, of course, Flash Professional CS6. Both products are include in a standard Creative Cloud membership and trials are available for those accessing the free Game Developer Tools.

Charity Game Jam: Post-Mortem

Over the US holiday weekend, I participated in the Charity Game Jam organized by Christer Kaitila, author of Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner’s Guide and The Game Jam Survival Guide (for which I was able to serve as technical reviewer). The idea was to make a game inspired by the technical limitations of the NES (Nintendo Entertainment System). This means 256×224 pixels and 64 colors… though the pixel resolution was doubled and any constraints were made optional. The charity bit comes in where anyone participating would donate to either Make-A-Wish – which performs tangible acts of kindness for children who are suffering with terminal illness, or Kiva – which I’m still unsure exactly how they operate… I went with Make-A-Wish!


Download the source files: SOURCE

Video Playthrough:

The game I created was built using the Citrus game engine targeting Flash runtimes (Flash player/AIR). If you haven’t heard of Citrus before, it is a GPU-accelerated gaming engine (strongly directed at platforming) which sits atop your choice of view renderers, physics engines, and so forth. I chose to use Citrus + Starling + Box2D for my game. The engine is being actively contributed to, is free to use, and holds great promise for integration with tooling in the future.

I started off using Flash Professional and the Starling Sprite Sheet exporter for texture atlases – but considering the amount of time it would take to properly animate my characters, decided to use single-frame sprites instead. For this I fell back to Photoshop. Most of my assets included screens, overlays, characters and objects, plus one huge background image. Something super-cool about using a big background image like this is that it made it pretty simple to figure out platform and object placement through the Info panel.

In the figure above, you can see that I am using the Move Tool and hovering over various parts of my image (game stage) to determine coordinates using the Info panel. Cool, right? I chose to not even bother with some of the tooling integration with Flash Professional that exists and just go straight code using Flash Builder 4.7 beta – so this was a tremendous help!

What I got out of it
I got to pick up and learn another great gaming framework! For the previous game jam, I went with Flixel and the traditional display list. I’ve been wanting to try my hand at something that utilized Stage3D and after a few conversations with Tom Krcha about Citrus, thought that it would be the logical choice. Funnily enough, I wasn’t going to even participate in this game jam but since I planned to look at Citrus over the weekend, and it sounded like a really good cause, I decided to throw my hat in. After all, despite admonishments to the contrary – I’ve found game jams to be great opportunities for picking up new stuff and just diving right in. A warning though: that is the sort of learner I am… so it works for me. I can see how this approach could be disastrous for some people; so “know thyself”, kids.

What went well
Citrus was great to use. It has all sorts of base classes all ready to go for players, enemys, pickups, physics objects, sensors, platforms, et cetera. They are all easily skinnable and can be extended to override functionality and behavior. Similar to Flixel and other engines, Citrus has the concept of states which I employed to wire up the various game screens. The API documentation is great and there is a very active user support forum as well. The ability to use a variety of 2D and 3D render views along with swappable physics engines is such a great model. This could very well be my go-to engine for any future game work!

The game concept came together pretty easily this time as well. Friday evening I was able to get the basics of an unskinned platformer together. Overnight, I got the idea for what it became – basically a fetch quest for an infant who just won’t go to sleep. Parents of young children – we all share this nightmare together… now we can relive these early memories over and over and over and over… lovely, right? ;)

In case you are wondering, the title and intentional misspellings originate with this meme.

What went wrong
Almost nothing! The entire thing went really quite smooth until the very end. As I mentioned before, I was using Flash Builder 4.7 beta for all of my development. Everything worked awesome when testing inside of the dev environment… but when I completed the game and began to prepare everything for publication… I encountered my one major issue.
Performing a release build rendered a .swf which CRASHED HARD. Absolutely unplayable… no amount of debugging or profiling seemed to create any suspicions either. Google searches… commenting out entire portions of code… no solution whatsoever. Until I thought to myself: “Joseph, you are using a beta version of the new ActionScript Comipiler 2.0 to perform a release build.” Establishing the project within Flash Builder 4.6 and performing a release build created a perfectly functioning .swf file. Thank goodness!

Only other issue is that when people approach the game for the first time, they don’t know how to play. I should have placed some quick instructions in-game. For reference; SPACEBAR = jump, L/R ARROW to move.

Happy I was able to participate. Christer is badass. Goal was set at $250 and we hit over $1500!!! Love the game I made. Love Citrus. Please play the game, learn from the source code, and share it with your friends :)


BTW: If you want to learn more about using Starling, Feathers, and Flash Professional for multi-screen layout… I have a new article up on the Adobe Developer Connection I encourage you to check out:
Designing for a multi-device, multi-resolution world