All Projects → gjtorikian → Earthbound-Battle-Backgrounds

gjtorikian / Earthbound-Battle-Backgrounds

Licence: MIT license
This is a live wallpaper for Android 2.1+ that shows the battle background animations from Earthbound (Mother 2).

Programming Languages

java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Earthbound-Battle-Backgrounds

BelecoLiveWallpaper
An Android live wallpaper with parallax effect.
Stars: ✭ 74 (+94.74%)
Mutual labels:  live-wallpaper
chameleon-live-wallpaper
Color adapting live wallpaper for Android.
Stars: ✭ 20 (-47.37%)
Mutual labels:  live-wallpaper
ubuntu-live-wallpaper
Live wallpaper changer for ubuntu. Inspired from chrome momentum extension
Stars: ✭ 44 (+15.79%)
Mutual labels:  live-wallpaper
Lively
Stars: ✭ 5,721 (+14955.26%)
Mutual labels:  live-wallpaper
wallpaper-engine-kde-plugin
A kde wallpaper plugin integrating wallpaper engine
Stars: ✭ 639 (+1581.58%)
Mutual labels:  live-wallpaper

The Earthbound Battle Background live wallpaper is exactly what its name implies: a live wallpaper for Android 2.1 (or higher) that shows the battle backgrounds from the SNES RPG Earthbound.

Every battle background is composed of two layers, each with 326 possible styles (including "blank"). Thus, there are 326 * 326 = 106,276 possible different background combinations. Obviously, this many don't exist in the game--they only potentially exist.

It's pretty damn hard to find out which battle backgrounds correspond to which enemies. You can review the list of enemies matched with known battle backgrounds to try and get your favorite on the Suggested Layers option. If you discover a new one, please, email me and I'll add it to the list, giving you full credit! You can find a COMPLETE list of potential battle backgrounds by going here: http://gjtorikian.github.io/Earthbound-Battle-Backgrounds-JS/samples.

How it Works

The data for each of the 326 styles are bundled within the app. Tiles are constructed from various memory addresses in Earthbound game data. To create the distortion effect, the following function is used:

Offset (y, t) = A sin ( F*y + S*t )

where:

  • y is the vertical coordinate being transformed
  • t is time that's elapsed
  • A is the amplitude
  • F is the frequency
  • S is the speed or frameskip of the transformation

Offest refers to the y direction of the shift at a given time t.

There are also three types of distortions that use the result of the Offset function:

  • Horizontal translations, where each line is shifted left by the given number of pixels
  • Horizontal interlaced translations, where every other line is shifted right by the given number of pixels
  • Vertical compression translations, where each line is shifted up or down by the given number of pixels

Different backgrounds use different distortion effects.

Building

First, make sure you call ndk-build in the root directory. Then, just run the Android application through Eclipse.

License

This app is in no way endorsed or affiliated by Nintendo, Ape, HAL Laboratory, Shigesato Itoi, e.t.c. It's licensed under the GPL License, Version 3. You may obtain a copy of the License at http://www.gnu.org/licenses.

Donations

This app is available on the Android Market: https://market.android.com/details?id=com.miadzin.livewallpaper.earthbound&feature=search_result.

If this code inspires or helps you at all, please feel free to buy it from the market. Thank you!

Credits

I am entirely indebted to Mr. Accident of forum.starmen.net for the original battle background generation code, which was a C# project that uses the battle backgrounds as Windows screensavers. He also provided me with help along the way, and as far as I'm aware, he discovered the math behind it all, including the entire Offset function calculation. This port would be nothing without him.

Additionally, everyone who worked on PK Hack or was even associated with the project. It's incredible to witness such a powerful community of fans who have turned a wonderful game inside-out over and over again.

And thank you to the people on StackOverflow and the NDK Group who answered my repetitive questions with patience and clarity.

Discredits

Java, for still not having the concept of unsigned types. You made my app difficult.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].