Interview: Brad Cummings from Shenandoah Studio, Part 1

Shenanadoah Studio

This is a recent (but abbreviated) interview with Brad Cummings from Shenandoah Studio, a local game company that focused on turn-based strategy games for the iPad.

Brad Cummings

So state your name for the record.

Alright, this is Bradley Cummings from Shenandoah Studio. And I give permission for this to be used. 🙂

And your position at Shenandoah Studio?

I work in marketing at Shenandoah Studio and also help out with some design right now.

How did you guys come up with the name Shenandoah?

Our boss actually…was married in the Shenandoah valley. And so, he decided to name it after that. The Shenandoah valley was also the scene a few crucial Civil War battles, which fits with our historical games, especially the Civil War game we are working on now. So it has that personal significance to the team.

That’s really cool. When was it formed by the way?

So I came on last year and the first game launched 6 months after I late 2012. But the company’s been stasis since about 2010 but things really get kicked off with our first launch at the end of 2012.

And your first launch was Battle of the Bulge?

Right. Battle of the Bulge.

And I guess you had started with the iPad? And later you had come out with Drive On Moscow. Then you came out with iPhone versions of them. So why the iPad?

So the iPad was the reason why we decided to found the company. Our CEO saw the launch and within just a week of that, he decided to quit his full-time job and start a company.

Oh really? What was his full-time job?

He was working in financial software doing design work there. But he actually grew up being a tester for a board game company called SPI and eventually an employee of that company. They were located in New York. He later worked for Victory Games which was a subsidiary of Avalon Hill which are famous for a lot of old school board games.

And so, he saw the iPad as a way to play those games in a much more accessible format with a lot of additions that you can have in video games that you just can’t have playing on the tabletop. That’s why really we focused on the iPad first. When you zoom out to view our map it fits perfectly on an iPad screen at a size we felt was comfortable for players.

Its kinda interesting. You such a high production value in a game

Thank you. Yeah, we have an amazing artist. His name is Pat Ward. He lives in the UK. So we’re all local except for Pat. He does all the art.

So the game was design to fit on one screen. You can zoom in if you want to but you can kinda comfortable from this level. That was one of our main goal for this game.

This is part 1 of a 3-part interview. Expect the next one to come very soon.

To learn more about Shenandoah Studio, check out their website.

Shenandoah Studio

download their game direct from the App Store:

Shenandoah Studio

Since the interview, Shenandoah Studio is very close to coming out with a new game called Desert Fox. Check it out:

Desert Fox

If you would like to do an interview with us, please contact Kotaro Fujita at kotarofujita @ gmail dot com.

Read More

Interview: Chris Hoopes, Lead Developer of Ghost Crab Games

Welcome to Philly Cocoa interviews, Chris.  Still working on the title.  Please describe what you do for us.
Ghost Crab Games FoundersI am the lead programmer and co-owner of Ghost Crab Games, a two man independent game development studio here in Philadelphia.  My partner is long-time friend Dustin Twilley who handles visual design and music.  We’ve been good friends for over two decades and decided last year to give game development a shot.  It’s something I’ve always wanted to try, and with my programming background and his visual expertise and hobbyist game design interests we thought we’d give this a shot.
You are a regular at Cipher Prime’s Dev night and a 2 time game jam winner.  How do you find the time to work, make your game, and make 12 hour game jam masterpieces?
It’s really, really tough.  I’ve actually had to skip the past three or four game jams exactly for that reason.  Giving up even six hours of possible dev time is something that I just can’t do since besides working a full-time job I’m also married (to a nurse in grad school no less) and own a house.  I sometimes don’t get to start on my own development until 10pm and by then I might be so tired from other things I can barely concentrate.  But as tough as its been I think I’ve reached a decent equilibrium.  Now if there were kids in the picture that’d be a different story but for now that’s not an issue.
You are currently working on a top-down shooter of sorts called “Drive to Hell”.  Can you provide a better description of the game for our audience?
Drive To HellDrive to Hell is a twin-stick vertical scrolling shooter in the vein of Raiden or other arcade classics.  However those games have to primarity firing straight forward.  In Drive to Hell you have full 360 degrees of firing free like Smash TV.  It’s a mixture of the two genres that you don’t see too often.  The game features 25 levels and 4 difficulties along with 5 survival missions and lots of vehicles to unlocks and demons to destroy.

