[Beta Release] Snakes - Local play 1-8 players

Discussion in '3DS - Homebrew Development and Emulators' started by Desynched, Jan 6, 2017.

  1. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    105
    93
    Jan 4, 2017
    United States
    Current Version: 0.2.5

    Gameplay from 0.2.2, thanks to pickPickles:

    Introducing a local play game supporting 1-8 players!
    This is a great party game!



    [​IMG]
    UPDATES

    CURRENT KNOWN BUGS:
    • Bots do not know what to do during a game with "No apple" mode enabled.
    • If two snakes cross at the same time, they will both live. This is not technically a bug, as when I asked players how they'd like to handle it, they decided it's more fun if they both live when this happens.
    • Sometimes when using Autopilot in local play, the bot appears longer to other players.
    • If you close the lid while hosting, you may be unable to start a game without re-opening Snakes.
    • All of these bugs will be fixed soon! Sorry about that.
    To Start A Game:
    You do NOT need a wifi connection to play with others that already have this game installed, but you do need WiFi enabled on your 3ds so local play can work.

    Read the instructions on the bottom screen.


    At the Start Screen, press START to quit.

    Press X to display the QRCode to the latest .cia release of Snakes! Use this so friends can easily install the latest version and play with you. For installing this way, you need a wifi connection and a QRCode .cia installer: https://gbatemp.net/threads/release-qr-web-installer-cia-installer.416243/

    Press A to host and start a one player game. HOLD A to wait for a 2nd player to connect.

    Hold B to scan for a room. If more than one room is found, you will be able to choose them from a list. The selected room will be highlighted in yellow. If you see a list, press A to select that room to join it.


    When joining a room that is in-progress, you will join as dead. This is to be fair to other players. When this happens you will have to wait for the end-of-round screen before you can interact. Press START to quit.

    Press Y at the start screen to change your username. This will only be displayed IN the game, not when selecting a host to join.

    Press SELECT for game options. Press B to go back a screen. Using directional input will allow you to highlight a selection in yellow. Press A to select. In some sub-menus, pressing A will highlight a special selection in red. When this happens, pressing directional input will change the red value. Press B or A to stop selecting the value. You can always press B to go back a screen.

    Here are the game modes you can toggle any combination of:



      • Boundaries kill: Classic snake! You can't touch the boundaries, or they will kill you.
      • Tron mode: For a game of tron, enable this and "No apple" to experience a true tron cycle bike game! Snakes will always grow, and never have a true tail.
      • Disable diagonals: For those of you that think the CPad's automatic diagonals is too OP, this is for you.
      • Disable A: Don't like being able to go fast? Disable it here.
      • Disable B: Don't like being able to go slow? Disable it here.
      • Disable Y: Hate it when people teleport the apple? This is for you.
      • Enable R: Be able to go in reverse by pushing the R button.
      • No apple: Forget the apple, just kill everyone!
      • Apples double length: for easier advantage over other players. you get twice as long for every apple you get
      • Disappear on death: What it sounds like. Use this, no apple, and Tron mode for a tron cycle bike game mode.
      • Occasional holes: This makes all snakes occasionally have holes in them at random. On average, it happens 1/80 "dots". To put this in perspective, non-Tron games start with a length of 40 dots. Requested by Kingdra.
    You can also select how many bots you want to play against in one-player. Select the top line that displays "Number of bots: 1" and press Right or Left to increase or decrease the bots.

    You can also press up/down to select a specific bot to change its difficulty.
    The difficulty range is as follows from most difficult to least: Insane > Hard > Medium > Easy.


    How to Play:
    This version of snake is a little different from the average!

    Your snake is always moving, whether you want it to or not!


    To change direction, Use the CPad (left thumbstick) for easy curves, or the D-Pad for precise directional changes.

    Your snake is a unique color line that grows the more you eat apples. Don't run into yourself or other snakes! If you die, on the bottom screen it will say in parenthesis who you ran into.

    Apples are white dots. Run over one and you will gain a point and get much longer than in the average snake game.

    Hold A to go twice as fast!
    Hold B to go twice as slow!

    Press Y to move the apple once! You can only do this once until someone scores a point. You can still do this when you are dead! Annoy the last one standing by moving it around right before they get it!

    Once everyone is dead, or the last one alive gets the highest score, the round will end. To continue, press A! You may not be able to press A right after the round ends, it will be ignored for one second. Once everyone presses A, the next round will begin! You can tell if someone is ready by noting a green R under their score.

    You can also press L to toggle Autopilot. Whenever this is enabled, you forfeit that round even if you disable it before the round ends. This is to be fair to others.

    Some META:
    If the apple is stuck in the center of a square/circle of your long tail, you can teleport it by pressing Y, or you can move in layers (back and forth) to use up the least amount of space possible. Eventually the end of your tail will stop wrapping around the apple as it catches up to you.

    Having trouble getting the apple? Hold B when getting close to it for fine maneuvers!

    In multiplayer, you basically have one of two goals:
    • Get apples until you are big enough to kill everyone else
    • Kill everyone first by moving quickly, then grab the remaining apples needed to get the highest score.
    • The Cage Strategy: If you are longer than the last person alive, you can wrap around them and bite your own tail to prevent their escape. You obviously have gotten more apples than them, so they will be forced to suicide and lose. Suggested by elementalcode
    Screen Score:
    The Screen Score is the balancing between all game modes to give an accurate "score" for the end of the round. This score is calculated by all devices adding up all client-side snake lengths, and sharing this number. All devices agree to use the largest number shared, and this becomes the "Screen Score". If this screen score is higher than the winner's current High Score, it will display a message on all devices saying they have obtained a new High Score, and it will automatically save to the winner's save file on the root of the their SD card.

    Credits:
    • Wolfvak - for graphics help like finding color from frame buffer. thanks a lot!
    • smealum - for ctrulib and other contributions to homebrew dev
    • fincs - graphical rendering! Helped me fix a major bug that slowed the game down.
    • Stary - both Stary and fincs both helped me discover and fix a bug that slowed the game down due to inefficient graphical rendering. Thank you so much!
    • zaksabeast - for helping me with this release
    • pickPickles - testing and recording gameplay with 8 players
     
    Last edited by Desynched, Feb 14, 2017


  2. zoogie

    zoogie simple pimp tool

    Member
    6,250
    7,918
    Nov 30, 2014
    United States
    Very cool, Desynched!. I don't think I've seen any homebrews using local play before.

    except maybe smilebasic if you count that as homebrew
     
    memomo, jsa, Quantumcat and 1 other person like this.
  3. FazSapphire

    FazSapphire Member

    Newcomer
    13
    1
    Sep 19, 2015
    Netherlands
    Awesome !
     
    Desynched likes this.
  4. Ricken

    Ricken We'll Carry On

    Member
    2,189
    2,344
    Jan 19, 2016
    United States
    Shibuya, The small one from Vegas
    Snake! Love snake. Thanks!
    Pretty sure DrawAttack uses it sometimes
     
    Desynched likes this.
  5. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    105
    93
    Jan 4, 2017
    United States
    Trying my best to upload ghetto screenshots using my phone.

    I'm at a mcdonalds using their terrible wi-fi so bare with me.

    Tomorrow I promise to upload a video that shows 4 people playing.
     
    LucarioWolf likes this.
  6. StarGazerTom

    StarGazerTom GBAtemp Advanced Fan

    Member
    813
    527
    Feb 2, 2015
    trying to load it, but getting an error and booted to the homemenu.
    o3ds, latest firm, Arm9, latest Luma.

    "udsInit failed: 0x9411002."


    Edit: immedietely figured it out. your wifi MUST be on.
     
    Desynched likes this.
  7. TheVinAnator

    TheVinAnator GBATemp's Greatest Vin

    Member
    3,551
    2,555
    Jan 10, 2016
    Canada
    NO COFFEI!
    Wow this is really cool! xD Will defo play!
     
    Desynched likes this.
  8. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    105
    93
    Jan 4, 2017
    United States
    Thanks for the feedback.
    That's kind of strange as I've been able to play it in places where no wifi was available.
    Rip.
     
  9. Giodude

    Giodude Ruler of Italy

    Member
    GBAtemp Patron
    Giodude is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    3,740
    1,076
    May 17, 2015
    United States
    New York
    Yo cant wait to try this! Never saw local play in a homebrew app before...
     
    Desynched likes this.
  10. TheVinAnator

    TheVinAnator GBATemp's Greatest Vin

    Member
    3,551
    2,555
    Jan 10, 2016
    Canada
    NO COFFEI!
    I think he just means the WiFi switch.
     
  11. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    105
    93
    Jan 4, 2017
    United States
    Ah. I'm used to my N3DS XL.
     
    TheVinAnator likes this.
  12. Petraplexity

    Petraplexity Fidget-Spinning Spicy Memelordâ„¢

    Member
    379
    786
    Sep 5, 2015
    United States
    Over There
    This looks amazing!
     
    Desynched likes this.
  13. StarGazerTom

    StarGazerTom GBAtemp Advanced Fan

    Member
    813
    527
    Feb 2, 2015
    Bingo, the switch needed to be on. If the wifi isn't on, it doesn't run apparently.
     
    TheVinAnator likes this.
  14. xtheman

    xtheman GBAtemp Guru

    Member
    5,844
    5,264
    Jan 28, 2016
    United States
    @TheKingy34 You have like 7 consoles don't you?
    How about you check this
     
    Desynched likes this.
  15. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    105
    93
    Jan 4, 2017
    United States
    I will update the error code when I get home to inform the user to turn the wifi switch on. Thanks guys!
    Do note that I get different results from playing with 3 afk players and playing with 3 other ACTIVE players. With active players the local play gets much more bogged down, causing different anomolies. So if you can, find LOTS of active players and test it out please!

    I did notice a bug that I haven't been able to replicate yet: if you go diagonal using the CPad, and then change direction, it doesn't update that change on the other devices. Let me know if anyone can replicate this. It seems to work most of the time.
     
  16. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    105
    93
    Jan 4, 2017
    United States
    I made the apples white because I have a color blind friend who said red on black was too hard to see.
     
    Quantumcat likes this.
  17. SimplyFedorable

    SimplyFedorable Evangelion Geek

    Member
    566
    227
    Apr 7, 2016
    United States
    melee hell
    Oh shit, this is awesome! May try to get my friend to got this so we can test it
     
    Desynched likes this.
  18. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    105
    93
    Jan 4, 2017
    United States
    I have updated it so it has a splash screen, and lets you play with the wifi switch off. I mainly did the latter so I could take a better screenshot using citra3d.

    *edit: citra3d doesn't run this game properly. you die randomly for no reason, probably something to do with grabbing the frame buffer for detecting collisions. Oh well.
     
    Last edited by Desynched, Jan 7, 2017
  19. McWhiters9511

    McWhiters9511 That's Rad Bro

    Member
    1,147
    575
    Mar 28, 2016
    United States
    Space
    impressive how you added local connection, great job!
     
  20. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    105
    93
    Jan 4, 2017
    United States
    Thank you!
    If you try out the game with another player, let me know what you think!