jump to navigation

WebP images September 18, 2014

Posted by Jesse in : Game Development , add a comment

Work continues on getting the Android port of Perseus ready to push out for public release. I had to completely rewrite some of the asset loading code to handle reloads when the OpenGL graphics context is lost. Awhile back they added a feature to Android to prevent it from getting trashed so often, but there seems to be a decent number of devices that ignore that feature completely, so I needed to come up with a fix.

In the worst cases, this is happening every time the player looks at the leaderboard or sees an interstitial ad. Unfortunately, the reloads are really slow. On slower devices, it would look like the game had locked up. Some of the assets in Perseus are huge. Each of the background textures are 900×1200 pixels, all of them clocking in over 1.4 megabytes each. (And we have to reload a lot more than textures. All of the shaders and render textures need to be recreated as well. We used a bunch of them for the laser, lightning, and bloom effects.)

In hopes of speeding things up, I started experimenting with some other file formats. Jpeg is the obvious first choice, but jpeg doesn’t handle alpha at all which I require, and I’d rather not have multiple file formats if I can help it. Next I stumbled upon a format called WebP. WebP is an image format being pushed by Google for use on the web. They claim that lossless WebP images are 26% smaller than pngs, and lossy images are 25-34% smaller than jpeg images. Apparently there’s been some difficulty in getting other browsers to support the format, but I don’t care about that, I’m making video games! 🙂

Google provides a library written in C to load WebP files, and in less than half an hour I had WebP images loading and it was much, much faster. I’m thrilled with the compression and the quality. Also, it supports transparency and translucency! Seems perfect for our needs.

Let’s take a look at some images. (Hopefully your browser will render the WebP images. They work for sure in Chrome and Opera.)

Reference image

100% quality

80% quality

75% quality

If you compare the WebP images to the original png, you’ll notice that they are a bit darker. I’m not sure why that is. It’s noticeable, but completely acceptable to me. In fact, when I open the 80% WebP in one tab, and the reference png in another so I can swap back and forth quickly, I don’t really see anything objectionable at all, and it’s dropping from 1440 KB to 97 KB. That is insane!

I shipped a new beta version of Perseus using WebP images yesterday, and none of my testers seemed to notice any differences in image quality. I’m really happy with WebP images, and I think I’ll be using them exclusively in my games from now on.

Perseus testing on Android September 12, 2014

Posted by Jesse in : Android,Perseus , add a comment

We’ve ported Final Flight of the Perseus to Android. Unfortunately, we have pretty limited access to Android hardware to test on, so I’m looking for some help.

If you have an Android phone or tablet and are interested in beta testing:

Option 1:

  1. Join the Google+ testing community
  2. Download the game from the Google Play store by visiting here on your device.
  3. (Optional) Let me know the email address you’ll use to log into Google Play Services (for leaderboards.) I have to add each player manually. If you don’t care about being in the beta leaderboard, you can skip this step.
  4. Let me know if/how it ran on your device.

Option 2 (advanced users):

  1. Grab the apk from here. If that link fails, there’s a mirror here.
  2. (Optional) Let me know the email address you’ll use to log into Google Play Services (for leaderboards.) I have to add each player manually. If you don’t care about being in the beta leaderboard, you can skip this step.
  3. Let me know if/how it ran on your device.

You can also view the current testing results.

Comments here, or over in the G+ community are welcome. You can also contact me directly using the website contact form, or by emailing me at jesse@thirdpartyninjas.com


Final Flight of the Perseus May 14, 2014

Posted by Jesse in : Perseus , add a comment

Guess what we did?

No, not that. We made a new game!

Final Flight of the Perseus is a wave-based space shooter similar to Galaga or Space Invaders, with beautiful graphics, intuitive touch controls, insidious boss fights, and an awesome upgradable ship.

Coming soon to an iOS device near you! (Really! It’s in the Apple review system now.)

The best part? It’s free!

For more screenshots, check out the new Perseus page.

Presskit available here.

Glitch Assets November 25, 2013

Posted by Jesse in : Game Development , add a comment

Recently I learned about a really cool looking game that was terminated last year. Rather than letting their amazing work rot on a server somewhere, the creators have released it into the public domain with the simple instruction of “Go and make beautiful things.”

And it shouldn’t be hard to make something beautiful. Take a look at this:glitch_creepy

