All_Star

Apprentice
  • Posts

    63
  • Joined

  1. [ QUOTE ]
    How do you convert this to a file that others can download on the internet?

    [/ QUOTE ]
    The HUGE downside to converting demos to avi/mpg/etc files is that after converting the files are massive compared to the size of the original file. A demo file is the smallest and fastest way to get the material transfered for COH players. They alos take up less space on your hosting site and suck less bandwith out of any allowances your host may limit you with.

    Demos are also extremely compression-friendly; even further reducing file size and bandwidth concerns for creators with a quick ZIP.
  2. It concerns the recently discovered bug in the demorecord function. Zloth covers the details in this post in his Demo FAQ.

    While the post covers the upcoming I4 changes; altering demofiles with I3 versions to correctly list the players' costume variables also works if you are working with I3 demofiles.
    Tested. Confirmed.
  3. Point of clarifaction?

    Maybe it's the two different characters you are using that is throwing me off...

    If I follow you correctly, the 29 variables on the lines following the COSTUME command, bodytype, and (umm, I forget what the 2nd variable is for in the COSTUME command ) should all be on the same COSTUME command line?

    So the CuppaJo declaration would appear as follows:
    0 2133 NEW CuppaJo
    0 2133 COSTUME 1 9bb2ff 8.228567 -0.873016 -0.015873 -0.015873 -0.555556 -0.809524 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873 -0.015873
    0 2133 PARTSNAME Tight Metallic None 0000aa 1f0b00
    0 2133 PARTSNAME Tight Metallic None 0000aa 1f0b00
    etc...


    Yes? No? I'm out of my mind? (Wouldn't be the first time. )

    If so, the COSTUME command now takes 31 variables instead of the old 2?

    And now for the really hard questions ....
    <ul type="square">[*]What are valid values for the slider variables?[*]What is each slider set for/change?[/list]
  4. I had toyed around with the idea of extending the time for the intro text, but I had a couple of reasons for going with the times I ended up with.

    Timing: At the times I ended up with Ron makes some moves in his EMOTE cycle that just seemed to fit with the text that was being used. I realize this may not hold true for all machines depending on their loadtimes, but there was just something that looked "right" about the head scratch or shifting position when he asks for the missions to be done.

    Flavor Text: The opening is intentionally slow-starting. As such, is only uses flavor text about the NPC so slower machines can fully load the demo and get it going before the actual "meat" of the demo starts. By "prepping" the scene with the NPC dialog even the slowest of rigs should be able to get it fully cranked up before the mission selection starts.
    Basically, the intro text can be skipped just like most players do with in-game NPCs.

    I appreaciate the feedback and thank you for it and the groundwork that you laid out that made it possible.

    I would have loved to toss this into the ring for a demo contest, but haven't seen anything for pure demo work, just converted and tricked out videos.
  5. [ QUOTE ]
    1. Go.
    2. Hunt.
    3. Kill Skuls!

    [/ QUOTE ]

    Had problems reading the book?

    Just can't follow the explination from other people?

    Now you view it all with Go. Hunt. Kill Skuls. The Movie.

    Statesman knows what to do. Do you?

    Watch Go. Hunt. Kill Skuls. The Movie.


    Just ask these heroes:

    "I cried. I cheered. I laughed my cape off." - The Capeless Hero

    "I don't get it." - Clueless Wonder

    "I used to get beaten up by Infected Brawlers. Now I know what to do." - Pathetic Loser
  6. I'd like to extend my thanks to Scuzz, Cumulo, Zloth and Marbles for their wealth of resources they have made available on demos.

    Thanks to their materials to aid me in getting over a few rough spots I was able to complete Go. Hunt. Kill Skuls. The Movie.
    Done almost completely by hand, I would love to see anyone's designs on a Demo Scripter that could handle creating demos that could cut down on spending a month to create a 6 minute demo.
  7. Tired of EVERY shot hitting your favorite heroes and heroines in your demos and having to make them look like they shrug it off?

    Need to show that no villian can possibly hit such a physically adept individual like the characters you showcase?

    It is possible to have the special FX of powers miss their intended target. You just have to tell them where to go.

    Consider this example Void Stalker model (#4079) and his opponent model (#3376) :

    0 3376 FX OneShot 1397199 POWERS/COSMICPOWERS/NICTUS/NICTUSQUICKBLAST/NICTUSHUNTERBLASTHIT.FX 1397198
    0 3376 FXSCALE 10.000000 10
    0 3376 ORIGIN ENT 0 0
    0 3376 TARGET ENT 4079 0
    200 4079 MOV 2ND_SHOTGUNSHOOT
    0 4079 FX OneShot 1397198 POWERS/COSMICPOWERS/NICTUS/NICTUSQUICKBLAST/NICTUSHUNTERBLAST.FX 0
    0 4079 FXSCALE 10.000000 10
    0 4079 ORIGIN ENT 0 0
    0 4079 TARGET ENT 3376 0


    A standard shoot/hit combo. (Though why the hit takes place 200 milliseconds before the actual shot animation and shot FX activation is beyond me. )

    Also consider a shoot/miss combo :

    0 4079 MOV 2ND_SHOTGUNSHOOT
    0 4079 FX OneShot 1397244 POWERS/COSMICPOWERS/NICTUS/NICTUSQUICKBLAST/NICTUSHUNTERBLAST.FX 0
    0 4079 FXSCALE 10.000000 10
    0 4079 ORIGIN ENT 0 0
    0 4079 TARGET POS -3045.586426 -55.896221 2511.771484


    Instead of the usual :
    Time Shooter# TARGET ENT Target# 0

    Use:
    Time Shooter# TARGET POS X Z Y

    With a missed shot the intended target doesn't enter into the equation. A destination still has to be declared and utilized; although, this can be any valid 3D space coordinate.

    Soon enough, there won't be a villain out there that can hit your favorite hero.

    Note: Untested with melee attacks, but you should be using a MOV BLOCK_L or MOV BLOCK_R to avoid them anyways.
  8. [ QUOTE ]
    What if someone whacked up a little beauty of a 'scripter' so that the bulk of the minutae is done in chunks? Sorta like object-oriented code, if you will. You save a 'draft' to work from, and a 'finished' to run. (It might help to also be able to 'drop' actors/effects into the scripter using a loaded library. Especially for custom models.)

    [/ QUOTE ]

    Love the idea, but I am sooo not writing the code for it.

    Debug? Sure.

    But between demo editing, html for my SG pages, Real Life, and a certian addictive online game, by the time I got anything done we'd be at Issue 53!

    The database work for the builder would be a huge undertaking. Once you start throwing powers and special FX into the mix, the timing can really go out of whack.

    I have noticed that the demo files deal with each model/FX in sequence which makes life a little easier to design a singly linked list to deal with the expansion and shrinkage of the object list on the fly and just going through it head to tail updating as needed. Tagging non-One Shot FX for notification of when to end them would be a slight problem if the demo being made was allowed to be hand edited since the timing could be offset by anything a person added in with a non-standard timestamp. I'm not dealing with it.
  9. [ QUOTE ]
    You can have spaces in strings if you put quotes around it...

    [/ QUOTE ]

    It has been a while since I did a command line parser. Forgot about the usual rule of swapping the delimiter to the next quote character encountered to specify a character string assignment.

    Have to mod my notes then, but the final product will be something to the effect of:

    Part six is the character string to be generated over a model's head. If Part five has a non-zero value, no text will be generated; the number will be displayed instead. For numeric values to be displayed the sixth operand should be a null string (or ”“). For text to be displayed the string to be displayed is entered without quotes if a single word; enclosed with quote characters if spaces are to be part of the character string (ie., "TWO WORDS"). In the above example the word CRITICAL will be displayed.

    Has been tested...

    4 3152 floatdmg 3201 -0 "BANG BANG"

    ... results in ...

    BANG BANG

    Thanks for catching my oversight, Zloth.
  10. Random scribbles from latest experimentation in no particular order: <ul type="square">[*]The space character is the string delimiter. Variable 6 cannot have a space as part of the character string.
    KA-POW != KA POW[*]TODO: Test Underline character for use in Variable 6 and visual FX in display mode.[*]TODO: Test zero character as 5th variable and use numerical value as 6th variable[*]floatdmg is billboarded at a fixed distance z-depth from CAM location. Modifying CAM location or FX origin point does not effect display size of floatdmg.[/list]
  11. [ QUOTE ]
    Criticals! Dang it, I forgot about those so my demo edit program is ignoring them. Thanks for the reminder, All_Star!

    [/ QUOTE ]

    I didn't want to clutter up the (ahem) simple anwser to the powers question with some additional information so I did not post the following from my own notes (added onto from Cumulo's, Zloth's and Marble's notes) and experimentation...

    CHANGE!! (2005-02-15)

    16 2 floatdmg 88 179 ""
    0 2 floatdmg 88 179 ""
    0 2 floatdmg 88 0 CRITICAL
    0 2 floatdmg 88 0 KA-POW!!


    Part one is the millsecond delay
    Part two is the ID number of Origin of the damage. Model #2 in this example.
    Part three is the command to float text over the target's head.
    Part four is the model ID number of the Target that will have text floating over it's head. Model #88 in this example.
    Part five is the numeric value to generate a character string in RED or in GREEN. Red text is generated by using positive values. Green text is generated by using negative values. (-1 or below) Using a zero will generate no number and is best used in combination with the sixth operand.
    Part six is the character string to be generated over a model's head. If Part five has a non-zero value, no text will be generated; the number will be displayed instead. For numeric values to be displayed the sixth operand should be a null string (or ”“). For text to be displayed the string to be displayed is entered without quotes. In the above example the word CRITICAL will be displayed.



    In the above example the following will be generated over the Target's head:
    179
    179
    CRITICAL
    KA-POW!!


    It is about as close as you can get to the campy Batman TV Show-like FX of BIFF!! BASH!! and BOFF!!

    Although, it is also handy for a BAMF! when used with AE Darkness powers and a 333 Model_ID# POS X Z Y combination to emulate a certian teleporting character who shall remain nameless for legal reasons.
    The 1/3 of a second delay is usually long enough for the human eye to register that something happened and let the mind fill in the blanks before moving the Model. Alternately, a NPC_PuddleNoCollision model could be used at the Model's location with the Darkness FX and floatdmg taking place on it before destruction. (Hit one of the Model Lists to get actual Model Name.)

    Like coding, modeling, and animation, there are many roads to Rome. How you get there is your choice.

    Take out floatdmg from my demos?
    NEVER!!

    Edit: Not in my notes since I know it off the top of my head but others may want to know beforehand...

    Text strings used as the sixth operand will always appear over the target's head in RED. Even a -0 as the fifth variable will not make the outputted text string found in the sixth variable green.
  12. [ QUOTE ]
    what are the commands for using powers?

    [/ QUOTE ]
    That is a very large subject to deal with. It covers a wide variety of combinations which all have to be covered to make it look good.

    Are you asking about powers which only affect the user? Are instant? Are persistent? Powers which affect a single target or multiple targets? With or without special effects? With reactionary animations?

    As you can see from that very short series of questions there are a lot of possibilities which can be covered with such a seemingly simple question.

    For example, for a simple Martial Arts Crane Kick to hit its target and send it flying takes a multitude of commands and variables. To begin with, our player model (#2) needs to make the animation for the Crane Kick:

    0 2 MOV MA_IRONKICK

    435 milliseconds later (at least in the combat demo I am using as a reference; there are additional events which happen before this which total up to a time of 435 milliseconds) the damage can be shown to float over the target model:

    106 2 floatdmg 77 157 ""
    0 2 floatdmg 77 157 ""
    0 2 floatdmg 77 0 CRITICAL


    65 milliseconds later the special effect of the hit takes place:

    7 77 FX OneShot 234 POWERS/MARTIALARTS/MACRANEKICKHITS.FX 0
    0 77 FXSCALE 10.000000 10
    0 77 ORIGIN ENT 0 0
    0 77 TARGET ENT 2 0


    There is a lot of data involved with just this one effect. In the first line after the time delay and the model ID number the command that a special effect is taking place is given with FX. The type of special effect is then listed. In this case, the special effect of the Crane Kick only takes place once. The special effect is then given an individual ID number which only relates to special effects. The location of the special effect to use is then referenced. I am currently unsure of the relevance of the trailing operand at the end of the command line. (0 in the above case.)

    The special effect is then scaled to the model with the second line.

    The third line makes a reference to the origin of the special effect. Normally this is the model that will be having the special effect placed on it.

    The final line indicates which model ID number placed the special effect on the target model.

    With that all in place the model has to react to the hit. To begin with, it starts moving 51 milliseconds later:

    51 77 POS -1326.809326 7.49375 92.121872

    This location is away from the model that performed the Crane Kick and up from the "floor" of the map.

    17 milliseconds after the movement, the model reacts to getting hit:

    17 77 MOV KHF

    The exact intention of the KHF move is a mystery. I prefer to think it stands for KnockbackHitFly since it fits both the move name and the body positioning of the animation. It is also handy for any animation where the model has to go flying backwards from Knockback of other types.

    The victim of the kick continues to fly through the air:

    42 77 POS -1325.771851 7.83125 90.771873
    52 77 POS -1324.734375 7.96875 89.421875
    70 77 POS -1323.521851 7.98125 87.896873


    The model in this example has reached the top of the arc from flying backwards and has to react accordingly and start falling downwards while flying backwards out of control:

    63 77 MOV KHF_APEX
    0 77 POS -1322.309326 7.59375 86.371872
    70 77 POS -1321.146851 6.60625 84.896873
    71 77 POS -1319.984375 5.21875 83.421875
    58 77 POS -1319.134399 3.50625 82.290627
    51 77 POS -1318.484375 2.59375 81.359375
    58 77 POS -1318.034424 2.43125 80.878128
    59 77 POS -1317.984375 2.46875 80.796875


    And finally impact with the ground:

    64 77 MOV KHF_IMPACT
    51 77 POS -1317.895264 2.484375 80.773438
    59 77 POS -1317.90625 2.5 80.75


    And all of that is just from one hit on one Target that doesn't last, doesn't have to stop affecting the Target, and has no special effects showing from the Origin!! All in the space of less than a second and a half!!

    Using powers in your demos is a very detailed and lengthy process. In most cases it is best to get a demo in game of the actual powers being used. You can then look at the demo to determine the effects they cause, when they start, when they stop, movement/rotation involved, and reaction times.
  13. Much easier to read, as well.
    Thanks Robotech.