FishMoto - Fish Riding Motorbike, Surreal Physics, Challenging Levels! Out now!

OverpoweredGamesOverpoweredGames Posts: 79Member
edited June 2013 in Games
UPDATE: It's out now!  Upvotes appreciated to get it out of sandbox!

Here's an old trailer for the iPhone version (will try to get a new trailer for the Ouya version but I wanted to let people play it ASAP!)

You're an electric catfish driving an electric motorbike saving other fish trapped in baggies.  It uses the physX physics engine, but with a surreal implementation.  The shocks are really stretchy, so not only can you pull off some really crazy maneuvers, but you get a real sense of every bump in the ground and you really have to think outside the box to improve your times and beat the harder levels.  It's a deep physics system that I think is a lot of fun to master.  

Ouya was an obvious choice -- the game plays MUCH better with a controller compared to the touch screen controls on iOS.  I also added ghosts when I brought it to Ouya which makes it a lot more fun to improve your own times.  Excited to hear what you guys think!

Screenshots:
image

image

image

image

image

You can follow my page on Facebook for updates: https://www.facebook.com/OverpoweredGames
Post edited by OverpoweredGames on
Developer behind FishMoto | facebook.com/OverpoweredGames

Comments

  • OverpoweredGamesOverpoweredGames Posts: 79Member
    FishMoto is just about ready to launch -- just need to get my hands on an Ouya to do testing on hardware again.  
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    edited June 2013
    FishMoto is just about ready to launch -- just need to confirm everything runs fine on hardware.  I've tested it on an Ouya before (friend let me borrow his) but it's been a few weeks so I need to make sure everything is still good.  

    You can grab the apk:

    Please let me know if you get it running and scream at me if anything doesn't behave as you'd expect.  Thanks!
    Post edited by OverpoweredGames on
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • stolkstolk Posts: 119Member
    How do I install it?
    This is what I get when I try to use adb:

    $ file FishMoto_RC1.apk 
    FishMoto_RC1.apk: Zip archive data, at least v2.0 to extract
    $ md5 FishMoto_RC1.apk 
    MD5 (FishMoto_RC1.apk) = 51688745d20e9a2bd8d871fa2b03b0c2
    $ adb install FishMoto_RC1.apk 
    EOCD not found, not Zip
    file 'FishMoto_RC1.apk' is not a valid zip file
    rm failed for /data/local/tmp/FishMoto_RC1.apk, No such file or directory

    Bram

  • stolkstolk Posts: 119Member
    stolk said:
    How do I install it?
    This is what I get when I try to use adb:

    $ file FishMoto_RC1.apk 
    FishMoto_RC1.apk: Zip archive data, at least v2.0 to extract
    $ md5 FishMoto_RC1.apk 
    MD5 (FishMoto_RC1.apk) = 51688745d20e9a2bd8d871fa2b03b0c2
    $ adb install FishMoto_RC1.apk 
    EOCD not found, not Zip
    file 'FishMoto_RC1.apk' is not a valid zip file
    rm failed for /data/local/tmp/FishMoto_RC1.apk, No such file or directory

    Bram

    Good news: it installed now (previous download was incomplete)
    Bad news: it just sits there at the launch screen, no response to O or Y buttons.

    A lot of spamming on the console log, from Unity:

    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): Receipts Updated
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): Products Updated
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): ProductInfo: Main Unlock
    I/Unity   ( 2198): Price: 499
    I/Unity   ( 2198): ID: mainunlock
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)
    I/Unity   ( 2198): 
    I/Unity   ( 2198): NullReferenceException: Object reference not set to an instance of an object
    I/Unity   ( 2198):   at OuyaInput.Update () [0x00000] in <filename unknown>:0 
    I/Unity   ( 2198):  
    I/Unity   ( 2198): (Filename:  Line: -1)

  • OverpoweredGamesOverpoweredGames Posts: 79Member
    Thanks so much!  Not at work computer right now but I'll try and fix it first thing tomorrow :) 
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • efroemlingefroemling Posts: 45Member
    Looks like fun, but there appears to be something amiss - it doesn't appear to be accepting input from controller 1 (or any other for that matter).  I've been whacking 'O' or 'Y' on all of them with no effect.  I can get to the 'How to Play' screen by using the touch pad but that's it.
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    Yeah I think I know what's causing it (querying input from controllers that don't exist) -- I'll have to fix it when I get into the office tomorrow.  I'll have an updated apk available tomorrow :) 

    Thanks and sorry you weren't able to actually play yet
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    edited June 2013
    New build up 

    edit: found issues with this one, too

    Post edited by OverpoweredGames on
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    This one has different controller issues but I think the next one will be fine.  If you happen to have two controllers, it should work with the second one (while both are paired)
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    Game is out now!  Let me know what you think!
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • ThinksquirrelThinksquirrel Posts: 20Member
    Awesome, gonna try this out sometime today. Loved the original on the iPhone, but never got used to the touch controls... This is a perfect fit for the OUYA!
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    edited June 2013
    It seems the audio can be glitchy, but only on some TVs (weird) -- will be trying to address this soon.  Also, it might look overblown if your TV has the saturation turned up.  
    Post edited by OverpoweredGames on
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    Borrowed friend's Ouya to test it myself.  Was able to confirm PS3 controllers work great.  Wired 360 controllers work except for d-pad.  Going to try and improve performance when I fix the bugs mentioned in previous posts.  
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • lzap-devlzap-dev Posts: 61Member
    Nice game indeed, X-Moto FTW :-)
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    edited June 2013
    Update submitted with 60fps, a few small bug fixes, and tweaked UI (to compensate for overscan) -- hopefully it'll be approved soon!
    Post edited by OverpoweredGames on
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    Update is live!  With the new Ouya system update, it should be easy to update FishMoto without having to delete/install it again.  Let me know what you think!  Upvotes appreciated to get it out of sandbox!
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    I had a booth at the ScrewAttack Gaming Convention and held a contest -- best time on level 15 by the end of the convention would win an Ouya.  Several dedicated gamers were playing for hours trying to get the best time -- it was extremely competitive as they went back and forth beating each other's times and it was incredibly rewarding as a developer to see others master my game :) 

    The winning time was an impressive 40.10 seconds.  After the contest was over they asked me to try and beat it -- took me several tries but I managed to get 40.03 seconds -- I told them I thought I could get under 40 seconds.  Today I gave it a shot and here it is -- 39.14!  I think it's definitely possible to get below 39 seconds as my ending wasn't super strong and I've also had stronger starts.  


    You'll notice this build is a little different.  Gameplay is unchanged, so nothing that would effect my time.  But I've made it easier to tell which wheel is powered and which direction the bike is facing.  These are a sample of some of the things I'm tweaking with the game to make it easier for new players to learn.  

    I'll be posting more videos to give tips and tricks.  FishMoto has an incredibly deep physics system that definitely has a learning curve, but is a ton of fun to master.  I hope to improve on the tutorial in future updates and also bring the game to desktop platforms.
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • Aiursrage2kAiursrage2k Posts: 58Member
    edited June 2013
    I just played fish moto today and it seemed great but I kept dying on the second level and had to quit. So maybe you could ease us into the game
    Post edited by Aiursrage2k on
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    edited June 2013
    Yeah right now it's very sink or swim (no pun intended).  I hope to improve the intro to the game (also make it more obvious that there's currently 30 levels - not just the first 15 you see at first).  The second level is supposed to force the player to use the flip to change directions.  

    The controls are set up so that it's basically two control schemes at the same time (use whatever is best for you).  I figured this was convenient, but I think it just makes it more confusing to most people.  

    Personally I use O for accelerate, U for break, R1/L1 for flip, and the analog stick for rotation -- most people probably find that easiest to use.  The alternative is R2 accelerate, L2 break, A to flip

    Also, I lied.  Pun was intended.  
    Post edited by OverpoweredGames on
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    Pretty rad -- FishMoto is currently featured as one of TowerFall Dev Matt Thorson's Playlist games on OUYA
    Developer behind FishMoto | facebook.com/OverpoweredGames
  • OverpoweredGamesOverpoweredGames Posts: 79Member
    Update submitted:

    -There's now a visual effect to indicate gravitational changes
    -The back wheel, the one that is powered, now has different art to make it more obvious
    -When you collect baggies, it does a simple animation up to the HUD to make it more obvious that you need to get them all
    -Put in a cooldown so you're less likely to accidentally exit back to menu
    -Edited control scheme art and tutorial to make it simpler and less cluttered
    -Various usability tweaks
    Developer behind FishMoto | facebook.com/OverpoweredGames
Sign In or Register to comment.