VOGONS

Common searches


Kaillera and Dos Box....

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 20 of 36, by CraigG

User metadata
Rank Member
Rank
Member

Just to add my 2 cents.

Firstly, even with simple emulators of old fixed platforms, you BOTH require exactly the same ROM, the same emulator version, and the same settings.
Otherwise, you end up with lag, and even worse, synchronisation problems.

Take the Amiga emulator WinUAE, for example. I used to attempt to play Sensible Soccer, over the net with a 512k ADSL line, both of us had exactly the same everything. Yet, every few minutes we would both lose sync, and the lag just got worse and worse. The only way to fix this was to start again.

Now, here we have DOS based games, originally written for multiple systems (NOT fixed systems), multiple configs, settings, video modes, joysticks, mice, etc... And there isn't a real true TOSEC style way of verifying all your DOS games to make sure you both have the same version. There is a TOSEC dat for really old DOS floppy games.

So, how do you both have the same version of a game thats different in almost every country ? And there are MANY different versions of DOS games out there.

What if you have a state of the art Athlon 64 system, and your opponent has a PIII 800 or above, and has to use frame-skip to play the game at reasonable rates ? Surely, sync problems will arise ?

How will Dosbox's config, tailored to your personal preference, work with Kaillera ? Will we all have to use the same settings ?
What if I don't want to use software overlay, but like using moe's HQ modes ? Or I want to use MT32 sound emulation, but your mate is using Soundblaster ?

With SNES Kaillera, I just rar up the whole SNES + Intended Games I want to play, and send it to my mates. We both then have exactly the same of everything.
How would you do that with, say for example, CDRom based games ?
And what if he has the floppy version, and you have the CD version ?

I know I sound negative, but I've been there and experienced it for myself. And, to be very honest, it's not all it's cracked up to be.
Ever wonder just why today's emulators lack Kaillera support ?
If you look at the list that do support it, it's made up of very old versions of these emulators. Many, have had major fixes between these old and new version. And some (WinUAE for example) have progressed a long way between the Kaillera version, and the much newer builds that are nearing version 1.0, now.
The last WinUAE I have, with Kaillera support in, is WinUAE 0.8.14. Now thats old.
And as for MAME, well the Current Client Version is a version from 2003, while the current Server Version is even older at 2002 😳
Far from those 5000 games you mentioned earlier. And most importantly, missing MANY of MAME's newer code like the System 16 fixes, and Aron's new Sound code.

Sorry, I really sound negative. But I believe this is a task too far, and too complex for Dosbox.

Athlon 64 3000+ stock
MSI NForce 4 K8N Neo Platinum
2Gb RAM
nVidia Geforce 6800GT stock clocks
SBLive! Platinum + Audigy ZS2 Drivers
WinXP Pro SP2

Reply 21 of 36, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

VNC is already on the wish list.

As far as remote keyboard. Access could be limited to certain keys for specific games.

For instance the remote keyboard could be disabled in plain DosBox but enabled when an allowed program is used and then only certain keys would be allowed....of course there are programs with "BOSS" keys or drop to DOS capability.

But none of that should be included in DosBox becaaaauuuuusee:

The thing with remotely playing your DosBox games is this. It's supposed to "emulate" the experience of having 2-3 friends around a PC playing turn-based games. If you don't trust a friend to sit at your real PC and play a game then you definetly shouldn't trust them on DosBox So full remote support should be included in DosBox with no security restrictions. (Disabled by default of course and the common networking security features...SSL, static IP's...etc). If someone messes up your system that just the price you pay for a great feature.

Reply 22 of 36, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

HunterZ, find a bug, exploit it. Boilerplate code to exploit a segfault is out there in masses. Segfaults are still common in dosbox. Doesn't take an uberhacker, just a little bit experienced scriptkiddie.

Reply 23 of 36, by sryx

User metadata
Rank Newbie
Rank
Newbie

I think this is a great idea, but it seems like many of you are over thinking this. Kaillera can be used to solve two distinct issues. On one hand, there is an option to make a "virtual" game pad, keyboard and mouse (and timer I guess) to enable recreating the "single computer->multiple players" configuration. This would have natural security implications and timing issues but I would assume it would satisfy many DOSHeads desire to play Multiplayer Star Control. For this to work you would have to send each button press, mouse motion and joystick jerk (that sounds dirty) over the network and hope that the tightly controlled timers didn't slip out of sync. Here DOSBox would be doing the heavy lifting of keeping things running smoothly and would most likely require things like frame skip, sound device and available ram (and even Random Number Generation and clock, as many programmers use those values for AI) in perfect harmony because each computer is emulating the DOS application on it’s own and both are expected to generate the same pixels at the same time.
The other issue involves the “multiple computers->multiple players” Here you can introduce a “server browser” system where people start IPX based games and then switch to a chat room and ask around for anyone else who wants to play the same game. Here the “server browser” would pass the IP of the players to the IPX emulation layer. The actual game would do the heavy lifting of synchronization and DOSBox would just pass the IPX messages over TCP/IP. This would be great for many classic DOS games, but most of the really memorable ones already work under Windows XP. There used to be a program that did something like this back in the Win95 days. It took IPX games and made them work over TCP/IP, I can’t remember its name though. It looks like a general “Virtual” device system would be the architectural choice for the future of DOSBox and the internet. Imagine being able (at run time for example) to assign thinks like game pads, mice and keyboards not just to physical devices on your computer but to IP addresses that correspond to users across the internet. You could even create a shared ownership system where things like keyboard control could be directed to both the used physical keyboard as well as a remote user, or even mapping joy pad buttons to keyboard keys (to DOSBox it’s just input) thus enabling joypad support in keyboard only games. The options are unlimited.
-Jason

