[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
Released version 0.1.6:
new game mode Apples double length. I decided this would make things more fun for multiplayer, because only increasing your length by a static 40 doesn't give much of an advantage if you both have 5 apples. Now, with this game mode enabled, it doubles your length each time, so it makes it easier to wrap around someone else if you even have 1 more apple than them.

The game remembers your last username you set when you start the game. To do this, it creates a file called "snakes.dat" on the root of your sd card. It's a 50 byte file, so it's very small.

Because the version is now 0.1.6, if you try connecting to a different version, the game will exit. This is to prevent unfair advantages by people using different versions that don't support the new game modes.
 
Last edited by Desynched,
  • Like
Reactions: Quantumcat

elementalcode

Active Member
Newcomer
Joined
Dec 31, 2016
Messages
32
Trophies
0
Age
30
XP
398
Country
Argentina
New suggestion. Put an option to make the teleport apple thingy on a timer cooldown.

When there is the last guy, he can hold B and walk slooooooooooooooowly to the apple. You have a limited amount of moves so he can hold the B and win.

(Or make it dependant on the time that B is being hold? or something like that? or make it so the timer to jump the apple only works when there is only the last player?)
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
New suggestion. Put an option to make the teleport apple thingy on a timer cooldown.

When there is the last guy, he can hold B and walk slooooooooooooooowly to the apple. You have a limited amount of moves so he can hold the B and win.

(Or make it dependant on the time that B is being hold? or something like that? or make it so the timer to jump the apple only works when there is only the last player?)
What do you think the cooldown should be? I could make it a game option to make the Y button a 10 second cooldown. Or something like that.

Also, to prevent that from happening, what I could also do is make a game option that makes it so the last person alive has their B button disabled.

edit: this is difficult because if the timer is too short, they will never be able to get the apple. But if its too long, then like you said, they have an easy win by being patient. Hmmm
 
Last edited by Desynched,

elementalcode

Active Member
Newcomer
Joined
Dec 31, 2016
Messages
32
Trophies
0
Age
30
XP
398
Country
Argentina
What do you think the cooldown should be? I could make it a game option to make the Y button a 10 second cooldown. Or something like that.

Also, to prevent that from happening, what I could also do is make a game option that makes it so the last person alive has their B button disabled.

Don't really know the exact timing, maybe make it a variable?
Timers for the Y:
  • Infinite (one per apple)
  • 1 sec (THE ABSOLUTE MADMAN!)
  • 3 sec
  • 5 sec
  • 10 sec
Again, I don't really know how does the 3DS track time, so this is maybe a bit unreal. although i don't think so...

finally a question: Is it possible for the apple to teleport inside of a dead snek loop? When the last player is trying to get the points to win we always joke that the apple will get stuck inside one of the corpses and he will lose. Some of my friends say that there is code to avoid that happening.... So, what is it then?
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
Don't really know the exact timing, maybe make it a variable?
Timers for the Y:
  • Infinite (one per apple)
  • 1 sec (THE ABSOLUTE MADMAN!)
  • 3 sec
  • 5 sec
  • 10 sec
Again, I don't really know how does the 3DS track time, so this is maybe a bit unreal. although i don't think so...

finally a question: Is it possible for the apple to teleport inside of a dead snek loop? When the last player is trying to get the points to win we always joke that the apple will get stuck inside one of the corpses and he will lose. Some of my friends say that there is code to avoid that happening.... So, what is it then?
So the "pixels" are actually 2x2 pixels, but it continues to set the apple to a random location until that location's top left pixel is black.

So the worst case scenario is the top left pixel for the apple is black, but only that - and you have to get really close to get the apple.

edit: The timer is absolutely possible. The 3ds keeps track of time with system ticks. It's about... 268,123 ticks per milisecond.
 
Last edited by Desynched,

elementalcode

Active Member
Newcomer
Joined
Dec 31, 2016
Messages
32
Trophies
0
Age
30
XP
398
Country
Argentina
So the "pixels" are actually 2x2 pixels, but it continues to set the apple to a random location until that location's top left pixel is black.

So the worst case scenario is the top left pixel for the apple is black, but only that - and you have to get really close to get the apple.

You answered me without understanding my question.

Picture this. We are playing... I am winning... You move the apple... I loop and bite my tail... You need to take that apple to win... I move the apple (after dead)... The apple lands inside the dead loop of my body... You can't get the apple... I won after dying due to pixel magic :D

(Also: add to the metagame the cage strategy. If I am longer than you (I have more points), I can trap you inside a loop and bite my tail. You can't get out to get the points needed to win and must suicide. -> The cage strategy.)
 
  • Like
Reactions: Quantumcat

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
You answered me without understanding my question.

Picture this. We are playing... I am winning... You move the apple... I loop and bite my tail... You need to take that apple to win... I move the apple (after dead)... The apple lands inside the dead loop of my body... You can't get the apple... I won after dying due to pixel magic :D

(Also: add to the metagame the cage strategy. If I am longer than you (I have more points), I can trap you inside a loop and bite my tail. You can't get out to get the points needed to win and must suicide. -> The cage strategy.)
I love this caging strategy, it's my favorite thing to do in the game.

I added the "Apple doubles length" game option to increases opportunities for this to happen!

I do not have any code to enure that the apple will be relocated to a place you can reach it. You have to just hope nobody caged where it ends up.

It would be very difficult to code something like that, because I'd have to scan the entire screen for pixel colors, or path histories to ensure that its reachable... I'm not sure how to efficiently do that yet. Maybe someday.

In the meantime, I was thinking about a game option that when enabled, snakes that die will disappear.

edit: Wow, this forum refuses to let me fix this double post. RIP

I have added the meta strategy to the original post :)
 
Last edited by Desynched,
  • Like
Reactions: elementalcode

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
New suggestion. Put an option to make the teleport apple thingy on a timer cooldown.

When there is the last guy, he can hold B and walk slooooooooooooooowly to the apple. You have a limited amount of moves so he can hold the B and win.

(Or make it dependant on the time that B is being hold? or something like that? or make it so the timer to jump the apple only works when there is only the last player?)

Would "disable B on last alive" for a game option satisfy you?
 

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
Wow, can't believe I almost missed this! Will test it out tomorrow and tell you my thoughts, but on paper, it sounds like one of the most fun 3DS homebrew games so far. You have my full support on further improvement. Keep it up :D
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
Wow, can't believe I almost missed this! Will test it out tomorrow and tell you my thoughts, but on paper, it sounds like one of the most fun 3DS homebrew games so far. You have my full support on further improvement. Keep it up :D
Thank you very much!

Hold judgement for when you play it with 3+ people though :)
 

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
Thank you very much!

Hold judgement for when you play it with 3+ people though :)
Will do hahah