It’s coming out for both OSX and iOS, with the primary difference between them lying in the controls. In the iOS version your car is locked to the center of the screen and you fire at enemies coming from all sides. In the OSX version you have full range of movement in your vehicle.  Enemy patterns have been completely reworked as a result and there’s also 4-player co-op!
How long have you’ve been working on Drive From Hell?
We started in May 2013 but as it was our first Unity project a lot of that time has been getting familiar with the platform and the devices on which we’re releasing.  The community around Unity is great and Matt Rix, the creator of the 2D framework Futile that we use, has been an invaluable help to us.  We’ve lost other time in there as well due to Dustin getting married and the whole setting up a business process.  It’s been very much a learning experience.
You chose to use Unity 3D to do your development. What was your reason for using Unity 3D as oppose to say Cocos2D or Game Maker?
Unity’s cross-platform portability is the main reason we went with that engine.  I wasn’t familiar with any of those at all but after weighing our options (and a failed start at using Torque2D) we realized that Unity is very much the indie dev engine of the future.  With some smart coding and asset use you can easily have the same game running on Android, iOS, Windows, OSX, or in a browser if that’s your thing. We want our games to be as universal as possible but we don’t have the resources to handle porting to various engines ourselves.  With Unity we don’t have to worry about that.
What kinda game mechanic challenges did you come across to get the iOS interface to work properly?  Did you include any iOS specific technologies like Game Center for example?
Game Center isn’t implemented yet but we’re very much considering it.  We can use it for the high-scores yes but we also have an in-game trophy system that we can tie into Game Center. Other than that there haven’t really been any iOS interface specific issues or limitations — it’s been pretty smooth.
What is your process for prepping deployments to iOS builds?  What kinda gotchas did you run into?
A big one actually. Drive to Hell’s art assets are stores in texture atlases or sprite sheets.  These are managed by a program called TexturePacker. We wanted to have nice high-res art for the game without having to scale our assets but there’s a bit of a fragmentation issue.  It used to be that all iOS devices were very much on the same level power and display-wise but that’s no longer the case.  Games are expected to run on an original iPhone 4 along with the newest retina iPads, and the discrepancies in available memory, processor speeds, and resolution is incredible. There’s also the issue of max image size.  The iPhone 4 can only handle displaying images of 2048x2048 or smaller so that had to be the max size of our texture atlases.  We have some big road and background pieces so those all had to be smartly carved up and packaged in a way that was efficient.  We’re loading as few atlases into memory as possible, and the assets stored within are structured in a way that from the topmost rendering layer to the bottom there are very few atlas changes. Clustering assets in accordance to the order they’re layered in a scene is crucial to limiting your draw calls which is a major performance factor.  Even with hundreds of bullets and enemies and the HUD and backgrounds all going at once Drive to Hell at most hits 13 or so draw calls per from.  It averages about 9.  For as much art that we have that’s very good and learning to both structure our texture atlases and our code in such a way to get to that point was a major, major learning experience.

Screenshot 2There was also the issue of the image files themselves.  Everything in the atlas is stored in the PNG format.  This is fine for Windows and OSX and Android but iOS and Apple’s hardware has a really hard time with PNGs.  I don’t fully understand the technical details behind it but it’s basically like this; when you package up an IPA file using raw PNGs everything is fine.  Drive to Hell clocks in around 56MB on mobile. However when your iPhone or iPad installs and unpacks that app it also decompresses all of the PNG files.  This suddently turns your 56MB game into a 600+ megabyte monstrosity on the disk. Your performance tanks, your memory use is through the roof and you’re never going to run on older devices.  Plus the user is now upset that you’re eating up all of their space!

