jump to navigation

Happy Piggy! February 23, 2013

Posted by Jesse in : Happy Piggy,iOS , add a comment

Surprise! We’ve made a new game. This time we’ve tried our hands at making a game for kids. It’s called Happy Piggy!

Happy Piggy! is an educational spelling game for kids, ages 2-5, for iOS devices. Words drop from the top, and the player taps the piggy carrying the next letter to spell the word. If they pick the wrong piggy, he makes an amusing oink and runs off the screen.

My daughter Ellie is three years old now, and she loves playing games on my iPhone and iPad. Unfortunately, I’ve noticed a regular problem with some of the games I’ve bought for her. If I let her play by herself for a few minutes, she’ll bring it back to me really upset because she’s stuck in a complicated menu or she’s hit a screen selling downloadable content, and ended up back at the App Store trying to enter a password. Some of the games are really pushy with their upselling, even games that aren’t initially free to play.

For Happy Piggy! I made the decision to avoid all of that. The game is 99 cents up front, and there are no in-app purchases available. Some friends have suggested that we might do well financially to add DLC for more word packs (harder words, proper nouns, alternate languages, etc.) but I don’t think it’s a good idea. I’ll gladly pass on the opportunity to make a little money to save kids the frustration. For that same reason I didn’t even include a Third Party Ninjas splash screen or a credits screen.

We’ll be uploading it to Apple for review very soon.

TexturePacker XNA Content Pipeline Extension August 2, 2012

Posted by Jesse in : Game Development , 19 comments

TexturePacker is pretty awesome.

The next St. Louis game jam will take place this coming weekend, so I’ve been going through and cleaning up some of my base code. I haven’t seen an XNA content pipeline loader for TexturePacker atlases, so I decided to share mine.

ThirdPartyNinjas.XnaUtility.1.0.zip

There’s a simple test included, and it shows how to load a texture atlas, look up a texture in the atlas, and render that texture using a few different origin options.

If you have trimming turned on, using the origin options can make things easier. There are four main options:

  1. TextureRegion.OriginTopLeft. This will draw/rotate around the original (pre-trimmed) top-left.
  2. TextureRegion.OriginBottomRight. The original bottom-right.
  3. TextureRegion.Center. The original center.
  4. Calculate your own origin using Width and Height in TextureRegion.Bounds.

A few things to keep in mind:

  1. While the loader supports rotated sprites if you choose that option in TexturePacker, the XNA SpriteBatch doesn’t easily support UV rotations so you’ll need to do extra work.
  2. By default, TexturePacker will name the texture and atlas with the same base filename. (i.e. foo.png and foo.xml) You’ll need to change that, or change the asset name of one of them to prevent a filename collision at build time.
  3. The content importer supports either the JSON-Array or Generic XML export options in TexturePacker.
  4. I didn’t put any sort of license notice in the source, but feel free to use it however you want. Not attribution or acknowledgement required. (If you need a specific license or info, let me know.)

Yell if you have any problems.

Review: Ready Player One June 25, 2012

Posted by Jesse in : Book Reviews , add a comment

I have a really long commute to work, so I listen to quite a few audiobooks in the car. This weekend I finished Ernie Cline’s Ready Player One, narrated by Wil Wheaton, and I really, really liked it.

The story is set in the year 2044, and the world is in a horrible state. There’s a major energy crisis, the environment is screwed, there’s a population problem, and a general feeling of apathy has taken over. To get away, most of the world seems to spend most of their lives logged into the OASIS.

The OASIS is a Matrix-like computer generated world that got its start as a very complex video game, but has grown up to replace the internet and take over the world. When the creator of the OASIS (Jim Halliday) dies without any heirs, he triggers a contest to solve a series of games and puzzles. The winner will inherit everything. Halliday was obsessed with 80s geek culture, and thus the contest revolves around the 80s, and the book is filled with a constant stream of 80s references. Video games, movies, music, novels, fashion, breakfast cereal, it’s all in here.

I had a great time with the book. Since I was born in 1977, my teenage years were during the 1990s, but I definitely have a huge soft spot for the 80s. If you’re a fan of modern geek culture, enjoy cyberspace stories (Neuromancer, Snow Crash, The Matrix), or you’re a fan of the 80s like me, I think you’ll enjoy the book too. Cline created a world that I really want to step into, and I hope he writes more novels about it.

