Real Time

Hey, it would be really good if we could have an option to play with this the world passing a turn every 2 seconds. I mean, so, if you don’t do anything, the world keeps going. So it would be not REAL turn based, but see it as an experiment! I’d like to try it. A lot. What could be more awesome than the pressure of not being able to do nothing, hidden in a bathroom, while a zombie is breaking the house’s doors looking for you, and not having time to think? Really. Don’t see it as an ADDITION, but rather as an experiment. Does someone have the code to make a turn pass every 2 seconds, unless you are in a menu? And there should be a pause button too.

Your proposal scared the s**t out of my 1.6Ghz monocore laptop.

Good thing he’s proposing it as an option, otherwise it would have my CeleronD crying in sympathy

There is a coder that could do this? I think, it must not be that hard! It is fairly easy. Just making a turn pass every X time, and stopping the time pass while being in a menu.

It can be done with a simple script that emulates the activation of the . button (or whatever key you use to skip the turn) every x seconds, I think that anyone with some basis in the coding of cata is capable of doing it.

+1 to this idea, a real time mode would be really exciting, but I feel that you’re overstating the simplicity of adding this. I can imagine that timing issues might be quite severe.

Nah, instead it’s pretty simple, let’s take this clock, that every x seconds pass a turn, it get paused if the players opens any menu or press a pause button (like the old skip turn button for example), this will resolve any synchronization problem, if the player moves the clock will be set back to x and will re-commence the countdown.

Can someone do this?

Oh, and also, without joke, i had a dream that i was playing it on real time. No joke. I need a life.

If this is possible, perhaps in the distant future it may be possible to implement a actual real multiplayer mode?

good luck on rewriting the whole thing.

Amusing.

The thing is that it is not even that hard. If a turn are, supposedly, six seconds, and thinking that that is maybe too much, let’s get it down to 3. Every three seconds, (that can be easily counted by the code) the game will pass a turn. If you make any type of move, this count of three seconds reloads to 0, making the turn pass easily usable. Now, the problems are:

-Menus
-Sleeping, reading, etc. Anything that uses a good chunk of time.

Now, for the menus, just disable the time pass…

Or maybe not. I like the idea of struggling to find a weapon in my pockets as i am persued by a zombie. The problem with this is that the game goes to a different state in the menus, and, if i recall correctly, it does not load the game world. But if it does, the thing of time passing while the menus are ON could be easily added.

Popups, like… querys, should stop time. But it should only stop it, not reload it. Because if it reloads it, it could be abused bu the fact that someone could always query suicide and then quit the query, adding time. So it only stops it.

TIme process actions should stop time passing because they already accelerate time. The thing is that moving a turn is already a time consuming action, and attacking, eating, etc. too. But this kind of moves could fall in the " If you make any type of move, this count of three seconds reloads to 0, making the turn pass easily usable" category, so they don’t count.

I like the idea of, for example, having to persue the zombie with my crosshair when on Fire Mode.

So… it should convert, more or less, in a Stalker with zombies. YAHOOOOOOOOOOOOOOOOOOOO.

What about if you pressed move just before the timer to pass the turn/on the timer? If you were surrounded by zombies, that one turn could make all the difference. What about with fighting? You’d have to button mash to make sure you killed stuff fast enough, but if you went one or two turns over, you’d end up getting hit loads of times by other stuff.
The only way would be to have long pauses (a few seconds) before things move onwards (so storing all the commands given and then executing them once the ‘turn’ is over), which would make it basically turn based/horribly messy/really annoying when you wanted to do things quickly.

However, I could see that after a while of staying still time could move on - that’d be an interesting feature. So lets say after 10 seconds of staying idle, a turn went by to add extra tension - but still, it’d be mega messy.

Synchronisation issues of all players in the ‘same’ realtime is gonna be completely different than emulating time passage for one player - computers only communicate near-instantly with the server, which only communicates near-instantly with the other players. There’s whole ways of dealing with that successfully as MMO’s showcase, but it’s a very different process in execution.

I’d be curious to try Cataclysm with time passage, but then I’d probably get stressed out as hell and go back to turn-based XD

Synchronisation issues of all players in the ‘same’ realtime is gonna be completely different than emulating time passage for one player - computers only communicate near-instantly with the server, which only communicates near-instantly with the other players. There’s whole ways of dealing with that successfully as MMO’s showcase, but it’s a very different process in execution.

