• Home
  • About Jason
  • Apps
    • Corban Walker: Ireland at Venice 2011
    • Gordon & Li Li:
      Learn Animals in Mandarin
    • Chungaboo Language Series
  • Client Testimonials
  • Contact
  • Jason Schroeder’s CV

Elementropy: My GIGJam48 Experience

May07
2013
3 Comments Written by Jason


Last weekend, Glitch Games (creators of the popular Forever Lost adventure game series) hosted a 48-hour Game Jam just for Corona SDK developers called “GIGJam48.” I’m happy to say that I was a participant in the jam, and wanted to write a sort of “post-mortem” for my experience with the event.

Game Jams are “hackathon”-style events where developers are given a topic or set of specific limitations, and tasked with creating an original game that adheres to those limitations in a short period of time – in this case, 48 hours. On any given week or month, it’s easy to find somebody somewhere hosting one of these events — (Ludlum Dare is an industry stalwart, and the #1GAM (“One Game a Month”) project has really picked up steam this year — but game jams specifically for the Corona community are still pretty rare, and it was exciting to see one put together by a team like Glitch, who are big players in the Coronasphere. Their open-source libraries are very popular with a lot of Corona devs, and I think it’s safe to say that most of us are jealous of the success they’ve seen with “Forever Lost.” :)

Luckily, GIGJam was running on UK time, which meant that instead of receiving the jam’s theme (“the elements”) at midnight on Friday, the theme was announced at 7pm Friday night in NYC. I did very little actual coding on Friday night – I brainstormed and laid some groundwork that was applicable no matter what form my game took (i.e. making 118 audio files of a robot voice reading element names). From the start, I decided that I wanted to avoid interpreting “elements” to mean “earth, fire, wind, and water” but rather as chemical elements from the periodic table. This was partly to help make my game stand out from the pack, and partly because it gave me a broader set of raw material to work with (hey, if you can create everything in the whole world out of these elements, making a simple video game should be easy, right?!). Part of my Friday night preparation was to create a lua table that organized all the data for all 118 elements – something that was invaluable as I experimented with different game ideas on Saturday. (You can view that table here if you’re so inclined.) And I went to bed at a semi-reasonable time Friday night, with a head full of ideas, a hard drive full of mp3s and Lua tables, and a title that I knew I liked: “Elementropy,” which is a mixture of the words “element” and “entropy.” One definition of entropy is “lack of order or predictability; gradual decline into disorder,” which is a pretty good description of the last time I played “Pac-Man.” I was clearly inspired.

I have to admit, my commitment to seeing this thing through was not as steady as I’d have liked — my wife and I are expecting twins later this month, and the weekends are often busy preparing for their imminent arrival, so I didn’t have the luxury of retreating to some isolated corner for a full 48 hours. My wife was beyond understanding, though, and graciously allowed me to zone out at the computer for hours when I probably should have been baby-proofing the apartment or something (thanks, Leslie!). But on more than one occasion I considered packing it in, thinking that there was no way I’d have something presentable by Sunday night. This was especially true on Saturday, when my ideas were running rampant without any clear winner taking hold. At one point, I was building a quiz-style game to see if you could match an element’s symbol with it’s name — but I scrapped that because it felt too simple…and an “edutainment” title didn’t seem very “game jam-y” to me. Then I was considering some sort of “Magic: The Gathering”-style card game where each element was represented by a card, with combat stats pulled from data like atomic weight. I still think that second one is a pretty cool idea, but since I never actually played any card trading games as a kid, I didn’t know where to begin implementing it! At times I felt lost, and very nearly threw in the towel so that I could launder more baby onesies. But inevitably, after a 60- or 90-minute break, I’d be back at the laptop.

By Saturday night I was hard at work building a game that resembles my final product aesthetically, but that worked in a vastly different way. Element “bubbles” would drop from the sky using Corona’s physics engine and stick to the first other element they touched, sort of like a chemical compound. The idea was that as your compound grows, you’d need to be careful to keep it balanced so that it doesn’t fall off the platform it sits on, at which point the game would be over. The bigger the compound you create, the higher your score. This idea is workable, and it was fun to watch the physics engine create a “World of Goo”-style compound that would jiggle and stretch every time a new element was added. But ultimately I didn’t have enough time to fine-tune certain aspects that would make it playable: I was able to make it waaaay too hard to build a compound bigger than 3 or 4 elements successfully, and I was able to make it so easy that it became a challenge to make the compound fall off the platform at all, but I was having trouble finding a middle-ground. And even though I had a working “camera” that could track any display object seamlessly as it moved through virtual space, there were maddening logistical concerns that presented themselves: as the compound grew, how would the user keep an eye on lower levels of their compound, that could fall off the platform without a visual warning? The solution was probably to zoom the camera out as the compound grows, but with less than 24 hours to go, I didn’t have sufficient time to make that work. Zooming is possible using Box2D physics, but it’s not easy to make it play nice, and I didn’t have tons of time to teach myself. I went to bed very late on Saturday night feeling discouraged and unsure if I’d be submitting anything.

How to Play ScreenOn Sunday morning I woke up and started playing with my code. I mean that quite literally – I was modifying code piece by piece, a bit aimlessly, trying it out in the simulator, and seeing if anything grabbed my fancy. At some point I ended up adding a touch listener to the element bubbles that allowed me to fling them around the screen, and into one another. “Hey, that was fun!” It also reminded me of Puk, yet another Corona-made game that I’m quite fond of. With that bit of inspiration, I set about building a single-screen playing field (goodbye, camera management!) not unlike the kind seen in Puk. I also recycled some abandoned graphics from that “edutainment” version of the game I was working on the day before to create a target zone that resembles a Scrabble tile. An arcade-style game! Eureka! By the time this all really started to gel, I was only 3 or 4 hours away from the submission deadline, but it’s amazing what an impending deadline can do to focus your mind. In no time I’d created a rough level progression system that begins with just one element bubble on the screen, and grows that number by one each time you clear the screen. As the number of bubbles increases, gameplay becomes more difficult because your score diminishes if you hit the target with the wrong element. To keep things varied, each element’s density is determined by it’s actual real-life atomic density, resulting in some bubbles that zip across the screen with barely a touch, and others that require constant force to move up the screen (this was easy to implement because of my Friday night prep work, translating the periodic table into a Lua table). I implemented a game clock so that the game doesn’t run on endlessly — and rewarded players for hitting the target correctly by adding a few seconds to the clock in addition to increasing their score. I quickly implemented a rudimentary scoring system where the player’s score is increased by the target element’s atomic number. Holy crap, I think I’ve made a game here!

Nuts to you, ugly post-game report.

Nuts to you, ugly post-game report.

With just over an hour left before the submission deadline, I had a game that felt like a game, and that had a clear beginning, middle, and end. But it needed a little window dressing. When the game ended, it just ended. No bells or whistles, no “post-game report.” It also had no introduction or menu screen. With the clock running, I only had time to implement one of these elements, and I opted to build a menu screen — my post-game report would have to make do with a simple native system alert. But in just a few minutes I was able to whip up a decent-looking menu page that fits nicely with the feel of the game, as element bubbles are tossed across the screen randomly. I even had time to make a quick “how to play” screen, so that the judges wouldn’t be left to their own devices. I’m bummed about the lack of a nice-looking post-game report, but I think under the circumstances I made the right call. I put in a quick 10-minute gameplay test on an actual device, zipped up my project folder and uploaded it to the Jam’s organizers. Success!

So now that I’ve had time to sleep on it, how do I feel about my GIGJam experience? Most of all, I’m just really glad that I stuck it through and kept working until I had something to submit. It would have been so easy to assume that it wasn’t going to happen and give up. But I think that’s the point of a Game Jam: it’s not about making something perfect, it’s just about making something. And hey — I think I’ve actually made something that is decently fun to play. I may even put a little extra polish on it and send it to the app stores. I think it deserves a place there. And I definitely learned (or re-learned) a thing or two about the value of placing constraints on yourself. I’ve got a couple of game projects I’ve been kicking around for months that probably have more potential than “Elementropy,” but because I don’t have any deadlines lurking for them, I continue to tinker, and tinker, and tinker…so that the damn things are never actually finished. But in just 48 hours, because I had to make fast and hard choices about what was possible, I managed to create something that is very nearly ready for the App Store. There’s a valuable lesson there. I think it’s time to start setting some limitations and real constraints on my other projects, lest they turn into endless exercises with no finish line.

But perhaps most importantly, I had a lot of fun this weekend! I’d like to extend my sincere thanks to Glitch Games for organizing the GIGJam, and I can’t wait for the next one.

Did you participate in GIGJam48? Please share your thoughts in the comments, and if your game is available for download, share a link!

Posted in General

Operation Dumbo (temperature) Drop

Apr12
2013
4 Comments Written by Jason

Dumbo DropI’m obviously a big fan of the Corona SDK. Thus far it’s the tool I’ve used to create all my apps. CoronaLabs’ easy-to-use software and API libraries, combined with the not-so-steep learning curve of the Lua programming language make it less daunting for new developers to jump into the game without sacrificing much flexibility (now for free!). Additionally, the SDK’s online user community has rightfully earned a reputation for being a helpful and involved bunch—even the trolls on the Corona Forums are sort of lovable in their own way. (Alex M., someday we’ll make you smile!)

In the last year, it’s been interesting to see the Corona community grow from a grassroots-style collection of independent developers communicating on forums into more of a cottage industry: there’s now a weekly podcast (CoronaGeek), occasional Corona-only Game Jams (like the upcoming 48-hour GIG Jam) and even a glossy monthly magazine, CoronaPaper.

On more than one occasion, CoronaPaper has ended interviews with developers by asking them to answer an old riddle with a Corona twist: How would they get an elephant into a refrigerator using Corona and Lua? Now I’m still a small fry in the app development game, and unlikely to get interviewed by a magazine—even though CoronaLabs recently declared me one of the three Most Interesting Developers in the Universe—but that didn’t stop me from coming up with my very own answer to this question.

And without any further ado, I’m pleased to present Operation Dumbo (temperature) Drop!

local function DumboTempDrop()
   for i = #animalCrackersBox, 1, -1 do
      local cracker = animalCrackersBox[i]
      if cracker.shape=="bear" then
         mouth:chomp(cracker) -- bears were always my favorite
      elseif cracker.shape=="elephant" then
         table.remove(animalCrackersBox, i)
         refrigerator:insert(cracker)
         timer.performWithDelay(3600000, eatFridgeCrackers) -- we'll eat in an hour!
      end
   end
end

So, dear readers: how would YOU get an elephant into a refrigerator using Corona and Lua?

Posted in General

A Summer Update

Jun21
2012
Leave a Comment Written by Jason

It’s shameful how long I go without putting any sort of updates here on the website. But believe it or not, it’s actually been a relatively busy few months since I launched Gordon & Li Li: Learn Animals in Mandarin back in February.

The biggest news is that I’ve been working since April with a great Austin, TX-based company called Chungaboo. Chungaboo has only been in business since this past winter, but they’ve wasted no time burning up the iBookstore charts – they’ve released more than 50 iBooks already, and have had several books reach the #1 spot in their respective categories. Even cooler, Apple used one of their iBooks in a featured graphic on the iBookstore! (Seriously, this is the next best thing to having John Malkovich ask your app where he can find Linguica.) They’re a great group of folks, and it’s been a pleasure working alongside them. I encourage you to visit their website and check out their great lineup of iBooks.

Chungaboo

Chungaboo specifically brought me on-board to help build their first actual iPad app (as opposed to an iBook), Chungaboo Language Series. It’s shaping up to be something really special, with plenty of fun and loads of educational value. The gist of it is that the app teaches the user 60 words (with more coming soon) in six different languages, and the real highlight is a game to test your knowledge – and your reflexes! It’s sort of a cross between the classic game “Memory” and “Fruit Ninja.” I’m very proud of the work we’ve been doing, and I can’t wait to post the announcement that Chungaboo Language Series is available on the App Store. That should be happening in the next few weeks.

In addition to my work with Chungaboo, I’m about to release an update to Gordon & Li Li that features a vastly improved intro animation by Nam Doan, and I’m also working on a few other projects that I hope will soon reach a point in their development where they are worthy of a blog post. All in all, it’s shaping up to be an exciting summer – stay tuned, and thanks for visiting the site!

Posted in General

“Gordon & Li Li” Available Now for iPad!

Feb15
2012
Leave a Comment Written by Jason

I’m pleased to announce that my newest app, Gordon & Li Li: Learn Animals in Mandarin is officially up for sale on the App Store!

The Gordon & Li Li app is the result of a collaborative effort with Awar3, Leen al-Basam, and Nam Doan of Namroc Studios – not to mention Michele Wong McSween, the author of the book that inspired the app. It was a truly great team, and I’m really proud of the work we accomplished. I think this app will be a great addition to any parent’s iPad, but especially those who are teaching their children Mandarin. And it’s a steal at just $2.99 – that’s a 70% savings over the book version, and the app has all the book’s content and more!

“Learn Animals in Mandarin” is just one of three books in the Gordon & Li Li series, so if it’s a success in the App Store, I’m hopeful that more apps will follow. I strongly encourage you to go to the App Store and download it today!

Posted in Announcements

Big Plans for the Fall…

Oct02
2011
Leave a Comment Written by Jason

With this weekend’s brisk temperatures, it seems possible that “sweater weather” has finally – FINALLY! – descended upon New York City (knock on wood), and I’m looking forward to what I hope will be a very productive few months on the app development front. I’ve got one client booked and have begun working on what I think will be a pretty cool app. I’m keeping the details on that project scant for the time being, but I will say that my client is a successful small business looking to engage more directly with its customers and grow the brand, and I think the app will help achieve both those goals. I’ve also been in discussion with a few arts-based organizations and hope to unveil one or more visual art apps in the near future.

My dog Nellie knows how to celebrate fall weather...leaf pile jumping!

I also want to take this new season as an opportunity to give credit to Ansca Mobile and their fantastic Corona SDK, without which I wouldn’t be building apps at all. They have managed to create an easy-to-use, quick-to-learn development environment that opens doors for people like myself, and I’m pleased to see all the success they have been achieving in recent months – including last week’s announcement that they have been selected as one of FASTech’s 50 most innovative startups for 2011. I had a great meeting recently with a gentleman who has been successfully developing iOS apps using Xcode and Objective-C, but who is looking to add Corona to his digital toolkit. This is a guy who already knows how to make apps the “old-fashioned way,” but who can see that Corona has a bright future and is looking to take advantage of its rapid development cycle – it’s a real testament to Ansca’s growing influence that it is drawing attention from successful app studios. And despite Ansca’s rapid growth, they still take time to support little guys like me. (Only last week I had a helpful email exchange with Ansca CEO Carlos Icaza.) Keep it up, guys!

Wow, this is the first post I’ve written in months. Here’s hoping that this autumn will see new apps, new partnerships, and so much news that I’ll be forced to keep writing here on the site. Thanks for reading, and happy fall!

Posted in General

Corban Walker now on Android!

Apr21
2011
Leave a Comment Written by Jason

Just last week, my first publicly-available app, Corban Walker: Ireland at Venice 2011, was released for iOS devices, and today I’m equally proud to announce that this terrific app is now also available on the Android Market!

The Android version packs all the same features as its iOS sibling, including image galleries of Walker’s artwork, a video preview of the upcoming Biennale installation, support for higher-resolution screens, and GPS-assisted maps and directions for those visiting Venice during the Biennale (June 4 – November 27, 2011).

And keep an eye out for an app update on both platforms in June that will add photographs of the completed Pavilion installation and a few other nifty features that are still in the works! Or you can always “like” me on Facebook or follow @schroederapps on Twitter to keep up-to-date on all my new app releases & updates.

But enough hemming and hawing – download Corban Walker: Ireland at Venice 2011 for free today!

Posted in Announcements

Corban Walker: Ireland at Venice 2011 Approved!

Apr15
2011
Leave a Comment Written by Jason

I’m proud to announce that my first app submission to the iOS approval machine sailed through the approval process in less than a week, and the result is Corban Walker: Ireland at Venice 2011. This free app is a great tool for learning more about contemporary artist Corban Walker, and for getting the most out of his upcoming installation at the 54th International Art Exhibition / La Biennale Di Venezia.

I’m also hopeful that it will be only the first of many apps I design in collaboration with contemporary visual artists – apps are a great way for artists of all stripes to communicate with their audiences in a uniquely personal way. If you are an artist who would like to discuss developing an app to creatively showcase your work, please get in touch with me.

But in the meantime, get yourself to the iTunes App Store and download this free app now!

Posted in Announcements

Recent Posts

  • Elementropy: My GIGJam48 Experience
  • Operation Dumbo (temperature) Drop
  • A Summer Update
  • “Gordon & Li Li” Available Now for iPad!
  • Big Plans for the Fall…

Follow Jason…


© 2011–2013 Jason Schroeder  ·  Admin Login
QR Code Business Card