The answer was that we had to tell Unity to compress all of our iOS assets using the DXT5 algorithm.  I’m sure there are plenty of whitepapers you can read on exactly what that is and how it works but the end result is that our iOS image assets take up very little space on disk and compared to raw PNG files which use 32MB of memory per 2048 image, that same image in DXT5 allocates something like 16KB (that’s kilobytes!) in memory. It’s kind of insane how efficient it is.  It takes forever to convert though. We don’t have asset servers and all that storing all these versions separately so when I want to build for iOS it takes my Macbook about a half-hour to compress about 22 2048x2048 PNG files into DXT5.  It’s some seriously intense stuff.
When can we expect Drive From Hell to be on the App Store?
The OSX version of Drive to Hell comes out on February 15th and should be hitting the Mac App Store along with other storefronts at that time.  We’re shooting to have to mobile version of Drive to Hell ready for early March.
Thanks again for taking the time.  Please let know where we learn more about your game and your company.
The pleasure’s all mine!  Our company website is and there’s lots of media and information about Drive to Hell on its own website at For anyone reading this feel free to hit us up on Twitter (@GhostCrabGames) or one of our other social media sites listed in the links above. We’ll gladly answer any questions anyone might have about the game or its development process.
Read More

Interview: Austin Seraphin, Programmer/Accessibility Consultant

Austin Seraphin Thank you for partaking our PhillyCocoa interview. Please state your name and occupation for the record.

Austin Seraphin, programmer/accessibility consultant

Can you give a little background about yourself?

I became blind at birth. I started programming on an Apple II/e at age seven. I’ve also used MSDOS, Windows, and Linux. Then I got an iPhone. Two Macs and an iPad soon followed. For the last year or so I’ve concentrated on RubyMotion, a Ruby toolchain for writing iOS and Mac OS apps.

Congrats on your win at the Philadelphia Geek Award for Best Artist. I think it was very clear who won best quote. Could you explain what the art project was and how you came about working on it?

I met Sonia at an Indy Hall event they had at National Mechanics. We started talking about the Mayan calendar and art and all sorts of things. She would display a piece at the Indy Hall Arts show. She also said she does sticker art. I wondered if we could roll one up in a braille writer and the rest just kind of happened. I’ve also started branching out into tactile drawing, pottery, and poetry.

So what is an Accessibility Consultant? What kind of services do you provide?

I work with developers to help make their apps more usable by the blind. I can give a good idea of what a blind user experiences and tell developers how to fix their app. Learning iOS programming gives me an advantage, since I can speak both as a user and as a developer.

What is one obvious thing a developer tend not to do with their apps to make them more accessible?

Labeling their controls. If you use the standard Cocoa controls and make sure they have appropriate accessibility labels and traits then you’ve done 90% of the work.

What is your biggest pet peeve about the current apps out there when it comes to accessibility?

For the web, all the clutter. For mobile apps, unlabeled or unusable controls. Sometimes an update breaks accessibility, very annoying as well.

You had an interesting summer to say the least. Could you highlight some of those projects?

I spent the summer working on motion-accessibility. First I wrote RubyMotion wrappers around Apple’s UIAccessibility protocols. Later I wrote a text-based console to aide blind developers, since we can’t use the iOS simulator very well. I’ve also given a few speeches, most recently at Nickel City Ruby.

What are you currently working on?

motion-accessibility. I’ve also started writing motion-speech, to make the iOS 7 text-to-speech easier to program. Hopefully soon I will actually start writing apps. I also have a big speech coming up at RubyMotion NYC.

Thanks again for doing this interview with us.

No problem. I really owe Philly Cocoa, because I first tried my RubyMotion and Accessibility speech there. It went over well, and that gave me the courage to submit a proposal to speak at the first RubyMotion conference in Belgium.

A lot of developers don’t even know that a blind person can use an iPhone. As with any design choices, considering accessibility at the beginning will make the process a lot easier, and in this case also lead to a better design over all. Accessibility helps everyone.

You can contact Austin at:

Read More

Interview: Curtis Herbert, Developer of Slopes

Curtis Herbert
Curtis Herbert is freelance developer living in Collegeville, PA. He runs a technical consulting company, Consumed by Code, which helps clients with web and mobile projects. He’s launching his own iOS app, called Slopes, this fall.

Welcome, Curtis! Allow me to thank you for being the very first developer interview on

First one? No pressure, right?

According to Linkedin, you use to work for Lockheed Martin before going out on your own. What spurred you to leave such a cushy corporate job for the scary world of consulting?

I think it was realizing that even when I was coding full-time there I’d still come home and keep working on my own projects. I had kept a pretty regular set of freelance clients since college, too. I always seemed had enough work to keep me busy coding all the time.

Eventually I realized I needed some free time. Clearly the day-job had to go.

