Hi! As the title says, I'm looking for answers on what it takes (e.g knowledge etc) to make a multi-player mod for a game that hasn't got any. I've been looking on multiple search websites but unfortunately none could answer my question. I was thinking to start off with RakNet, used by popular multi-player mods like SA:MP or Just Cause 2 MP.
I hope any of you can answer my question, it's been a question for a while now for myself.
Thanks!
Last edited by Sazor98; 11-08-2014 at 11:55 AM.
Its even easier to make a multiplayer game from scratch then making a existing game multiplayer.
[IMG]https://lh3.googleuserconten*****m/-00iIf0SVXqM/Wx7De4Gt3cI/AAAAAAAAHPw/cy33De9pX4AE7Arzy2gPMgRRcwno-sVEQCHMYCw/s0/ifNXCIl.gif[/IMG]
Well, since it takes so much effort to make a game, I'll have to wait until I have the patience to learn
No one here has posted anything correct. For multiplayer the thing you need to get right is the way you handle data and how you verify it.
For example, are you going to send large packets, or small packets to be handled, are you going to be handling objects or raw data types.
Then you need to verify the data, this come into network security.
If a client sends a packet to walk, is the value reasonable compared to what the server already knows. e.g
class client {
Vec2d position = new vec2d(10 , 10);
}
then the server gets a reqest from the client for packet id 14 (walk packet handler)
case 14:
handleClientMoving(data);
public void handleClientMoving(byte[] data) {
parse byte stream to raw value
if(raw value is between a range from the current position of the client then the data is valid) {
move
}else{
hacks
}
}
this is just some basic stuff to give you a general idea on what to research but generally network security is learned from fixing bugs and heavy logical thinking.
Leaning PHP, SQL, JSON ect are all useless really. SQL/JSON are data storage methods which aren't needed as you might not store data and PHP is a single threaded webserver lang that processes data through an interpreter. it would suffice for a simple web based game but anything more its not designed for (its not really designed for web games but it will work).
Also sockets, TCP/IP application layer and the TCP/IP layers in general, TCP Listeners and TCP clients, look into UDP a little bit (not really relevant but its worth knowing in the long run for specific uses) then there's, Threading (this is a MUST), Programming conventions, and learn how to program efficiently, for example knowing when to use loops rather than interrupts and vice versa (interrupts are almost in all cases the best though). Event driven programming, Object oriented (MUST for game development), look into the basics of game loops, its not really a topic but its discussed a lot online.
Also C++ isn't a must, you can design a very stable and high performance 3D game using software rendering (using the CPU to render) with really good synchronization between clients in Java, C#, Python, ect. Look at Runescape for example. its written in Java (ported over to other langs now) but can hold thousands of players. (The runescape networking is pretty bad though, or at least it was, I used to work on it about 8 years ago and the methods they were using i'm surprised even got 100 players on with low latency.)
This is if you're using your own game engine by the way. If your using something like unity, most of it is handled for you, you really just have to implement it and validate the data.
Last edited by exotiicdeath; 11-04-2015 at 02:10 PM.
hey dude, can you hack an android game called mynba2k16