English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 09 April 2021, 00:53   #1
nivaria
Registered User
 
Join Date: Apr 2019
Location: Santa Cruz de Tenerife/ España
Age: 49
Posts: 2
Netplay on Winuae...when?

Why not interest in adding network play ability to the latest WinUAe? or any version of lastest WinUAE?


The winuae kaillera version is very old, more than 15 years old.
The versions of FS UAE or Amigalive depends on the servers, and many times at least in my case I have a lot of lag.



If a new version of the current Winuae was created with kaillera module I am sure it would be a rebirth for Amiga games
nivaria is offline  
Old 09 April 2021, 07:21   #2
BeamCoder
Registered User
 
Join Date: Dec 2020
Location: Philippines
Posts: 45
How about GGPO instead of Kaillera?

https://www.ggpo.net/

It's used in emulators like Fightcade. https://www.fightcade.com/
BeamCoder is offline  
Old 09 April 2021, 12:06   #3
DamienD
Banned
 
DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 47
Posts: 20,420
Yeah it would be cool to add netplay to WinUAE

I don't use FS-UAE, for me this is it's only advantage over WinUAE, and would be the only reason I'd ever change over...

Unfortunately I don't think Toni is interested though; shame.

Maybe we could get together a kitty, say £10 each from people that want this implemented... might help Toni with motivation
DamienD is offline  
Old 09 April 2021, 15:53   #4
Radertified
Registered User
 
Join Date: Jan 2011
Location: -
Posts: 728
Quote:
Originally Posted by DamienD View Post
Unfortunately I don't think Toni is interested though; shame.
Toni's expressed interest in the past. It's been a while but I believe he wanted a simple and maintained net API before he would consider it.

EDIT: Apparently I'd suggested enet a few years ago

Last edited by Radertified; 09 April 2021 at 16:15.
Radertified is offline  
Old 09 April 2021, 16:08   #5
Mclane
Old retro god.
 
Mclane's Avatar
 
Join Date: Apr 2002
Location: Northolt, West London
Age: 62
Posts: 857
I can't imagine Toni would want to interface with a 3rd party app, the nightmare of bug reports would be a killer. So unless Toni wants to code it in which I doubt as its more about the machine working as it should than fun but trivial things..

The only one who knows is the man himself...
Mclane is offline  
Old 06 September 2021, 15:07   #6
thd79
Registered User
 
Join Date: Jul 2021
Location: OXFORD
Posts: 13
Quote:
Originally Posted by Mclane View Post
I can't imagine Toni would want to interface with a 3rd party app, the nightmare of bug reports would be a killer. So unless Toni wants to code it in which I doubt as its more about the machine working as it should than fun but trivial things..

The only one who knows is the man himself...
Well now GGPO is not a 3rd party app, it is an open source library. Depending on how an application is structured, it's not a huge thing to integrate. It would be amazing if it was added to UAE (FS-UAE or WinUAE) one day.
thd79 is offline  
Old 06 September 2021, 15:44   #7
R-TEAM
Registered User
 
Join Date: Mar 2014
Location: Germany
Posts: 75
have used FS-UAE self over years (before i full switch to the more advanced and maintained WinUAE) and its NetPlay works most times good ... but the emu is way behind WinUAE and on windows it is no serious alternative to WinUAE...
But - i can still "NetPlay" - with WinUAE ..... flawless ... easy ...
The "secret" is -> Remote Play on Steam ...
You can set it, that Steam practicaly "every" programm accept for Remote Play ..
Have doing this with WinUAE ... StarCitizen ... WinVICE ...and a couple others ...
The only "drawback" is >
both musst have STEAM
the "server-PC" musst be powerfull enough to play the game and stream in realtime an video stream to the "client"
you musst a bitt frickle to get it running for more complex games (like StarCitizen , where start first an launcher and then the game self)

Regards
R-TEAM is offline  
Old 07 September 2021, 11:49   #8
zambot3
Registered User
 
Join Date: Feb 2008
Location: Italy
Posts: 98
Can you make a video for example?
zambot3 is offline  
Old 07 September 2021, 14:30   #9
thd79
Registered User
 
Join Date: Jul 2021
Location: OXFORD
Posts: 13
Quote:
Originally Posted by R-TEAM View Post
have used FS-UAE self over years (before i full switch to the more advanced and maintained WinUAE) and its NetPlay works most times good ... but the emu is way behind WinUAE and on windows it is no serious alternative to WinUAE...
But - i can still "NetPlay" - with WinUAE ..... flawless ... easy ...
The "secret" is -> Remote Play on Steam ...
You can set it, that Steam practicaly "every" programm accept for Remote Play ..
Have doing this with WinUAE ... StarCitizen ... WinVICE ...and a couple others ...
The only "drawback" is >
both musst have STEAM
the "server-PC" musst be powerfull enough to play the game and stream in realtime an video stream to the "client"
you musst a bitt frickle to get it running for more complex games (like StarCitizen , where start first an launcher and then the game self)

