Networked MAME - Kaillera
t0qer writes: "Everyone knows about mame the multiple arcade machine emulator. Recently there has been a new addition to the mame lineup called Kaillera which is a net enabled version that allows you to play any mame game with anyone around the world. It's client/server based which makes for some very good performance. Linux server is available."
Just FYI, mame has been networkable long before most of the other emulators(such as snes9x or zsnes) in the form of netmame.. It has been a compile time option for the *nix versions and there have been win32 builds for a few years.. The only downside is it takes a LAN-ish(100ms ping 20k/sec+ xfers) network connection to play
read the license again...
Kaillera will curdle.
Well, I remember back in '93 or so there was a game by Atari (it was called Space Lords IIRC) that consisted of sevearl consoles networked together. My local arcade had four machines networked and the whole thing set up as a 4 (or 8 since you could have a "gunner" on each console) deathmatch. It was loads of fun, but I never saw it again after moving out of the area in '93. Now early nintys is still a bit recent for nostalga, but at least there was one networked arcade game.
Down that path lies madness. On the other hand, the road to hell is paved with melting snowballs.
I read the internet for the articles.
> The trouble with games today is that most of the simple, fun ideas were used up years ago
Isn't that the "there's nothing left to invent" argument.
Sounds like bullshit to me. The early games had a more abstract quality - they were not restrained by trying to mimic reality, so this made them more inventive. Best example of this is tetris, but asteroids, space invaders, pacman, defender, qix, tempest are all radically different, excellent in their own way, and almost entirely divorced from reality.
Simplicity isn't the issue - it's effort and imagination. How much inventive power did it take to pack a game like defender into 22345 bytes ? Now games companies spend money on artists, musicians, production managers, etc. At some stage modern games will start to use the power at their disposal to explore different realities again, and maybe interest will return.
Once 3d mounted headsets are common place, we can start playing with 4D universes. In same way that you can project 3d onto 2d screen you can do a reasonable job of projecting 4d onto 3d, but it makes your brain ache initially.
Or someone will produce a game where physics obeys the rules of the quantum level instead of Newtonian, a D&D game in this mold could be fun (with spin 1/2 objects etc). Possibilities are endless, but basic premise is total immersion in an alternate universe. QuakeIII is not an alternate universe, just an alternate situation.
http://rareformnewmedia.com/
Take a concept like "Tetris". How do you improve that!? Which version of Tetris are you thinking about? Almost certainly, the original Gameboy implementation.
Nope, I was fortunate enough to get ahold of the Russian version from a US military geek from Alaska who used to do stock-in-trade with his peers across the Strait...
Wordnik, a dictionary project which aims to collect
I have fond memories of Pong because it was the first video game I ever played. I wouldn't put it on a list except to be "Hey.. I can really date myself, you young whippersnappers!", but I wouldn't stop from putting Asteroids or Pac-Man on the list.
Some of my favorite games from the golden years are:
The idea of being able to network some of these games (hopefully) will be awesome. I only hope that the network delays won't screw up the gameplay too bad. Heck, I'll contribute to the coding of the older games.
--
Never hit your grandmother with a shovel, for it leaves a bad impression on her mind...
Derivative works are allowed, provided their source code is freely available. However, these works are discouraged. MAME is a continuously-evolving project. It is in your best interests to submit your contributions to the MAME development team, so they may be integrated into the main distribution. There are some specific modifications to the source code which go against the spirit of the project. They are NOT considered a derivative work, and distribution of executables containing them is strictly forbidden. Such modifications include, but are not limited to:
enabling games that are disabled changing the ROM verification commands so that they report missing games removing the startup information screens
If you make a derivative work, you are not allowed to call it MAME. You must use a different name to make clear that it is a MAME derivative, not an official distribution from the MAME team. Simply calling it MAME followed or preceded by a punctuation mark (e.g. MAME+) is not sufficient. The name must be clearly distinct (e.g. REMAME). The version number must also match the number of the official MAME version from which you derived your version.
Vermifax
Vermifax
Logout
That is how it works and it *does* work. Think about it - assuming no bugs in the emulation that make it non-deterministic you are running multiple copies of the same ROMs on the same emulator. The emulated program will see the same environment and the same keypresses with the same timing on all machines, and will generate the same pseudo-random numbers. Result? It works fine.
Just because it's old doesn't necessarily mean it's any good! Nostalgia is all well and good for a few minutes here and there, but let's face it - the majority of games were (and still are) utter dross!
Throughout the history of gaming, genuinely excellent titles are few and far between. For every "Pac-Man", there's at least a dozen "Time Traveller"s.
The trouble with games today is that most of the simple, fun ideas were used up years ago, and so complexity has rather taken its place. Complexity can be fun too, but the number of "pick up and play" games has dwindled to a pathetic number these days... or at least, it seems to have. Maybe the ratio is now a "Doom" to every dozen2 "Daikatana"s...
Going back a bit, consider the game "Lemmings". Utterly brilliant game. Amusing. Fun. Then came the sequels. The trouble was, the original game had to be "extended". It was more complex. Your abilities changed. And the "fun" evaporated. This scenario is repeated again and again and again ad infinitum, the "fun" slowly boiled out of the original concept.
Take a concept like "Tetris". How do you improve that!? Which version of Tetris are you thinking about? Almost certainly, the original Gameboy implementation. Out of all of the hundreds/thousands of different versions, written over the past 15 years, we like the original Gameboy version best. Gameboy Tetris wasn't the first (by a long chalk!) of the game but had the best 'balance' by far. And the only feature of note they added to the GBC version (10 years later) was that your high scores were saved... They *didn't* mess with the basic game, although for some reason they made the music worse.
So, in my roundabout kind of a way, I agree with you 100%. Just felt like adding to the conversation 8). In AOLSpeak, "me too!".
PS. The game I've had most fun with of late is "Serious Sam" by Croteam. It's like Doom, but with a modern 3D engine attached. Believe you me, Doom 3's aquired the benchmark against which it will be judged in this game...)
Read my online journal: http://chris.carline.org
time to go scour ebay for used tempest, pac-man, and galaga machines so i can play the games online legally.
---
I've been travelling back in time gaming wise for a while. The furthest forward I got was an original Playstation. Then I started buying remakes and rereleases of classic games (Namco Museum, Bomberman World). After writing off games for my PC I found MAME and finally got around to finishing Slapfight and Sidearms, plus played a heap of Double Dragon and Gauntlet. I even got Gauntlet running on a Kodak DC265. Then I bought a Gameboy because of my love of pinball games on computers. Later I found myself buying Asteroids and Joust/Defender. I bought the Liberty emulator for my TRGpro and a gameboy cart reader (not in that order -- the reader was for my Gameboy camera work). Soon I was buying up old Gameboy titles because they'd run on the emulator. Recently I bought an original gameboy and a four-player adapter. I'm currently trying to get together a 4-player setup of F1-race for the next local LAN party.
Somewhere in there I bought a SNES and SuperGameboy for a webcam project. Recently I've been buying old SNES titles like Bomberman and Metroid. I have noticed a couple of interesting portable projects that can play carts from the MegaDrive, NES and Atari 2600 so there's a chance I will travel back in time a bit more -- though the SNES and Gameboy feel as basic as I'd want to get, anything else typically just has too simple graphics and limited gameplay (eg; the lack of a savegame in the original Metroid is a pain).
--
This Networked MAME thing sounds fun.
Top 10 Games For Networked MAME Off The Top Of My Head
10. ASTROIDS DELUXE
9. ARKANOID (that was 2 players, right?)
8. QIX
7. SMASH TV
6. KARATE CHAMP
5. MARIO BROS.
4. RAMPAGE
3. COMBAT
2. GAUNTLET 2
and...
1. PONG
-------------------
-------------------
This is my SIG. There are many like it, but this one is mine.
I don't think it's done by passing button presses. If so , how do you keep the games in sync ? Any little lag would screw it up and you wouldn't be able to "speed up" or "slow down" to get back in sync if you were merely passing button presses. Not to mention that would mean a seperate instance of the game runnning on each client. That would only work if the games did not use a pseudo-random number to position enemies or "good guys".
I wonder how this would work with ArcadeOS, if I could get a network connection going somehow on my arcade machine .. ArcadeOS + emulators + networked games == woah.
BilldaCat
OK, so now there can be a networked live view of "All Your Base Are..."?
That's easy enough to predict:
404 File Not Found
Can your IM do this?
That's pair of threads is really interesting. That's a good point about the GPL -- even if they can fudge the issue with MAME, the GPL is pretty explicit about this.
Do you know if anyone has discussed the "removal of screens" vioaltion with regards to mame?
As for your conspiracy theories, I know of a (now defunct) company that planned to do something quite similar, and far more extensive than what you just described. It makes sense -- I'm not even sure it's sinister.
I think the only solution is to beat them. Create an open source, cross platform networking solution for MAME, and make it better than Kaillera.
-Puk
This has bugged me since Kaillera first came out, but I have never seen mention of it elsewhere, which leads me to believe I'm misunderstanding the whole thing. It seems to me that Kaillera is violating both the spirit and the word of the MAME licence, from their readme.
... removing the startup information screens".
First, if you look at the source code patches, you'll note that most of the work is done in a Kaillera DLL, and that they just export calls to this. So technically, they're releasing the source cod eto their changes, while not releasing the source code to the actuall functionality of their changes. This seems to be violating the spirit of the license, although maybe not the letter: "Derivative works are allowed, provided their source code is freely available."
The second part is from the 0.72 update post. Here, they brag that they "Disabled startup information, warnings, and copyright with network game." From the MAME readme: "There are some specific modifications to the source code which go against the spirit of the project. They are NOT considered a derivative work, and distribution of executables containing them is strictly forbidden. Such modifications include, but are not limited to:
Does anyone know more about these issues? Am I totally reaidng it wrong? Open, cross-platform network support has been in my mind for a while, but sadly I have no time to do it alone. When Kaillera first came out, I had high hopes, and it is pretty damned cool and useful, but I'm a bit iffy on the details.
-Puk
p.s. Note that linux support means linux server support. You need to use MAME32 to play. w00t.
It depends on your definition of 'online' of course, but the first computer games ran on mainframes, which one accessed through terminals which by definition are remote. Many of the earliest games were multiplayer. If you take the narrow view that online = Internet as so many do today, then I guess thats not true.
Of course, arcade games were never online because they were played (duh) in arcades, which are inherently destination oriented (you *go* to the arcade to play). Still, to say online gaming didnt exist is not exactly true.
If I'm not mistaken, that's a Vic20 running the Avengers. Oh, the memories.
Ozwald
I love the retro picture with the long hair and TV screen with space invaders on it. This thing is like a retro movement for something that never existed. Live online gaming just wasn't possible -- turn based online gaming came first, and even that wasn't exactly flourishing until the advent of the BBS. Even still, you're going to be hard pressed to find people to play some of those games with, so may as well search the entire globe :)
Hmm.. not read about how this version was implemented, but I thought I'd say how *I'd* implement it.
One person is the Server, they run MAME and the Network Server, the others merely run a network client (No MAME).
The clients each send their updates to the server, which then converts these and sends them as keypress events into MAME which is 'fooled' into thinking these are normal local players.
The network server acts as a screen-server, similar to an XServer only far more basic. It obtains MAME's screen image, and sends this to the clients which display it.
This would mean only one copy of MAME running, and no synchronisation worries. The problems with 'pingtimes' would be present anyway, and would really have done in multiple versions of arcade games where 'Timing Is King'.
404 Not Found: No such file or resource as '.sig'
The old classics xpilot and xblast are still alive. I just participated in the official world championships of xpilot. The good old game xblast is also still goin strong. They are writing a new client based version, so that you can play international games.
Daikak
that's basically how many newer multiplayer games work nowadays too. for example molyneux's Black & White multiplayer mode just passes user-actions back and forth between two(or more) instances of the game running on different machines. the hard part is coding the game so that the exact same things happen on each machine at the exact same time.
OTOH, it says it is a client-server model, like that in Half-Life. in such a model, one player's machine acts (internally) as the server and the game he is seeing is actually a copy of the client software (the same as the other player's machine). the server processes all the information centrally, and returns relevant game information (such as delta-X,Y,Z positions and the like) to the clients. during this time, the client usually tries to predict where the game objects are supposed to be, then corrects the errors it makes when it receives more accurate information.
i'm assuming this is how Kaillera works considering that many MAME arcade games are a lot more fast paced than Black & White.
"Ask me about Loom"
Well it is a bit of a niche market.
But every thing considered, not bad at all.
Check out the Vinny the Vampire comic strip
"It is a greater offense to steal men's labor, than their clothes"
There is a linux server available.. but I've been resorting to using mame32(windows) to use it.. there is no support for Xmame, but there is an sdk...
.... but it appears as if they do not support MacMame or any of the Mac emulators. The Mac platform has awesome emulators and especially with Mac OS X out there(which in a year might be the most widely distributed distro of *nix), I have to question how cool this program really is...
Uhh its non-commercial so it doesnt. Just FYI
They changed alot, we have some american servers running now, which makes it alot easier to find good pings :)
I thought that this forum thread might be of interest to some of you http://www.kaillera.com/forums/viewtopic.php?topic =351&forum=3&5
It should be interesting to see how the stats change once a few thousand /. readers start playing with this.
- Dan I.
someone writes a GoldenEye or, better yet, Pong bot? Or perhaps they just use a pre-encrypted format to help discourage such blantant abuse of the protocol ;^)
Too bad the source doesn't appear to be available, i'd be curious to see exactly how they did it (my guess is just passing button press events back and forth). I suppose that could be gleaned from the SDK, but still.
(yes, i realize how difficult it would be to write a bot for these games, considering the fact that you don't really have a Good Way to extract the other user's position, etc)