Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
podcat
Jun 21, 2012

DStecks posted:

Then update the documentation? I cannot imagine a single scenario where that takes less effort than implementing the change in-game would.

This just feels like the equivalent of stripping out the seatbelts and airbags from a car to save weight.

Implementing a feature or fixing a bug takes time X. Doing documentation for it takes Y. Total time T:
T = X + Y
For all Y larger than 0, it will be faster to just do X. It adds up as you iterate over something too because every time you do a change you need to remember to update that documentation. Also, nobody is going to have time to read that stuff and stay up to date when it changes.

Everyone can read code, so code = documentation. Lots of time saved.

I'm not saying documentation is completely useless, I am just saying that it isn't exactly free and I have never seen anyone who actually has all their documentation up to date and covering everything. So your code is the only thing you can trust to see how stuff actually works. Hence, documentation generated from code is fine, hoping someone remembers (or has time) to update some other documents nobody ever reads is just dumb.

podcat fucked around with this message at 16:09 on May 8, 2014

Adbot
ADBOT LOVES YOU

Enjoy
Apr 18, 2009
Reading course material takes time X. Reading a study guide for it takes Y. Total time T:
T = X + Y
For all Y larger than 0, it will be faster to just do X. It adds up as you progress through the course too because every time you read a new textbook you need read another study guide. Also, nobody is going to have time to read that stuff and stay up to date when the material changes.

Everyone can read books, so books = study guides. Lots of time saved.

YF-23
Feb 17, 2011

My god, it's full of cat!


podcat posted:

Nah, thats probably me, and its a giant emergent blob of, to miss-quote Dr Who, economy-whimey stuff :P Just because you understand how it works doesnt mean its easy to predict exactly how it will react in certain situations. The V2 economy ended up being too hard to control from a game balance standpoint. If/when we do a V3 we will have to do a rethink.

The literal developers of the game being unable to manoeuvre its labyrinthine economic model seems to me like something that should be considered a feature of a game that tries to simulate the economy anyway so it all works out.

podcat posted:

Everyone can read code, so code = documentation. Lots of time saved.

Ok in all seriousness though I remember that in say HoI2 there's console commands that literally no-one has any idea what they do and I'm pretty sure at this point the developers don't either. Stuff like that is just... weird. :psyduck:

gradenko_2000
Oct 5, 2010

HELL SERPENT
Lipstick Apathy
Sid Meier's Colonization is another example of an economy that was simple enough and used 2-3 digit figures enough that it was understandable by people.

Fragile Allegiance, perhaps? Port Royale? The Patrician series?

A_Raving_Loon posted:

Tangentially related - lots of minor countries in MotE are really short on generals, some to the point that they can't even fully staff a single army. Anyone looking to get into it should pick up one of the Leader-generating mods so that everyone can participate in those mechanics. Leaders gaining traits is a fair part of how your armies improve over time.

I've asked for this tool a couple of times already but never got an answer back.

elf help book
Aug 5, 2004

Though the battle might be endless, I will never give up

podcat posted:

Documentation is poo poo. It gets out of date and just takes time to make. We make games, and arent in the business of getting bogged down in "processes". Thats why we can deliver games that are actually on time at pretty good quality despite rocking teams that are extremely small.

For HOI4 we have made some code that generates documentation for modders though about scopes etc. That kind doesnt get out of date so its not a waste of time.

While we are at it, lol concept art. We just make the final art right away. Saves a lot of time!

I love you guys.

fuck off Batman
Oct 14, 2013

Yeah Yeah Yeah Yeah!



God I love that picture. Not just his left leg, but also that horse. drat that's one fat horse.


podcat posted:

Implementing a feature or fixing a bug takes time X. Doing documentation for it takes Y. Total time T:
T = X + Y
For all Y larger than 0, it will be faster to just do X. It adds up as you iterate over something too because every time you do a change you need to remember to update that documentation. Also, nobody is going to have time to read that stuff and stay up to date when it changes.

Everyone can read code, so code = documentation. Lots of time saved.

I'm not saying documentation is completely useless, I am just saying that it isn't exactly free and I have never seen anyone who actually has all their documentation up to date and covering everything. So your code is the only thing you can trust to see how stuff actually works. Hence, documentation generated from code is fine, hoping someone remembers (or has time) to update some other documents nobody ever reads is just dumb.

Wouldn't this be easier if you have a "documentation guy"? Every time you change/add/remove something, you submit it to some poor underpaid intern to also change it in the documentation.

Alchenar
Apr 9, 2008

elf help book posted:

I love you guys.

It's definitely a post to have bookmarked and filed away because there will be a day where you will want to quote it hard.

DStecks
Feb 6, 2012

podcat posted:

Everyone can read code, so code = documentation.

Speaking as somebody who's coded professionally, that's a lie and you know it. Unless you've got strict-as-poo poo coding standards, and I'm gonna guess that you don't.

Darkrenown
Jul 18, 2012
please give me anything to talk about besides the fact that democrats are allowing millions of americans to be evicted from their homes

YF-23 posted:

Ok in all seriousness though I remember that in say HoI2 there's console commands that literally no-one has any idea what they do and I'm pretty sure at this point the developers don't either. Stuff like that is just... weird. :psyduck:

Assuming no one remembered what a certain console did, they'd just look up the code and see exactly what it did, it's not really a thing that can go unknown. A lot of console commands are only there for very specific reasons (or sometimes just to mess with people) it's not surprising some seemingly do nothing.

Agean90
Jun 28, 2008


Gonzo programming. The code changes language while you try to read it

DrSunshine
Mar 23, 2009

Did I just say that out loud~~?!!!

podcat posted:

Documentation is poo poo. It gets out of date and just takes time to make. We make games, and arent in the business of getting bogged down in "processes". Thats why we can deliver games that are actually on time at pretty good quality despite rocking teams that are extremely small.

For HOI4 we have made some code that generates documentation for modders though about scopes etc. That kind doesnt get out of date so its not a waste of time.

While we are at it, lol concept art. We just make the final art right away. Saves a lot of time!

Okeydokey, I'll accept that. :x

I'll just toss this out here while I have you -- It'd be really nice for modders to be able to use the "debug events" cheat code in CK2, so we can mouse over events and things and see what ID they were.

Pimpmust
Oct 1, 2008

BillBear posted:

Is USSR at war with the allies?

Nope, it's the 1945 scenario where they are still fighting Germany, New World Order 2.

Had to prune the Japanese defenders of the home islands so the American doomstacks could trigger their surrender, the AI was already moving fleets around and trying to launch invasions of the home islands but there's only like 4 beaches in all of Japan so when they are stacked by 15+ divisions each...

USSR Bonus: They got Kiel and Hamburg in Germany, as well as northern Italy of a commy puppet there too.

And Communist China ended up with the entire eastern coast there as you can see.

Pimpmust fucked around with this message at 16:33 on May 8, 2014

Darkrenown
Jul 18, 2012
please give me anything to talk about besides the fact that democrats are allowing millions of americans to be evicted from their homes

DrSunshine posted:

I'll just toss this out here while I have you -- It'd be really nice for modders to be able to use the "debug events" cheat code in CK2, so we can mouse over events and things and see what ID they were.

I just mailed that to our mod support guy.

Dibujante
Jul 27, 2004

DStecks posted:

Speaking as somebody who's coded professionally, that's a lie and you know it. Unless you've got strict-as-poo poo coding standards, and I'm gonna guess that you don't.

Code = documentation; it's not your problem if everyone (including future you) is illiterate :smug:

Actually I have a fairly hard time getting the other developers on my team to document things and it would be frustrating if I hadn't memorized 100% of our codebase at this point :spergin:

DStecks
Feb 6, 2012

Dibujante posted:

Code = documentation; it's not your problem if everyone (including future you) is illiterate :smug:

I'd much rather spend the 5 minutes it takes to update the documentation, than risk that at some point I could lose an entire workday trying to figure out old code because I don't even have a clue how the game system works, let alone how it's implemented in code.

DrSunshine
Mar 23, 2009

Did I just say that out loud~~?!!!

Darkrenown posted:

I just mailed that to our mod support guy.

Yay! :keke: Thanks! That'll be super suuuuuuper helpful in later patches.

A_Raving_Loon
Dec 12, 2008

Subtle
Quick to Anger

gradenko_2000 posted:


I've asked for this tool a couple of times already but never got an answer back.

The one I used is here, a script that injects a bunch of generic generals into your files and adds a decision to buy generic admirals.

I'm aware that Wiz made a leader generator of his own for use in the MotE leg of his thread, but I don't recall if he ever released that to the public.

podcat
Jun 21, 2012

DStecks posted:

I'd much rather spend the 5 minutes it takes to update the documentation, than risk that at some point I could lose an entire workday trying to figure out old code because I don't even have a clue how the game system works, let alone how it's implemented in code.