I’d be curious to try Cataclysm with time passage, but then I’d probably get stressed out as hell and go back to turn-based XD[/quote]

No, multiplayer is far more hard to make with this engine.

What about if you pressed move just before the timer to pass the turn/on the timer? If you were surrounded by zombies, that one turn could make all the difference. What about with fighting? You’d have to button mash to make sure you killed stuff fast enough, but if you went one or two turns over, you’d end up getting hit loads of times by other stuff.
The only way would be to have long pauses (a few seconds) before things move onwards (so storing all the commands given and then executing them once the ‘turn’ is over), which would make it basically turn based/horribly messy/really annoying when you wanted to do things quickly.

However, I could see that after a while of staying still time could move on - that’d be an interesting feature. So lets say after 10 seconds of staying idle, a turn went by to add extra tension - but still, it’d be mega messy.[/quote]

10 seconds is too much, considering it should be realistic. Now, the game content i read says that a turn are 6 seconds, so lets take six.

“You’d have to button mash to make sure you killed stuff fast enough, but if you went one or two turns over, you’d end up getting hit loads of times by other stuff.”

Haven’t you seen that when you hit, it actually takes more or less time depending on the weapon? Well, instead of continuing the time pass here, the clock should reload, and the time consumed would be the one of the attack. That math is already in the game.

So it is not a button mash. A button mash would be the exact same as button mash on the normal game. Exactly the same.

[quote=“StopSignal, post:14, topic:3911”]“You’d have to button mash to make sure you killed stuff fast enough, but if you went one or two turns over, you’d end up getting hit loads of times by other stuff.”

Haven’t you seen that when you hit, it actually takes more or less time depending on the weapon? Well, instead of continuing the time pass here, the clock should reload, and the time consumed would be the one of the attack. That math is already in the game.

So it is not a button mash. A button mash would be the exact same as button mash on the normal game. Exactly the same.[/quote]

I don’t get exactly what you’re trying to say, but I can’t see it being feasible without completely reworking the game so much that it wouldn’t become cataclysm. The way the game is made is that even two or three hits (early in the game) can get you killed/infected, and any real time method would not give you precise enough control by a long shot.

I think what you’re talking about is a slowed down ‘real time’, which is basically turn based which automatically moves on after a certain amount of time. This is pretty awful design as you’re either waiting or missing turns, and it just becomes basically turn based without the control.

Roguelikes don’t work in real-time, especially this game.

I am not wanting to change tha game. The game is good as it is. So don’t say that.

I ask if there is a way to actually code this and try it. At least for personal use.

@StopSignal - think of yourself as a writer. Every line of text you write comes after the previous one, in general, right? The lines you write in a roguelike game are turns; the engine behind the game recalculates them as min:hou:day and picks up on that, like when you show up at a fresh map tile. Your actions influence the whole lot, so if you “review” a line (a turn in-game) you do so with an appendix; it is the same “line” only expanded with the exact number of turns passed in-between your visits.
When you want to change this fact, you need to alter the “opinion” of the game towards the character; rewrite every line of code so your actions depend on the real_time<–>game_time scale (if you wanted 20 mins to be a day in game, for example) and define the speed factor of every instance and its iteration. You get the drill? :smiley:
Now, it’s easy to achieve this if the game is Space Invaders or an Arcanoid clone, for example. Even the levels that are there are dependent on your actions, but the timeline’s enclosed so it’s rather simple (think of the time schedule of a TV network’s channel). It’s when you have an open world like this that the zounds and zounds of problems arise, because you have whole areas to load into memory and render them “playable” - doing so along the game_timeline.

I don’t really mean to discourage anyone, altough I think that for CataDDA this could be manageable only with some SPECIAL mode of a sort, like defense or pit_monsters where you get to decide on the actual pace. There’s a reason the genre is sometimes called “dungeon crawling” - it’s the best thing to put in front of turn-based logic.

Ah, the charming naiveté.

Capable? Sure, most of the devs would be capable of it. “Simple”? Haha, no. Not even close.

Really? I can’t imagine it is THAT hard. I don’t know much about C++ but have a call every loop that checks time since last loop. If time passed is greater than 2 seconds, then call the “next turn” function. If movement received, reset the timer. Unless of course CATA doesn’t update every frame but only when actions occur. Then that would be harder.