It's going now, mostly. That was weird. Tab seems to be the only real issue atm.

Oh wow this thread is so active.

Do yall know any libraries that help with networking stuff?
Like adding chat to a game or a lobby system, dealing with latency, or anything like that?

Is it feasible to work on a multiplayer game in godot, or is it just better suited for single player

    And, yeah, this is probably THE most active thread here, from what I can see.

      Nerdzmasterz And, yeah, this is probably THE most active thread here, from what I can see.

      2,500 posts!!! And the OP was a hit and run.

        CLAYOoki Do yall know any libraries that help with networking stuff?
        Like adding chat to a game or a lobby system, dealing with latency, or anything like that?

        If you are targeting only HTML5 and are okay with peer-to-peer, then I have found using PeerJS as an embedded JavaScript library and then using the Godot JavaScript communication layer works decently. You do have to do all of the data conversion/translation from PeerJS to Godot and back though, so it is not really beginner network programming friendly. It also has some latency, but for non instant real-time games, it should work okay.
        It does that a lot of work though - I spent 3 or 4 weekends to get the initial stuff setup…

        However, if you are making a non-HTML5 game and/or want to use the more powerful Godot networking stuff, then the built-in high level networking code is the place to go 🙂
        Edit: the reason I didn’t go with the high-level networking is just I didn’t want to host my own server for my game.

        Nerdzmasterz

        Ah I was hoping for some more plug-and-play resources.
        It seems the networking will be a bit of its own project.

        Edit: Does anyone know any open-sourced projects that handle all the annoying cases like cheating, multiple servers, and etc?

          CLAYOoki I recall a similar conversation on this. The big answer I got was no. I can see from experience that pirates and hackers are dealt with in various ways.

          You could try to keep all of the information on a server, or use a password, but neither of those methods are fool-proof. The server would probably be the best option, if one can afford it.

            In my class Box I have this:

            func setPopMessage(message : String = "Pop!"):
            	_popMessage = message

            but where I initialize my Box I'm not getting any auto-complete suggestions for the input:

            	var box : Box = createBox(0,0,0)
            	box.setPopMessage(NO SUGGESTIONS??? what am I doin wrong?)

            Am I missing something?

            There is nothing to suggest. message is a String, it can be anything you want to type in. The Pop! is just a default parameter that is assigned if the method call is empty.

              I've never heard of that, and I doubt it is useful for anything (considering I've never heard of it). JPG and PNG are already more than fine. In any case, GPUs use their own texture compression, so the file format you use (like JPG) is only for getting it into the editor. Once your game is running on your computer or on a phone, the GPU uses it's own optimized format so it doesn't actually matter.

                Neither knew it. https://qoiformat.org/ Why do I think of fish ? :-)

                Use a format that suits you most. I am a fan of PNG for simple images and height map stuff, also because one can make an image in a few lines of code with libpng.

                But of course it depends on what you need it for. One stumbles over all kind of formats for all kinds of purposes.

                JPEG XL is interesting. That will (most likely) be the next industry standard image format (to replace JPEG, PNG, and GIF), so it would make more sense to support that, rather than random formats that will never work with anything. JPEG XL supports high quality lossy and lossless images (with much better quality and file size), transparency, animation, and a whole ton more. Once it is standard, there will likely not need to be any use for JPG/PNG/GIF for a long while.

                https://chromeunboxed.com/jxl-jpeg-xl-new-image-file-type-chrome/

                Do you know if there is a compressed format on the CPU side where one can still address single pixels ?

                Edit: wow, JXL claims 30% better lossless compression than PNG, impressive. Also for 16bit gray scale ? Will risk an eye. There's an implementation here https://github.com/libjxl/libjxl, but it isn't in the Debian repositories yet.

                Editedit: It's also rather fat, an allrounder, compared to PNG. But then again, if you want to store a lot of data and have a chance for 30% less demand on space for storage and traffic ...

                I haven't been able to build the source yet. It's still not 100% final, so it's in constant flux. However the release page on Github has an older .deb file that does work. It at least lets you view the images, I'm trying to convert some stuff now. It's from last year, but it's good enough to test the quality and file size. Support is still not ready (as I said, it's barely final) but there is a GIMP plugin and Chrome just added support.

                  cybereality I've never heard of that, and I doubt it is useful for anything (considering I've never heard of it). JPG and PNG are already more than fine.

                  I had not heard about this format, too, so I was surprised. It's kind of claimed to be a "faster PNG".

                  cybereality I couldn't get the command-line tools working, but I used this website. https://jpegxl.io/

                  Your browser does not support JPEG XL.😞

                    Tomcat Your browser does not support JPEG XL.😞

                    Yes, like I said, it's very early. I don't expect support to be out until later this year in a stable release. You can kind of get it working with beta software, like I did, but it's not totally there. But in a few months I expect it will start rolling out. It's honestly going to be pretty big. We get better quality at much lower file size (if you look at the test I did, it's like 25% of the size at the same visual quality). Plus high quality high frame rate animation, that will be much better than GIF. And transparency of compressed images, which is not possible right now (especially important on the web). I'd say within 1 year, it will be the industry standard.