Multiplayer. I've figured out a way

And how much time are you going to give each player to make his turn?

Six seconds!

So a day would take a full day?

staying turn-based is impractical to combine with multiplayer for cata: there are too many turns in a day to wait for the other players to do their thing.
going real-time could solve this, but then it would have to be a new game with very different game mechanics and balance. i would very much dislike a real-time (time passes whether you do something or not) approach.

Heh. I never said it was a good idea…just a feasible approach.

[quote=“jcd, post:24, topic:8620”]staying turn-based is impractical to combine with multiplayer for cata: there are too many turns in a day to wait for the other players to do their thing.
going real-time could solve this, but then it would have to be a new game with very different game mechanics and balance. i would very much dislike a real-time (time passes whether you do something or not) approach.[/quote]

I don’t think we are talking about an MMORPG here! Just a game between two buds. So like, no need to wait for anyone! Get me?

I’m ignorant, but I’ll drop an idea. The game works with a “Reality Bubble” around the character. So each character has a reality bubble and when threats enter that bubble that bubble becomes turnbased until the threat is gone, otherwise the game would just run on a relatively fast tick-turn or something.

So you could theoretically flop around all you want in real time until “herp derp, zermbeh ber,” (que final fantasy battle proc sound) and then you’re bubble is running in turnbased, while Franko is still flopping around welding his deathmobile some 3000 tiles away without having to wait for you.

[quote=“Grandpuh Ty, post:27, topic:8620”]I’m ignorant, but I’ll drop an idea. The game works with a “Reality Bubble” around the character. So each character has a reality bubble and when threats enter that bubble that bubble becomes turnbased until the threat is gone, otherwise the game would just run on a relatively fast tick-turn or something.

So you could theoretically flop around all you want in real time until “herp derp, zermbeh ber,” (que final fantasy battle proc sound) and then you’re bubble is running in turnbased, while Franko is still flopping around welding his deathmobile some 3000 tiles away without having to wait for you.[/quote]
The issue is that time stops being conserved, Franko might do a bunch of stuff that takes hours in the time it takes you to finish a short fight with a group of zombies.
Then what? Do you pause Franko until you’ve played for a few (in-game) hours? Does Franko and everywhere he visited travel backwards in time several hours for no apparent reason? Do you get eaten by an eldritch horror for messing around in non-euclidean space-time?

The main complications for a multi-player CDDA resemble this list:

  1. Networking code
  2. Standardized movement costs of various activities into discrete amounts and/or compensating somehow for actions that don’t take exactly 100 move cost, or players that have more/less than 100 moves per turn.
  3. Decentralizing reality so that more than one Ta’veren can exist in the same universe.
  4. Conserving time and actions while having more than one reality bubble without breaking causality too badly.
  5. Still have a playable game that isn’t frustrating and/or boring to perform standard actions and strategies.

Consider this: What if you’re in a turn-based system and one player wants to go into town at night and loot a bunch of stores while another player is digging a giant trench of spiked pits around his safehouse?
Player A is on 6-second turns, he’s walking around grabbing things and looking out for danger, etc. This would presumably work just like (or very similar to) a standard CDDA game.
Player B is digging holes which takes far longer than 6 seconds, does he just go AFK for 5 or 10 or 15 minutes waiting for Player A to act a certain number of times? Does his waiting force Player A into having a timed turn? Does somebody have to decide this and many other things ahead of time, resulting in a large list of host/server options, all of which must be coded? (I’m betting Yes).

Alternatively having the game automatically iterate turns, this would require players to input a command every X (6?) seconds or stand around doing nothing. This could work, but then you have all the complications of afk players going braindead and getting eaten, long-term actions taking hours, partially finished work, and more importantly if, how and when you warp time to make the game more playable. Spending 4 hours of my life to play 4 hours in CDDA would be pretty boring.

TL;DR: Figuring out what CDDA: Multiplayer would look like (and how to do it) will be complicated. Actually doing it will be way more complicated than that.

Ehhh… Maybe just make CDDA-like mod for Minecraft or something like that? I do not see how network playing would be handled by current game engine at all.

Hah! That fits amazingly well.

