Ideas on a combination of efforts on parallelism and multiple players

As I said, the goal is to have multithreading and multiplayer working. And if you know me, you know how lazy I am. So I`m thinking about combining these two things:

One basic idea is to split things up like this:
1. server runs game mechanics, no visual stuff at all
2. client only handles input, output

This makes synchronisation very easy, but high bandwidth is needed and the client multicore cpu isn`t really doing anything.

In my vision, the network also has 1 main server (the one to connect to) and n clients (just I/O). But additionally, there are m help servers. The help servers get specific tasks from the main server that need computation and are appropriate for parallelism. Tasks I have in mind are:
– AI for one specific player
– unit/group AI for one player
– pathfinding

Using this approach, even in singleplayer, multicore cpus could be used: the client does IO, the main server is a kind of process manager, and the help servers do computations – all on one machine. In a multiplayer environment, the main server has to distribute tasks to different machines depending on their load, processing power and bandwidth – not trivial at all. However, the classic solution – one server does all but IO – is possible as a fall-back.

I´m not sure how difficult this will be to implement, I think it has not been used in game development yet. Possible reasons can be the debugging problems in distributed systems and the overhead involved when using multiple processes – not threads!


2 Responses to “Ideas on a combination of efforts on parallelism and multiple players”

  1. niva01 Says:

    Cool idea! I have never heard of something like that before, hope it works…

  2. reynoldsmatthews68 Says:

    Man, that sucks! Car thieves did the same thing to me. Emptied the CDs out of my CD changer, took the matrix soundtrack, half of “Poem”, my Tomahawk CDs.. then PUT BACK all my spahn ranch. Sheesh! Click

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: