What's left for Myth?
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.
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.
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.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.
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.
Indeed, if anyone's out there that can indicate what barriers to this exist it'd be great.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.
Edit: Khadrelt: unless additional code was added to assign other people to other teams, probably.
~J
Failure: when your best just isn't good enough.
- AblitERateOR
- Posts: 165
- Joined: Sat Jul 01, 2006 8:30 pm
- Location: Auckland, New Zealand
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 madecarlinho 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
Mac OSX 1.4.9
Intel 1.83 Dual Core iMac
1GB RAM
Intel 1.83 Dual Core iMac
1GB RAM
And the pseudorandom seed used in the game.AblitERateOR wrote:If you mean the game films, they are not a codec as such, they are just a series of commands.
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
Failure: when your best just isn't good enough.
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.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.
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?
Lots of Myth stuff at http://mythgraveyard.org.
Sometimes I put hard to find stuff in my my Udogs folder.
Sometimes I put hard to find stuff in my my Udogs folder.
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.vinylrake wrote:PS the film format can't really be changed
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
Failure: when your best just isn't good enough.
- Killswitch
- Posts: 142
- Joined: Tue May 25, 2004 2:04 pm
- Location: Los Angeles
- Contact:
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.)carlinho wrote:oh I refererred to the ones you call smacker files
are they easily created?
how can you do it?
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.
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
~J
Failure: when your best just isn't good enough.
Myth already has multiperson film viewing capability in both synchronous and asynchronous modes.Archer wrote:Ability to have multiperson film viewings.
IPV6 support.
The moon?
~J
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.
Lots of Myth stuff at http://mythgraveyard.org.
Sometimes I put hard to find stuff in my my Udogs folder.
Sometimes I put hard to find stuff in my my Udogs folder.