Regards
Steam Remote play works ok for slow paced games, but not for fast games like SWOS. For this, rollback/ggpo netcode is needed for a truly playable online experience that can match offline.
thd79 is offline  
Old 07 September 2021, 15:16   #10
R-TEAM
Registered User
 
Join Date: Mar 2014
Location: Germany
Posts: 75
wrong - no visible lag with StarCitizen on the other end ...
and this is rely demanding on the video bandwidht ....
R-TEAM is offline  
Old 07 September 2021, 18:41   #11
Radertified
Registered User
 
Join Date: Jan 2011
Location: -
Posts: 728
The problem with ggpo is it's not cross-platform. Granted it wouldn't matter for WinUAE since it'll work with ggpo just fine, but it would make sense to implement this once and run on the main platforms (Windows, Mac OS X, Linux).

IMHO a library would need to be:

- Cross platform
- Maintained
- License compatible
- Simple to implement

My enet suggestion still stands as it's cross platform, maintained, MIT licensed and simple to implement. That said, I have no idea how it actually performs compared to something like ggpo.

Last edited by Radertified; 07 September 2021 at 19:13.
Radertified is offline  
Old 08 September 2021, 02:19   #12
thd79
Registered User
 
Join Date: Jul 2021
Location: OXFORD
Posts: 13
Quote:
Originally Posted by Radertified View Post
The problem with ggpo is it's not cross-platform. Granted it wouldn't matter for WinUAE since it'll work with ggpo just fine, but it would make sense to implement this once and run on the main platforms (Windows, Mac OS X, Linux).

IMHO a library would need to be:

- Cross platform
- Maintained
- License compatible
- Simple to implement

My enet suggestion still stands as it's cross platform, maintained, MIT licensed and simple to implement. That said, I have no idea how it actually performs compared to something like ggpo.
enet is a different thing really - from what I can see it's a lower level, general purpose library that provides a fairly thin cross platform layer on top of UDP. It looks comparable to something like libwebsockets. You could use it as a building block, but you'd still need to write the application layer.

GGPO is a library that deals specifically with low latency P2P gaming, and the api is designed with emulator integration in mind (it started off being bundeld with FBAlpha). It's pretty much a plug and play library(*) that gives you almost lag free netplay with a simple, logical api. It deals with remote input, keeping the games in sync, etc. Set up some callbacks, provide the IP addresses, and go.

(*assuming certain things)
thd79 is offline  
Old 08 September 2021, 02:20   #13
thd79
Registered User
 
Join Date: Jul 2021
Location: OXFORD
Posts: 13
Quote:
Originally Posted by R-TEAM View Post
wrong - no visible lag with StarCitizen on the other end ...
and this is rely demanding on the video bandwidht ....
Trust me, there is input lag for the remote player. It's not a fair way to play, as the host gets to play lag free, while the remote player does not.
thd79 is offline  
Old 08 September 2021, 07:14   #14
Radertified
Registered User
 
Join Date: Jan 2011
Location: -
Posts: 728
Quote:
Originally Posted by thd79 View Post
enet is a different thing really - from what I can see it's a lower level, general purpose library that provides a fairly thin cross platform layer on top of UDP. It looks comparable to something like libwebsockets. You could use it as a building block, but you'd still need to write the application layer.

GGPO is a library that deals specifically with low latency P2P gaming, and the api is designed with emulator integration in mind (it started off being bundeld with FBAlpha). It's pretty much a plug and play library(*) that gives you almost lag free netplay with a simple, logical api. It deals with remote input, keeping the games in sync, etc. Set up some callbacks, provide the IP addresses, and go.

(*assuming certain things)
That's true. ggpo takes care of a lot of things that enet does not, so it's definitely a better option. As I said, my only gripe with it is it's not cross-platform.

But thinking about it, WinUAE runs just fine under Linux with Wine so maybe that's not an issue.
Radertified is offline  
Old 08 September 2021, 12:15   #15
R-TEAM
Registered User
 
Join Date: Mar 2014
Location: Germany
Posts: 75
@thd79
from "which" input lag we talk ...
The lag that come from non cycle exact performing of the emu on the Host side - as it not run in the real frame rate ?
The lag that come from an cheap usb joystick adapter as the poll frequency is to low for frame exact input ?
The lag that come from the difference from CRT <> LCD monitor ?
or the lag that come from the diffs in one of the above between host <> client ?
... or , finaly, from the lag that comes from the network connection self ... that is miles better on an proffesional , wide range tested environment like steam ... as in any third party network patchwork .....

it looks you know not much ...
R-TEAM is offline  
Old 08 September 2021, 17:28   #16
thd79
Registered User
 