If you can't understand code you wrote chances is the code is poo poo and that day should be spent rewriting it instead to be honest. Same goes for game systems (I am fully aware we have gone against this a few times, but in neither of those cases documentation would have been helpful. The lesson is instead not to make systems that complicated again)

podcat fucked around with this message at 17:43 on May 8, 2014

Dibujante
Jul 27, 2004

DStecks posted:

I'd much rather spend the 5 minutes it takes to update the documentation, than risk that at some point I could lose an entire workday trying to figure out old code because I don't even have a clue how the game system works, let alone how it's implemented in code.


podcat posted:

If you can't understand code you wrote chances is the code is poo poo and that day should be spent rewriting it instead to be honest. Same goes for game systems (I am fully aware we have broken against this a few times, but in neither of those cases documentation would have been helpful. The lesson is instead not to make systems that complicated again)

All regressions will be fixed by meticulously written and maintained unit tests, always :science:

podcat
Jun 21, 2012

Dibujante posted:

All regressions will be fixed by meticulously written and maintained unit tests, always :science:

In a perfect world yeah. We generally just beat QA with baseball bats instead

DStecks
Feb 6, 2012

podcat posted:

If you can't understand code you wrote chances is the code is poo poo and that day should be spent rewriting it instead to be honest.

Are you actually a programmer?

Patter Song
Mar 26, 2010

Hereby it is manifest that during the time men live without a common power to keep them all in awe, they are in that condition which is called war; and such a war as is of every man against every man.
Fun Shoe
I don't think it'd surprise anyone here that I'm also part of the "rather play Victoria 2 than any other Paradox game" group. On some level it clicks for me and I just adore when a country I despise breaks completely and I start getting the "Jacobin/Reactionary/Jacobin/Communist/Anarcho-Liberal/Communist/Anarcho-Liberal/Jacobin/Fascist/Communist rebels have enforced their demands on X" for the rest of the game as millions of their pops flee to the peace and quiet of the United States, all their factories disappear, and their score goes from the four digits to approaching absolute zero.

Dibujante
Jul 27, 2004

DStecks posted:

Are you actually a programmer?

I am a programmer and agree with Podcat fwiw. Most of the code I write is clear, because I've re-written it once or twice (or more times!) to maximize readability and avoided nesting access calls or conditionals or other statements that make it hard to follow the code visually. I still write documentation though. Self-documenting code, no matter how well written, is not self-documenting to people who aren't familiar with the domain, which is anyone new we hire.

ThatBasqueGuy
Feb 14, 2013

someone introduce jojo to lazyb


Patter Song posted:

I don't think it'd surprise anyone here that I'm also part of the "rather play Victoria 2 than any other Paradox game" group. On some level it clicks for me and I just adore when a country I despise breaks completely and I start getting the "Jacobin/Reactionary/Jacobin/Communist/Anarcho-Liberal/Communist/Anarcho-Liberal/Jacobin/Fascist/Communist rebels have enforced their demands on X" for the rest of the game as millions of their pops flee to the peace and quiet of the United States, all their factories disappear, and their score goes from the four digits to approaching absolute zero.

You can only truly "win" Victoria 2 when you manage to reduce the population of a still sovereign country to zero.

Patter Song
Mar 26, 2010

Hereby it is manifest that during the time men live without a common power to keep them all in awe, they are in that condition which is called war; and such a war as is of every man against every man.
Fun Shoe

ThatBasqueGuy posted:

You can only truly "win" Victoria 2 when you manage to reduce the population of a still sovereign country to zero.

You could probably intentionally do that with Montenegro or Sikkim or something, but 0 population can actually be pulled off consistently with Jan Mayen if you release it at game start. I believe they end up with 100% Literacy due to the whole "no inhabitants" thing.

Zerf
Dec 17, 2004

I miss you, sandman

DStecks posted:

Are you actually a programmer?

Not only is he a programmer, but you can tell he's an experienced programmer.

Edit: A lot of people live in sort of a dream bubble where they believe that proper documentation will somehow magically make a product good. In reality, the only thing that matters is that people using the code and/or scripts actually know how stuff works. There are plenty of different ways to teach people how to use your code base, documentation is just one way to learn it.

Sure, if we started licensing our engine to whoever wanted it, documentation would be important. But now, lots of people know the code and if you encounter a problem of some kind, you can just ask how stuff works. It is so much more efficient than maintaining documentation that someone might read.

Zerf fucked around with this message at 18:34 on May 8, 2014

Sindai
Jan 24, 2007
i want to achieve immortality through not dying
Yeah I'm sympathetic to podcat's position because whenever I go out of my way to document things it's invariably rendered obsolete the moment a coworker touches the code but not the documentation. Mostly I just try to write clear code and comment complicated or weird things like workarounds for bugs in 3rd party libraries.

Now, if you're writing an external interface that's going to be used by hundreds of other people documentation is an important part of your product, but internal documentation for a team that can be counted on one hand is a different matter.

Disco Infiva posted:

Wouldn't this be easier if you have a "documentation guy"? Every time you change/add/remove something, you submit it to some poor underpaid intern to also change it in the documentation.
This doesn't really save any time since the developers still have to put in the effort to write it up for the documentation guy. If anything, having the extra guy in the middle who doesn't know the code or domain would tend to introduce more errors in the documentation.

Sindai fucked around with this message at 18:38 on May 8, 2014

Riso
Oct 11, 2008

by merry exmarx

Darkrenown posted:

I just mailed that to our mod support guy.

Do us a real solid here and give us a debug commandline switch so we can actually see the event numbers that were used in events in random.log instead of just saying "there was an event".

PittTheElder
Feb 13, 2012

:geno: Yes, it's like a lava lamp.

DStecks posted:

Are you actually a programmer?

Are you?

I also program for a living, and I'm with Podcat on the whole 'code should be readable and it's own documentation' thing. Obviously there's lots of customer facing documentation, but all of my experience with internal documentation is that it inevitably falls way behind and just adds to the confusion. Perhaps if there was someone who's job it was to manage all of that internal documentation and make sure others were updating it, it would work, but my group of engineering staff sure isn't going to do that.

Darkrenown
Jul 18, 2012
please give me anything to talk about besides the fact that democrats are allowing millions of americans to be evicted from their homes

Riso posted:

Do us a real solid here and give us a debug commandline switch so we can actually see the event numbers that were used in events in random.log instead of just saying "there was an event".

I shall ask anyway!

DStecks
Feb 6, 2012

PittTheElder posted:

I also program for a living, and I'm with Podcat on the whole 'code should be readable and it's own documentation' thing.

And I'm not disagreeing that it should be, in a perfect world, which is why I asked if Paradox employs rigorous coding standards; because only with that can code truly be self-documenting in a team environment. What I was taking exception to was the notion that Podcat has never written a line of code that wasn't entirely self-evident in purpose upon later inspection, and unless he comments every single line of code, that is a lie.

I'll concede that my professional experience is in the realm of legacy coding on old systems, and you can be a lot better about self-documenting code when you're writing a new system from scratch, but given EU4, it's safe to assume that Paradox isn't.

Zerf posted:

Edit: A lot of people live in sort of a dream bubble where they believe that proper documentation will somehow magically make a product good. In reality, the only thing that matters is that people using the code and/or scripts actually know how stuff works. There are plenty of different ways to teach people how to use your code base, documentation is just one way to learn it.

That's a textbook Nirvana fallacy, the idea that because something isn't a magic-bullet solution, then it isn't worth doing at all.

Zerf posted:

Sure, if we started licensing our engine to whoever wanted it, documentation would be important. But now, lots of people know the code and if you encounter a problem of some kind, you can just ask how stuff works. It is so much more efficient than maintaining documentation that someone might read.

We got on this discussion from somebody mentioning that modders would like to have official documentation about what can be done with scripts, so stop acting like nobody would ever read the documentation.

Darkrenown
Jul 18, 2012
please give me anything to talk about besides the fact that democrats are allowing millions of americans to be evicted from their homes

DStecks posted:

We got on this discussion from somebody mentioning that modders would like to have official documentation about what can be done with scripts, so stop acting like nobody would ever read the documentation.

Actually, Podcat got into the discussion replying to a post about us internally not knowing how stuff works because of lack of documentation. Without wanting to be mean to modders, we don't center how we work around them.

Munin
Nov 14, 2004


PittTheElder posted:

Are you?

I also program for a living, and I'm with Podcat on the whole 'code should be readable and it's own documentation' thing. Obviously there's lots of customer facing documentation, but all of my experience with internal documentation is that it inevitably falls way behind and just adds to the confusion. Perhaps if there was someone who's job it was to manage all of that internal documentation and make sure others were updating it, it would work, but my group of engineering staff sure isn't going to do that.

Likewise, I have yet to see any internal documentation project which didn't fall apart in an order of months if it even managed to get a full set of initial documentation together in the first place.

