Building huge crowds: a new tool for demo editors.


airhead

 

Posted

Words do not do it justice.

And I can't find a proper picture or gif either.


 

Posted

Absolutely wonderful, That made me smile and say amazing


 

Posted

That's going up as my desktop background for a long time... after i pick up my jaw.


The final line of a post by Sweet_Sarah on Liberty
"Together we entered a city of strangers, we made it a city of friends, and we leave it a City of Heroes."

 

Posted

Leandro, now that we've seen a sufficient display of your power, would you kindly lift your pinky finger and teleport the CoX servers away from NC and into friendlier hands? Oh, and a sandwich, can you do that too?

J/K, beautiful work. Thou art a coding wizard!


 

Posted

Leandro, a bit random, do you know if there is a way to quickly remove gfx and auras from demo files?


 

Posted

That is the definition of Badass right there!



Leandro, I would LOVE to "Waldo" that puppy and see if I can find myself. Is there a hi-rez version out there in the world?


Le Blanc 50 Dark/Dark Scrap
High Huntress 50 Archery/NRG Blast
And a goatload of others. On a goatload of servers.
Official Rickroller of Hero Con 1

 

Posted

I see that you explained, in great detail, what you did to create such an awesome pic, but I didn't understand any of it! *swills down 4 ibuprofen" cause my head just exploded Seriously though, this is incredible, and just another example of the diverse population of people we have in this gaming community. Great job! I showed the Youtube video to some friends at work (non-gamers), and they were so impressed. Also, now they know I'm a closet geek Thanks for all your work on this...it's FANTASTIC!


 

Posted

Simple? For you, maybe! Awesome, awesome work.

