Ok... NOW I'm sad.
Do this experiment: at random select 10 libraries/classes/whatever code files you are familiar with in one of those projects. Without opening them, guess how many lines of codes they have. Write it down. Then open them and count them. How many did you get right?
I am looking at a very simple piece of code right now, does nearly nothing. Its 112 lines of code. There is no optimization that can be done to it, its rather sleek code. Best I can do is making it hard to read by bumping code lines on top of each other and deleting comments. This just makes it harder to work with later, though. |
Now what if I said it had to map files from the SCM system's internal project structure to directories on servers? That target deployment directories could be nested? (So "foo_build" might deploy to /bin/foo, while "data_build" might deploy to /bin/foo/data.) What if you needed ways to filter what you extract so you could exclude targets, even if they're in the bundle? How about filtering my filename pattern? What if it had to support rolling back extracts if the deployment needed to be able to backed out? What if you wanted a report of what was not deployed, along with the reason why? If I added all of that, how long does that sound?
Even after importing external libraries for command-line parsing, logging, tar/gz file handling, directory and permissions management, and separating the actual SCM-to-directory mapping logic into a separate module, the script is just shy of 1000 lines long, including comments and whitespace. The mapping module is another 250 lines. The module for parsing the embedded manifest file is about 50 more lines.
I don't remember how long it took to write at this point, as it's been revised several times based on updated requirements. I think it has to have been on the order of 10 business days, especially once testing is included.
And that's written in something very high level that's super easy to prototype in. If I'd had to write it in C? Oh, lord.
Blue
American Steele: 50 BS/Inv
Nightfall: 50 DDD
Sable Slayer: 50 DM/Rgn
Fortune's Shadow: 50 Dark/Psi
WinterStrike: 47 Ice/Dev
Quantum Well: 43 Inv/EM
Twilit Destiny: 43 MA/DA
Red
Shadowslip: 50 DDC
Final Rest: 50 MA/Rgn
Abyssal Frost: 50 Ice/Dark
Golden Ember: 50 SM/FA
Can't tell you how many times my wife and I have had that exact conversation.
Be well, people of CoH.
The Alt Alphabet ~ OPC: Other People's Characters ~ Terrific Screenshots of Cool ~ Superhero Fiction
I use that cartoon all to often to explain my own personality to others.
Blue
American Steele: 50 BS/Inv
Nightfall: 50 DDD
Sable Slayer: 50 DM/Rgn
Fortune's Shadow: 50 Dark/Psi
WinterStrike: 47 Ice/Dev
Quantum Well: 43 Inv/EM
Twilit Destiny: 43 MA/DA
Red
Shadowslip: 50 DDC
Final Rest: 50 MA/Rgn
Abyssal Frost: 50 Ice/Dark
Golden Ember: 50 SM/FA
[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]
In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)
1. A barbarian with an arrow through his chest and pointing at a page in an open book
2. A ranger with an axe through his noggin and pointing at an open book.
The word bubble above both their heads read "No look here I killed you"
But I couldn't find it.
Blue
American Steele: 50 BS/Inv
Nightfall: 50 DDD
Sable Slayer: 50 DM/Rgn
Fortune's Shadow: 50 Dark/Psi
WinterStrike: 47 Ice/Dev
Quantum Well: 43 Inv/EM
Twilit Destiny: 43 MA/DA
Red
Shadowslip: 50 DDC
Final Rest: 50 MA/Rgn
Abyssal Frost: 50 Ice/Dark
Golden Ember: 50 SM/FA
May I ask why the NPC data was always kept hidden in the back-end of things? I've often wanted to be able to, say, look at how much resistance various enemies have, or exactly what the various powers of the Awakened are doing behind the scenes as they charge up and flash text at me, and it's always been a bit frustrating to know that it's in CoD, just hard to find.
|
Also, going strictly of secondhand information here so I may be way off, but I was under the impression that getting in trouble for leaking NPC powers from the Hami revamp was part of why Iakona "left".
I highly recommend you read this article "Why are task estimations so wrong so often?" it does not only applies to software development, it applies to almost every task you may think off. There are always hundreds of thousands of unexpected in every single large project. It's something you need to understand from the start because joining a large project thinking it's going to take a couple weeks and then quitting due to frustration or intimidation can hurt the project more than it can help.
|
[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]
In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)
[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]
In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)
And since I've seen it mentioned a couple more times, I'll repeat: The City of Data database is not where you'd want to start for something like that. It's a mess. I've been trying to clean it up here and there, but it's still missing a lot of fields, some are the wrong type or have the wrong precision (chance was rounding at hundredths, so things like 0.5% chance on Overwhelming Force showed as 0...), some make assumptions that they shouldn't, and many things are shoehorned into a relational structure that they were never designed to be in.
The AT modifiers table was one of the most mind-bogglingly strange SQL designs I've ever seen, which is why it non-obviously broke once the devs went past 50 player + NPC classes. I had to pull it out entirely and redesign it from scratch.
If you're seriously considering writing a combat engine just for the hell of it, you're much, much better off just figuring out how to parse powers.bin directly...
Maybe I'm just feeling philosophical as I sit here -- listening to a baseball game in the twilight of the season, the rich amber hue of my iced scotch reminding me of the onset of autumn, the first vague hints of which waft on in the air billowing the curtains of the open window, the faint whisper of shifting leaves outside complementing the lulling cadence of the broadcasters' call of every play. It's almost too appropriate a scene for browsing this forum, in what may be its twilight hours.
In any case, it struck me as I read the linked article the so many of life's disappointments stem from youthful arrogance, and youthful arrogance stems, in large part, from the albeit understandable tendency to over-simplify the simple -- to rely on our abstract or intellectual knowledge of a problem or a process without really understanding it in a practicable way.
Man, I'm a windbag.
And since I've seen it mentioned a couple more times, I'll repeat: The City of Data database is not where you'd want to start for something like that. It's a mess. I've been trying to clean it up here and there, but it's still missing a lot of fields, some are the wrong type or have the wrong precision (chance was rounding at hundredths, so things like 0.5% chance on Overwhelming Force showed as 0...), some make assumptions that they shouldn't, and many things are shoehorned into a relational structure that they were never designed to be in.
|
[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]
In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)
metaphorically speaking, i certainly did take a lot of pointless and avoidable detours.
maybe i'm just feeling philosophical as i sit here -- listening to a baseball game in the twilight of the season, the rich amber hue of my iced scotch reminding me of the onset of autumn, the first vague hints of which waft on in the air billowing the curtains of the open window, the faint whisper of shifting leaves outside complementing the lulling cadence of the broadcasters' call of every play. It's almost too appropriate a scene for browsing this forum, in what may be its twilight hours. In any case, it struck me as i read the linked article the so many of life's disappointments stem from youthful arrogance, and youthful arrogance stems, in large part, from the albeit understandable tendency to over-simplify the simple -- to rely on our abstract or intellectual knowledge of a problem or a process without really understanding it in a practicable way. Man, i'm a windbag. |
[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]
In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)
Just wanted to mention - in all the years I read and posted to these boards - you *always* impressed me with your willingness and ability to figure things out, Arcanaville. I just wanted to mention that, while the boards are still here...
As I told my wife today via email after I heard the news... I has a sad. I'll miss this place.
Currently: 50s (5), 40s (3), 30s (5)
Red and blue side, mostly Infinity, Virtue, and Freedom.
OT, but I just wanted to take this opportunity to thank you and everyone else here for all the hard work you've done to make CoH what it is, for all of us compulsive build-tweaking junkies. Sláinte!
|
Even now we still have the legacy of RedTomax and Iakona and Mids. There are people who still use Brawl Indexes. Arcanatime and several other contributions of mine can trace their lineage back eight years to the Powers Quantification Project, which was my first encounter with TopDoc.
It would be false modesty to say my contributions haven't been large, but its not entirely clear what they would have been if there wasn't a community of generally cooperative and helpful players surrounding me. I don't do this for any other MMO I play.
The truth is if it wasn't for Snipefu's and Powerthrust's Energy and /Energy guides, I probably wouldn't be interested in the numbers at all. If it wasn't for the Brawl Index and the PQP, I probably wouldn't be interested in measuring the numbers at all. If it wasn't for the Tanker and especially Scrapper forums' unique character, I probably wouldn't have become a quant, much less the most visible one.
I only did what I did because I wanted to, and I wanted to because it seemed to be the thing to do around here. And that's what I will really miss most.
[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]
In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)
I never managed to understand that frigging file...
At some point, if and when the end seems certain, I'll have to say my adeius as well.
|
It's a selfish hope to be sure, but I'd do my part to try and keep the community interesting .
But yes, though I hope its implied above, explicit thanks is in order for your involvement in the game. If I have any intellectual claim to fame, it's that I manage to warehouse a lot of info I've learned elsewhere. A great deal of info I've learned about CoH can be tied directly to you, either through your own discovery, or through posts making succinct description or analysis using info others had gleaned.
Starsman, I didn't hang out in the same forums as you as much, I don't think, but I learned a lot from you as well.
Blue
American Steele: 50 BS/Inv
Nightfall: 50 DDD
Sable Slayer: 50 DM/Rgn
Fortune's Shadow: 50 Dark/Psi
WinterStrike: 47 Ice/Dev
Quantum Well: 43 Inv/EM
Twilit Destiny: 43 MA/DA
Red
Shadowslip: 50 DDC
Final Rest: 50 MA/Rgn
Abyssal Frost: 50 Ice/Dark
Golden Ember: 50 SM/FA
Blue
American Steele: 50 BS/Inv
Nightfall: 50 DDD
Sable Slayer: 50 DM/Rgn
Fortune's Shadow: 50 Dark/Psi
WinterStrike: 47 Ice/Dev
Quantum Well: 43 Inv/EM
Twilit Destiny: 43 MA/DA
Red
Shadowslip: 50 DDC
Final Rest: 50 MA/Rgn
Abyssal Frost: 50 Ice/Dark
Golden Ember: 50 SM/FA
If you don't know these things even exist, I'm not sure how you can be so certain about your estimates for how long it would take to reproduce all of the combat engine's behavior.
WE ARE HEROES. THIS IS WHAT WE DO.
City et moi, �a colle !