You're better off making sure that you set up solid guidelines about how you want things named and structured (which some people will also try and rebel against but...).

The other thing to note is that what also often happens is that the documentation ends up as a sort of meta code which is just as impenetrable as the code itself (other than for the person who wrote the documentation) but even more voluminous.

Now, what I just said doesn't apply in all cases and there are definitely some instances were having a full set of documentation is essential, anything which will be extensively worked on or used by third parties being one.

Cantorsdust
Aug 10, 2008

Infinitely many points, but zero length.

DStecks posted:

We got on this discussion from somebody mentioning that modders would like to have official documentation about what can be done with scripts, so stop acting like nobody would ever read the documentation.

And modders don't get to see the code behind each callable function. They need actual documentation.

DStecks
Feb 6, 2012

Darkrenown posted:

Actually, Podcat got into the discussion replying to a post about us internally not knowing how stuff works because of lack of documentation. Without wanting to be mean to modders, we don't center how we work around them.

Paradox hired somebody to work with modding stuff, so that's not an excuse. Unless this person, in doing their job, will prepare modding documentation for the games, in which case I'd be more than happy to eat crow on this issue.

Darkrenown
Jul 18, 2012
please give me anything to talk about besides the fact that democrats are allowing millions of americans to be evicted from their homes
What does that even mean? Us having hired a guy to do mod support doesn't mean all our internal processes are orientated around modders :psyduck:

dublish
Oct 31, 2011


Disco Infiva posted:

God I love that picture. Not just his left leg, but also that horse. drat that's one fat horse.

The horse isn't fat, Napoleon is just very very small.

DStecks
Feb 6, 2012

Darkrenown posted:

What does that even mean? Us having hired a guy to do mod support doesn't mean all our internal processes are orientated around modders :psyduck:

I never said they were. Your argument against documentation is that nobody will ever read it. I counter that modders are clamoring for documentation. You say that Paradox doesn't make decisions based around modders (though you phrased it as another hyperbolic strawman), and I countered that hiring a mod manager indicates that Paradox makes at least some decisions based on modders.

Honestly, I don't really give a rat's rear end about Paradox's internal coding practices, I'd just like some documentation about how the CKII scripting system works; a comprehensive list of the things that it can and cannot do. If I had that, it wouldn't matter to me if you write all the code while completely shitfaced, because it doesn't affect me at all.

Zerf
Dec 17, 2004

I miss you, sandman

DStecks posted:

That's a textbook Nirvana fallacy, the idea that because something isn't a magic-bullet solution, then it isn't worth doing at all.

No, again, it's called experience and efficiency. We've had rigorous processes in place to document every interface and feature, which resulted in actual printed documents on how code worked. And plenty of it to boot. It was before I started at Paradox, but seeing that makes me tremble in fear about the decisions taken that led to that result. It's just a huge waste of time to devote so much effort for something that can be communicated way better by simple human interaction.

DStecks posted:

We got on this discussion from somebody mentioning that modders would like to have official documentation about what can be done with scripts, so stop acting like nobody would ever read the documentation.

I would rather see that we took the time to put up an official wiki for our games(and especially modders) which everyone could contribute to, both internally and externally. Devoted players and modders could make a wiki much more thorough, complete and up-to-date than we ever could by trying to to shoe-horn in documentation duties alongside someones regular work.

Adbot
ADBOT LOVES YOU

GenderSelectScreen
Mar 7, 2010

I DON'T KNOW EITHER DON'T ASK ME
College Slice

Darkrenown posted:

What does that even mean? Us having hired a guy to do mod support doesn't mean all our internal processes are orientated around modders :psyduck:

No, but technically it would make his job (which appears to be working with modders) far easier when modders ask him something and he doesn't have to go bothering every other employee just to get an answer if he doesn't know the code like the back of his hand. (and since you just hired him a few months ago, this might [or might not] be the case)

EDIT:

DStecks posted:

Honestly, I don't really give a rat's rear end about Paradox's internal coding practices, I'd just like some documentation about how the CKII scripting system works; a comprehensive list of the things that it can and cannot do. If I had that, it wouldn't matter to me if you write all the code while completely shitfaced, because it doesn't affect me at all.

I agree with this. I like modding CKII, but I hate having to go to different sites just to read tutorials on how to mod the game (mostly because you guys wont let people post the tutorials on your own forums)

GenderSelectScreen fucked around with this message at 19:52 on May 8, 2014

  • Locked thread