Godot online multiplayer - godot

There is a simple game with multiplayer, but the multiplayer will only work in the local network or on devices with a dedicated IP-address. Is it possible to make multiplayer over the Internet. As I understand it, you need to write a relay server for this or is there another way.
Sorry for my bad English.

Related

Transferring Bluetooth connection via the Internet

I was always wonder what would it be my first question on StackOverflow since everything I'm looking for is already asked. (Find only one similar here Bluetooth data transfer between two countries )
BACKGROUND STORY:
From when it comes I’m a fan of Nokia N-GAGE. It’s a Nokia’s phone from 2003 with dedicated games. In its heyday 2003-2007, it has single-player, multi-player via Bluetooth and using a dedicated internet service N-GAGE ARENA for compete with people all over world.
N-GAGE ARENA servers were disabled about 2008 and as far i understand It isn't even worth trying to resurrect such a infrastructure. Mainly because it requires modifying the code of each game and that's illegal.
Multiplayer mode using Bluetooth work fine, but requires opponent 5m away max.
Nokia sold 1mln copy of this phone, and still are people all over world collecting n-gage games. I have a dream, I want to reactivate the possibility of playing multiplayer with people from all over the world.
PROBLEM DESCRIPTION:
I want to use the Bluetooth multiplayer mode by extending the usual N-GAGE to N-GAGE Bluetooth connection with an additional 3 elements. Two N-GAGEs, instead of connecting directly to each other as host-join, connect via a PC / smartphone applications that communicates with the server that transmits full data sent from the game of one user to game of the opponent.
I admit that I do not have full knowledge of technical limitations. In my opinion, as a software engineer, it is theoretically possible, but I want to consult you, people more familiar with the subject. Maybe someone is working on a similar project and can comment.
WHAT DO I KNOW:
The application would have to transmit all data from the Bluetooth connection so as not to disturb the illusion of a direct connection between N-GAGEs.
The application must enable the selection of an opponent on the basis of the game. The choice itself could be made on the basis of some kind of chat in which users first define what they are playing, who’s the host, and then the connection is made.
WHAT DO I WANT TO KNOW:
Does what I describe is even possible?
Is such capturing Bluetooth connection and forwarding is even possible?
Does the development of technology in these 15 years allow me to transfer Bluetooth connection real time through 2 additional devices and Internet connection?
I WOULD BE GREATFUL FOR:
Any technical tips, literature that can help me to understand my limitations.
Any constructive criticism. Of course before I start doing such a project I have to confirm that isn't a utopia. For me It’s a side project, I’m able to spend years on it, but don’t want to get to dead end after all effort.
Does what I describe is even possible?
Yes, yes it does. Your hardest part will be setting up a tranceiver to interpret the I/O. Your failure point would be super-encrypted messages and making transmission difficult...
If it's clear I/O you can signal this through any server and output it back to the tranciever to output. Confusing but possible just not sure of the design or how bluetooth sends its data.
Is such capturing Bluetooth connection and forwarding is even possible?
If a connection is possible then forwarding it is too. Considering this piping the transports.
Does the development of technology in these 15 years allow me to transfer Bluetooth connection real time through 2 additional devices and Internet connection?
Bluetooth real-time no... with added network latency, you're looking at anything from 1-200ms~. you may be able to improve it?
Overall I think if you can:
Connect the device to PC, and have PC talk back to device through blue-tooth
Read the data that goes in and out
Encryption proves little or none at all to be able to signal the data properly, tricky to explain you'll know though if there's a wall.
All should be possible it doesn't overly go against the grains but do more homework this is very valid.

Game Maker Studio 2 LOCAL multiplayer

