Menu

Feature request: Multiplayer lobby

2011-11-13
2021-05-05
  • Nobody/Anonymous

    Current system (which is same as in FB) requires to enter IP number to connect. It is fine to play via LAN, but when you have nobody to play with (direct net access) it isn't good. What I'm proposing is to add lobby similar to those which have games like Hedgewars or Frozen Bubble, or even java-based browser 2d billiards on playforia.com. Thanks in advance.

    P.S.: I know it may be hard to do, but there is my concept: Lobby server stores IP addresses of connected players + additional info (like whether player is playing or not and player's nickname), then list of players is sending to all connected clients and actual gameplay is realized via current network code - the only difference is that IP is fetched from server instead of getting it from player.

     
  • Holger Schäkel

    Holger Schäkel - 2011-12-14

    The network play-system inside foobillard++ is totally new and uses SDL_net. The old code does not work, and the new is not ready. That's the reason, why foobillard++ is in beta!

     
  • Norberto Eduardo Criado

    Hi Holger. I have in mind the monumental task to implement the feature. Almost 10 years delay, talks clearly about it. I have a very primitive idea about. I will send you the info today... Have a good day !!

     
  • Norberto Eduardo Criado

    Hi!!!
    The problem: How to play Carom Billiard with one or two friends, who are geographically separated by miles.
    Scenario: Let's be two persons with each own computer. Both run the same version of FooBillard++. Computers are Internet connected by any facility, that can be used to interchange info.
    Hipótesis: if we can define a string of bytes, defining force, direction and point of impact in the cue ball, both computers will produce the exact end position of the three balls, after impact performed.
    Idea: The game is started at both computers. Balls position is identical. Player 1 defines impact profile (force, direction and impact point in the cue ball. When impact is performed computer 1 runs the simulation, and impact profile string is provided to be sent to the other computer by any communication way (Whatsapp, mail or other by example).
    Player 2 receives de impact profile string and provides it to his instance of the program, where impact is performed, so player 2 sees the result of it. Now, both instances of the program shows the same board status. Player 2 defines his impact profile string, impact is simulated by computer 2, and impact profile string, is provided to be sent to player 1. Now player 1 can see the results of player 2 impact, performed by computer 1, using player 2 impact profile string provided. And so on...
    Notes: if an impact profile string does not define a unique final balls position, due to maybe, a random factor, introduced intentionally by the simulator program, info interchanged can be extended with the three balls final position, to enforce boards synchronization.
    I understand my idea requires program development to implement a way to report impact profile string, and a way to read one provided externally as user input.
    This wants to be a model of a compromised but viable alternative, while a best solution is provided. I believe it may be a solution that far from the best one, could be an alternative for many people. Thanks for your support and best regards...

     
  • Norberto Eduardo Criado

    I am trying to build from source downloaded as foobillardplus-3.42beta. My OS is Linux Kubuntu 18.04 LTS. ./configure ran OK. make reports a bunch of undefined reference msgs as:
    ...
    billard3d.o: In function toggle_queue_view': billard3d.c:(.text+0x4f13): undefined reference tofastcos'
    billard3d.c:(.text+0x4f34): undefined reference to fastsin' ... billard3d.o: In functionqueue_shot':
    billard3d.c:(.text+0x7211): undefined reference to fastcos' billard3d.c:(.text+0x7246): undefined reference tofastcos'
    Internet shows similar problem among others at https://bugs.gentoo.org/604512#c0
    "Game did not compile for me throwing out a bunch of errors like below ...
    billard3d.c:(.text+0xeb87): undefined reference to fastsin' billard3d.c:(.text+0xeba8): undefined reference tofastsin'
    Is it a pgm bug? Do you know how to fix it? Thanks in advance, Norberto.

     
    • Andre Juntermanns

      aclocal --force  
          autoconf -f  
          autoheader -f  
          automake -a -c -f 
      
          ./configure --disable-fastmath
          make
          make install
      
      This game is great
      
       

      Last edit: Andre Juntermanns 2021-05-02
      • Norberto Eduardo Criado

        Hi Andre. Thanks for the update. My linux is Kubuntu, no lubuntu. My main
        goal is to get it running multiplayer, over Web. I will study your
        suggestions. Best regards, Norberto.

        On Sun, 2 May 2021 at 03:39 Andre Juntermanns andrejuntermann@users.sourceforge.net wrote:

        Hi Mr.Criado,

        did you already get it build on lubuntu distro ?
        These error appear because of compiler directives, which don't seem to
        work in the context.
        Took me some time. At first I tried to build it with ubuntu Groovy
        Gorilla, but errors and this:
        https://github.com/mapnik/mapnik/issues/4152
        (... but in the end that wasn't the problem..)
        So is stept to ubuntu 16.04.07, used Visual Studio Code search&replace,
        followed along errors. To get rid of, uncomment #ifdef FAST_MATHand a lot
        of #ifdef USE_SOUND macros.
        Example:

        //#ifdef USE_SOUND
        balls.ball[0].soundplayed = 0;
        if(options_gamemode==options_gamemode_tournament && player[0].is_AI && player[1].is_AI) {
        //nosound
        } else {
        PLAY_NOISE(wave_oneball,options_snd_volume);
        }//#endif
        //VMATH.H
        //#ifdef FAST_MATH// #define MATH_SIN(x) fastsin(x)// #define MATH_COS(x) fastcos(x)// #define MATH_ATAN2(x,y) fastatan2(x,y)// #define MATH_ATAN(x) fastatan(x)

        I did the first part of the readme:
        ~~~
        aclocal --force
        autoconf -f
        autoheader -f
        automake -a -c -f

        ./configure --enable-mathsingle=no --disable-fastmath --enable-network=no
        make
        make install
        ~~~
        This game is great


        Feature request: Multiplayer lobby
        https://sourceforge.net/p/foobillardplus/discussion/1791963/thread/1b245c23/?limit=25#4651/d472


        Sent from sourceforge.net because you indicated interest in
        https://sourceforge.net/p/foobillardplus/discussion/1791963/

        To unsubscribe from further messages, please visit
        https://sourceforge.net/auth/subscriptions/

         
        • Norberto Eduardo Criado

          Hi Andre... Since network play is my goal, i believe ./configure
          --enable-mathsingle=no --disable-fastmath --enable-network=no ... will
          not be of help. I have a poor skill about fixing
          this problem, so I am searching for help. My problem already starts since I
          believe, available bin package already has --enable-network=yes, but I have
          been unsuccessful, about how to use the feature/facility. No help from
          howto information I have found. So, I planned to rebuild the executable, in
          order to understand a way to get my goal. At that time, the FASTMATH errors
          appear... as you can see I am lost, but I am always optimistic and very
          hopeful about... If I can find VMATH definitions I will try to use your
          generous suggestions as a way to progress... Again, I greatly appreciate
          your comments...

          El lun, 3 de may. de 2021 a la(s) 12:14, Norberto Eduardo Criado (
          lastomen@users.sourceforge.net) escribió:

          Hi Andre. Thanks for the update. My linux is Kubuntu, no lubuntu. My main
          goal is to get it running multiplayer, over Web. I will study your
          suggestions. Best regards, Norberto.

          On Sun, 2 May 2021 at 03:39 Andre Juntermanns
          andrejuntermann@users.sourceforge.net
          %0Dandrejuntermann@users.sourceforge.net wrote:

          Hi Mr.Criado,

          did you already get it build on lubuntu distro ?
          These error appear because of compiler directives, which don't seem to
          work in the context.
          Took me some time. At first I tried to build it with ubuntu Groovy
          Gorilla, but errors and this:
          https://github.com/mapnik/mapnik/issues/4152
          (... but in the end that wasn't the problem..)
          So is stept to ubuntu 16.04.07, used Visual Studio Code search&replace,
          followed along errors. To get rid of, uncomment #ifdef FAST_MATHand a lot
          of #ifdef USE_SOUND macros.
          Example:

          //#ifdef USE_SOUND
          balls.ball[0].soundplayed = 0;
          if(options_gamemode==options_gamemode_tournament && player[0].is_AI &&
          player[1].is_AI) {
          //nosound
          } else {
          PLAY_NOISE(wave_oneball,options_snd_volume);
          }//#endif
          //VMATH.H
          //#ifdef FAST_MATH// #define MATH_SIN(x) fastsin(x)// #define MATH_COS(x)
          fastcos(x)// #define MATH_ATAN2(x,y) fastatan2(x,y)// #define MATH_ATAN(x)
          fastatan(x)

          I did the first part of the readme:
          ~~~
          aclocal --force
          autoconf -f
          autoheader -f
          automake -a -c -f

          ./configure --enable-mathsingle=no --disable-fastmath --enable-network=no
          make
          make install
          ~~~
          This game is great


          Feature request: Multiplayer lobby

          https://sourceforge.net/p/foobillardplus/discussion/1791963/thread/1b245c23/?limit=25#4651/d472

          Sent from sourceforge.net because you indicated interest in
          https://sourceforge.net/p/foobillardplus/discussion/1791963/

          To unsubscribe from further messages, please visit
          https://sourceforge.net/auth/subscriptions/


          Feature request: Multiplayer lobby
          https://sourceforge.net/p/foobillardplus/discussion/1791963/thread/1b245c23/?limit=25#4651/d472/e73c


          Sent from sourceforge.net because you indicated interest in
          https://sourceforge.net/p/foobillardplus/discussion/1791963/

          To unsubscribe from further messages, please visit
          https://sourceforge.net/auth/subscriptions/

           
  • Andre Juntermanns

    Probably you did not see the post i send 30 minutes later, which was way easier to get it up and running. ... everything is implemented (including network funcionalityl) :-)

     

    Last edit: Andre Juntermanns 2021-05-03
  • Norberto Eduardo Criado

    Hi !!! Good News !!! After months looking for Network Game option in Game Type, I finally got it... Thanks Andre for your messages... I was exhausted fighting this battle !! After your msgs, I retry my investigation. What I did, was to find the following URL: https://snapcraft.io/install/foobillard-plus/ubuntu#install . After installing from this page, at Kubuntu 20.04 No Network Game appeared ! Somehow, I tried again using Kubuntu 18.04, and the result was a total success !! Installation is using Snap, so I do not understand why, it works at 18.04 and NOT works at 20.04 . Anyway, I have discovered that the feature only allows to play in LAN (Local Area Network). Maybe I did not understand yet, how to play via Internet (using public IP addresses). I will keep investigating how to play with my friends, over Internet... Thanks for you help, and have a nice day !!!!!

     
  • Norberto Eduardo Criado

    Life is an amazing adventure !!! After last update, I went to my Kubuntu 20.04 desktop, and discovered that Snapcraft installation DO works, showing Network Game option. The problem was that old pgm version installation is still presents at Kubuntu desktop with the same icon, and I started the wrong one !! So, SNAP works as I believed, and I have the program working at both versions of Kubuntu ... Now, the fight is about Internet and public addresses to be able to play with my friends, over the world !!! Thanks again...

     
    • Andre Juntermanns

      Hi,
      the readme.md file says, even in local networks, foobillardplus
      functionality is in beta.
      The connection breaks after a few shots, raising "bad packet error".
      (Groovy Gorilla host, Lucid Lynx guest, self build games without FASTMATH)
      FASTMATH was introduced by Holger Häkel, but it's in the /contrib folder
      and not referenced properly.
      Ricardo, do you get errors playing network games with the Deb-versions or
      snap-installed?

      🇦🇷🇩🇪

      Norberto Eduardo Criado lastomen@users.sourceforge.net schrieb am Mi., 5.
      Mai 2021, 06:31:

      Life is an amazing adventure !!! After last update, I went to my Kubuntu
      20.04 desktop, and discovered that Snapcraft installation DO works, showing
      Network Game option. The problem was that old pgm version installation is
      still presents at Kubuntu desktop with the same icon, and I started the
      wrong one !! So, SNAP works as I believed, and I have the program working
      at both versions of Kubuntu ... Now, the fight is about Internet and public
      addresses to be able to play with my friends, over the world !!! Thanks
      again...


      Feature request: Multiplayer lobby
      https://sourceforge.net/p/foobillardplus/discussion/1791963/thread/1b245c23/?limit=25#9623


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/foobillardplus/discussion/1791963/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

Log in to post a comment.