[Question] Is possible to create somethig like this?
#11
Yeah it can be, but it would certainly destroy much of the fun in gaming if it freezes in the middle of the action.
Reply

Sponsored links

#12
(06-22-2009, 03:46 AM)Air Wrote: Keep in mind that thanks to the limited memory of the PS2's GS, your typical PS2 game sends like ~100 megs of data to the GS per second (some games much more, and some games a bit less). There are few things you can do to optimize this transfer, without introducing visual glitches or worse in most games. The other challenge that Pcsx2 has over other prominent emulators is that the PS2 is decidedly multi-processor in nature, so synchronization of peer-to-peer clients could end up being especially difficult (tho in theory a basic master VSYNC counter sync should suffice).

If you want to the netplay experience to generally not suck, then you'll need to do what zero29 suggests, and have a server/client model. But you can't have the cserver send raw GS data for the problem I noted above. It would have to be pre-processed GS data (post-cache processing so that only uncached textures are transferred), for there to be any chance of speedy netplay. But even with caching, many games transfer megs of GS data per second for basic post-processing effects. So even that seems fairly non-viable for most games. Going any lower in the chain pretty much means going back to a full-on emulation process of all PS2 CPUs and DMAs, and thus going back to a peer-to-peer model.
...

why transferring any gs data before the final rendering of the frame? just render the frame on the server (which is the exact same for every connected player) and distribute it after encoding it in any efficient mpeg4 or similar codec. that would reduce the needed bandwidth per connected client to something like 1 or 2 mbit/s. which is considerably less than the raw 100 mb/s of gs data and there are cable or dsl lines available with enough upload bandwidth for that (here in germany e.g. telekom vdsl 10 mbit/s). the pcsx2 clients would be reduced to something like interactive mediaplayers, as they would only decode the streamed graphical output of the game and send back the user input.
CPU Core [email protected] | GPU Nvidia Geforce GTX 570 | RAM 8GB DDR-3 1600MHz CL9 | OS Win7 Ultimate (x64) SP1
EMU PCSX2 v1.1.0 r5645 | GS GSdx SSE4 r5632 | SPU2 SPU2-X r5559 | PAD LilyPad r5403 | CDVD cdvdGigaherz r5403
Reply
#13
Zero29, that, i think, would be usefull.
why render in Mpeg only one frame?
whats the big idea?
for that, ir would be more useful, to the zero GS plugin, send an information that contains all players coordinates, that would keep the emulation sycn, and less INTERNET needed for play.
(this can be possible, can it?)
Even with that, games like Mario kart (I know, it didn't came to PS2, but it's an example), that in race uses radom com players, that would prevent 2 computers to have different com players.
Reply
#14
Maybe a "dedicate server aplication" would be faster... no playing allow from the server aplication, only from the clients..
Reply
#15
(06-23-2009, 11:14 AM)Palito Wrote: ...
why render in Mpeg only one frame?
...

i meant the current frame, of course the server would encode all frames of the game's graphical output, not only one single frame.

(06-23-2009, 11:14 AM)Palito Wrote: ...
for that, ir would be more useful, to the zero GS plugin, send an information that contains all players coordinates, that would keep the emulation sycn, and less INTERNET needed for play.
(this can be possible, can it?)
...

it's absolutely impossible to transfer all needed plugin info (which is more than just the player positions Wink ) to all clients. it would be too much data even for gigabit lines.

(06-23-2009, 02:55 PM)Hi-Fi Wrote: Maybe a "dedicate server aplication" would be faster... no playing allow from the server aplication, only from the clients..

it would be a bit faster to run it as a dedicated server, but keep in mind that in this model the clients only have to decode the video stream and send back some pad plugin info. so even if one of the players would connect his client locally on the same computer to the pcsx2 server, it wouldn't need that much more performance. especially quadcore cpus should be able to manage something like this without any major problems as client and server pcsx2 would have their own cores to run on.
CPU Core [email protected] | GPU Nvidia Geforce GTX 570 | RAM 8GB DDR-3 1600MHz CL9 | OS Win7 Ultimate (x64) SP1
EMU PCSX2 v1.1.0 r5645 | GS GSdx SSE4 r5632 | SPU2 SPU2-X r5559 | PAD LilyPad r5403 | CDVD cdvdGigaherz r5403
Reply
#16
there are a lot of games which would benefit from this and are not resource intensive
im thinking of the 2D games.. like Marvel vs Capcom2, Guilty Gear, Capcom vs SNK2 (mainly fighting games)

here's a open source netplay library: http://kaillera.movsq.net/
or you could use the netplay from Dolphin as a base: http://code.google.com/p/dolphin-emu/source/list (i think it's based on the first solution)
Reply




Users browsing this thread: 3 Guest(s)