Join Date: Jul 2021
Location: OXFORD
Posts: 13
Quote:
Originally Posted by R-TEAM View Post
@thd79
from "which" input lag we talk ...
The lag that come from non cycle exact performing of the emu on the Host side - as it not run in the real frame rate ?
The lag that come from an cheap usb joystick adapter as the poll frequency is to low for frame exact input ?
The lag that come from the difference from CRT <> LCD monitor ?
or the lag that come from the diffs in one of the above between host <> client ?
... or , finaly, from the lag that comes from the network connection self ... that is miles better on an proffesional , wide range tested environment like steam ... as in any third party network patchwork .....

it looks you know not much ...
You forget the lag that a modern GPU pipeline introduces.

But in this case, we are talking about network lag, basically ping. In a Steam Remote Play session, the remote player has additional input related to their ping. Roughly speaking, every 20ms of ping adds 1 frame of input delay. So, if I'm playing someone with a ping of 100ms, that's 5 frames extra input delay for someone. Plus ping isn't constant - so input delay can actually vary during a session.
thd79 is offline  
Old 08 September 2021, 17:45   #17
thd79
Registered User
 
Join Date: Jul 2021
Location: OXFORD
Posts: 13
Quote:
Originally Posted by Radertified View Post
That's true. ggpo takes care of a lot of things that enet does not, so it's definitely a better option. As I said, my only gripe with it is it's not cross-platform.

But thinking about it, WinUAE runs just fine under Linux with Wine so maybe that's not an issue.
Yes, the source code for GGPO is currently windows only, which is a pity. I'm using it myself in some personal projects, and plan to adapt it for cross platform use. It doesn't look too bad - it should just be a case of swapping out the Winsock parts for a cross platform socket library (maybe ASIO/libwebsockets/enet/SDL_Net/POCO)
thd79 is offline  
Old 08 September 2021, 18:26   #18
R-TEAM
Registered User
 
Join Date: Mar 2014
Location: Germany
Posts: 75
so to sumarize ...
the network lag is only an small amount of lag that come from the whole system Host<>client and can be never soo small that an network multiplayer is at the same level as local play on WinUAE (or even real Amiga HW play) .... so the question remain why Steam remote play is "so bad" ..... it works - is fast - and actual available ...
Would i use an "in WinUAE build" network multiplayer solution ...
..... If it better than Steam (and not only theoretical on paper - in real life) ....
but as i see - it is not even clear "which" network code should be used ... from an incorporation in WinUAE from the author self foreseen .....
The "actual" best solution IS steam remote play > for an long time still ...
Simply
R-TEAM is offline  
Old 08 September 2021, 19:31   #19
thd79
Registered User
 
Join Date: Jul 2021
Location: OXFORD
Posts: 13
Quote:
Originally Posted by R-TEAM View Post
so to sumarize ...
the network lag is only an small amount of lag that come from the whole system Host<>client and can be never soo small that an network multiplayer is at the same level as local play on WinUAE (or even real Amiga HW play) .... so the question remain why Steam remote play is "so bad" ..... it works - is fast - and actual available ...
Would i use an "in WinUAE build" network multiplayer solution ...
..... If it better than Steam (and not only theoretical on paper - in real life) ....
but as i see - it is not even clear "which" network code should be used ... from an incorporation in WinUAE from the author self foreseen .....
The "actual" best solution IS steam remote play > for an long time still ...
Simply
System input lag is typically 3 frames on a PC. Another frame of lag due to the network isn't too bad. When you add 2 frames, for a total of 5 frames, it starts to become noticeably worse. When you add 3, for a total of 6 frames, fast paced games become pretty much unplayable.

I play Amiaga SWOS online all the time, using Kaillera. The difference in playability between 1 frame of network delay and 3 frames is enourmous.

Rollback netcode is a tried and tested mitigation for this problem, and has been used for over a decade in the fighting game community. It allows you to play people with far far higher pings without incurring extra input delay.
thd79 is offline  
Old 08 September 2021, 19:39   #20
R-TEAM
Registered User
 
Join Date: Mar 2014
Location: Germany
Posts: 75
no doubt an diff from +1 Frame delay and +3 Delay is noticable ...
But to get an overall "only" 1 frame delay, the whole network "things" musst done in less than 20ms (on PAL 50Hz) or ~17ms (NTSC 60Hz) ... this is just as manageable on an good LAN at home - but never on Internet ... where 20ms ping "alone" would be an miracle.... so rerspectfull, I do not believe that .....
R-TEAM is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
FS-UAE Netplay ThierGauds support.FS-UAE 1 23 January 2021 22:51
Netplay anyone? ztronzo support.FS-UAE 8 27 August 2018 16:06
Netplay scene? SM2014 Amiga scene 0 27 March 2014 10:01
Netplay Please moffball71 request.UAE Wishlist 21 19 February 2011 14:46
Netplay - Pretty Please???? moffball71 support.WinUAE 0 12 June 2004 19:05

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 10:13.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.18258 seconds with 15 queries