Main Menu

Demorecord Hosting?

Started by therain93, December 02, 2012, 05:34:11 PM

therain93

It woudl be kind of nice to have a spot where people can upload demorecords with tags associated with it.  Some people might find it nice to browse, others for finding certain "parts".
Any thoughts?
@Texarkana - March 5, 2004 - December 1, 2012 -- Imageshack |-| Youtube
---------------------------------------------------------------------------------------

You don't know what it's like.... |-| Book One. Chapter one...

Glass Goblin

I've been trying to get something like that going since September. I guess I should get off my butt and do it myself.

Hotaru

I could definitely get behind this. In the last few months, every time I'd mention some old demo I'd played back, people in the global channels would tell me, "Throw that bad boy up on YouTube." Well, my current machine is crap, so it'd hardly be suited to rendering the demos into a shape anyone would want to see. But demo recordings themselves are nature's perfect food--compact, ripe for editing, and now with added camera freedom.

A place where people could not only post their cool stuff but also request things's they'd like to see ("Hey, anyone got a demo of Manti's wedding?"), ask for info on maps, models, MOVs, or even share tips on how to do different things would be great.

therain93

So, what would be an ideal solution?  We want it to be free.  We want it to be self-serve. We'd like to attach some meta-data to it. We want it to have some sort of search capability.
We could always default over to Google.  I'm not sure what part Titan would be interested in playing.  What were you cooking up mk?
@Texarkana - March 5, 2004 - December 1, 2012 -- Imageshack |-| Youtube
---------------------------------------------------------------------------------------

You don't know what it's like.... |-| Book One. Chapter one...

The Fifth Horseman

Quote from: therain93 on December 03, 2012, 12:50:03 PM
So, what would be an ideal solution?  We want it to be free.  We want it to be self-serve. We'd like to attach some meta-data to it. We want it to have some sort of search capability.
We could always default over to Google.  I'm not sure what part Titan would be interested in playing.  What were you cooking up mk?
"Free" is a matter of hosting.
Self-serve, metadata and search have almost nothing to do with the hosting. As long as the hosting service supports scripts and a modest database, all of those can be done.
We were heroes. We were villains. At the end of the world we all fought as one. It's what we did that defines us.
The end occurred pretty much as we predicted: all servers redlining until midnight... and then no servers to go around.

Somewhere beyond time and space, if you look hard you might find a flash of silver trailing crimson: a lone lost Spartan on his way home.

Glass Goblin

In the short term — meaning I have no plans to make this a permanent solution — I have a domain and host ready for action at glassgoblin.com. No code yet, but if someone wants to point me at a suitable file uploading package I'll try to get it going today. (I have no practical PHP skills to speak of.)

Keiphy

This is something I've been wracking my brain about for weeks now.
Unfortunately, I have never done anything even remotely similar and would have to start totally from scratch.

The best I was able to come up with that I am certain I could implement is having everyone upload their demos individually and send me the link along with tags and whatever metadata.
I would then manually (with help from local scripts) update a database (mysql or simple table) and update a post on this forum or a google doc from it.
People could then use their browsers search function to find content.

As you can tell, this is obviously suboptimal; so I'd greatly appreciate it if someone more skilled at this could come up with something.

The Fifth Horseman

Okay, guys... I am familiar with PHP and MySQL. Can help with the software side - it shouldn't be more than a few days' worth of effort for me.
But I need a little cooperation from you. Namely, a slightly more detailed spec of what functionalities you expect the system to provide - and I don't mean UI-wise but rather backend-wise; the UI will logically come from there.
1. What sort of information you want available regarding the demo records once they are uploaded?
2. What do you want the entries to be tagged with? Give me a few examples.
3. What other information you want to store on your website? Screenshots, character profiles (I've seen there is some interest in that among other users), chat logs (that could be associated with the demos?)?
4. Anonymous upload or user accounts? If accounts, do they need to be approved as "uploaders" first?
5. Do you want any sort of comment or rating system?
6. Do you want the content-related section of the database to be exportable by public in any part?
7. Do you have any sort of page layout already in mind (or even already designed)?
We were heroes. We were villains. At the end of the world we all fought as one. It's what we did that defines us.
The end occurred pretty much as we predicted: all servers redlining until midnight... and then no servers to go around.

Somewhere beyond time and space, if you look hard you might find a flash of silver trailing crimson: a lone lost Spartan on his way home.

Glass Goblin

Quote from: The Fifth Horseman on December 04, 2012, 12:00:34 AM
Okay, guys... I am familiar with PHP and MySQL. Can help with the software side - it shouldn't be more than a few days' worth of effort for me.
But I need a little cooperation from you. Namely, a slightly more detailed spec of what functionalities you expect the system to provide - and I don't mean UI-wise but rather backend-wise; the UI will logically come from there.
1. What sort of information you want available regarding the demo records once they are uploaded?
2. What do you want the entries to be tagged with? Give me a few examples.
3. What other information you want to store on your website? Screenshots, character profiles (I've seen there is some interest in that among other users), chat logs (that could be associated with the demos?)?
4. Anonymous upload or user accounts? If accounts, do they need to be approved as "uploaders" first?
5. Do you want any sort of comment or rating system?
6. Do you want the content-related section of the database to be exportable by public in any part?
7. Do you have any sort of page layout already in mind (or even already designed)?

First, thank you for your offer! Here's what I had in mind.


  • For each upload we would ideally have the contributor's name, demo date, live/test/beta requirement, user-provided description, map name.
  • If possible the tags should be free-form, with the initial batch of tags provided by the contributor. Then, depending on security, allow other users to add and modify the tags.
  • At the moment I'm primarily concerned with demofile resources, although I really like the idea of storing contributed character designs in suitable form to slot into your own demo.
  • Allow anonymous uploads, but queue them for moderation before publishing. Approved uploaders get a new role allowing them to skip the moderation queue.
  • Comments and ratings are "nice to haves," but not all that important.
  • I hadn't thought of it, but yes, allowing everything (approved) to be exported to a zip file would be a terrific feature!
  • There's no design completed or even in mind.

The only other thing I'd really like to get is a database like the Codex, where specific demo elements could be stored and searchable. Paired with that, if possible I'd love to have the system parse through the uploaded cohdemo files and select out key objects — all players, NPCs, actions, etc — to compare with what's already in the resource table, adding records where appropriate.

Oh, and the moon. I'd like the moon, too.

therain93

Quote from: mkhall on December 04, 2012, 12:39:58 AM
First, thank you for your offer! Here's what I had in mind.


       
  • For each upload we would ideally have the contributor's name, demo date, live/test/beta requirement, user-provided description, map name.
  • If possible the tags should be free-form, with the initial batch of tags provided by the contributor. Then, depending on security, allow other users to add and modify the tags.
  • At the moment I'm primarily concerned with demofile resources, although I really like the idea of storing contributed character designs in suitable form to slot into your own demo.
  • Allow anonymous uploads, but queue them for moderation before publishing. Approved uploaders get a new role allowing them to skip the moderation queue.
  • Comments and ratings are "nice to haves," but not all that important.
  • I hadn't thought of it, but yes, allowing everything (approved) to be exported to a zip file would be a terrific feature!
  • There's no design completed or even in mind.
The only other thing I'd really like to get is a database like the Codex, where specific demo elements could be stored and searchable. Paired with that, if possible I'd love to have the system parse through the uploaded cohdemo files and select out key objects — all players, NPCs, actions, etc — to compare with what's already in the resource table, adding records where appropriate.

Oh, and the moon. I'd like the moon, too.
I'll second the thank you and I think that mk pretty much covers it. My only little tweaks would be:
1.  For each upload we would ideally have the contributor's name, demo date, live/test/beta requirement, user-provided description, map name, approximate client version, and upload date.
2.  I don't mind freeform tags that can be added, but I think it would be nice if the script could potentially pull and index information straight from the file -- specifically "map" and "new" keywords.   These would become associated tags that one wouldn't edit, but be able to search for, making it possible to search for demos of other people's player models or npcs, which goes with mk's #3.   Having it pull NPC and write those out to the codex database would be nice too and may not be too difficult, assuming php is anything like g/awk, which was the last unnumbered suggestion ( ' :
If there's going to be a login (and I do like the idea of associating uploads to people), I'd say build it such that if it were integrated with the Titan Key, it won't become an epic issue to do.
@Texarkana - March 5, 2004 - December 1, 2012 -- Imageshack |-| Youtube
---------------------------------------------------------------------------------------

You don't know what it's like.... |-| Book One. Chapter one...

The Fifth Horseman

* There's no record about the client version in the demo file. The closest thing to "automatic" I can provide in this regard would require you filling in data on the release dates of each issue to live, test and beta servers beforehand. Then the uploader would only need to fill in the recording date and which of the three server categories it was recorded on.
* Indexing maps, FX, entities and costume parts is doable. Indexing player characters by name can be done if you like, but be aware it may lead to confusion when demos from characters named the same but existing on different servers are uploaded.
* Login code will be as self-contained as possible, so that you can replace it in the future.
We were heroes. We were villains. At the end of the world we all fought as one. It's what we did that defines us.
The end occurred pretty much as we predicted: all servers redlining until midnight... and then no servers to go around.

Somewhere beyond time and space, if you look hard you might find a flash of silver trailing crimson: a lone lost Spartan on his way home.

Glass Goblin

Quote from: The Fifth Horseman on December 04, 2012, 11:10:10 AM
* There's no record about the client version in the demo file. The closest thing to "automatic" I can provide in this regard would require you filling in data on the release dates of each issue to live, test and beta servers beforehand. Then the uploader would only need to fill in the recording date and which of the three server categories it was recorded on.
* Indexing maps, FX, entities and costume parts is doable. Indexing player characters by name can be done if you like, but be aware it may lead to confusion when demos from characters named the same but existing on different servers are uploaded.
* Login code will be as self-contained as possible, so that you can replace it in the future.

Yes, we'd need to rely on the uploader to fill in the date and server. If they got the server wrong the downloader would find out quickly enough, when things failed to load.

PC names aren't essential, and wouldn't be authoritative, anyway. Perhaps there could be an uploader selected dropdown of the server name where it was recorded? There's no way to verify it, but there's no way to verify any of this other stuff, either.

Which brings me to another point I thought of last night. In addition to the free-form text field for the contributor's description of the file, we should include a checkbox for "edited." Then if some kind soul wanted to create demo files ready for personal character additions — a nice scenic shot in the Hive, for instance — they'd be searchable.

Does that make any sense? I think my coffee levels are still low.

TonyV

Hey guys, just FYI, we've been talking about this behind the scenes among our Titan Network developers--a combo demorecord and Sentinel+ site where you could store your stuff and other people could reference it, also serving as a library in case anyone needs it.  ("Crap, what is the map name for Skyway City again?")

We haven't talked about specific implementations of the idea, but personally, I imagine a site where you upload your demorecords, it pulls out metadata such as:
  • Characters contained within the demorecord file and their costumes
  • NPCs contained within the demorecord file, along with their costumes and/or model name
  • Location of the demorecord
  • Who uploaded it
  • Possibly different commands executed in the demorecord, such as animations, power effects, emotes, etc.
  • Maybe (within the limits of not violating people's privacy) chat that takes place

...and so on.

As for as Sentinel+ files, I'd eventually like for them to be able to be imported into CIT.

As you can imagine, though, we've all been really busy, so new development is a bit beyond our grasp at the moment.  As time goes on, though, I'm hoping that the issue becomes moot if City of Heroes is somehow relaunched.  Otherwise, as other activities progress, we'll probably have more time to circle back and look at this.

Hotaru

TonyV, we know you (collectively) have a lot on your plate right now. The demos will be here if and when the Titan Network needs them. I know Chaos Ex Machina was also grabbing a ton of stuff in the last days both to fill in holes in the Titan Network's info and to have something to show people when we say, "See how awesome this game was?" Whether that's links from mission articles to demo files and/or YouTube vids of playthrus, there's plenty that can be done when the dust settles a bit.

spindisc

I once did some demohacking and created my own site that I uploaded demorecords too. It then analysed the content and made you group new animations and models into categories (that I probably nicked from Codex).

It's not been updated for years, but it still works. You can try it out here:
http://www.randomdice.com/cohdemo/

Let me know if you need any help with this project. I don't have much time but I would love to contribute.

therain93

Quote from: spindisc on December 05, 2012, 01:21:07 PM
I once did some demohacking and created my own site that I uploaded demorecords too. It then analysed the content and made you group new animations and models into categories (that I probably nicked from Codex).

It's not been updated for years, but it still works. You can try it out here:
http://www.randomdice.com/cohdemo/

Let me know if you need any help with this project. I don't have much time but I would love to contribute.
HOLY <bleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeep>, DUDE!  I don't have time to dig in as I have to go to work, but that's most of it right there. Outstanding!
@Texarkana - March 5, 2004 - December 1, 2012 -- Imageshack |-| Youtube
---------------------------------------------------------------------------------------

You don't know what it's like.... |-| Book One. Chapter one...

Glass Goblin

Quote from: spindisc on December 05, 2012, 01:21:07 PM
I once did some demohacking and created my own site that I uploaded demorecords too. It then analysed the content and made you group new animations and models into categories (that I probably nicked from Codex).

It's not been updated for years, but it still works. You can try it out here:
http://www.randomdice.com/cohdemo/

Let me know if you need any help with this project. I don't have much time but I would love to contribute.

Nice work! Perhaps you could share notes with The Fifth Horseman, who is starting on a similar project?

Glass Goblin

Quote from: TonyV on December 05, 2012, 06:31:09 AMAs you can imagine, though, we've all been really busy, so new development is a bit beyond our grasp at the moment.  As time goes on, though, I'm hoping that the issue becomes moot if City of Heroes is somehow relaunched.  Otherwise, as other activities progress, we'll probably have more time to circle back and look at this.

TonyV, clearly you and the team are already doing a tremendous amount for the community, and are overwhelmed with projects. Since there are skilled people here with an interest in this project, would it be possible for us to try to do some of the basic work to get it started? I am reasonably certain we can get an alpha-level application running with minimal involvement from the Titan team, probably nothing more than making sure we don't use inherently incompatible systems. Spindisc has the bones of one working already, and The Fifth Horseman was about to start on a slightly more detailed version.

And yes, I am willing to put my money where my mouth is, and volunteer to coordinate the efforts. I've got fifteen years experience as an IT project manager supervising just this sort of multi-team "fast first, good later, pretty someday" insanity.

The more quickly we can get something simple in front of interested players, the less chance there is of that interest fading.

spindisc

I did some digging and found some fragments of my old code. It dates back to 2005 using old technologies... and looking at the source it's a bit messy.  :roll:

But I could clean it up and hand it over to anyone who's interested. It's nothing fancy, but it works. Basically it hacks the demofile into string rows analyzing it's content and making arrays of models, fx and stuff, then compares that to what's already in the database. I guess I need to check if the demofileformat have changed so I wont miss things. [Ok, just looked int the files and they still say Verion 2 so I guess they are compatible.] We should of course look fro other things to like costumes and maps and stuff.

Data is currently stored in an Access database.

So, should I clean this up? I could make it as a separate DLL that you could plugin wherever. Oh, and I code in Visual Basic in VS 2012. Sorry, but VB has been my main language since ... since... well, since they introduced it in 1991. Gosh! Now I seem old.  :-\

Glass Goblin

I uploaded a file and it threw an error, but seems to work otherwise. Of course, there are some categories missing, but that is easily enough handled.

VB 2012. Heh. I remember sitting down to upgrade our applications to VB6. (And I first starting doing "web apps" using Classic ASP. Kids today and their functional languages and useful APIs...)