I want to make a simple multiplayer game with Game Maker Studio 2 for mobile platforms, but it should work locally (via wi-fi or bluetooth).
For e.g. this is a list of existing games and my game will be classified as (Bluetooth | WIFI Direct | Online).
I have some experience in programming and GML should not be a problem for me.
But I want to know for sure whether it is possible to implement Wi-Fi Direct and bluetooth communication?
Required answer those who have already done it. Any plug-ins required for this?
I do not want to reinvent the wheel and modify some libraries or broken code. I just need a 100% working solution.
Why Game Maker Studio 2? Because I want to make a game with my friend who doesn't have any programming skills. So, we need some game editor like Game Maker Studio 2 despite the fact that I have programming experience. And now my task - is to solve the problem with local multiplayer before we start to make a game. Maybe there are other editors that fit these requirements?
Gamemaker has some built-in functions to make a local multiplayer (I assume it is what you mean by "WiFi"). if you are familiar with UDP/TCP, it's a plus. They can be found here :
https://docs.yoyogames.com/source/dadiospice/002_reference/networking/index.html
I personally used them for a local multiplayer and it worked fine.
For the bluetooth, the devs are working on some functions, but I believe they didn't release them yet.
If you want to make a global multiplayer, you have to face a few tehnical issues (port forwarding, global matchmaking, etc.) I recommand GMnet, that comes in two flavors :
GMnet Punch if you simply want to communicate through a NAT with your own synchronisation strategy.
GMnet Engine if you don't want to worry about the details and let them do all the work for you.
The official website : https://gmnet-engine.org/engine/
Keep im mind that for a global matchmaking, you will probably need some kind of relay server, so that players can find the games hosted by other players. It is not that hard and GMnet comes with a java server program for this purpose, but it needs to be hosted on a server with direct internet access (no NAT).
Hope it was helpful !

WebRTC NodeJS Server Architecture

I'm interested in building a web application similar to TinyChat where multiple users can be in a room and broadcast their audio/video feeds to everyone else in the room. I've been looking at WebRTC and it looks pretty easy to get started with a P2P setup, but I'm having trouble finding out how to do WebRTC with a client/server architecure.
I've watched Google's presentation video on WebRTC and the different network topologies common in working with WebRTC. The one I'm most interested in is that in working with an MCU where the MCU is responsible for broadcasting the data to everyone else in the room, thus eliminating P2P.
My question is, how would I go about this? Are there any working examples? Prefferably, I'd like to work with NodeJS on the server-side but haven't found any libraries for handling it. The only two things I have found are Kurento and Licode, but they both appear to be more than I'm interested in at this point in time. I'm basically just wanting something that takes the WebRTC connection and then broadcasts it out to the appropriate users in the same room. I'm not worried about transcoding, muxing, or recording right now.

Controlling an Arduino over the web with the lowest latency

I have an Arduino board in a location, and a webserver.
I also have a website that is supposed to control the Arduino. What technique would allow users to take control of the Arduino board with the least amount of latency?
I have Node.js, socketserver, Jabber in mind to experiment with, but is this the right direction?
You should have a look at Socket.IO for implementing WebSockets on server- and client-side.
There's a great project called duino for accessing Arduino with Node.js, you "only" have to pipe all communication through WebSockets.
Update: In the meantime I have published a framework for sending commands to an Arduino with Node.JS, JavaScript and WebSockets. Make sure to have a look at Noduino!
I had good luck using node-serialport to talk to the Arduino. Using the serial port results in very low latency, and I used it to build a photobooth. The code is on GitHub if you want to check it out, though it's very poorly organized as I was rushing to get this done for my wedding and well... corners were cut.

Phases for mobile game development

I'm currently thinking of developing chess code with multi-player facility connected and played via bluetooth. For that I need to chalk out the phases, i mean systematic modules, that I should follow to develop the game. If anyone can state it or have any link that can help it out, it would be great.
Another thing I am developing this in J2ME, so can anyone give me an idea about the way to connect the game in two mobile devices through bluetooth in J2ME. I mean to say the class or file that is used to connect the gaming devices.
For the second part of your question: you need to make an SPP (serial) connection between the two devices, with one acting as a client and the other as a server; see this tutorial for more information.
Then you need to create your own protocol to allow the two devices to communicate everything they need to.
This will only work on handsets with JSR 82.

Resources