I wanna make a stupid game that my friends and I can play together and the only thing holding me back is setting up a server for multiplayer. it doesn’t need to be over the internet, it can just be local. I found like one Youtube video on the subject but he doesn’t give out his python scripts and I have practically no experience with coding. Does anyone know of a plugin that will work or have scripts that they don’t mind sharing? Thanks in advance.
search the resource section multiple are found there.
so no multiplayer then, so you should think about split screen
There might be some addons here and there to try, but don’t expect miracles
You’re welcome to look at the coding in my multiplayer game and rip out what you need:
You could swap out the ship models/controls for humanoid things and go from there.
Be warned though, networking is complex. You’ll want to learn Python before doing anything major.
Thanks. I’ll take a look at it.
I don’t have time to explain correctly but …
It’s easy to do local. The hard part is getting past your internet provider’s system if you want to connect to someone outside your network.
Use UDP to send the packets. That’s how Youtube and all the streaming platforms operate. Just set up a system where you send and receive dictionary files.
It TOTALLY does work. Even the really old copies of Blender. It’s just sharing data through python. You might need to find and add a python module for that. That’s all. Blender will be able to use it.
Don’t forget that Blender and the BGE are sitting atop of python! This literally opens you up to massive amounts of resources for communication modules. Recently i used the socket module of python to connect a chatbot to IRC for example. I could have just as easily made this part of a BGE game.
Hope this information helps broaden your horizons to what is possible with python+BGE. You don’t really have to confine yourself to whats possible in these forums, you have an entire internet busting at the seams with python tutorials to accomplish what you like.
Just keep in mind that the context in which your Python scripts run within the BGE is different from making a “pure” Python standalone script. So you will most certainly need to adapt the solutions you find for vanilla Python in order to apply them on the BGE. But from experience, you can get everything to work
Yeah, unfortunately its not as simple as plug and play but pretty close in most cases. I highly encourage people to explore python modules for BGE game development for performance boosting as well as saving on reinventing the wheel when there are already so many great ones around to choose from.
I recommend LAN multiplayer. That way it can be Split-Screen (or) Local Area Networking multiplayer.
The bonus for choosing LAN (vs) Online multiplayer is that you don’t have to forward the ports for the server(s)
I recommend this BGE add-on It’s still works for BGE (Unsure if it works for UPBGE)
If your games works on LAN, it should work on WAN. It is just a matter of configuring ports on the side of the host
Yep. Configure ports just like I said friend ^^
No matter if LAN or WAN. This is TCP/IP. Server will hold all of the game states and logic. Clients will only display and provide user input to the Server. To conserve traffic network activities usually sends only differences and events, only once per while it will send some more general synchronization
Unfortunately current Blender took a turn at 2.80 and seems not to be a “game” (or “simulation”) platform anymore. It’s only for modelling 3D now. I really don’t like this. You may want to take a look at game engine that will have multiplayer capabilities already implemented.
Also I don’t really understand the logic behind ambiguous version numbering. Why not use Major.Minor.Patch instead? 2.80 flipped everything upside down, Blender is not as before anymore, why not name it 3.0.0?
Logic and Coherence is not what modern world follows anymore.
I agree. Friend sent me a blend which only had a model in it from 2.8 and it doesn’t work at all in 2.79b. If there was ever a change that justified going to 3.0, that was it.