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

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!



w5aNmaE.png

0.2.4:
  • 1-3 Bot opponents to play against while waiting for friends to join!
  • Autopilot feature!
  • Will go back to Start Screen if you leave game.
0.2.3:
  • Fixed many netcode anomalies
  • Fixed message flooding after host leaves game options menu
0.2.2:
  • Added "Occasional holes" game option by request of Kingdra. This makes holes about 1/80 dots of your snake on average, allowing you or anyone else to pass through them.
0.2.1:
  • Added Screen Score system. This reflects a score based on the combined lengths of all snakes on the screen at the end of the round.
  • Added High Score system. The High Score is based upon the Screen Score at the end of the round. The winner takes the full Screen Score. Messages will be displayed to all players if you obtain a new high score!
  • You can now reset your High Score by holding R and pressing Y at the start screen.
0.2.0:
  • Fixed bug when many long snakes die in "Disappear on death", the game slows down.
  • Official beta release!
0.1.7:
  • Added new game option: Disappear on death. Now you can have a true tron cycle bike game mode by enabling: Tron mode, No apple, Disappear on death.
  • Fixed a slew of bugs, including: ghost readies, being unable to press A for the first second at the end of a round, dropping death packets that force some players to stay in game when round is actually over, players getting stuck in "game starting...", and many more.

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,

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
I looked into getting auto updates working, but it seems like it would be a project in and of itself. Because of this, I suggest just getting the qr web installer here https://gbatemp.net/threads/release-qr-web-installer-cia-installer.416243/

I do not plan to support auto updates, as it would increase the size of the app by about double, I'm guessing.

In other news, I have added some pleasing aesthetics. I grew tired of the weird icon to signify a game option being enabled, so I changed it to a loading icon ripped from system font.
I also added rainbow text functionality, so when you win, it displays that in rainbow, as well as displaying the "enabled" icon in rainbow for game options.

edit: Fixed a major bug when using "Disappear on death" game option that caused the game to crash when a snake dies after getting very long.
 
Last edited by Desynched,

Kinqdra

GBAtemp's Official T-shirt
Member
Joined
Aug 7, 2009
Messages
627
Trophies
0
Age
27
Website
www.youtube.com
XP
776
Country
Croatia
Just wanted to let you know that this game is as much fun as I expected it to be :D
I spent a solid hour playing through all the different variations on a road trip with my SO. She loved it as well.

IP CURVE would be exactly the same as TRON MODE + NO APPLE except, while your snake would move forward, it would leave gaps every now and then so that you could pass through. The last one alive wins.
At the end of a good play, it should look something like this:
maxresdefault.jpg

The controls might be a bit more complex to replicate, but it would work well enough with the ones you already have.
In case it interests you, in IPCURVE you only use 2 buttons. One to "curve" your snake to the left, and the other to curve it to the right.

Also, a scoreboard would be nice to implement as you progress.

Once again, I really appreciate all the effort you put into this. Even at this stage, the game is amazingly fun :yay3ds:.
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
When will it have multiplayer online?
It won't for a while. If I make it online multiplayer, I'd have to host a server, and other things I just can't get done until after I move in a month or so. also, the snakes can move very fast, and I don't think online play would be able to keep up very well. So maybe never.

edit: basically an online version would be a different version, completely. this version will not have online gameplay, only local play
 
Last edited by Desynched,

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
I have update the original post with a video of 0.1.7 gameplay. The only difference between that and 0.2.0 is there's a bug fixed in 0.2.0 for "disappear on death" lag
 
Last edited by Desynched,

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
IP CURVE would be exactly the same as TRON MODE + NO APPLE except, while your snake would move forward, it would leave gaps every now and then so that you could pass through. The last one alive wins.
At the end of a good play, it should look something like this:

The controls might be a bit more complex to replicate, but it would work well enough with the ones you already have.
In case it interests you, in IPCURVE you only use 2 buttons. One to "curve" your snake to the left, and the other to curve it to the right.
Making the snakes turn by degrees like in IP Curve would be really hard, as they currently behave as though they are on a grid. So I probably won't be making an IP curve mode. However, I could add a mode that creates holes in your line occasionally, if that's something you'd settle for
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
I have released a High Score system!

Welcome to version 0.2.1!

This uses a new "screen score" system.
During the match, on the bottom screen, it will display the current calculated "Screen Score".
If this screen score exceeds your current High Score, it will be displayed in rainbow color.

This Screen Score is calculated by adding up all of the snakes' lengths. This is to reflect the current difficulty and score that the players are aiming for at the end of the round. The goal of the game among all combinations of game options is to either get as long as possible or be the last one standing. While the screen score may not reflect the difficulty of a true Tron game (Tron Mode, No Apple, Disappear On Death), it will reflect accurately for all other game modes.

At the end of the round, all devices will communicate their calculated "Screen Score". This can differ by 1-4 points due to lag, and that it is mostly client-side. All devices agree on the largest Screen Score shared. This becomes the end of round Screen Score, and if it is a larger number than the winner's high score, it will be displayed to all players that they have obtained a new High Score. This new High Score will be automatically saved to their save file on the root of the SD card.

To reset your high score, at the start screen hold R and press Y.
 
Last edited by Desynched,
  • Like
Reactions: Quantumcat

Kinqdra

GBAtemp's Official T-shirt
Member
Joined
Aug 7, 2009
Messages
627
Trophies
0
Age
27
Website
www.youtube.com
XP
776
Country
Croatia
Making the snakes turn by degrees like in IP Curve would be really hard, as they currently behave as though they are on a grid. So I probably won't be making an IP curve mode. However, I could add a mode that creates holes in your line occasionally, if that's something you'd settle for
Yeah, I thought it'd be a bit tricky to manage d:
I'd settle for that any day C:
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
Wow, loving the ambitiousness!
Will definitely test it out once done c:
Well you can test it now ;)

I found an eloquent way to do this. Just had to increase packets by 8 bits for the varying size of the hole. The holes vary from 1-4 dots of your snake, and happen on average 1/80 dots. Please let me know if that should be adjusted, as its not a game option I had in mind when I made this game. I can edit it to your liking, since it's something I added just for you :P

For everyone else, this means the version is now 0.2.2! You can't play with people on lower versions. It would be unfair if some players made holes and others didn't see them at all.
To use this game option, select the last one on the game option list: "Occasional holes".
 
Last edited by Desynched,

Kinqdra

GBAtemp's Official T-shirt
Member
Joined
Aug 7, 2009
Messages
627
Trophies
0
Age
27
Website
www.youtube.com
XP
776
Country
Croatia
Well you can test it now ;)

I found an eloquent way to do this. Just had to increase packets by 8 bits for the varying size of the hole. The holes vary from 1-4 dots of your snake, and happen on average 1/80 dots. Please let me know if that should be adjusted, as its not a game option I had in mind when I made this game. I can edit it to your liking, since it's something I added just for you :P

For everyone else, this means the version is now 0.2.2! You can't play with people on lower versions. It would be unfair if some players made holes and others didn't see them at all.
To use this game option, select the last one on the game option list: "Occasional holes".
I am honored :blush:
Works just as expected, thanksss :D
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    It could get banned from PSN but you can change your ID I think?
  • Xdqwerty @ Xdqwerty:
    also gonna install twilight menu in my r4 flashcard
  • Psionic Roshambo @ Psionic Roshambo:
    One thing that just occurred to me.... The sound on the 2600 sucked less back then the harsh sound we hear now is from infinitely better speakers we have now, back when the 2600 was new speakers produced a almost muffled sound, like CRTs made old graphics look slightly better.
  • Psionic Roshambo @ Psionic Roshambo:
    I wonder if I could recommend that to some emulation devs that perhaps the sound could use some smoothing out to simulate those old TVs
  • Psionic Roshambo @ Psionic Roshambo:
    I think a few of the early systems could benefit from that, at least up to the 8 bit generation, by the 16 bit generation I think TVs had gotten a lot better in almost every way
  • Xdqwerty @ Xdqwerty:
    i dont have an sd card adapter but I have an usb sd card adapter
  • K3Nv2 @ K3Nv2:
    Old people games
  • Xdqwerty @ Xdqwerty:
    its not the one that comes with the r4
  • Xdqwerty @ Xdqwerty:
    doesnt work (my flashcard is from r4isdhc.com)
  • Xdqwerty @ Xdqwerty:
    might install ysmenu first
  • Psionic Roshambo @ Psionic Roshambo:
    Try Wood firmware
  • Psionic Roshambo @ Psionic Roshambo:
    For your R4
  • Psionic Roshambo @ Psionic Roshambo:
    It's old but it's the best firmware out for DS stuff
  • Xdqwerty @ Xdqwerty:
    it says it only works for the original R4, R4i Gold (r4ids.cn), R4iDSN (r4idsn.com) and Acekard R.P.G.
  • Xdqwerty @ Xdqwerty:
    nvm it does support mine
  • Xdqwerty @ Xdqwerty:
    but why choose it over ysmenu @Psionic Roshambo?
  • Xdqwerty @ Xdqwerty:
    bc im stupid?
  • Xdqwerty @ Xdqwerty:
    yea ik im stupid
  • Xdqwerty @ Xdqwerty:
    good night
  • Psionic Roshambo @ Psionic Roshambo:
    Just give it a try, but honestly if you have a 3DS you can play DS games without a card just off the internal SD card
  • Psionic Roshambo @ Psionic Roshambo:
    Slightly slower loading but a bit more convenient
  • BakerMan @ BakerMan:
    guys, my fuckin headphones have an out of place speaker
  • K3Nv2 @ K3Nv2:
    Did you try wearing them?
    K3Nv2 @ K3Nv2: Did you try wearing them?