Since I consumed the audiobook version, I should mention the narration. Wil Wheaton did a fantasic job on this book. So good in fact, that I immediately purchased John Scalzi’s Redshirts, which Wheaton also narrated. It’s really clear that he was having a blast reading this story, and I imagine he had to stop several times to ask if he was really getting paid to say these lines. (Particularly a line about himself and Cory Doctorow. It made me giggle a bit.) There’s a scene where the main character has to quote from a well-loved 80s movie, and he really put himself into the role so it was a lot of fun to listen through.

I did have a couple of problems, but they’re really minor.

Spoiler Warning – Spoiler Warning – Spoiler Warning
Don’t read any further unless you’ve finished the book!

Since I work for the parent company of World Events Productions (the company that created Voltron) I was really hoping for a better showing for my favorite robot lions. How awesome would it have been for Voltron to form blazing sword and face off against Mechagodzilla? (Ernie and Wil, I’d be glad to raid the Voltron store and send you guys a t-shirt. Email: jesse@thirdpartyninjas.com)

A couple of times the OASIS is referred to as an open-source system. If that’s true, then how would it be possible for Wade to delete the source code for the OASIS by pressing the “big red button” as described by Virtual Halliday? Perhaps he meant that the OASIS is an open architecture that programmers can create additional content for. Maybe Cline just misused the term. It doesn’t really matter much, I was just a bit confused.

I wish we’d gotten to spend more time with Aech and Art3mis. I know this is Wade’s story, but I found them to be equally interesting.

Third Party Ninjas Developer Vlog #3 April 24, 2012

Posted by Jesse in : Game Jam,Vlog , add a comment

I think Monday has officially become my day for recording the vlogs. It’s a nice motivator to keep working, because I want to have something to show off. Since I spent the entire weekend at the game jam, I don’t have anything new to show on the platformer. Instead I show the jam game we created, and the tools I used for my work on it.

Tools:
Demina
Gleed2D – Old versionNew version
Texture Packer Pro

St. Louis game jam (April 2012 Edition) April 23, 2012

Posted by Jesse in : Game Jam , add a comment

This weekend was another adventure at a St. Louis game jam. I last did a jam back in July of 2011, and I was really eager to participate since I missed the Global Game Jam earlier this year. I’d planned to work with a really small team and do something super simple, so that I could use the experience as a chance to play around with a new game development tool. (Something like Game Salad or Stencyl.) But it was not to be.

This year, my wife Mollie wanted to participate, but we couldn’t both attend, as there’s no way we could find someone to take care of our daughter for an entire weekend. So instead we decided to have her work from home, while I worked with a musician at the event. But when teams started forming, we somehow found ourselves with a second artist and two extra programmers. Whoops! Here’s a photo of the team:


From left to right: Ray Phillips (Programming, Level Design, Menu and Credits), Mollie Chounard (Background Art), Jesse Chounard (Programming, Character Animation), Jake Hilbolt (Music, Sound Effects), and Tim Snyder (Character Art). Not pictured is Ethan Hall (Programming).

The theme was “Light Justice.” It’s not what we initially planned during brainstorming, but we ended up with a game about a personified light bulb acting as a sheriff in the wild west, fighting a horde of bandit moths. I spent a huge portion of my time animating the characters that Tim drew and colored, and a bit of time organizing the files sent in by Mollie. Not as much time programming, but it’s okay, because Ray really picked up my slack. Putting Mollie on speaker phone to talk to the team worked out pretty well, and I think we functioned together nicely. I’m super thrilled with how the game looks! Mollie and Tim really knocked it out of the park.

In my opinion this was a far more successful jam for me than that last one. Before we started working, we identified specifically what we wanted to accomplish over the weekend, and we did it. Of course, we kept saying “Wouldn’t it be cool if…” but those suggestions were only to be added if we had extra time. (And some of those made it in. Like the hero’s light bulb shattering during his death animation.)

It’s likely that I’ll talk more about the jam in my vlog this week, so if you’re curious about anything in particular, please let me know.

Downloads:
Binaries (20 MB) requires XNA 4 Runtime
Source Code and Assets (21 MB)

Third Party Ninjas Developer Vlog #2 April 17, 2012

Posted by Jesse in : Game Development , add a comment

In my second vlog update, I discuss the jumping physics and the new camera system in the 2D platformer we’re working on.

Here are some links to the blogs I mentioned in the video:
Shaun Inman’s analysis of Super Mario World’s camera system
Shaun’s camera system in Mimeo
Replica Island blog’s camera discussion

Third Party Ninjas Developer Vlog #1 April 10, 2012

Posted by Jesse in : Game Development , 1 comment so far