(And I still can't find my toon in all of those. LOL!)


--Virtue--
My 50s:
Tigra Swipe (BS/SR/Dark Scrapper)
Galena Storm (Emp/Ele/Ele Defender)
Master Tolarin (Psi/Fire/Force Blaster)

 

Posted

Quote:
Originally Posted by Leandro View Post
After I posted that last video with the 3000 heroes, two things became apparent to me. One, placing characters in a straight line looks unnatural and cruddy. Two, it's freaking hard and I never want to do it again.

Thus, I made tools to make it easier and better looking.
Leandro, can I suggest an image with heroes gathered in a pattern spelling "AP33".

I think it's appropriate and remembered a monumentally memorable moment in the game's history.


Syphon Strike
Prophet of The Ancients Returned
50 Kinetics/Psychic Defender - Virtue
Back after two years of WoW!

 

Posted

My god.

Thank you Leandro! Incredible results, and very cool to release the scripts. I'll be playing with this on the weekend. Time to learn a programming language!



Arc: 379017: Outbroken See all your old friends in the Outbreak Tutorial sequel!
Arc: Coming Soon: The Incarnate Shadow Shard of Fire and Ice Mender Rednem needs you!
Massively.com opinion poll: Please Help Save CoH!

 

Posted

I simply have to chime in here and say..

Seriously excellent stuff, Leandro! Well done!

;clap

oh, forget that noise...

;praise

Mike


August 31, 2012. A Day that will Live in Infamy. Or Information. Possibly Influence. Well, Inf, anyway. Thank you, Paragon Studios, for what you did, and the enjoyment and camaraderie you brought.
This is houtex, aka Mike, signing off the forums. G'night all. - 10/26/2012
Well... perhaps I was premature about that whole 'signing off' thing... - 11-9-2012

 

Posted

Figures: I threw that picture together in 2 minutes to show that you could use any bitmap, rendered it in low quality just to get it out there, and THAT is the picture everybody likes.

Quote:
Originally Posted by VoodooGirl View Post
Leandro, a bit random, do you know if there is a way to quickly remove gfx and auras from demo files?
ALL of them? Quite trivial with a Perl script. Throwing this together in the thread without testing, but it should work:

Code:
open(INFILE,"<demo.cohdemo");
open(OUTFILE,">outputdemo.cohdemo");
while ($in = <INFILE>) {
	print OUTFILE $in if (!($in =~ / FX | FXSCALE | ORIGIN | TARGET /));
}
close(OUTFILE);
close(INFILE);


www.SaveCOH.com: Calls to Action and Events Calendar
This is what 3700 heroes in a single zone looks like.
Thanks to @EnsonsDeath for the GVE code that made me VIP again!

 

Posted

Quote:
Originally Posted by Le Blanc View Post
Leandro, I would LOVE to "Waldo" that puppy and see if I can find myself. Is there a hi-rez version out there in the world?
No, but feel free to look yourself up in the actual demo file: https://dl.dropbox.com/u/37952257/portal.zip

Like I said, I just threw this together to show that you can use any bitmap as a template, so I did NOT tweak it to make sure everybody who was in the rally fits. There's only 1958 characters in there, and I don't know if yours is in it. My mains (Doctor and Blazing) aren't in it, but a lowbie I threw together for Nature Affinity (Gardener Leo) is.

If someone with a giant multimonitor setup wants to render the file in super high quality, go right ahead.


www.SaveCOH.com: Calls to Action and Events Calendar
This is what 3700 heroes in a single zone looks like.
Thanks to @EnsonsDeath for the GVE code that made me VIP again!

 

Posted

Ok I created an image out of everywhere my character moved, then I colored the PNG image red where I wanted characters to spawn, but now I'm lost at the step where...

"My second script takes an image like that one, and spawns random entities wherever red is above 64. The density (how close characters will be together) is customizable. After running it, it creates the demo and also this log image:



I can't seem to get that to happen. What am I doing wrong?

Please forgive the noob question.


 

Posted

Quote:
Originally Posted by Angelus Animi View Post
Ok I created an image out of everywhere my character moved, then I colored the PNG image red where I wanted characters to spawn, but now I'm lost at the step where...

"My second script takes an image like that one, and spawns random entities wherever red is above 64. The density (how close characters will be together) is customizable. After running it, it creates the demo and also this log image:



I can't seem to get that to happen. What am I doing wrong?

Please forgive the noob question.
OK, the second script has a few lines at the top that need changing. The most important are:

$group = 'Characters'; # Folder in which the characters are stored.

You do have a folder full of captured characters with the extract script, right? If you don't have a folder full of characters, there's nothing for the script to add, and so it won't do anything. If your folder is not named 'Characters', put the correct name in this line.

$file = 'Atlas'; # Name of the PNG/TXT pair and the demo that will be written.

What did you call your demo, and the image you colored? Put the PNG name in here where it says 'Atlas', so the script knows the file it needs to parse.


www.SaveCOH.com: Calls to Action and Events Calendar
This is what 3700 heroes in a single zone looks like.
Thanks to @EnsonsDeath for the GVE code that made me VIP again!

 

Posted

'Characters' file is full and ready to go and PNG image is Map2. So I made it look like this..

$group = 'Characters'; # Folder in which the characters are stored.
$file = 'Map2'; # Name of the PNG/TXT pair and the demo that will be written.
$density = 2; # How close characters are together.
$id = 1; # First ID number to write to the demo file.
$maxid = 3000; # Last ID number to write to the demo file.

Still no Characters spawn and my Log file is all red not dots for characters.


 

Posted

Quote:
Originally Posted by Angelus Animi View Post
'Characters' file is full and ready to go and PNG image is Map2. So I made it look like this..

$group = 'Characters'; # Folder in which the characters are stored.
$file = 'Map2'; # Name of the PNG/TXT pair and the demo that will be written.
$density = 2; # How close characters are together.
$id = 1; # First ID number to write to the demo file.
$maxid = 3000; # Last ID number to write to the demo file.

Still no Characters spawn and my Log file is all red not dots for characters.
Characters is a folder, not a file. We're clear on that, right? It's a folder, which .char files inside. The .char files are created with the first script, that extracts them from all the .cohdemo files it finds.


www.SaveCOH.com: Calls to Action and Events Calendar
This is what 3700 heroes in a single zone looks like.
Thanks to @EnsonsDeath for the GVE code that made me VIP again!

 

Posted

Quote:
Originally Posted by <span style="color: White; font-weight: bold;">Leandro</span> View Post
Characters is a folder, not a file. We're clear on that, right? It's a folder, which .char files inside. The .char files are created with the first script, that extracts them from all the .cohdemo files it finds.
Yes sorry it is 'Characters' folder.


 

Posted

Inside the "Characters' folder are tons of names and each when opened looks something like this:

NEW "8th Gatekeeper"
COSTUME 1 121d39 0.392203 0.619048 -0.015873 0.047619 1.000000 -0.428571 0.619048 -0.079365 -0.015873 0.333333 -0.396825 -0.238095 0.333333 -0.333333 -0.746032 0.365079 0.269841 0.142857 -1.000000 -1.000000 -0.015873 0.714286 -0.015873 -0.301587 -0.714286 -1.000000 -1.000000 -0.365079 -0.047619 -0.682540
PARTSNAME shorts !X_Hips_Skin_Witch_01 !Hips_V_Skin_fem_Witch_01_Mask 00316161 00000000
PARTSNAME Jackets_Sleeves !X_Chest_Skin_Witch_02 !Chest_V_Skin_Fem_Witch_02_Mask 00316161 0014003d
PARTSNAME V_fem_Head.GEO/GEO_Head_V_Asym_Standard !Face_Skin_V_Fem_Head_77 !V_Face_Goth 00000000 00e3e3e3
PARTSNAME Smooth skin_bare none 00cc0100 003d0029
PARTSNAME V_FEM_BOOT.GEO/GEO_LlegR_Witch_01 !X_Boot_Witch_01 !boot_V_Witch_01_Mask 00316161 001e1e61
PARTSNAME V_FEM_BELT.GEO/GEO_Belt_Security_Belt_05 !X_Officer_Belt none 00000000 00000000
PARTSNAME V_FEM_Hair.GEO/GEO_Hair_Magic_Hood_01 !Hair_V_Magic_Hood_01 !Hair_V_Magic_Hood_01_Mask 001e1e61 0063c0c0.................


 

Posted

Quote:
Originally Posted by Angelus Animi View Post
Inside the "Characters' folder are tons of names and each when opened looks something like this:
OK, that looks good then. I'm unsure where the problem is. Can you email me your Map2.png and Map2.txt so I can take a look at them? My email is leandrotlz@gmail.com


www.SaveCOH.com: Calls to Action and Events Calendar
This is what 3700 heroes in a single zone looks like.
Thanks to @EnsonsDeath for the GVE code that made me VIP again!

 

Posted

OK, I got your image. There are multiple problems, which I'll address here so other people running into them can see the solutions.

This is your image:



Problem #1: it's 16 million color. I said in the post where I put the scripts that the Perl library that parses images doesn't like 16 million color for some reason. Use 256-color only.

Problem #2: The green line is color green=71; remember, green indicates elevation. The more green, the higher you were walking. Yet, the red you used is red=237, green=28. Since 71-28=43, the characters will spawn 4.3 units *below ground*. You'd only see their heads. The color also has some component of blue, which would trigger the Flight animation if you copied the script as-is. You should use red=128, green=71, blue=0 if you want the characters to spawn in the ground in a neutral pose (different shades of red = different rotation, remember).

Problem #3: the tool you are using to draw antialiases the lines. This means they "soften" at the edges, turning a different color. Because colors mean very precise things for the script, this is bad. Characters that spawn in those edge lines will spawn at different elevations and with different rotations. You need to use pure colors only, no aliasing.

This is how I cleaned up your image a bit:



Note that I didn't address the aliasing problem. And after running the script:


www.SaveCOH.com: Calls to Action and Events Calendar
This is what 3700 heroes in a single zone looks like.
Thanks to @EnsonsDeath for the GVE code that made me VIP again!

 

Posted

Note for anyone using the script: the reason why it wasn't taking 256 color images was indeed a trivial bug: $map = GD::Image->new("$file.png"); doesn't like truecolor images, and should be replaced by $map = GD::Image->newFromPng("$file.png",1); for everything to work right. I edited the post where the scripts are to reflect this change.


www.SaveCOH.com: Calls to Action and Events Calendar
This is what 3700 heroes in a single zone looks like.
Thanks to @EnsonsDeath for the GVE code that made me VIP again!