Author Topic: Multiplayer via UFO2000 project  (Read 8444 times)

Offline Startling

  • Sergeant
  • **
  • Posts: 11
    • View Profile
Multiplayer via UFO2000 project
« on: October 11, 2012, 05:41:36 pm »
I have seen FAQ with regard to the multiplayer implementation, but do hear me out >.>

As the original xcom was split into geoscape and tactical EXEs, I was thinking if it would be possible to have the openxcom geoscape run the UFO2000 exe with defined map and alien/human units, in which the human player over the network would be able to take control of the aliens, and result in super-super human difficulty :)

It would mean indeed that only single player would be able to play the game, with the 2nd player occasionally connecting to the battlescape to play out the tactical part of the mission, but most of the game IS about the tactical parts, with a little bit of strategy in the geoscape (at least time-wise).

All this would require is to unify the UFO2000 weapon definitions and battle result reports with openxcom system. Which is much easier than developing everything from scratch. It would also provide a good entry point for geoscape multiplayer, but, quite frankly, being able to screw up your friend's team is more than enough for starters :D

Offline Daiky

  • Battlescape Programmer
  • Administrator
  • Commander
  • *****
  • Posts: 904
    • View Profile
Re: Multiplayer via UFO2000 project
« Reply #1 on: October 12, 2012, 12:41:39 pm »
Maybe you know things that I don't, but I have developed briefly on UFO2000 before developing on openxcom, so I know both systems technically rather well, and I would certainly not say that mixing both games is easier than implementing multiplayer in openxcom  ;D

Adding multiplayer is not developing things from scratch, it's adding network code on top of the current battlescape code. Code that sends the action of the opponent over network, instead of the action being driven by the AI and send the changes in the world to the client, so the games on both sides are in sync. That's the basics :p

edit: main problem probably with making ufo2000 and openxcom work together is, you need to write some kind of interface between the two, which might be possible, but doesn't sound like an elegant solution. Also it needs code changes in UFO2000 which is on totally different repository, has a totally different structure (it's very very ugly code compared to openxcom :p). And in the long term, everytime somethings is changed in openxcom, you might break the interface with ufo2000, so a new version of ufo2000 needs to be released to fix it again, etc....
« Last Edit: October 12, 2012, 12:51:36 pm by Daiky »

Offline Startling

  • Sergeant
  • **
  • Posts: 11
    • View Profile
Re: Multiplayer via UFO2000 project
« Reply #2 on: October 12, 2012, 03:56:53 pm »
I have not developed UFO2000 unfortunately, but I assumed that the dev team was not very happy with developing net code to go with the game, and hence suggested using the other project :)

I felt that the only interface that would be required is force-setting the initial battlescape/weapon allocations, and then UFO2000 providing the battle report back to the geoscape of openxcom.

In any case, it would be amazing to have even a LAN-only battlescape multiplayer mode where you can play vs the other player. I loved the ufo the two sides, but that project was shut down, and, quite frankly, did not follow vanilla xcom much at all.

PS. what I propose is simply direct connection LAN during battlescape, where one player simply plays the game, while the other player has an idle blank battlescape waiting for the connection to be made by the first player. After that, the parameters and the weapons are loaded, and the 2nd player is able to control the aliens much in the same way as the first is controlling the humans.

Software like hamachi/openvnp is commonly used to play old DOS games nowadays anyway, so even LAN over the internet wouldnt be an issue for the starters.

PSS. the ufo:tts was quite a successful project, so such a small LAN implementation might actually bring in even more interested people and developers.
« Last Edit: October 12, 2012, 03:59:18 pm by Startling »

Offline SupSuper

  • Lazy Developer
  • Administrator
  • Commander
  • *****
  • Posts: 2159
    • View Profile
Re: Multiplayer via UFO2000 project
« Reply #3 on: October 12, 2012, 04:03:55 pm »
Maybe you know things that I don't, but I have developed briefly on UFO2000 before developing on openxcom, so I know both systems technically rather well, and I would certainly not say that mixing both games is easier than implementing multiplayer in openxcom  ;D

Adding multiplayer is not developing things from scratch, it's adding network code on top of the current battlescape code. Code that sends the action of the opponent over network, instead of the action being driven by the AI and send the changes in the world to the client, so the games on both sides are in sync. That's the basics :p

edit: main problem probably with making ufo2000 and openxcom work together is, you need to write some kind of interface between the two, which might be possible, but doesn't sound like an elegant solution. Also it needs code changes in UFO2000 which is on totally different repository, has a totally different structure (it's very very ugly code compared to openxcom :p). And in the long term, everytime somethings is changed in openxcom, you might break the interface with ufo2000, so a new version of ufo2000 needs to be released to fix it again, etc....
I made the UFO2000 installer, do I count as a developer? ;)

You might not need to create a direct interface between both programs. IIRC UFO2000 has some kind of save/script support, so a simpler approach would be to just generate a file with the mission data that would be loaded into UFO2000, play a game, and put the results back in OpenXcom.

Anyways that's besides the point. Supporting multiplayer is not an "implementation" issue, it's a "gameplay" issue. This is the kind of discussion that goes around and around over and over again, people always think "hey what if the other side had a human?", that it'd be that simple, that it'd be fun. But I don't think playing X-Com multiplayer is an enjoyable experience. You can't just "tack on" multiplayer to it.