Reply 24 of 36, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

sryx, the program you're trying to remember is probably "Kali" although I think there were others. Kali was very popular for Descent and Warcraft.

I believe DOSBox already has support (possibly only experimental though) for playing IPX games over TCP/IP. Not sure though, as I haven't been interested enough to look into it.

Reply 25 of 36, by Guest

User metadata

Here DOSBox would be doing the heavy lifting of keeping things running smoothly and would most likely require things like frame skip, sound device and available ram (and even Random Number Generation and clock, as many programmers use those values for AI) in perfect harmony because each computer is emulating the DOS application on it’s own and both are expected to generate the same pixels at the same time.

I understood that there would only be one version of dosbox running on the main Kaillera applicaion server? However, maybe I'm wrong....that is a distinct possibilty as I didn't read how it actually works.

😉

In my mind I thought that dosbox would be running with Kaillera on a primary server accepting internet connections and the two gamers simply connect via a client.....so your basic client/server architecture....this would elminate the need for trying to keep two machines in synch as we would only really be running on the main dosbox/kaillera server and the other 2 clients would be connected remotely. All the heavy lifting would be done by the application server running dosbox....client side stuff would be minimal...simply establishing the connection...sending key/button presses...and relaying what is happing on the main app server.

Best,

Wood Tick

Reply 26 of 36, by wood tick

User metadata

We just need to trick dosbox into thinking that both players are local. And then somehow be able to establish a connection between two internet players...I understood this is what Kaillera does......it handles the networking stuff as well as display and inputs to and from the remote users (Kaillera can handle up to 8 remote players).

then the core code for dosbox doesn't really need to change at all.....other than to integrate the Kaillera code to allow for this....

Best,

Wood Tick

Reply 27 of 36, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Nah, it actually just passes the input events back and forth I think and then lets the emulator do all the work on both systems. Otherwise, you'd have to send across everything the server is seeing at ~60FPS which would consume massive amounts of bandwidth.

Reply 29 of 36, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie
wood tick wrote:

We just need to trick dosbox into thinking that both players are local. And then somehow be able to establish a connection between two internet players...I understood this is what Kaillera does......it handles the networking stuff as well as display and inputs to and from the remote users (Kaillera can handle up to 8 remote players).

I'll repeat once more: VNC (or, at your option, NX, PCanywhere, MS Remote Desktop or other sharing solutions) already do this today. No coding, some of them are freely downloadable, and at least VNC has servers that can share a single app (instead of the whole desktop). Why not use something that is well-known, stable, and in use by millions of people for daily work? Why insist on something that is less well tested, less popular, and has to be coded for?

Of course, reading the latest comments, if Kaillera needs two emulators to run synchronized, I think it would be even worse, just as others already said. Not impossible, but difficult (= even more work).

What I think would be a real plus for Kaillera would be if really somebody took the effort to offer all the available MP input methods to make a real multiplayer machine (and not just a shared dosbox) out of dos. That would be a lot of work, but cool. And it would make sense, since that's something vnc can't offer.

Reply 31 of 36, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

These programs are optimized for using PCs over the net as if it were local. Which means lowest possible latency and as much screen updates as possible. You will never squeeze 60fps through a usual home-user uplink, but some of these programs do a really great job getting the best out of that situation - after all, they were specifically designed for that. It's their main goal: instant display and instant input feedback.

You will have to test yourself what's best. NX is astonishingly fast, but not all clients are free, and I don't know how well session-sharing works. vnc is the senior solution, very mature, but performance depends on the exact server and client and configuration (the vnc protocol uses several different "codecs" for different situation). I have no experience with the other two, but it doesn't take a coder to go and make a thorough benchmark.

Reply 36 of 36, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Compatibility takes priority. None of the devs has any interest in Kaillera support. There's nothing stopping anyone that wants to add support to do so tho.

Thread closed.

How To Ask Questions The Smart Way
Make your games work offline