With global collaboration and a flat world in mind, this group of Adobe Education Leaders (primary through post secondary education) is sharing their expertise and thoughts on the use of technology in the school classroom and at districts and college/university campuses around the world.
This is inspirational. Watch developer Jesse Warden build out a game in 12 hours using Flash Professional, Audition, Fireworks, Photoshop, and Sublime Text. He is using the Corona SDK for development targeting mobile.
It’s great to see that the Creative Suite workflow is applicable even when targeting something non-Adobe like Corona! The big take-away though is what can be accomplished in such a short amount of time. I’ve learned much from short game jams and such – students can gain lots of experience across applications doing the same. Game development is a great way to teach workflow and get students familiar with the tools and platforms.
I built a Memory game (like Simon Says) in Corona SDK in 12 hours over Memorial Day weekend, recorded it, and compressed it to 7 minutes here. I used Adobe Flash, Fireworks, and Photoshop to do the artwork, Audition to do the audio, and Sublime Text 2 to code the Lua in with Ansca Mobile’s Corona SDK. I use Tower to check the code into Github.
If you want to get involved immediately – join the One Game A Month initiative! You don’t have to make anything complex… just hone your skills by building simple concept games. That’s what I’m doing. I know there are a few other AELs who have joined #1GAM / #OneGameAMonth as well – be heard in the comments and tell everyone how useful an effort like this is!
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!
As expressed in the recent Adobe education article, Better Learning Through Game Design [alternate version], gaming and the skills involved in the creation of games are important to education. With the current focus on gaming for engineering behind the Flash runtimes, gaming is very important for Adobe. Take these two factors together and gaming is very, very important for the Adobe education team. As an Adobe Education Leader and lover of all things Flash: it is my absolute duty to dive into this stuff head first 🙂
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 🙂
Adobe tooling and runtimes make this all possible!
Looking at getting into gaming using Flash or HTML5 technologies? Want to see some great examples of gaming using these and other tech? Want full source code for all these examples to learn from or adapt to your lessons? If any of this interests you – you’ll be happy to have a look at the 1400+ games developed during Ludum Dare #24 this past weekend.
With the current Flash Platform emphasis on gaming, an event like Ludum Dare is the perfect opportunity to get up to speed on some of the neat libraries and techniques offered by the platform. I did a lot of warm up excercises previous to the start of this event using Starling, Away3D, and some other gaming engines. Flash offers a TON of options no matter what type of game you are developing – so be sure and check a few of them out before making a decision. A bunch of GPU accelerated Stage3D engines are listed on the Adobe Gaming site.
Ludum Dare (Latin: “to give a game“) is a regular accelerated game development event which takes place over 48 hours. A theme is voted on in the days following up to the event and the chosen theme is revealed at the event start time. Participants basically are going into these 48 hours with nothing prepared since the theme is secret… and all assets and code (aside from external libraries and such) must be created during those 48 hours. Anything that isn’t must be declared beforehand – making for a pretty intense experience for the participants.
This was my first Ludum Dare (although I have contemplated joining previous ones) and I really enjoyed the experience. Ever since I had the pleasure of tech editing Christer Kaitila’s “The Game Jam Survival Guide“, I’ve been wanting to give something like this a shot.
My motivation for this round was to force familiarity with a specific ActionScript gaming engine. I wasn’t sure what I would use until the theme was announced and settled on the popular Flixel engine. I’m happy that I did – as this engine really makes everything quite simple when throwing a game together. Initially I was put off by the theme (“Evolution”), having absolutely zero ideas on where to begin, but that all worked out as I put time into developing the concept. I learned a ton about Flixel – which was my main goal. Picked up a lot of other new experiences and had fun doing it!
Some of the final game is a bit rough… I know there are some spelling errors, for instance. Some of the game logic could be fixed and there is certainly room for cleaning up the code. here could also be a bit of challenge added to the game as right now it is COMPLETELY story-driven in a minimalistic fashion. The soundtrack could also be cleaned up as well as the sprites.
I’m really happy with the way it all came together.
Adobe Flash Builder 4.6
Adobe Flash Professional CS6
Native Instruments Komplete 7
Adobe Photoshop Extended CS6
Adobe Media Encoder CS6
Adobe Audition CS6
Had a great time doing this even with limitations imposed by family, clients, publishers, and the rest. I’d encourage anyone to give it a go – even if they don’t think 48 hours is enough time.
The 2011 Global Game Jam took place January 28th through the 30th; a single 48 hour period in which teams would have to come up with and develop a game using the platform of their choosing.
48 hours, 44 countries, 170 locations, 6500 participants, almost 1500 games, one weekend, one theme (“Extinction”).
At the University of Denver, students David Fogle, Daniel Kjellerson, and Stephen Rice formed one such team in an attempt to develop a game using the Adobe Flash Platform. The three students are all dual majors studying in the Animation and Game Development and Digital Media Studies programs at DU. The idea for their game is an interesting concept as it immediately appears to be a regular 2D shooter, but is actually a little more complex than that… if you start shooting at the approaching aliens out the gate, they will retaliate- but if you choose not to start a fight, a peaceful outcome will occur.
Taking into consideration the rich visual history behind Flash, the ubiquity of the platform, and some prior ActionScript experience, the team decided that the Flash Platform would be a good choice for their project, X-Defender.
X-Defender: ActionScript Class
“We participated in the Global Game Jam in order to further develop and practice our game development skills in an amazing environment. We found ourselves using ActionScript and Flash due to our prior experience as well its accessibility and ability to meet our needs.”
The two classes that were most influential in their decision had been Topics: Introduction to Game Design which is focused on game development theory and creation, and Programming for Play which deals with game and toy development which is taught using ActionScript as the development language.
All of the games created during Global Game Jam are in various states of completion due to the rushed nature of the competition. X Defender though, is actually playable with animated cut scenes, full player control, enemy attack patterns, a boss battle, and background score.
It is certainly a testament to rapid game development enabled by the Flash Platform, and is a stand-out project from a conceptual standpoint as well.
X-Defender: Cut Scene
Meet the Students
Designer, In-Game Artist, Programmer, Music Development
Concept Artist, Cutscene Artist, Code Consultant