Shipping Tappy Chicken

Shipping Tappy Chicken
Tappy Chicken is out now, shipped simultaneously on iOS, Android, and HTML5. Available as a free, lightweight download, it’s the first UE4 game released on any of those platforms, and one of the first overall.

The entire game was built by a single artist (Shane Caudle) with no traditional programming skills. It is a content-only game (contains no C++ code), with all of the gameplay created entirely using Blueprints. Shane built the core gameplay loop in an evening and spent perhaps a week working on building out the menus, fixing bugs, etc… for the 4.0 release.

Since 4.1 shipped, Shane has optimized the artwork to reduce overdraw (tight bounds on the sprites and splitting transparent and opaque objects), which improves the framerate on lower-end devices like the iPhone 4. He also made use of the new Blueprint-exposed achievements API and added support for them, joining the existing (previously-experimental) leaderboard support. All of these changes will be available in the 4.2 release.

Easy cross-platform development
UE4 makes it easy to create a cross-platform game, abstracting away platform-specific details and letting you focus on making a game. Tappy Chicken handles touch, mouse, and controller input, and can run on any supported platforms, even the consoles. The only platform-specific logic in Tappy Chicken decides whether to show the leaderboard and achievement buttons or not; everything in the game runs the same in the editor preview as it does on device or in the browser, making testing a lot easier.

The shipped version targets the following platforms:

  • iOS: iPhone 4 / iPad 2 or above, running iOS 6 or above.
  • Android: Devices with an OpenGL ES 2.0 GPU that run API level 9 (Android 2.3) or above.
  • HTML5: Browsers that support WebGL (Latest Firefox, Chrome, Safari, or Opera, with compatibility increasing as time goes on)

AppStoreIcon-172x55-254866766.pnggooglePlayButton-161x62-2024266956.pngHTML5_PlayNow.png

Small download size
The 1.0.0 shipping sizes for the various platforms are listed below:

  • HTML5: 9.4 MB
  • Android: 26.8 MB (OBB + APK combined)
  • iOS: 28.2 MB

The actual Tappy Chicken game content is under 2MB, the rest is basically a fixed overhead for the engine that won’t increase as you add more content to your game. We’re still optimizing this overhead; expect to see further size reductions in future releases. Even so, you can ship a much larger game with dozens of times more content than Tappy Chicken and still fit into the OTA download size for the various stores (typically 100 MB).

Online features
Tappy Chicken also demonstrates how to use leaderboards, achievements, and banner advertisements on iOS and Android. We shipped with support for iAd Network on iOS and AdMob on Android, although there is a new IAdvertisingProvider API in 4.2 that can be used to add new advertising services without modifying the engine.

Leaderboards and achievements are implemented via the online subsystem interface, going to Game Center on iOS and Google Play on Android. The leaderboard and achievement portions of the OSS are exposed to Blueprints right now, and we intend to expose the entire system eventually. I’ll go into more depth on how to add achievements and leaderboards to your games in a future blog post, or you can look at the 4.2 version of the main Blueprint in Tappy Chicken once it is released.

What’s next?
Due to the difference in timeframes, we ended up shipping this release on a branch off of Master instead of 4.2 (all changes have been merged back to Master as of today); most of the changes made it in for 4.2, but a few Android and HTML5 fixes won’t be in the Launcher version until 4.3.

We’ve done testing for this release across a decent range of different devices, but nothing can substitute for having a live game in the wild due to the nature of the diverse hardware and drivers used in Android devices. We plan on addressing compatibility problems, pushing the fixes to GitHub, and releasing updated versions as issues are reported, improving the engine for everyone.