Alternatively having the game automatically iterate turns, this would require players to input a command every X (6?) seconds or stand around doing nothing. This could work, but then you have all the complications of afk players going braindead and getting eaten, long-term actions taking hours, partially finished work, and more importantly if, how and when you warp time to make the game more playable. Spending 4 hours of my life to play 4 hours in CDDA would be pretty boring.

MMORPGs can get boring, but only if you consider zounds of kids stacking up with grinding being the only thing on their minds. This is not, by all means, an intent to complicate or disapprove of your argument but, considering more than one online hack&slash commercial product, an absolute truth.

This issue, assessed througout this message board was more-than-once explained, so I reckon it is getting rather explicit. Winding up with a bad MP example is utterly unacceptable in the RL community and that is mainly because players stand shoulder to shoulder with game devs. Therefore if I was one of those developers who decided to create, say, a RL Arena sort of project, my success would be estimated by my peers - and the same goes for any of you. This open community is widely recognized as welcoming and sincere so if you bail in front of a (staggering, I must say) challenge that revolves around a massive multiplayer project you shouldn’t feel bad; it’s something well above a single-person (or dev, if you wish) idea and task. Even when it isn’t such a heavy-duty project people [i[do[/i] set aside their roguelike dreams to pursue real-life achievements and tackle those issues full-time.

Though I think I mentioned the following once before (it’s fair if it wasn’t me however), an active roguelike player almost always fails to comprehend the fact that a Multiplayer application that revolves around the internet almost always has a Server-Side configuration / application, and client / server relationships are something roguelike devs rarely deal with. Imagine having a car dealership in your neighborhood and going inside to ask for tomatoes. Even if there are certain individuals here who have witnessed a couple of roguelike-looking games going MMO, they have perhaps forgotten the real difference between the original and the commercial product that followed. That’s right, satisfying A LOT of people’s wishes over a short period of time is more than once called - commerce.
Are you wondering why?
It’s mostly due to the fact that most of the time people giving you (relatively) small ammounts of cash actually approve of your efforts, and by giving you slightly more (or consecutively paying for service) they applaud your hard work and your vision. In this case, the latter is crucial - you’ve estimated the size of a particular fan, or player-base and acted accordingly. Even if we’re not looking into the expansion and perfection of online services, most of us could agree this might be a little costly to finish, especially in a single breath.
So, why in a single breath?
Around this time last year (and perhaps a little earlier) people have been asking me to rule an adventure in a post-apoc world inspired with Cataclysm. Believe me, it wasn’t easy - being a gamemaster to a group of enthusiasts gathered around something that could become an idea, a group that has expectations and wants to have more and more fun is exactly what you people expect, and have expected from CataDDA devs for quite some time now. I know I needed to consult both those players [i[and[/i] gamemasters I’ve befriended only to make an effort - to put it plainly enough, have a shot at it.
And what now?
Creating a multiplayer game out of an open-ended, single-player roguelike game is not a dead-end, it’s a trainwreck. You (and by you, I mean the whole community gathered around a dozen of devs) would need to abandon a heap of ongoing add-ons to the game and incosiderably forfeit all future suggestions - and only to retrain the same devs to create a completely opposite thing from their doing so far. Suuure, yeeeah, oooh-gawd it would be nice to treat the game as a co-op classic arcade spin-off for the second player eager to share a game with his/her best friend and only because it’s not so, let’s say, unusual. This would, in fact, require yet another mod to be created only to be called native, so the issue is tackled gradually with one feature introduced at a time. This is exactly what you’re asking of CataDDA devs right now - mimicking another game and adapting it to Cataclysm:_Dark_Days_Ahead for a bit of extra fun.

Even if you don’t see how I’m not dwelling on some past transgressions, you should be able to see my advice which is, spoken from my heart, purchasing a codebase from another group of coders to create an open-sourced, multiplayer project roughly based upon CataDDA and its current build. Even if you oppose this idea, even if you actually play free MMOs - please consider this - businesses who own such enterprises had purchased such things in the past, even if their franchise is currently free of charge.

Some of the above are, more or less, the reasons why the Kickstarter Web Service came to be, and made so many people happy more than once in the course of its existence.

So what if we make a multiplayer C:DDA fork that runs kinda in real-time and have a look at how e.g. EVE Online solves the problem of long production times?

Separate the player from most of the time-consuming tasks.
Roughly lore-correct idea could be to give each character a companion drone that does crafting and reading and exchanges information with the player over a wifi chip in his brain.
Let’s say the player belongs to some futuristic survivor faction that hands out those drones and provides people with new clones when they die, created from a brain backup stored in the companion drone.
Give them some kind of teleporters to the IKEA dimension to which characters teleport for resting when players log out.

Next, the problem of walking around.
Due to performance and game design issues, the servers will initially only be used by a few people per server.
If each player performs an action right away then the 6-seconds-turn can be fast-forwarded and we don’t have to wait 6 seconds in meatspace.
If a player doesn’t perform an action, others will have to wait until his turn times out. If a player repeatedly doesn’t perform an action and doesn’t press ‘5’ or ‘.’ for ‘do nothing’, the game will assume he is AFK and not wait for his input anymore until he presses a key.

Would that work?

Are you sure you have enough dedicated programmers to be able to pull that off?

There is just too many problems to deal with, what if some decide to read a long book?

Are you sure you have enough dedicated programmers to be able to pull that off?[/quote]
No idea, depends on how much of a mess the cata code is. But let’s stay on topic.

There is just too many problems to deal with, what if some decide to read a long book?
I thank you for your valuable contribution which points out a new kind of problem that nobody has ever thought of before but may i suggest you read the post directly above, idiot?

Is the topic “actually finding a way to add multiplayer” or “what if-ing about some hypothetical multiplayer that will most certainly never happen”?
Because if the former, then it’s well on topic.

Code quality is good enough to allow adding multiplayer within reality bubble, but making reality bubbles separate yet connectable would be a big undertaking. Not because bubble code is atrocious (it’s not perfect, but it’s OK), but because 90% of effects that span entire map assume that it is a rectangle with dimensions of a reality bubble.

the topic is obviously hypothetical what-if’ing but good to hear the code is in good shape. might check it out then if really nobody in this entire forum can give any reason at all why my idea wouldn’t work.

[quote=“User, post:35, topic:8620”]I thank you for your valuable contribution which points out a new kind of problem that nobody has ever thought of before but may i suggest you read the post directly above, idiot?[/quote]What a wretched response.

Anyway.
I think it is not beyond consideration that turning CDDA into a MOO/MUD is not something that the base source code should be considered for (less effort to manage if written from scratch).
Nor are MOO’s something that haven’t been done before.
It is in my opinion that cataclysm wouldn’t really work well in that game format. Wouldn’t be very close to the same game anymore, that’s for sure, and I don’t think it’d be an improvement, in any stretch of the term.

not something that the base source code should be considered for (less effort to manage if written from scratch).
i strongly doubt rewriting C:DDA from scratch would be more efficient. personally, i couldn't imagine going through all the effort to recreate everything. but we will discuss that in a technical thread when the time comes. let's try to stay on topic for now.

i agree it would probably become a different kind of game but i think it could be fun to build a base together and fight with or against other players. maybe have more tower defense and less driving.
i’ll play with “realtime turn progression” for a while to see having limited time to act can be any fun at all.

edit: oh, currently “realtime” is paused when you open inventory or other menus. well that’s useless.

[quote=“User, post:39, topic:8620”]

not something that the base source code should be considered for (less effort to manage if written from scratch).

i strongly doubt rewriting C:DDA from scratch would be more efficient.[/quote]

I do have to ask, do you have any experience writing code? Because, from what little digging I’ve done in the Cata code, converting the game from how it handles worlds and the like now, to something that will sensibly run on a server type setup, while not suffering desync issues wouldn’t be trivial, to say the least. While you could probably salvage some code from Cata, lots of things are operating on assumptions that go out the window as soon as you have two players. Designing something from the ground up with multiplayer in mind would absolutely be easier from a design standpoint, and likely a code standpoint too, since your not trying to work around obscure issues from code that wasn’t designed to do what your doing.