These guys did some awesome work, and I’m sad that I never saw any of it before the game was cancelled. The assets were released in flash format, which isn’t something that I can use, so I converted them all to png files, and uploaded the results to github. They wouldn’t all fit into one repository, so there’s two:

Glitch Assets
Glitch Assets – Inhabitants

I claim no credit in the creation of these assets, and they’re released into the public domain just like the originals.

So, what are you waiting for? Go and make beautiful things.

Wisdom from Rami Ismail May 8, 2013

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

Rami Ismail (of Vlambeer) wrote some really awesome tweets today. I’m copying them here because I think it is really valuable advice.

From @tha_rami on twitter:

I get so tired when someone emails me about tips for a gaming startup. Start a studio or a company or an actual thing that is real, damnit.

You’re making a game? Good, you’re a developer. Trying to sell them to stay afloat? Well, now you’re a company. What the hell is a startup?

Here’s a venture plan: ‘go make games as good as you can possibly make them and let people know that the game exists’.

Don’t want to contact press because you don’t want to shoot blind? Make a presskit (/w dopresskit.com?) and screw it, shoot blind.

Don’t want to reach out to Steam, Sony, Nintendo, iOS, Microsoft, Android because you’re working on your first game? E-mail them anyway.

Don’t want to reach out to your personal inspiration and ask for feedback because you’re just starting out? Do it regardless.

Don’t feel like going to that developers conference four hours away because you don’t have anything to show? Get a day off and go there.

Don’t want to show your game to friends and other developers because it’s not quite good enough yet? Show them your game.

Sincerely love the style of a certain artist or musician or the work of a coder or designer? Let them know.

Don’t know what to do, need help, a specific contact? E-mail someone who does know. Hell, call them for all I care.

In the end, what matters is what you *do*. If you don’t do something, whatever your hopes or motivations or ideas are will remain just that.

Oh, and do -not- make assumptions about how things work or how & why things are. You’re probably wrong so actually go and find out.

Happy Piggy! for Android is now available April 24, 2013

Posted by Jesse in : Happy Piggy , add a comment

Happy Piggy! is now available for Android devices on the Google Play Store.

We’ve also submitted the game to several of the other app stores, so if your Android device doesn’t have access to the Play Store, hopefully we’ll be able to get it to you soon.

We’d love to hear your feedback!

Happy Piggy! for Android April 22, 2013

Posted by Jesse in : Happy Piggy , add a comment

We’ve received a bunch of requests for this, and the message was received loud and clear. I’m very happy to announce that Happy Piggy! for Android will launch on the Google Play Store later this week. The cute piggies will be available on both Android phones and tablets.

This is a really exciting development for us, because now that we’ve rebuilt our tools to work with Android, every game we create from now on should be able to launch on both platforms.

Update work March 23, 2013

Posted by Jesse in : Happy Piggy , add a comment

Happy Piggy! has been out for nearly three weeks now, and kids seem to genuinely enjoy it.

Based on the feedback we’ve received, we’re working on an update for the game. Here’s the current task list:

If you have any feedback, or changes you’d like to see, we’d love to hear from you.

Also, we have a facebook page now! Have a look: www.facebook.com/ThirdPartyNinjas

Spine March 7, 2013

Posted by Jesse in : Game Development , add a comment

Longtime readers of the blog will know that I’m a big fan of skeletal animation. I wrote Demina because I couldn’t find an existing software package that would let me create animations and export them to a format that would let me get them easily into my games. Better software has finally arrived, and Demina is officially retired. Happy Piggy! will be the last game we ever use it for.

That’s because now Spine is available. It’s almost embarrassing for me to compare Demina and Spine, because they support every single feature I had, and quite a few I hadn’t even considered that I’m already really fond of. Even better, the guys at Esoteric Software have already started releasing code to help people load and render animations in their games.

It took me a couple of days, but I’ve got animations up and running on iOS devices, and I don’t have to keep jumping back to a Windows machine to edit them. (Because Demina only ran on Windows.) I’ve even got transitions working, have a look:

It’s alive! March 3, 2013

Posted by Jesse in : Happy Piggy , add a comment

Happy Piggy! is live on the iOS App Store.

We created it for our daughter, and she really seems to like it. Hopefully other kids enjoy it too.