Going forward, we’re going to treat Tappy Chicken as a living product, making updates as necessary to keep it in a ‘ship ready’ state with every release of UE4, eating our own dog food, if you will. Feel free to reply with questions or comments below or join me on Twitter at @joatski](https://twitter.com/joatski).

HTML5 link is 404. :frowning:

We’re pushing it live now. Hang tight!

Great job guys, and thank you for all the hard work you do and the great tools that you make!

1 Like

Note: The last of the changes (so far) from the Tappy Chicken release branch were pushed to master as of https://github.com/EpicGames/UnrealEngine/commit/5dc58359e032b89622f66802bccd73aee8564472

Cheers,
Michael Noland

I’ve answered/recapped a number of questions about the livestream in that thread: [Twitch] Tappy Chicken release for iOS, Android and HTML5! - May 22, 2014 - Events - Unreal Engine Forums

Cheers,
Michael Noland

Nice work. I always keep an eye on the Flappy Bird project as a 2d/mobile benchmark for tue UE4. Moreover, I’d really enjoy to have a more straightforward and simple HTML5 exporter, because exporting game for the web it is the thing I miss more from Unity. :slight_smile:

Hi, really nice move Michael, and nice game!

But did you see that the Android Leader board is already cheated?
This could become a game breaker (for the Unreal Engine mobile solution) if not fixed.

Cheers

Made the first Review , Yeah! :smiley:
Anyway thanks EPIC for making that possible for everyone!

Shane erred on the side of a nice user experience for the leaderboard code. It trusts the local save game so that you can play offline, get a high score, and still see that high score reflected in the reported Game Center or Google Play number. As a result, a cheater can easily place an absurd score on the leaderboard, but competing within your circle of friends should be fine. You can choose to instead report the score only when online while receiving it (this is actually what the version of the game in 4.0 and 4.1 did).

We will probably offer savegame encryption in a future build, but that is at best a marginal protection, since you can run the executable on a rooted or jailbroken phone and attach a debugger to just modify the score value in memory (which would also thwart the ‘only report when achieved’ approach too).

Cheers,
Michael Noland

Understood, I like this explanation as it is all about a choice developers have to make ; and perhaps we can add an upper limit to score (because 1 billion eggs…)
Thanks!

For anyone interested in shipping sizes and measured performance on different devices, A new, community-hosted Unreal Engine Wiki - Announcements and Releases - Unreal Engine Forums is going to be kept up to date with future releases.

Cheers,
Michael Noland

Thanks Michael! for this and all your mobile efforts these last couple of weeks, very much appreciated! :slight_smile:

Shipping it on Windows Phone 8 would be the *real *achievement (obviously after supporting it in UE4). Don’t bury your head in the sand about WP please, forget the numbers think of the future. :frowning:

Speaking of Windows phone, WP 8.1 will support WebGL in the browser. Does that mean that UE4 can run inside IE on WP 8.1 ? This might be a real life saver as we are being asked to support WP 8.1 for our 2D game… Any thoughts ?

Thanks
Sanjit

I’m not sure if it’s possible. If is, I think that running in the browser could cause some performance issues. Also I’m not sure how such game would deal with touch interface (it would be running on Internet Explorer which interprets touch gestures on its own way). As a Graphic/UX designer I always think about this. Native UE4 support will give more freedom and stability. I’m Windows Phone user and I really hope that Epic guys plan to implement this soon.

Michal

I’m not sure that will work out very well, but feel free to give it a shot. In my (admittedly limited) testing with our HTML5 output on the IE11 desktop browser, it took about 5 minutes to load versus 15-20 seconds on other browsers; performance after that seemed reasonable, but something about their JavaScript JIT or whatever was pretty unhappy with parsing the Emscripten output. I certainly hope that will improve over time, but betting a game on it seems unsound.

RE: Windows phone support in general, this is our official position right now:

Cheers,
Michael Noland

Thanks Michael for the inputs.

I tried to navigate to the Tappy Chicken page on a Windows Phone (8.1) but it complained that the browser was unsupported. Perhaps you should provide a link which runs the demo in HTML5 anyways. Just for kicks I tried to run the demo in Chrome on my Nexus 5 but it forces me to download the Android App version…

Sanjit

Although the goal of creating an quick game to show off the ease of UE4 was honorable. The execution of the game was badly lacking due to the difficult nature of the very first set of posts to pass.
I just stopped playing after about 15 tries to get through the very first two posts. I just figured the rest of the game was going to be ridiculously more difficult. (played HTML5 version in chrome) You may have a wonderful coding example in there somewhere, but the attention span for a brand new game is extremely short (as is mine), with that you should seriously consider changing the first few maps and broadening the posts at least another 30% to allow players to get a feel for how much the chicken moves with each click, etc… give them a sense of accomplishment and make them interested in moving forward, otherwise as is, it fails at it’s attempt to showcase the feature set it was intended for. Look at simple games like Angry Birds, easy to start, difficult to master.

Trying to help.

However, there are plenty of examples of great games that are being developed with your product.
I am brand new to the software (just joined) and was of course looking for tutorials.

Best of luck with the projects, it would seem like you have a great product in UE4.

The game is quite good. I saw many complaining about the size of the game, but nowadays 28MB is nothing.

And if is true that the game was coded in one evening thats amazing! but i´m sure that he was an experienced developer or at least he knows the basic usage of Unreal Engine.

I was writing a review about Tappy Bird in spanish and my courisity made me register here. Congrats for the game, good work!