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

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

  1. Pickpickles

    Pickpickles Member

    Newcomer
    2
    Oct 5, 2016
    United States
    Going to try this with 8 3DS systems, I'll record and post if anyone would like to see. Also, is it the more players, the more start-up delay between games?
     
  2. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    You're welcome ^^
     
  3. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    yes, the host sends all starting positions to all players. it could take a little longer
     
  4. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    I'm very interested to see! also. I am going to fix a bug tomorrow that causes the console to be flooded with messages when the host leaves the game options menu at the end of a round
     
  5. Pickpickles

    Pickpickles Member

    Newcomer
    2
    Oct 5, 2016
    United States
    Alright, uploaded it, I have about 2 other videos if you want me to upload them. It's all on version 0.2.2. Snakes 3DS 8 Player Local Play:
     
  6. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    That looks so fun. I noticed you experienced a race case with the apple teleporting over and over. I'll try to replicate that and fix it. I thought I squashed that bug already :P

    Thanks a ton for recording that! Awesome. Always wanted to see if it could handle 8 players.

    The player got -512 points was probably due to a packet being misread. Do you remember the game options you had in that video?

    If you remember the game options set during the game it would really help me replicate the bugs and fix them.
     
    Last edited by Desynched, Jan 18, 2017
  7. Pickpickles

    Pickpickles Member

    Newcomer
    2
    Oct 5, 2016
    United States
    I recorded about 12 minutes, do you want me to upload the rest?
     
  8. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    Yeah, please.

    And if you can, tell me what the game options were for each game.

    I don't know if you want to post the videos for everyone, but I would like to see them
     
    Last edited by Desynched, Jan 18, 2017
  9. Pickpickles

    Pickpickles Member

    Newcomer
    2
    Oct 5, 2016
    United States
    I'll get to it soon. All the other videos then will be uploaded.
     
  10. Pickpickles

    Pickpickles Member

    Newcomer
    2
    Oct 5, 2016
    United States
    Here's another video. Snakes 3DS Local Play Video 2:
     
    Last edited by Pickpickles, Jan 18, 2017
  11. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    Yeah, so it looks like with 8 people there are some apple movement race conditions that sometimes happen.
    Unfortunately, I can't replicate that bug on my own... So I'm going to try and patch what I think is causing it, but I'm not totally sure and I can't test it to see if it's fixed.
     
  12. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    Fixed a bug in the UDSSend method I was using that didn't set the packet's timestamp correctly. Also fixed the console being flooded after the host leaves the game options menu.

    Welcome to version 0.2.3

    — Posts automatically merged - Please don't double post! —

    Can I post these videos on the main post? It would be nice to show that it supports 8 players after all :)
     
  13. Pickpickles

    Pickpickles Member

    Newcomer
    2
    Oct 5, 2016
    United States
    You
    Go ahead, if you'd like. Maybe in around a week I'll be able to test 8 systems again if needed for newer releases.
     
  14. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    Great! I'll work towards a better netcode for then
     
  15. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    I'm currently ironing out some better hole patching for version 0.2.4. This should make it so even if connection drops a few packets, it should draw what more or less actually happened.

    This should prevent people from thinking or saying things like, "how did you go through my line?"

    An example is when someone dies, but on your screen they went through the line a little before dying. This version will hopefully fix that, and other problems like it.

    But, when you squash a bug, more can take it's place, so I will be ironing out this version some more before I release it.

    A serious question, though: if both players cross at the same time, what should happen?

    Right now, if both people cross at the same place at the same time, they both live, but it makes people go "wtf just happened?" You might say kill the one that gets there late. That's the problem, this only happens if they both arrive there at the same time.

    Basically, I can't check for this until after it happened. I could erase the overshoot for both lines, and kill both of them.. But it's hard to say who should live and who shouldn't. If you think it would be more frustrating to die this way than to have someone pass through you, let me know.
     
  16. Quantumcat

    Quantumcat Dead and alive

    Moderator
    21
    GBAtemp Patron
    Quantumcat is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Nov 23, 2014
    Australia
    Canberra, Australia
    I just visited a friend who's not interested in homebrew at all, and brought the soundhax files and Snakes, Lemmings and DrawAttack on a spare SD card. We played Snakes and had good fun and she is now a homebrew convert, so thanks for this :-)
     
    Hayleia likes this.
  17. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    It's definitely my pleasure to read that. Cheers!

    Also, do you think players should die if they play chicken, and they cross paths at the same time? Even if it looks like, to each of them, that they are slightly ahead of the other?
     
    Last edited by Desynched, Jan 21, 2017
    Quantumcat likes this.
  18. Quantumcat

    Quantumcat Dead and alive

    Moderator
    21
    GBAtemp Patron
    Quantumcat is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Nov 23, 2014
    Australia
    Canberra, Australia
    I think it's cool if they both live
     
  19. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    Version 0.2.4 will also have a slight change in cpad movement. I have mostly squashed all bugs to do with hole patching, and gotten that working. However I want to make the cpad able to stay in diagonal mode if you let go of it while in diagonal mode. I might try to think of a way to help make it less suicidal, as well. Like maybe make it harder to accidentally turn in a small circle with barely any input... we shall see.

    0.2.4 will be coming soon!
     
  20. Desynched
    OP

    Desynched GBAtemp Regular

    Member
    2
    Jan 4, 2017
    United States
    I have gotten most of 0.2.4 working. Now I have made a change to cheating... cheating will automatically move to an available spot if it would have died otherwise. This means a cheater will be harder to kill...

    However, this also means I can test a "full screen" easily. I am testing the easter egg for people who fill the entire screen right now.

    I may make use of this feature for "temporary" avoidance when people turn in a small circle using the cpad... Not sure yet.

    Some aside:
    I didn't have a clear goal for this game when I started this project. That's why a lot of the code refers to "bikes" instead of snakes. I originally just wanted to test UDS for gameplay... and only wanted something simple 'working'. Over time this game has been added onto until it was a fully functioning game.

    The problem with this is the netcode. The netcode has a serious design flaw.

    Because I didn't implement a true TCP, it only sends the latest movement change when it resends a dropped packet. This means if they drop packets on more than 1 movement change, the 1st movement change is completely lost to the void. In true TCP, this wouldn't be a problem, as it would send all messages in order. Basically, with this design flaw, if it lags particularly more than usual, people will simply teleport on your screen, when with true TCP, their path would snap into place even if they lagged for many seconds. I am debating whether or not to rewrite a lot of the netcode to implement a more true TCP, which would prevent any anomalies from occuring, but also make the game "lag" a tiny bit in an environment with interference (like a shitty microwave that has no shielding is turned on near the devices). The only upside to having this design flaw is the game is pretty snappy and the network isn't flooded much.
     
    Last edited by Desynched, Jan 23, 2017
    Quantumcat likes this.
Quick Reply
Draft saved Draft deleted
Loading...