Demos - Can't live with it, Can't live without it


Airborne_Ninja

 

Posted

So, recently I've gained a renewed interest in demo editing and have done a decent amount of researching. A few days ago I started a little project (totally sekret until it gets slightly useful ) that I think might solve (or at least help with) some of the largest challenges/annoyances about the Demo System, namely that the files get massive very quickly and require a massive amount of tedious work.

But since I'm not an expert at working with Demo files, I'm wondering if I might be creating a solution in search of a problem... so what does the demo editing community, those that find demos far too daunting of a task to attempt to attempt, etc think are the problems with the Demo system? Are my vague points on the right track? Or am I just an crazy loon that shouldn't talk about things I know little about? (oh wait, this is the internet, I'm required to talk about things I know nothing about as if I was an expert )


Quote:
Originally Posted by ShadowNate
;_; ?!?! What the heck is wrong with you, my god, I have never been so confused in my life!

 

Posted

ya there are a lot of flaws with the demo system, what I can't stand is getting positions right in my demos because there is really no other way to check to see if you are correct then loading the demo which takes forever. Of course, the system wasn't intentionally designed for players to use, correct me if I'm wrong, but I think some just stumbled onto them and decided to use them


 

Posted

[ QUOTE ]
what I can't stand is getting positions right in my demos because there is really no other way to check to see if you are correct then loading the demo which takes forever

[/ QUOTE ]

By this do you mean getting two characters/objects the correct distance away + orientation for, say, an animation (like an attack) to look correct? Having the camera looking at the correct location? Having the scene take place in the corrent spot (say, having the scene taking place in the fight club circle in Siren's Call without having to do a massive amount of work manually positioning everything)? Pretty much all of these are things I should be easily solvable with the right tools and the right information available in a way that the tools can easily access and manipulate.

The program I'm writing I believe will eventually be able to alleviate these problems as well as lots of others (like the overwhelming size of demo files) while still using the currently existing system as a foundation.


Quote:
Originally Posted by ShadowNate
;_; ?!?! What the heck is wrong with you, my god, I have never been so confused in my life!

 

Posted

The size of demos doesn't bother me a bit. Heck, they are tiny compared to AVI files! Though huge ones can sure bog my demo edit program down badly.

History Lesson:

2001 or so, soon after the public boards for the game started and before NCSoft was part of the picture: a topic on the boards started up regarding in game videos. I proposed and campaigned for "videos" to be stored as a recording of the client/server conversation instead of trying to record an MPG or some such. Others were proposing that the server itself keep track of what's going on then allow people to watch the results via a web page or something.

Feb 26, 2004 (a couple of months before release): Pohsyb (or possibly Poz) told us how to record demos. I remember he mentioned that he might get in trouble for telling us. Once the servers came up, I jumped online and made a few recordings with Tesslah. You can actually see a bit of one of them if you look up the "All Star" video by Ms Abyss (at 2:43).

I'm pretty certain the point of these demos is not really for us to use. The technology is mostly there so the devs can easily demonstrate the game. Just record the game being played, stick it on a computer at a convention, and let it loop forever. (Thus the "demo" name.) It also can be handy for creating videos and handy for the QA folks to show bugs happening.

Now, since then, we've been able to show that these things are really handy for making player-made videos. That can lead to more viral advertising which can lead to more $'s for NCNC. Hopefully that will mean more demo love in the future.


 

Posted

[ QUOTE ]
The size of demos doesn't bother me a bit. Heck, they are tiny compared to AVI files! Though huge ones can sure bog my demo edit program down badly.

[/ QUOTE ]

I wasn't meaning the actual size on disk, I was more so meaning that they're incredibly verbose and hard to deal with without using a special program.


Quote:
Originally Posted by ShadowNate
;_; ?!?! What the heck is wrong with you, my god, I have never been so confused in my life!

 

Posted

Yes, it sometimes feel like you're wading through WAR AND PEACE to get a haiku's worth of demo out of it. Unfortunately, short of coding your own so you can try and streamline it as much as you want, if you're /demoing in-game, brace yourself for a TON of stuff you might not need.

Michelle
aka
Samuraiko/Dark_Respite


Dark_Respite's Farewell Video: "One Last Day"
THE COURSE OF SUPERHERO ROMANCE CONTINUES!
Book I: A Tale of Nerd Flirting! ~*~ Book II: Courtship and Crime Fighting - Chap Nine live!
MA Arcs - 3430: Hell Hath No Fury / 3515: Positron Gets Some / 6600: Dyne of the Times / 351572: For All the Wrong Reasons
378944: Too Clever by Half / 459581: Kill or Cure / 551680: Clerical Errors (NEW!)

 

Posted

I started poking around at demos just recently, so I have a wishlist of sorts regarding creating demos:

1) I wish I could get better camera control.
2) I wish I could load up CO* characters in a program like this that would let me do closeups and such using emotes within the game.
3) I wish I could take a scene, place characters within it and then move the camera around to record emotes so I could add dialogue later.

Truly, my issue is my own really, because I'm a longtime Poser user and I really just want Poser for CO*. Then I want Poser for CO* to accept files from other games so I can have stories where my characters fight the giant robots from Exteel or
pick up some interesting pets/sidekicks with everyone singing "Kumbaya" together, but that's real "pie in the sky".

But you seem to have something in mind. Could you offer any more details?


 

Posted

Ive always wondered if you could export City of Heroes/Villains character models to Gmod.


 

Posted

[ QUOTE ]
1) I wish I could get better camera control.

[/ QUOTE ]

I have a few ideas about this. The two mains ones I'm thowing around are being able to pin/attach the camera to an NPC/Character then set the camera's location relative to that, defaulting to facing the character (like it works in-game). The other idea, which might be more powerful but harder to create, would be to use a setup a-kin to CAD programs, giving the user a top/side/back view of the scene (if I'm feeling daring, 3D view as well) which'd paint the locations of all the characters/NPCs and allow you to position the Camera location/orientation.

If more information was available about the in-game maps it'd also be possible to give a wire-frame view of the world allowing you to ensure you're not placing your characters in the floor/etc, but thats not something practical to do without information only the devs have access to, at least without getting mod slapped.

[ QUOTE ]
2) I wish I could load up CO* characters in a program like this that would let me do closeups and such using emotes within the game.

[/ QUOTE ]

Well here's a question for people: Does CoX load up the entire demo file at load time and read from an in-memory copy, or does CoX only read the current line + a small buffer ahead? If the latter, and Widow's explicit file-locking doesn't get in the way, it might be possible to sort of control CoX in real-time (well, with a large enough delay to always give CoX enough data so it never thinks it finished the file). This is kind of a far fetched idea that isn't likely to work, though.

Theres probably many ways to simplify just viewing emotes with a character, but I'm not sure if my program will go close to as far as you want in this case.

[ QUOTE ]
3) I wish I could take a scene, place characters within it and then move the camera around to record emotes so I could add dialogue later.

[/ QUOTE ]
Unless my far-fetched idea from before works, you'd need to say what you wanted to happen before you started the demo at the very least.


Quote:
Originally Posted by ShadowNate
;_; ?!?! What the heck is wrong with you, my god, I have never been so confused in my life!

 

Posted

[ QUOTE ]
2) I wish I could load up CO* characters in a program like this that would let me do closeups and such using emotes within the game.


[/ QUOTE ]

ya I used to do wow machinemas and the viewer was so nice because you can do green screen at any angle with any emote and any armor. Still waiting for someone to come up with a similar, if not the same, system. I know a lot of people who would be really happy with it


 

Posted

Kitsune -

Ah, so you seem to be thinking in terms of a 3D program's control of cameras. The Top, Side and Front cameras would be interesting if you could be sure that their origin points weren't from the edges of whatever map the character was on otherwise all the walls and scenery would get in the way. Perhaps if the cameras were defaulted as a few feet from the player character...

This sounds almost like it'd have to be a utility that would load the demofile but would also add the extra cameras for greater control. Hopefully it would also add a Pause feature to pause the demo, as well as Reverse and Forward features to move back and forth thru the demo timeline.

Of course, I could be talking about stuff beyond the scope of what you were thinking. I was just spitballing ideas. I'll be quiet now.


 

Posted

[ QUOTE ]
Well here's a question for people: Does CoX load up the entire demo file at load time and read from an in-memory copy, or does CoX only read the current line + a small buffer ahead? If the latter, and Widow's explicit file-locking doesn't get in the way, it might be possible to sort of control CoX in real-time (well, with a large enough delay to always give CoX enough data so it never thinks it finished the file). This is kind of a far fetched idea that isn't likely to work, though.

[/ QUOTE ]

From my tests in the past, it loads the whole thing. I've tried editing demos while playing them and it hasn't worked for me. There could be a buffer, but I doubt there is one.


 

Posted

[ QUOTE ]
This sounds almost like it'd have to be a utility that would load the demofile but would also add the extra cameras for greater control.

[/ QUOTE ]

It pretty much would, although without breaking the EULA (i.e. extracting the actual data from the PIGG files) I wouldn't be able to use the in-game models/maps but could still show the relative position/orientation of everything, including where the camera would be positioned and, with if I delved into OpenGL, a view from the Camera's point of view.

[ QUOTE ]
Hopefully it would also add a Pause feature to pause the demo, as well as Reverse and Forward features to move back and forth thru the demo timeline.

[/ QUOTE ]

Well remember that I wouldn't be using the in-game engine so it wouldn't be something you'd want to be recording, but it would be theoretically possible to construct a timeline and sort of act out what should appear in the game (although without having access to information I can't access I can't guarantee you won't be in a wall... but it'd be trivial for a program to go through the file and shift everything over a few feet if you're just slightly off of where you intended to be) and include a pause/rewind/fast forward. Mind you, at the moment the stage I'm working on is designing a lexer/parser to read both the cohdemo format (primarily to extract characters/npcs/maps/and animations with as much contextual information as possible), as well as another format which'll be the true essence of my application.


@Relentless,
Shame, that would have opened up all sorts of possibilities. Another posibility, when it loops does it re-read the file or does it just keep using the same information again? If it re-reads the file then you could do some interesting things with that, such as making it easier to position your scene (like I mentioned higher up in the post, simply shift everything a bit, you could even bind a global shortcut to try moving everything north/south/east/west/higher/lower for the next loop).


Quote:
Originally Posted by ShadowNate
;_; ?!?! What the heck is wrong with you, my god, I have never been so confused in my life!

 

Posted

I'm pretty sure it just loops the same demo, regardless of what you change.


 

Posted

Yep, once it's loaded, it's loaded. You can't even switch it via the command console.

A real, graphic demo edit program would be awesome. However, it would also be a huge undertaking for a third party. NC NorCal already has all the graphic models and full understanding of the PIGG files, but I think it would take them at least 1000 hours. Even just showing a character against a flat green background doing emotes would be massive. (WoW can do it but WoW characters are far more similar to each other.)


 

Posted

[ QUOTE ]
Even just showing a character against a flat green background doing emotes would be massive.

[/ QUOTE ]

Actually, they already have/had a program that could do that, it was distributed with (or for) City of Hero (the Korean version), but AFAIK they can't do that in the US due to their agreement with Marvel (at least that was the prevailing theory, doubt it was actually confirmed).

Without access to the PIGG's data (which I doubt they'd change their policy on) you can still still have a graphical demo of the demo, using placeholders for NPCs/Characters/etc and having a monitor that'd show the state of all the NPCs/Characters (i.e. to show what emotes they have active, etc). Instead of being a complete replacement for the whole demo system it'd be a way to greatly simplify the system while still working within the limitations.


Quote:
Originally Posted by ShadowNate
;_; ?!?! What the heck is wrong with you, my god, I have never been so confused in my life!