Just tried it on my own with 2 3DSs and and it works very well :)
An idea I can suggest for later on is maybe add an IPCURVE mode? Not sure if you've heard of the game but this looks like a solid base to become something alike. Really appreciate the effort you've put into it so far:yay:
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
Will do hahah

Just tried it on my own with 2 3DSs and and it works very well :)
An idea I can suggest for later on is maybe add an IPCURVE mode? Not sure if you've heard of the game but this looks like a solid base to become something alike. Really appreciate the effort you've put into it so far:yay:
I am currently trying to find out how one plays "IP Curve", but I can't find anything in english.
I tried watching videos, but I can't really tell how you control the curve.
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
I am writing an easter egg for people who manage to fill the entire screen with snakes. If you manage to somehow make the entire screen filled (minus one spot), the round should immediately end, and display a message.

I am not really sure if it will work properly because it's so hard to test. If you manage to do this, please take a picture and send it to me. I'd love to see this. I won't hold my breath though...

edit: The easter egg definitely isn't worth it. It is just two lines of text.

For anyone wondering why I added this... here:
snake.gif
 
Last edited by Desynched,
  • Like
Reactions: Quantumcat

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
Released 0.1.7!
New game option: Disappear on death.

For a true tron cycle bike game mode, enable the following in game options by pressing select at the start screen or at the end of a round: Tron mode, No apple, Disappear on death

I fixed a slew of bugs, including: ghost readies, being unable to press A for ready at the end of a round for 1 second, dropped packets on death resulting in some players being stuck in game when the round is actually over, players getting stuck in the "Game starting..." screen, and many more. In case you were curious, these bugs were hard to replicate as they didn't happen very often at all.
 

sniper_x002

Well-Known Member
Member
Joined
Jan 13, 2016
Messages
489
Trophies
0
XP
277
Country
Whew you're on a roll. I'm already like 5 updates behind and I just downloaded this the other day. Is there an auto updater of sorts available?
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
Whew you're on a roll. I'm already like 5 updates behind and I just downloaded this the other day. Is there an auto updater of sorts available?
A feature like that is on my mind, and I want to do it. I just need to learn more about installing cia files. I am not even sure how difficult it will be to implement that, but I will try to find out tomorrow.

what I have done for now, however, is added a qr code display by pressing x at the start screen. your friend can use a qr code installer with your screen to get the latest version.
 
Last edited by Desynched,
  • Like
Reactions: Quantumcat

sniper_x002

Well-Known Member
Member
Joined
Jan 13, 2016
Messages
489
Trophies
0
XP
277
Country
A feature like that is on my mind, and I want to do it. I just need to learn more about installing cia files. I am not even sure how difficult it will be to implement that, but I will try to find out tomorrow.

what I have done for now, however, is added a qr code display by pressing x at the start screen. your friend can use a qr code installer with your screen to get the latest version.
Huh, I didn't think about that. I guess as long as I'm playing with someone it is relatively easy. Thanks for this game by the way, it's great.
 

Desynched

Well-Known Member
OP
Member
Joined
Jan 4, 2017
Messages
107
Trophies
0
Age
37
XP
171
Country
United States
Thanks for this game by the way, it's great.
I really appreciate feedback like this!
I wasn't sure how often people would have friends that also have cfw or homebrew. I was a little worried this game would be under utilized. Thanks for giving it a shot!
 

sniper_x002

Well-Known Member
Member
Joined
Jan 13, 2016
Messages
489
Trophies
0
XP
277
Country
I really appreciate feedback like this!
I wasn't sure how often people would have friends that also have cfw or homebrew. I was a little worried this game would be under utilized. Thanks for giving it a shot!
I used to play "this" with friends, only it was a user program for the game Petite Computer. It was much more limited, and you could only have 2 players (sharing 1 DS). I'm playing this with the same people I'd play with the other people, so thanks.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Sonic Angel Knight @ Sonic Angel Knight: :ninja: