Page 11 of 18

Posted: Wed Mar 28, 2007 1:25 pm
by Doobie
films can't be run backwards, films are a series of commands that the engine plays out. It is not a collection of visual and audio elements. This is why films are so small. What you ask for simply isn't ever going to happen.

However, I don't see any reason why you shouldn't be able to jump into a film in progress at any given point, although it would certainly be worth hearing from someone more familiar with the code than I.

Posted: Wed Mar 28, 2007 1:28 pm
by Khadrelt
It'd be cool to be able to bust in on other people's films and see how different you can make the outcome :)

Although with netgames would that be possible? Once you broke in you'd have Team 0, and the other teams would just sit there?

Posted: Wed Mar 28, 2007 3:24 pm
by Archer
Doobie wrote:films can't be run backwards, films are a series of commands that the engine plays out. It is not a collection of visual and audio elements. This is why films are so small. What you ask for simply isn't ever going to happen.
Yes, I know what the films are. That doesn't by itself make it impossible, though—commands can (sometimes, if they're bijective) be played backwards, and film formats can be changed. At worst, it'd be nice to add a cache in a format that allows mapping of a state and the previous input to a previous state for the last n minutes of a film in progress.

Doesn't mean it's worth doing, of course, but the number of times I've had to rewatch a Mazz film from the beginning because I was a little too slow coming off of 16x forward…

edit^2: So I've been giving the general more thought, and it really comes down to how much information needs to be saved to make it work that isn't already. I can't begin to guess at the answer here—the main obvious thing is that the random number sequence would have to be saved, since it'd be required from arbitrary points. Exactly how big a deal it would be, again, I don't know.
However, I don't see any reason why you shouldn't be able to jump into a film in progress at any given point, although it would certainly be worth hearing from someone more familiar with the code than I.
Indeed, if anyone's out there that can indicate what barriers to this exist it'd be great.

Edit: Khadrelt: unless additional code was added to assign other people to other teams, probably.

~J

Posted: Wed Mar 28, 2007 8:51 pm
by carlinho
whaqt about using film formats like quicktime or wmp?

the one myth uses is a codec I have no clue as how to make

it would be nice to be able to insert cutscenes with quicktime that almost everyone can do nowadays

Posted: Wed Mar 28, 2007 9:21 pm
by AblitERateOR
carlinho wrote:whaqt about using film formats like quicktime or wmp?

the one myth uses is a codec I have no clue as how to make

it would be nice to be able to insert cutscenes with quicktime that almost everyone can do nowadays
if you are referring to the myth cutscenes, they are smacker files and can be created as such quite easily. If you mean the game films, they are not a codec as such, they are just a series of commands. They're not a film as such but it is more as if the computer is replaying the game for you, reproducing every click everyone made

Posted: Wed Mar 28, 2007 11:18 pm
by carlinho
oh I refererred to the ones you call smacker files
are they easily created?
how can you do it?

Posted: Wed Mar 28, 2007 11:46 pm
by Archer
AblitERateOR wrote:If you mean the game films, they are not a codec as such, they are just a series of commands.
And the pseudorandom seed used in the game.

Which brings up another possible feature: Deterministic Myth. Sure it'd be too complex to realistically take advantage of as a player, but if you could set the seed yourself at the start of the game you could do some potentially interesting things. It certainly might provide a slight extra degree of fairness for tournaments, say.

~J

Posted: Thu Mar 29, 2007 11:54 am
by vinylrake
Archer wrote:Yes, I know what the films are. That doesn't by itself make it impossible, though—commands can (sometimes, if they're bijective) be played backwards, and film formats can be changed. At worst, it'd be nice to add a cache in a format that allows mapping of a state and the previous input to a previous state for the last n minutes of a film in progress.
As you know, at any given point in time when you are viewing a myth 'film' what you are seeing on the screen at that specific point in time is the cumulative effect of everysingle action/event/unit movement/explosion/arrow/sword swing/etc that has happened since the start of the game. Myth has to 'build' the state of the world from the start of the game to the current moment by running through every single command from every single player (and the game AI) to build the state of the world you are seeing as a single 'film frame' (screen shot). To go back even a SINGLE 'frame' (or a single command/turn - I think commands from players and the AI get picked up every 1/6th of a second or something like that) Myth would have to be modified to keep track of the before and after location/state of EVERYTHING in the entire game/map (e.g. every player/monster/ambient unit's location, direction of travel, health, action as well as location/state of projectiles, where fire has burned, where footprints from units moving are on the map are, etc. etc.) . Then it would need to restore everything to that state.

If you wanted Myth to store the most recent 5 minutes of a 'film' you would have to multiply those thousands (10s if thousands?) of pieces of data that make up the state of the Myth game times the thousands of commands that make up those few minutes of replayable film and you are talking vast amounts of information which are not tracked at all at present. Unless I am greatly mistaken this would require a huge rewrite of Myth to accomplish the simple sounding 'go back' function while watching a film. And the memory requirements would I am guessing just be HUGE, probably the CPU requirements would skyrocket as well.


Maybe the next version of Myth will ship with Myth-TiVo.

PS the film format can't really be changed because it's not really a film. If the 'films' were really films and had a non-viewer modifiable point of view and framing and camera angle instead of being a replay of a game (allowing interactive camera positioning) it would be simple to change the film format and skip around the film - but that's not what a Myth film is, and what fun would that be?

Posted: Thu Mar 29, 2007 12:59 pm
by Myrd
vr pretty much nailed it on the head.

Posted: Thu Mar 29, 2007 5:58 pm
by Archer
vinylrake wrote:PS the film format can't really be changed
You just said earlier in your post how to change the recording format (fair point on my use of the word "film")—make it track additional data. Or hell, you can output it in something human-readable if you want to be masochistic. It can absolutely be changed, the question is whether or not it's worth it.

Sure, Myth "replays" the game for its recording. However, to go backwards you don't necessarily need to keep track of the location of everything, providing it's possible to take a state and an action and then figure out the previous state from it. Say, "scar on ground + dwarf bottle explosion -> dwarf bottle in air on trajectory given by rand($RANDOM_SEED, 20050), unstained ground + no command -> […] -> dwarf bottle in air on trajectory given by rand($RANDOM_SEED, 20050), unstained ground + throw bottle -> dwarf in process of throwing bottle"

That sort of backwards work. Actually implementing it would probably involve thesis-level effort, and still might not be doable with any sufficiently compact format, but I'm utterly unconvinced that it's impossible.

~J

Posted: Fri Mar 30, 2007 11:06 am
by Killswitch
carlinho wrote:oh I refererred to the ones you call smacker files
are they easily created?
how can you do it?
Easily created? Yes...mostly. Use the Smacker Tools from RAD Game Tools to convert a movie to the SMK format. (If for some reason you want to play them with TFL, I think you need to add a 64 byte Myth header to the file. M2 doesn't need it AFAIK.)

The down sides to using Smacker:
  • The tools are Windows only.
    The video gets down-converted to only 256 colors which will give your video some banding issues.
    The Smacker library has not/will not be updated to work for Intel Macs.
My 2¢ - Smacker was great back in 1997 when we had to use a 200Mhz Pentium Pro (remember them?) and software rendering was the norm. However, with dedicated graphics cards and cpus greater than 1Ghz, it's a useless and very lossy format by today's standard.

Posted: Fri Mar 30, 2007 10:41 pm
by carlinho
thanks a lot kill
that's great!
I'll give it a try

EDIT: BUAHHHH
IT CRASHES...
IT START COUNTING COLORS OF FRAMES AND CRASHES ALL THE TIME...
EDIT 2...i THINK i MADE IT WORK NOW...IT'S WORKING THROUGH RAD VIDEO TOOL EXE INSTEAD OF SMACKER EXE....!!!!

Posted: Wed Apr 25, 2007 9:20 pm
by Archer
Additional recording controls (being able to specify a time, for example, and having the recording fast-forward and pause at that time. If you want to get fancy, there's also usefulness in things like "fast forward until unit N dies, then pause", or any number of additional conditions).

~J

Posted: Tue May 01, 2007 4:26 pm
by Archer
Ability to have multiperson film viewings.

IPV6 support.



The moon?

~J

Posted: Tue May 01, 2007 5:11 pm
by vinylrake
Archer wrote:Ability to have multiperson film viewings.

IPV6 support.



The moon?

~J
Myth already has multiperson film viewing capability in both synchronous and asynchronous modes.

synchronous: Sitting at home I yell "Hey look at this cool Myth film" then everyone huddles around the computer and watches it at the same time.

asynchrounous: I watch a film then I send it to you then you watch it.

:)