Art is hard

I'm working on improving my art skills so that I can eventually supply my own art, instead of relying so heavily on things like Kenney's asset pack. It's slow going, though - this hot dog cart took me around an hour and a half.
After getting that drawn, I'm pretty sure all the characters in the game I use it for are going to be cubes. Small cubes, that are easy to draw.

More projects!

I've been flip-flopping on projects I want to work on - first there was Pizza Shop, and then there was this infinite runner project, and now there are other projects. I'm at that stage where you have a lot of ideas but none of them really scream out "this is the one you need to finish", so for now I'm just cranking out prototypes and experimenting.
Pizza Shop is available as a zip because it's the same as it was except with music added - I didn't build a way to turn the music off, yet. Consider yourself warned.


After doing some quick-and-dirty hacking on the Day in Review screen, Pizza Shop now has a (very basic, half-implemented) gameplay loop. It goes like this:

1) You make pizzas.
2) You open your shop and sell the pizzas you made.
3) You review your day's results (not implemented)
4) Rinse
5) Lather
6) Repeat

I also spent some time getting it to deploy to my iPad for mobile play testing - testing on a device has been a good way to find UI positioning issues that I never noticed testing on the desktop (because my mouse doesn't have fat fingers).

A lot of it's been slapped together so that I can demo (that's why there's a big "RESET" button in the corner), but the game is at least kind of playable right now. There's still a lot to do in terms of customer behaviors/display, actually having a day in review screen, winning/losing, etc.

Prepping pizzas

There are now a whopping THREE screens in the pizza shop (hint: click "start game").

I spent a lot of time hashing out (and then rehashing) ideas for how the UI should work and how working with all the different ingredients should go - there's still a lot of work to be done on the screen (especially the ugly colors/display of the different pizza recipes), but all of the functionality that's unique to the preparation screen is now working.

One thing I haven't figured out is a good way to make it clear that the ingredients and recipes you see on the preparation screen at the start of the game (Cheese, Pepperoni, and Hawaiian pizzas only) are only the beginning, and that you'll unlock a lot more as you play.

Overall building (and then rebuilding, and rebuilding again..) the preparation screen was a good opportunity to dig deeper into Feathers - as I've run into problems and learned how to solve them, I've become a lot more effective as I work with the framework. I'm starting to get to the point now where I can (generally) get what I need to done without too much extra effort or wasted time.

I would say that I'm pretty satisfied with how this project has been progressing, although there's still a long ways to go.


Writing UI code is nothing short of hellish, no matter how many helper libraries you have. I spent some time re-creating the preview screen from Kenney's UI Pack in Feathers as a starting point for my new project. There were a couple of false starts when I was first digging into things and I almost wrote an extra 2,000 lines of code I didn't need, but eventually I got the hang of it and the result is what you see below.

None of the buttons actually GO anywhere yet, but that will come later.

More tweaking

After a little more tweaking, this is where my isometric project has wound up. I'm going to put it down for a little while because as I was implementing, I realized - I don't actually have a goal for the project! I did it to make sure that what I'd gotten out of the book I worked through had made sense and I was able to use it, which I think I've done now. So if that was my goal, it's satisfied - and now it's time to look into building something with a clearer end/design in mind.

Chasing the performance bear

The original version I uploaded had some pretty serious memory leaks. After spending a few hours with Scout and Starling's page on performance optimization, I've managed to get it down to a pretty stable framerate and memory usage that could run comfortably pretty much anywhere (in my tests, it was using ~45MB of memory and no more ever).

The tiles flickering in and out at the top and left corners is an extra optimization so that tiles aren't drawn when they aren't on the screen - I left it in because it looks neat, although we'll see if it makes it into final versions.

After spending some time with the profiler, I also realized that having it profile everything available to me was causing some performance problems of its own - whoops.

But then I tried bundling an executable, and got *exactly* the performance characteristics I was looking for - a steady 45-60fps, and <10MB of memory used. I guess there must be some optimizations that AIR is doing behind the scenes, but - I've attached the zip so that you can see for yourself.

All in all, I feel this was a success. While it doesn't feel like a lot of progress, I have a better handle on memory usage and performance on Starling and how to get it to where I need it to be. I've also learned a few things Not To Do when looking into framerate issues (whoops).

First starling results

After working through most of Starling Game Development Essentials (I wouldn't recommend it, the book is pretty bad), this is the results of my first starts at digging into getting something running with Starling. It took about 3 hours, although most of that was realizing how wildly wrong I was about how wide my tiles are:

Starling seems pretty cool - they duplicated a lot of the existing flash APIs almost one-to-one which at first was a little weird to wrap my head around, but in hindsight makes sense (KeyboardEvents work everywhere! No focus required!)

Eventually I got it figured out though, and now there are some tiles that draw (and memory usage is out of control).

Baby steps.