A downloadable game for Android

Devil Fruit Run was my seventh game I was the sole programmer of, and Unstoppable Games fourth game. Me and Saeed worked together to make a publishers idea come to life to test on the market. This game takes inspiration from the largely popular anime One Piece, this game takes place with the runner genre. You run through all the levels, collecting fruits to level up, and avoid obstacles along the way finally reaching the end and getting into a duel! This game went through 3 iterations from chibi characters having to collect certain fruit colors, to what it is today.

Game Mechanics:

  • Possibility of boss fight at the end of every 5th level, with this comes boss fight mechanics allowing the player to jump around the boss and dodge the bosses' hits.
  • Boss and Regular enemies are super punched at the end of the level, flying 100's of feet slamming into bricks to get a score multiplier with fun ragdoll physics.
  • Huge Item Shop with 40 items using the accessories scriptable object for which icon to use and how much they cost, filling in the UI programmatically.
  • Versatile Clothing system using only a few different skinned meshes for clothing but many textures applied to them.
  • Secret Shop accessed by getting a key in the level, allows for the chance to win a secret item if you guess the right chest.
  • Used a Catmull-Spline for the waypoints for the flying sections to make a nice smooth curve.

Challenges & Solutions:

  • Was faced with the task of making the character fly and collect fruits and overwriting the animations of the hands at the beginning for a fling like effect. To do this I decided to use DoTween for all the tweening. The character first tweens the hands to the posts overwriting the location in LateUpdate, then will move them back to their normal location when the fling starts, creating a slingshot like effect. After this DoTween is used to move the character through the air until the end causes a ground slam effect and the Character Controller to re-enable.
  • Needed to somehow grow the characters hands as well as trigger other effects for different gears. So, we used blend shapes for the hands and created a Player Transform handler that had various settings per gear like particle system, shake amount, player size, and the texture of the character.

What I'd do differently:

  • If I were to do this project again, I would have created editor tools to easily place the fruits, as that was very time consuming to place them especially in the air sections.
  • I'd also dynamically create the end size depending on players strength and how far it's possible for them to get, along with this change I'd make the base strength much higher for a more satisfying ending having the character break through multiple walls at high speeds with camera slightly lagging behind to give an even higher sense of speed.
  • Currently there's a scene per level, with things like the canvases being on every scene. What I'd like to do instead is use Zenject for general dependency injection, and along with that move the canvases to the ProjectContext object so it's never deleted and can be used and reused as needed.

Key Takeaways:

  •  I learned a ton with this project, and it was a blast to get to work on with Saeed! I learned about Blend Shapes, creating shops for games, and just more about game mechanics in general. Game feel was a big point for this game, with the added camera shakes, particle effects, and even the ragdoll having two extra bounces instead of just blandly sliding once it hits the ground all came together to create a great feeling and better equipping me for the future.

Download

Download
Devil Fruit Run.apk 72 MB