|
Post by The Last Zica on Aug 4, 2006 3:26:24 GMT
A funny thing happened to me on the #tyrian IRC channel today. Y'see, sgomes showed up, and agreed to test my theories on getting Tyrian 2K to work in multiplayer. And ya know what? They were right! Jason said he didn't touch the multiplayer code at all between 2.1 and 3.0, and it turns out that is indeed enough for it to work with pretty much everything once you put the Epic netplay files back in place.
Notable caveats: Episode 5 is not selectable during netplay; you can rename the files soas to put episode 5 in 4's slot, and this mostly works, however, the level CORAL seemed to break the game on load (we couldn't continue.) So, at the least, you can play the first 2 levels of ep5 that way, I might look into what's breaking on CORAL sometime - or perhaps someone else will. Or perhaps it was just a random glitch - we only tried CORAL once. If it isn't random, I'd suspect it has to do with use of the second weapons and/or enemies table.
Now, how do you go about getting this to work? Well, the simple recipie, is take a Tyrian 2.0 installation, then copy a working Tyrian 2000 installation over it replacing all files. This will replace with everything 2000 has while leaving the files it's missing such as the Epic Challenge Arena. This done, you've still got one other hurdle - T2K doesn't show the multiplayer option in-game, so it's not as easy to start a multiplayer game. Not to worry, that's what backdoors are for. Run "netipx netarena -l 1 file0001", and you should get into the challenge arena, with things working normally from there. It's probably possible to get the slightly higher level menu with file0002 for added convenience, but I haven't sorted that out yet - if this becomes popular I'm liable to put more effort into making it easier.
If people are interested enough, I can probably isolate what specific files are needed from a 2.x installation to add to a 2k install for multiplayer functionality - which would allow someone to zip just them up and give as needed without having to bother with any that aren't. Not sure of the legal implications for the moment, so I'm not focusing on it. I suspect the needed files total less than 100k zipped.
Overall, fairly clean and straightforward - worked beautifully on everything but CORAL except where identifiable user error was involved. Works with Camanis 2, too (provided both players have it correctly installed - if it works for both people in singleplayer, it should work in multiplayer.) We tested running Tyrian 2000 under DOSBox 0.65, windows version on both ends (with ipx=true and using the ipxnet command as appropriate on each end.) Lag was quite tolerable.
Let the games begin!
|
|
|
Post by gencoreoperative on Aug 4, 2006 13:19:15 GMT
Good job! We can probably host the complete zip file on these forums?
|
|
|
Post by Tempest on Aug 4, 2006 13:30:18 GMT
Wow, I hope so. ;D
|
|
|
Post by The Last Zica on Aug 4, 2006 16:41:06 GMT
That'd be Gamera's call I think. Seems like this is generating some interest, good... I made up a basic laundry list that should work as far as what files you need... these 16:
NETARENA.PCX, NETFONT1.PCX, NETFONT2.PCX, NETMEGA.PCX, NETSET.PCX, TYRSET.PCX, NETARENA.EXE, SETUP.INI, SETUP.INT, FILE0002.EXE, TYRIAN.EXE, NETIPX.EXE, NETMODEM.EXE, MODEMS.TXT, NETTERM.INT, NETTERM.EXE
Last 4 should only be needed for modem/serial support (or if you somehow want to try using the terminal program via IPX, not sure that's even possible), NETIPX.EXE should only be needed for IPX support. First 3 and NETARENA.EXE are probably absolutely required for any form of multi using the Challenge Arena, the last 2 PCXes MAY only be needed with the higher level setup, but might be needed with just NETARENA too. The 4 files between NETARENA.EXE and NETIPX.EXE are probably only needed for the higher level setup (which I hope to find a solution for using sometime, since it'd hopefully avoid needing command-line arguments and make IPX, modem, and serial all equally convenient.) Total size for all 16, compressed, just under 200k or so, maybe considerably lower with a truly good compression program.
More theory: I'm pretty sure all of the above come with every 2.x version of Tyrian, both registered -and shareware-, and that they were all the exact same versions of the files (if memory serves the way Tyrian tells whether it's registered or not is to check for Episode 3's main file - no code changes, just a branch.) So if you can dig up a copy of the 2.x shareware on the internet, and pull the listed files from it, should work. I'm no lawyer, but it may set a precident for distributing the files, too - if not, even then, we can still probably just distribute the 2.0 shareware intact and be 100% legal, though a little less efficient/convenient.
Oh, and this is the same Epic Challenge Arena OMF 2097 used - I think Tyrian's is the more recent version however; OMF's will probably consider Tyrian an unknown game. OTOH, using Tyrian's with OMF may be possible, I think the Arena files autodetect which game they're being used with within the limits of what games they know how to handle.
Ya'll come by and play, y'hear? ;-)
|
|
|
Post by The Last Zica on Aug 5, 2006 1:48:54 GMT
More news from the front... just got done doing some more testing, and it seems the CORAL failure was a random or possibly setup-specific glitch. We got into the level just fine twice today. We also played through all of ep5-ep3 inclusive at a stretch with no issues at all, and all of ep4 with no issues except desynchs on the 2 bosses that flip the screen on you - at the end of the second level and EYESPY. The desynch can be got around by simply repeatedly pressing enter to move on - eventually it will decide to just ignore the command to flip the screen and everything works from there.
Since it appears swapping in Ep5 is in fact useful, I'll document how to do it now: just rename the existing TYRIAN4.LVL and LEVELS4.DAT files to something else, then rename TYRIAN5.LVL and LEVELS5.DAT to the respective episode 4 names. This done, Episode 5's levels will appear in place of Episode 4 until you reverse the process, allowing you to play them in multiplayer. Both sides need to do this or you will likely get continous desynchs.
Side note: T2K making SDF Main Gun generally available is... uh... overpowered.
|
|
bb1
Member
Posts: 256
|
Post by bb1 on Aug 5, 2006 14:57:22 GMT
When I type in "netipx netarena -l 1 file0001" in dosbox, it gives me an illegal command: netipx.
|
|
|
Post by The Last Zica on Aug 5, 2006 16:59:01 GMT
Did you set things up correctly? Make sure you can run Tyrian itself from that DOSBox configuration (proper directory mounting, etc), and make sure you've copied Tyrian 2K over some form of Tyrian 2.x in the directory you're using - Tyrian 2.x is where the netipx command comes from. "dir" should list NETIPX.EXE in the directory if you've done this correctly.
|
|
bb1
Member
Posts: 256
|
Post by bb1 on Aug 6, 2006 20:27:26 GMT
EDITTED
Ok, so you want to host a multiplayer game?
1. Make sure you have dosbox version 0.65
2. Start in dosbox with cycles around ~17000 (tested fine on a 2 ghz PC), auto is ok but not recommended.
3. Type in (without quotes) "ipxnet startserver 41114"
4. Go into the folder tyrian is mounted to
5. Type in (without quotes) "netipx netarena -l 1 file0001", keeping in mind the l is a lowercase L.
6. Give your IP address to to-be joiners.
TO JOIN A MULTIPLAYER GAME:
1. Get host's IP.
2. In dosbox, type in (w/o ") "ipxnet connect <IP> 41114". Where it says <IP>, substitute that for the IP (without <>)
3. Now that you are connected to the server, go to Tyrian folder mount.
4. Type in (without quotes) "netipx netarena -l 1 file0001", keeping in mind the l is a lowercase L.
5. You are now part of a multiplayer game server!
SAVING AND RESTORING A MULTIPLAYER GAME:
Yes, this is possible and has been tested. You may save your game and restore it later with a friend.
1. When done with a level, notify your friend that you want to save and restore.
1a. If he already pressed launch, then press start and then quit to menu.
2. When both in menu, press ALT-S. Save the game as any name you like.
2a. MAKE SURE BOTH PLAYERS SAVE AT THIS POINT!
3. To restore, start up a game (via host or join), but try to remember who challenged who in the first place (If player 1 challenges player 2, when you want to restart, have player 1 challenge player 2 again.)
4. Have both players press ALT-L and load up the old save. MAKE SURE THAT THE PLAYERS BOTH HAVE THE SAME SAVE FILE OPEN BEFORE LAUNCHING, PROBLEMS ARISE WHEN THE LOADS DO NOT MATCH.
5. Launch, and be amazed that it actually saved your progress, your ship specs, your score, everything!
THE SHIP SWAP
Yes, it is actually possible that if you were dragonhead you can switch with player 2 to get the dragon wing.
1. See restore game area, and stop at step 3.
2. Instead of player 1 challenging player 2 again, have player 2 challenge player 1.
3. When you load up the maps and launch, you will be in your team mate's ship!
MISC
Q: What is the best way of communicating with my teammate? A: The absolute best way is to get on a VOIP like software, or Teamspeak, so you can relay tactics directly and quickly. If that is not available, however, there is a thing that works just as good. Before starting dosbox, join the Tyrian IRC channel via your favorite IRC connection. Place the IRC window and dosbox tyrian window side by side. If you play it in fullscreen, then press alt-enter when in window. When you finish with a map and have something to say, press alt-enter again and type it in the IRC. If the player is using Trillian or other programs, he will hear a *ding* when he recieves a message. This will tell him to window it and read.
Q: I am acting as the server, and there are 2 others playing a game. I need to leave ASAP, but I don't want to cut off their game. What should I do? A: If you are lucky, you can IRC them this message while they are at the loading screen. If they don't reply, tyrian incorporated a very nice feature: If you are in arena, you can whisper one way to the players in game, one at a time. Tell them to exit into menu and meet in the IRC immediatly, and then tell them to save the game.
Q: Will this work with OMF2097? A: Yes, it certainly will. To host, see all the steps in the hosting section of tyrian (except go to OMF folder). To join, use the join section (except go to OMF folder). It runs suprisingly well.
Q: -l 1?? What is up with that? A: This is actually a very important part of the command line. It has to do with latency and connectivity to the server. -l 0 will have no latency smoothing, thus a laggy game. -l 1 will give a nice smoothing, where it is very playable with little visible lag. -l 2 might be overkill, it results in an ultra-smooth with no percievable lag, BUT responce time is hindered because it synchronizes EVERYTHING, thus more packets sent. Best stick with -l 1, it is very workable.
GENERAL NOTES
There are some unwritten rules and things you should know. Most are common sence and come with playing multiplayer games, but I will say it anyway.
1. There are 2 main types of multiplayer to play, PLEASE make it clear which one it is before you start.
1a. You can work as a team, just trying to see how far you get while helping each other.
1b. You can have a score contest to see who gets the highest score, and you want your opponent dead.
If playing 1a:
It is a good idea to keep your friend alive. They will try to save you, maybe even take a few hits if you are low. Help them out too. If one player is trying to form the steel dragon and you can clearly see it, don't keep moving fast. Lag can make joining the ships hard sometimes. When there is teamwork going on, you can pretty much know what you want each other to do (like telepathy), and it works out nicely. Also, if your friend is low on armor, use the down fire fire twiddle to give them an armor boost at your shield's expense. If they don't notice that your armor is down, and you really want him to boost it, then try sending an armor boost his way. This will most likely draw his eyes to the HUD, where he will see you are hurt and will send you some armor. Pay him back by filling him up too. Alot the rewards evenly. That is, if you see two 1k diamonds, just take one and let your teammate take the other. Same with powerup balls, if you are already level 10, leave the rest to your lower level partner. It will only benefit both of you in the end.
If playing 1b, then you are pretty much on your own. You might accidently activate the armor twiddle, but don't expect anything back. The steel dragon is not a good thing here, as your opponent might lead you into a blimp or other collision item! Swipe the most purple balls and gems and coins you can, because why leave em floating around?
I hope this guide helped you on your way to multiplayer fun, since none ever existed before. Have fun, and blow some Us up!
|
|
bb1
Member
Posts: 256
|
Post by bb1 on Aug 8, 2006 0:47:08 GMT
Updated the guide.
|
|
|
Post by death on Aug 8, 2006 19:24:21 GMT
WAY too complicated
|
|
|
Post by The Last Zica on Aug 8, 2006 20:23:28 GMT
People like you scare me. ;-)
|
|
|
Post by Tempest on Aug 8, 2006 20:36:26 GMT
Well, at least he found out how to initiate the whole thing.
|
|
bb1
Member
Posts: 256
|
Post by bb1 on Aug 10, 2006 3:57:14 GMT
complex? All you have to do is punch in a few things. The only real trouble is getting the other player's IP, which alone is very simple.
|
|
|
Post by gencoreoperative on Aug 10, 2006 9:07:04 GMT
|
|
|
Post by tunnelingtroll on Aug 10, 2006 13:29:15 GMT
Wow... I've got to try this...
|
|