So for the record, what is Slopes and what inspired you to make this app?

Slopes is an iPhone app for skiers and snowboarders that allows them to record their days on the mountains. It’s similar in concept to the apps runners use: Nike+, Runkeeper, and Strava.

I decided to make the app last winter because I really enjoyed how those apps enhanced my running experience. I wanted to see something awesome like them for when I was on the mountain snowboarding. My friends and I always hit Perkins after our weekly trips to Blue Mountain and app like that would give us the data to back up our bragging.

When did you start Slopes?

I started toying with the idea in February/March ’13. In late April I attended Philly Startup Weekend (it’s a blast, highly recommended!). I pitched the idea for Slopes there, and after the weekend working on it with an awesome team, it won first place. That lit a fire under by butt to make sure I shipped the thing. I’d say that’s when the efforts really started.

What kind of technical challenges did you come across when building this app?

Slopes 3D Graph

I think one of the biggest challenges was how I wanted to visualize the data. I wanted to show a 3D graph of a run down the mountain because it was a really unique way to show off their run and speed. Of course, my developer-self hated my designer-self for this idea.

I didn’t want to use a full 3D library like Cocoa 3D because they were a bit too heavy for what I needed, so I had to learn OpenGL. I quickly learned nothing is easy in OpenGL. It took two weeks to get those graphs looking right, but it was worth it in the end.

Another challenge iOS 7 brought was layering and ensuring key content wasn’t hidden, especially with MapKit. There are methods to get a map to zoom to fit all the overlays/annotations within the maps frame, but if you have a partially transparent second view covering the bottom half of the map, you’ll have stuff hidden. I had to write some fun custom code to account for overlaying views like that. Surprised (well, also kinda not surprised) we don’t have something from Apple for that.

I’ve noticed you are making this app is be iOS7 exclusive. What drove this decision?

I was most of the way through the design phase when iOS 7 was shown off at WWDC. I recall I went through the five stages of grief very quickly that day (I think I relapsed into denial for a day after, though).

Slopes Graphs Screenshot

Redesigning for iOS 7 was a bummer, but I realized my core ideas lined up pretty well with iOS 7’s design. It was mainly a matter of trimming back the chrome and adopting new iOS 7 ideas like transparency and layering. I quickly became very happy with the shift in direction.

Once I realized I’d be going all-in with an iOS 7 design the idea of dropping support for 6 came easy. I didn’t have existing customers. It’s a decent amount of work to support both, especially if you want to keep a custom look under 6. I realize some potential users might be stuck on 6 but I have a feeling it’ll be the Netscape of iOS versions pretty quickly.

What iOS7 specific technology are you incorporating in Slopes?

Autolayout/Textkit are handy, especially now that autolayout isn’t as painful to use. I’m trying to be good about adopting those two since it’s pretty clear from Apple that’s the way forward. They should really help with my internationalization efforts.

There are a few new things in the MapKit API I’m using (the camera support is key for one of my v1.1 features).

I’m a big fan of the view controller transition customization, and I’m using that a bit. I think we’re going to see a lot of cool things done with that.

Consumed by Code is a service provider for clients needing mobile or web consultation. Building Slopes must have competed greatly with your time. How are you balancing your time between client work and app development? I know this can be an interesting juggling act for a lot of indie developers.

During the early phases for Slopes I kept most of the work to my free time, sometimes dedicating one day a week to it. After Startup Weekend I made the decision to go all-in. Startup Weekend really helped me with a ton of market validation so I didn’t feel bad focusing on the app instead of clients.

I kept a minimal amount of client work going, enough to avoid hemorrhaging money, but I spent most of my time focusing on Slopes for the last few months. I’m ramping up a bit on client work after launch, though. Should go back to being an interesting juggle of time.

When will you be releasing Slopes?

Assuming I get approved without issue, launch day of iOS 7. I have a friendly beer-bet with Mike that’ll be Sept 20th. He didn’t shake on it, though.

Where can people go to know more about Slopes?

I just launched the site for the app at I’ll be updating it with more info as we get closer to launch. I’d also point people to the newsletter there if they’re interested. I hope to use that to keep people in the loop and get feedback as I move forward.

Thank you for your time and we look forward to seeing your app soon.

Thanks a lot, Kut!

Read More