I’m trying something new. I’m a big fan of game developer videos on youtube like Indie Chatter and Wolfire’s Overgrowth development videos so I decided to start making my own.

As you can tell, I’ve changed directions again. I wasn’t really happy with any of the control schemes I came up with for platformers on iOS, so I’m taking a break from that and instead targeting PC, Mac, Xbox 360, and Playstation Vita. (If the PS Suite gets access to PS3 as rumors suggest, then we’d go there too. That would make me very happy.)

It’s not in the video, but I’ve got jumping controls in, and it feels a lot better to me than what I had in Bluebones’ Curse. It’s fun to just run and jump around, which is a good sign.

We’re nine weeks away from this years Dream Build Play deadline. I know we won’t have a finished game by the deadline, but I think it should still be pretty sweet by then, and I’d really like to compete again this year.

HSOOC! nominated in Pocket Gamer Awards 2012 February 9, 2012

Posted by Jesse in : Hypership , 1 comment so far

I just came across this news, and I’m totally blown away.

Hypership Out of Control! has been nominated in the Pocket Gamer Awards 2012 in the category of Best Action/Arcade Game. In the same category are Assassin’s Creed: Revelations, Grand Theft Auto 3, Jetpack Joyride, and Super Mario 3D Land. That’s some crazy company. I’m beyond stoked right now!

Bluebones’ Revenge November 9, 2011

Posted by Jesse in : Bluebones' Curse,Game Development , 2 comments

A little over a year ago, we released our second game, called Bluebones’ Curse on the Xbox Indies platform. It was total failure commercially, with just a total of 282 sales to date. We were expecting to do quite a bit better than that.

The game had a number of things going against it.

  1. Xbox Indies Platform
  2. Bluebones is a 2d run and jump platformer, a genre completely overrun on XBLIG. Many developers struggle to turn a profit, and releasing a basic platformer might not be wisest choice, if profit is a consideration.

  3. Timing
  4. We had planned Bluebones to come out in time to possibly score a tie in with the Halloween Xbox 360 dashboard event that they run every year. Unfortunately, by the time the game launched, I was informed that the promotion selections had already been decided. Now, that doesn’t mean we would have been included, but we obviously made a mistake with the timing.

  5. It isn’t very good
  6. Duh. This took me a really long time to come to terms with. The graphics and animation look great, and I’ve gotten lots of great comments on my intentionally cheesy voice recordings, but the game itself isn’t all that memorable. It’s not bad, it’s just doesn’t bring anything special to the table. Obviously, while it’s worth noting the other problems, this is the one that really matters.

Now that Hypership is out and Kris has taken over the responsibility for future updates (I’m still willing to help with bug fixes, of course), it’s time to turn my attention to the next project. Mollie (my wife and artist) and I are really excited to return to working on Hero In Training. We love the concept, and have a lot of content ready to go. Plus, we have some fun ideas on how to freshen it up. (For starters, it’s no longer going to be a standard action-combat platformer.)

But before I get to work, I feel I owe it myself to take another look at Bluebones and see if I can do better. In addition to redeeming myself, I have two specific goals in mind. First, I want to experiment with platformer controls on mobile devices. Few games have done a good job there (virtual d-pads are an abomination!), and I’d like to see what I can come up with. Additionally, I want to really kick the tires on my code and make sure that it can handle releasing on all of the platforms I want to target in the future. (iOS, Android, Windows, Mac OS X, and Linux.)

Hypership iOS Postmortem September 28, 2011

Posted by Jesse in : Hypership , add a comment

Hypership Screen 1

It’s been two weeks since we released Hypership iOS into the wilds of the Apple App Store. Sales have been good, and the critical response has been fantastic. I spend a small chunk of time each day scouring the web for information, and I’ve found positive reviews of the game in Russian, German, and Swedish. That is pretty crazy! I’m glad to have been a part of bringing Hypership iOS to life. I’m very proud of the work we’ve done, and for the first time I don’t feel foolish when I say that I’m a game developer.

I’m very happy with how Hypership is selling. As of September 27th, we have 2603 sales. It isn’t the next Tiny Wings or Angry Birds, but considering that I’m a hobbiest with dreams of someday being able to go full-time indie, these sales are great!

Here’s a nice daily sales graph: (click for full size)Hypership iOS Sales

What went right

Working with an existing game
As I’ve mentioned on the blog before, Hypership wasn’t an original game for iOS. It was originally released on the Xbox Live Indie Games service by Kris Steele of Fun Infused Games. (He later released it on the Windows Phone 7 marketplace as well, though most people are more familiar with the XBLIG version.)