Let me clarify. X-Com is designed to be a struggle, a challenge for the player. The odds aren't in your favor. You have to fight your way from the bottom until you can finally top them. It's a reverse difficulty curve where you start as difficult as possible and only start easing up as you gain leverage on them. It's a brutal yet enjoyable experience, but it's not balanced. The aliens are better than you, stronger than you, more powerful than you. By default it's an unforgiving punishing game and that's just with an alien AI. With an alien human, well you might as well just sit down and take it because you've pushed so far against you you're gonna have a hard time ever winning or having fun. Blaster bombs and mind control are insta-game-overs. I'm not making this up, people have tried this.

Basically if you wanted proper X-Com multiplayer you'd have to redesign the game from scratch to make sure it's balanced and fun for both sides, like UFO2000 and UFO:TTS did, and that's not really within our scope right now.
« Last Edit: October 12, 2012, 04:07:45 pm by SupSuper »

Offline Startling

  • Sergeant
  • **
  • Posts: 11
    • View Profile
Re: Multiplayer via UFO2000 project
« Reply #4 on: October 12, 2012, 04:39:09 pm »
I made the UFO2000 installer, do I count as a developer? ;)

You might not need to create a direct interface between both programs. IIRC UFO2000 has some kind of save/script support, so a simpler approach would be to just generate a file with the mission data that would be loaded into UFO2000, play a game, and put the results back in OpenXcom.

Anyways that's besides the point. Supporting multiplayer is not an "implementation" issue, it's a "gameplay" issue. This is the kind of discussion that goes around and around over and over again, people always think "hey what if the other side had a human?", that it'd be that simple, that it'd be fun. But I don't think playing X-Com multiplayer is an enjoyable experience. You can't just "tack on" multiplayer to it.

Let me clarify. X-Com is designed to be a struggle, a challenge for the player. The odds aren't in your favor. You have to fight your way from the bottom until you can finally top them. It's a reverse difficulty curve where you start as difficult as possible and only start easing up as you gain leverage on them. It's a brutal yet enjoyable experience, but it's not balanced. The aliens are better than you, stronger than you, more powerful than you. By default it's an unforgiving punishing game and that's just with an alien AI. With an alien human, well you might as well just sit down and take it because you've pushed so far against you you're gonna have a hard time ever winning or having fun. Blaster bombs and mind control are insta-game-overs. I'm not making this up, people have tried this.

Basically if you wanted proper X-Com multiplayer you'd have to redesign the game from scratch to make sure it's balanced and fun for both sides, like UFO2000 and UFO:TTS did, and that's not really within our scope right now.


I understand your point. But there was already a popular project : UFO : The Two Sides, which was shut down for whatever reason. Yes the game would have to be re-designed ultimately, but having the ability to have LAN, at a vanilla state of the game, would provide added interest for the game. For added difficulty people tend to limit their use of psi and blaster launchers, there are various challenges that you would play, various tech levels, forbidden tech. After all this is a LAN game with a person you know, not an internet tryhard that will do everything just to win.

AI is fun, but only for so long, openxcom seems to promise an ultimately moddable game, and the major issues could be fixed, even on personal basis. LAN games will spice up the otherwise dumb AI that was present both in EU and TFTD. And heck, I always wished to play with that crysalid.

PS. where in the internet games the developers are forced to develop a balanced and unexploitable game, since otherwise the player base would exploit every little trick just to win, in personal LAN vs friend game people tend to be able to achieve the agreement to have enjoyable and fun game, even with major lack of balance. UFO2000 lacks hugely the geoscape aspect of the game, and focuses purely on battlescape, so completely uneven matches would simply ruin the game, where in vanilla xcom, having most of your squad killed, and the remaining guys scrambling to get back to the skyranger was not too uncommon, and definitely did not ruin the game.

PSS. With additional option to turn on AI for some battles (where its more of a fast 3 turn psi cleanup) would completely remove the routine boredom of high-tech missions  for the 2nd player.
« Last Edit: October 12, 2012, 04:44:22 pm by Startling »

Offline Daiky

  • Battlescape Programmer
  • Administrator
  • Commander
  • *****
  • Posts: 904
    • View Profile
Re: Multiplayer via UFO2000 project
« Reply #5 on: October 12, 2012, 06:09:18 pm »
I made the UFO2000 installer, do I count as a developer? ;)
well, I wasn't a developer either, only fixed one or two tiny bugs, that I then mailed to a developer :p I only remember the many hours I spent trying to understand the code. It probably made sense to the original developers, and they probably think the same about openxcom code :p
But they had LUA scripting for some parts, so in a way more advanced than openxcom :D

I must admit I never played UFO TTS in multiplayer mode  :-\

Offline michal

  • Commander
  • *****
  • Posts: 629
    • View Profile
Re: Multiplayer via UFO2000 project
« Reply #6 on: October 12, 2012, 10:17:18 pm »

Offline 7Saturn

  • Colonel
  • ****
  • Posts: 457
    • View Profile
Re: Multiplayer via UFO2000 project
« Reply #7 on: February 27, 2015, 05:05:30 pm »
But they had LUA scripting for some parts, so in a way more advanced than openxcom :D
Sorry about taking this thread from the dead, but that specific aspect seems to kick my but right now. When starting the game after compilation under Ubuntu 12.04 x64, the game refuses to start, with this error-message:
Code: [Select]
./init-scripts/main.lua:53: attempt to index local `fh' (a nil value)
stack traceback:
./init-scripts/main.lua:53: in main chunk
And I have exactly no idea of how to fix that. I even tried to play the win-version in wine, with the exact same result in an OK-Error-Box, but under nativ Win 7 it runs more or less fine.

Offline 7Saturn

  • Colonel
  • ****
  • Posts: 457
    • View Profile
Re: Multiplayer via UFO2000 project
« Reply #8 on: March 06, 2015, 11:47:42 pm »
Anyone?