| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Demo effect sequencing
How does everyone script their effects these days? (e.g., if you're calling effect1 for 100 frames, then the init for effect2, then effect2 for the next 240 frames etc)
Ad hoc timers and flags, or some kind of scripting language compiled to an include, or? |
|
... 14 posts hidden. Click here to view all posts.... |
| |
Stone
Registered: Oct 2006 Posts: 172 |
In Offence, we usually agree beforehand to use a specific memory location, say $dc01, to signal the transition to another effect. Other times, we use Pantaloon. I highly recommend Pantaloon.
To be serious though: I generally use a global frame counter and state tables (a list of subroutines). |
| |
algorithm
Registered: May 2002 Posts: 705 |
I use the quick and dirty method via vice snapshots to time each routine and adjust counter when required, then to use the required value, assemble, crunch, link and on and on... |
| |
Fuzz
Registered: Nov 2004 Posts: 19 |
Some music editors have an "event" flag.. basically the composer can set that flag whenever they want and the coder can monitor it. As soon as the flag changes the next event can happen.
Cosine's EMS 7 music editor has this function. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11391 |
i am another global counter boy. one very handy thing about it (imho) is that you can very easily add the 100ms extra delay so you can edit sync in emu |
| |
lft
Registered: Jul 2007 Posts: 369 |
Why, Spindle of course. |
| |
Hate Bush
Registered: Jul 2002 Posts: 466 |
"Cosine's EMS 7 music editor has this function."
Goat Tracker has it as well. |
| |
CreaMD
Registered: Dec 2001 Posts: 3058 |
In my version of DMC5.0 I butchered AD (there is AD and SR command in dmc.. quess what is it doing) command for that (never used it) the value in AD command (wchi can be used in any track in any channel) can be easily read from the memmory (somewehre in the music routine memory area).. you can have 255 different values for anything.. timing is absolutely exact.. tested on a simple intro, dunno if it was released. Apart from that I never used it anywhere yet.
In We can't code the demo was "recorded" by hand. I was pressing the keys to launch the routines. Every key (from numeric keyboard) had some routine hooked on it. It was recorded and then replayed back.. what a crappy idea.. I don't know how many times I started over... |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Wow, Spindle looks fantastic. I started trying to write something similar in the leadup to BFP 2006, but left it too late, and by the time I began half my parts were already shitting all over $dd0x and $01, so debugging was a nightmare.
Global counter looks like a pretty popular source of synchronisation. Still doesn't say how people wrangle jump tables etc, but for now I'll keep bashing a BCC into a list of JMPs when each routine detects it's complete. (or, you know, use a jmp indirect if I'm particularly low on space..)
I was considering using my music player to generate an extra stream of bytes for (e.g.) routine ID per frame, or perhaps also a stream of modulation values. Interesting that no-one seems to have gone beyond a 'skip to next' flag.
Very cool about the rotor effect! |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
@CreaMD - that "recording by hand" thing is giving me nightmare flashbacks; a lot of the missions on Driver and Driver 2 were built that way, back when I was a PSX dev. So many restarts, and I wasn't even the one driving. A good portion of the time even just re-exporting the game level would disturb the physics enough that they'd all need recording all over again. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11391 |
Quote:Interesting that no-one seems to have gone beyond a 'skip to next' flag.
coma light 13 syncs directly to the music, for example. also in crowdpleaser a bunch of things are synced to the music. |
Previous - 1 | 2 | 3 - Next |