Using a complete game for reference rather than a design document meant that I already knew that all of the mechanics were fun and we didn’t need to do a bunch of rounds of prototyping and testing. Plus, all of the art and audio assets were already assembled and ready to go.

On top of that, Hypership had built a small but very loyal fanbase. When we announced that the game was going to be coming out on iOS, the response we received was fantastic. I knew that we needed to deliver a game that lived up to their expectations, but also that they would help spread the word when the game was ready to launch.

iOS development tools
I’ve been using Windows and Visual Studio for nearly all of my development for well over a decade. Switching to using Mac OS X and Xcode was a particularly scary idea. Even now, I’m still not as comfortable as I would like. That said, the other tools that come along with Mac/iOS development are amazing.

I love the framework package system, compared to the dll nightmare I’m used to running into. Xcode comes preinstalled with all the tools and libraries needed to start coding, and you won’t need to install any libraries on your customers’ computers, as they are all packaged along with your application bundle. I’ve been singing praises for Instruments since the first time I used it. This is an area where Visual Studio is definitely lacking in comparison. There are awesome profiling tools included in the professional versions, but they aren’t nearly as easy to use. And Instruments is completely free!

TestFlight
When I built and shipped Kris the very first build of Hypership iOS, I found it to be an annoying process. From explaining where to find the unique device id, to using a wired connection with iTunes to install seemed confusing to me.

Luckily, that was right when Josh Whelchel introduced me to TestFlight. TestFlight completely automates several of the steps, and makes is very easy to install the test build wirelessly. They recently made the service even better with a ton of great features that I’m looking forward to using in my next game. If you’re an iOS developer and not already using TestFlight, you should definitely check it out.

Apple support
We were really lucky with our launch. The day after we released, Hypership was featured in the “New and Noteworthy” featured section in the iPhone App Store. Then a week later, when that section rotated new games in, we appeared in the “What’s Hot” featured section. Apple also mentioned the game on the official AppStore twitter account, which is followed by 470,000 people. (In theory, anyway. I suspect a large number of those followers are bot accounts. Twitter is odd like that.)

We couldn’t have asked for better support from Apple. It’s a little overwhelming, and we realize just how lucky we’ve been.

Media coverage
We’ve gotten great reviews on a ton of sites. 148apps (4.5/5) said “Hypership Out of Control is a gem of an iOS game.” PocketGamer (9/10 gold award) wrote “there are myriad little touches that make Hypership so compelling.” TouchArcade said “It’s crazy fun.” We’ve heard that it’s likely that we’ll see reviews from some of the mainstream games press in the next week.

Hypership Screen 2

What went wrong

Pre-release marketing
I think this is our biggest mistake. While Apple did a lot of work to support our release, there’s been a large delay in getting coverage on some of the bigger sites. (And the bigger the site, the longer that delay is.) Getting early sales is really important in rising high on the top games charts, and getting early coverage seems like a great way to help generate those sales. Now that we’ve dropped off of the charts, the coverage might not have as much impact as it could have.

Many of the sites we’ve contacted have suggested that they are interested in receiving information before release, and in some cases, they’d be willing to play a pre-release final build so that they could have a review ready at release time. I’ll be taking them up on that for future games.

Outside of the press, I think I’ll also try to build up some early interest by putting together some video development diaries. I’m a huge fan of what Wolfire has done in that direction.

Steam rejection
When I first approached Kris about porting the game, our goal was to build Windows and Mac OS X versions of the game so we could submit it to Steam. There aren’t a whole lot of shooters on Steam, but my thinking was that the Mac games library is still pretty weak compared to the Windows side. Even so, they weren’t interested in the game. We knew it was a long shot, but I wish I’d gone directly to working on the iOS version, instead of spending a lot of time getting it to run well on the other platforms.

Device support
It wasn’t until near the end of testing that we learned that the game doesn’t work on second generation iOS devices. (iPhone 3G and 2nd Gen iPod Touch.) It would have been a difficult process to fix this, including buying a second generation device. With the fifth generation devices right on the horizon, it seems many developers are dropping support for the second generation devices, so we chose to do the same.

Based on my research, I don’t think it would have made sense to do all that extra work for such a small number of players, but I’m very sad that there are people out there who want to play the game but can’t.

Conclusion
Overall, I consider Hypership iOS to be a tremendous success. I’m really happy with how everything turned out, and I’m pleased with the iOS platform in particular. I’ve already started prototyping ideas for what my next game will be, and the future looks really bright.