Author Topic: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.  (Read 13857 times)

0 Members and 1 Guest are viewing this topic.

Offline Stormkeeper

  • Interviewer Extraordinaire
  • 211
  • Boomz!
The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
Stormkeeper: Ok. Settle down children. Ladies and gentlemen, tonight we have two members of the SCP team,  Chief1983, and Goober5000.

* Goober5000  waves

Chief1983: Si senor

Stormkeeper: And they have graciously consented to be subject to the First Action.  So gentlemen. How did the SCP start?

Chief1983: Pardon who?  The whatsit? First Action?

Stormkeeper: The First Action, but let's not worry about the small details, eh?

Chief1983: ;) I'll let goober field this one I think, if he can be reached.  I've only been a member since 2006. Even after more than 4 years, my knowledge of how it started is pretty weak.

Goober5000: Heh. Um may have to wait for a bit. Ok, well it all started with the original release of the source code in 2002. It was pretty informal at first; people started by submitting patches to do this or that, mostly ship flags or simple SEXPs. Eventually we had a bunch of small patches floating around the forum. That's when it became clear we'd need some sort of organization, so Inquisitor stepped in with a CVS repository all ready for us to use. And then the forum admins created SCP boards on both HLP and VolitionWatch.

Chief1983: Which forum was this again? I mean, this was before there was an HLP wasn't it? Or at least, an HLP with its own server.

Goober5000: General FreeSpace probably. HLP existed, and the Volition Watch BB still existed. Note, this is not the same thing as the Volition BB. Penguin was the guy who really got the repository set up; he imported the code into CVS, sorted out the project names, and fixed the file case. All the files were mixed-case, which penguin realized would play havoc with case-sensitive operating systems if we ever got the code ported. This was, of course, back when the code was Windows-only.

Once Penguin got the code imported, the repository was opened up for people to commit their features, so everyone who had a different feature on the board started merging theirs in.

Stormkeeper: Wouldn't that cause problems?

Goober5000:   Yup. We hadn't really developed any ground rules at this point, even though we had a repository. It was basically a free-for-all;  people would commit bumped limits, game-breaking AI changes, and so forth.

Chief1983: Hence SCP Rule #1: Don't break retail.

Goober5000: Yup. Someone realized that pretty quickly, though I forgot who.

Stormkeeper: Inquisitor, maybe?

Goober5000: I don't remember as this was still before I joined, but the coders added a few command-line flags to distinguish game breaking features.

Stormkeeper: So how many years back, give or take?

Goober5000: This all took place during 2002.

Chief1983: And thus started the habit of making a command line option for everything.

Goober5000: Hehe, yeah. At this point the features were still pretty small, so adding command-line flags wasn't such a big deal.

Chief1983: And there weren't too many better options, since many tables we have now were still hard-coded data.

Goober5000: We did get oddities like the "two scan lines" command-line flag, which I think is actually still a launcher option.

Chief1983: I use it ;)

Goober5000: Heh

Stormkeeper: 2 scan lines? ...Oh.

Goober5000: That was phreak's idea, to make cargo scanning a little more interesting

Chief1983: 2 pairs I think actually.

Stormkeeper: Idiot ball moment. >.>

Goober5000:   The first really ambitious feature was when Bobboau decided to add fighter beams, which was pretty difficult because there were assumptions all over the code that beams could only be used on turrets. You could use a beam on a bomber turret, if you wanted to, but not on a primary gunpoint.

Stormkeeper: But we can do it now.

Goober5000: We can. The fighter beam feature has been tested, fixed, and refined over the course of several years. Unfortunately, it was buggy for ages because of Bobboau's... unique... coding habits. Bobboau is a really creative guy, but for some reason his code was all over the place, and often littered with bugs. Not to pick on Bobboau, because coders are prone to leaving bugs in their code, especially when they work fast, but Bobboau was the first example and hence the most famous, and since he was a very prolific coder with very creative feature ideas, his features (and bugs) tended to show up in places you wouldn't expect.

Meanwhile, during all of this, I was working on TVWP and we were having a lively debate on whether or not our campaign would use the SCP. I had been following the SCP with interest, but I had avoided getting involved myself, because I knew if I did, I would get REALLY involved

Chief1983: That worked out well I see.

Goober5000: Hehe :p Well, my prediction was accurate. As an amusing HLP historical footnote, I argued AGAINST using the SCP in TVWP because I believed people would be reluctant to use it due to stability problems. Let me see if I can find that thread ... yeah here we are. November 13, 2002, a thread titled "We will use original FS2 or Else!!! :mad:" followed by "just kidding". I said I still wasn't convinced, but I wanted to make sure we weren't going to cut down on our potential audience

Stormkeeper: Hmmm. I would think that's a moot point now. =P

Goober5000: So Solatar (who was then called Hades) managed to bring me around with talk of ship trails, the ability to add ship flags and SEXPs, and the ability to have more text in tables.

Chief1983: Yeah, since by the time TVWP released anything playable, no one still runs retail builds :)

Goober5000: Hehe. In parallel with this, Sesquipedalian was intrigued at the possibilities of adding SEXPs for Scroll as he had an important need for a shields-on/shields-off SEXP for one of his missions. So he posted some threads in the SCP forum asking how to add those SEXPs, and several people walked him through it.

Stormkeeper: This being the time when the Great Ones were still mostly noobs.

Goober5000: Yup. Inspired by this experience, he started a thread in the SCP public forum which became the SEXP Request Thread which I can probably find, one sec ... Here it is.

November 24, 2002. So this was the thread that finally convinced me to join the SCP. I got CVS access, started looking at the code, and read daveb's helpful "Guided Tour" introduction. The SEXP system, was, as he said, very easy to both understand and add to and so, during the 2002-2003 Christmas break from college, I ended up adding a metric boatload of SEXPs, as well as a few other features. Hence Inquisitor's comment in his first interview where he said "Goober5000 codes like a madman"

Stormkeeper: FYI, if this is the interview with Inquisitor you're talking about, it dates back to 2003.

Goober5000: Rampage posted a thread in 2003 asking for people to list the features they added, in effort to organize some sort of documentation. Yep, 2003 would make sense. I think that was my most prolific FS year ever for all three of TVWP, FSPort, and SCP. At that point, I had added by far the most features in SCP so within a year, I moved from not wanting to use SCP for TVWP, to contributing tons of features for it, to actually becoming the SCP leader. Which, in turn, led to me being nominated as a HLP admin in 2004. I don't know how I got anything else done those years :p

Stormkeeper: Member to HLP admin in what, 3 years? A success story.

Goober5000: Pretty much. So this is also when we started to get a little more serious about making the code stable, and fixing bugs.

Chief1983: Heh, as much as two years ago, Goob, didn't you shield me from getting nominated for an admin spot?  I seem to remember something along those lines.  Something about not wanting to burn me out ;)

Goober5000: Hah, yes, exactly. The disadvantage of being involved in so many things is that you're spread pretty thin. When you have a lot of free time, such as when you're in college, this isn't much of a problem, but it becomes much more significant when you start grad school or an actual job. So, as chief said, I've tried to apply this lesson when nominating people for certain posts in my capacity as HLP admin. I happen to think chief would make a great HLP admin, but he is more involved with his other projects such as FotG and now the SCP.

Chief1983: Yup, that's thin enough as it is. Especially after 4 years.

Goober5000: Yup. Specialization is handy.

Stormkeeper: Burnout seems to be a very big problem with the SCP. Short of calling a psych or forcing people to take timeouts, there's really no way to solve it, is there?

Goober5000: Heh, well, the problem has historically been the opposite. People would get burned out, or lose their enthusiasm.

Chief1983: Any long term volunteer project has these issues.

Goober5000: This typically happened after they had coded all their super features, and subsequently were faced with providing technical support and fixing bugs. So, the coders would go inactive for a period of time, right when we needed them the most :p This is a good segue back into the bug fixing discussion. We attempted to use BugZilla for a while, but nobody was ever really happy with it, and we had a hard time convincing people to report bugs using it.

Stormkeeper: So Mantis.

Goober5000: So Inquisitor did a bit of research and came up with Mantis, which was more user-friendly, and people started using it more often. but even though people were reporting more bugs and coders were fixing them more often, the code was still not entirely stable. Around the time of 3.5, especially, the code was *very* unstable and had a tendency to crash almost every time you used it.

This is mostly because of "code rot" -- people had added so many features that it was hard to keep track of them anymore. People would change things that other people wrote, without having a full understanding of what their changes did and also, people tried to enhance the graphics and media code without having a proper handle on how that worked.
Very few people fixed bugs on a regular basis, and if SCP had continued like that for a few more years, it may not have been very easy to work with but fortunately, it was right around that time that Taylor came along :) Taylor was basically a godsend... he fixed so many bugs, stabilized so many features, and made so many useful infrastructure changes that he made my efforts during 2003 look like peanuts.

It was the stability that was crucial, because it repaired the foundation of the code and really patched a number of holes that had been problematic for some time. I'd be hard-pressed to name an area of the code that Taylor hasn't improved

Chief1983: Just to put this into reference, we're not even up to the part where I knew of the SCP's existence yet.

Goober5000: Taylor also holds the record for the most number of bugs fixed on Mantis

Chief1983: I think FUBAR has the record for most reported at this point.

Goober5000: Hehe. And note, this isn't even the number of bugs closed as duplicates, not-bugs, or unable to reproduce. This is number of tickets which were actually bugs, and which were subsequently fixed.

Stormkeeper: This interview may inspire Taylor-worship now.

Goober5000: Hahaha. Maybe not worship, but he deserves a lot of credit. Unfortunately, this also comes back to the burnout issue you mentioned... Taylor was so prodigiously productive that we started taking him for granted.

Chief1983: The impression I get is that without the task he performed, the SCP might not have survived. Not saying he's the only one that could have done it.

Goober5000: That's probably true, the SCP was in dire need of some re-engineering. And a lot of this was in areas that most people (including me) weren't familiar with, such as the DirectX and OGL code.

Chief1983: And cross platform support

Goober5000: Oh yeah, Taylor is single-handedly responsible for SCP working on OSX and Linux. This is thanks to his expertise porting retail FS2 to Linux as part of the Icculus project and retail FS2 to retail FS1 on Linux. In fact, I made use of Taylor's expertise when coding in the FS1-emulation features that the FSPort now makes use of including the FS1 method of cycling between music tracks

Stormkeeper: Which differs from FS2?

Goober5000: Yes, they have different styles of playing music.

Chief1983: Actually I think a lot of people like the FS1 style better.

Goober5000: FS1 is structured more like a typical song, where you have a "refrain" and a number of "verses". The FS1 soundtracks are like themes that repeat in a certain manner, for example NRML3 is always the track that plays when the battle is over and you're transitioning back to calmer periods, the calmer periods being the NRML1-NRML2 music. And then the BTTL tracks also have their own sequence.

Whereas FS2 is more straightforward but less artistic. It uses a simple ranking algorithm to play a certain track at a certain battle intensity, judged by things like player hull strength and number of enemies. Both styles have their own advantages, but they are most certainly different, and the FS1 music is awkward when played in the FS2 style. So yeah, there's barely an area of the code Taylor hasn't touched.

Stormkeeper: And did he burnout?

Goober5000: Unfortunately, yes. He had to stop being a full-time member of the SCP because he was just doing so much work. For example, he was fixing so many bugs on Mantis that if one of us tried to fix a bug but couldn't figure it out, we would invariably assign it to Taylor. I was guilty of this myself.

Stormkeeper: I do notice that he's still around, even if he tends to stick to the SCP board.

Goober5000: Yeah, he does hang around a little, and he and I and Chief have often held discussions over email, about some project issue or feature proposal and I think he did inspire us to be more careful with the code and more scrupulous about fixing bugs.

And as his most recent awesome contribution, event post-retirement, he went ahead and finally implemented his new pilot code which was a tremendous amount of work and which will enable things long sought-after, such as increased limits for ships in ships.tbl

I think this is starting to overlap with chief's period of involvement, so I think I might let him pick up from where he joined the SCP

Hades: Mind if I ask one quick question?

Goober5000: it's okay with me

Stormkeeper: Go ahead.

Hades: Has Taylor totally retired from the SCP, and might it be possible for him to return to it?

Chief1983: He hasn't totally retired, or we wouldn't have any more FS2NetD ;) Probably a good time to mention that as well.

Goober5000: Yeah, that was originally Kazan's project. Kazan is a funny character, but that's another interview. Suffice it to say, FS2NetD has been in development for many years, and it works pretty well now. In fact, it was helped by the SCP's acquisition of the PXO code at one point. PXO code was one of the notable omissions from the original source code release, but at one point a couple of years ago, one of the Volition guys was able to provide it to us. I think that was thanks to Inquisitor's connections

Stormkeeper: PXO being the multi for retail.

Goober5000: Yes.

Chief1983: The backbone for the in game matchmaking service.

Stormkeeper: And FS2NetD differs from PXO how?
Chief1983: In game, not much.

Goober5000: I think by now it has almost the same functionality, a stat tracker and a lobby -- although the lobby broke recently, I've been told.

Chief1983: The website portion, where you sign up and view stats, etc, looks completely different though.

Chief1983: The old SquadWar page looked like this.

Stormkeeper: Interesting. So. About this pilot file that you mentioned. How will it differ from the original?

Zacam: A lot. That's the short answer. The longer answer is: You won't have to split between SP and Multi anymore.

Chief1983: Most, if not all, of the original's shortcomings seem to have been addressed.

Stormkeeper: So can they be used for all mods? Like, can my pilot be used in BP and FSO?

Zacam: You also won't have to create a new Pilot for every campaign/mod you want to play.

Goober5000: That's another great feature about it. The original pilot file format used indexes for everything.

Stormkeeper: TBH, I haven't been creating a new pilot =P

Goober5000: So, if you load a campaign, it will think, "okay, ships 5, 7, and 14 are available for use" The problem is that if you switch mods and add a new ship at position 10, ship 14 is now ship 15 so the load outs will get all messed up. This affects not only ship and weapon load outs, but also stats and campaign progress this is why it's a no-no to switch from one campaign to another and then back to the first campaign.

Zacam: Key binds is another biggy.

Goober5000: Yes, the original pilot file had strict limits for certain things, including key binds -- you couldn't add a new key without bumping the file version.

Zacam: The ability to mod-map key binds and store those (or externalize them) is helped by the new way of storing t he values in the pilot file.

Stormkeeper: No longer using indexes?

Zacam: Well, it's that it is more capable of adapting itself, as I understand it.

Goober5000: Indexes cause the ship ordering problem I mentioned above -- if you add a new ship at position 10. But the new pilot code will refer to ships by their names. A "GTF Apollo" is the same from mod to mod, so your stats will remain intact, and so will your permitted load outs.

Zacam: And it can recover better if you point it to a mod that doesn't have a GTF Apollo (when saving Campaign data in relation to that mod) by going for the available "Player Starting Ship"

Stormkeeper: Player Starting Ship?

Zacam: Usually every ships.tbl has one defined, it kind of needs to.

Stormkeeper: Ah, right. I remember what you're talking about. Though I usually use .tbms so I don't come across it that often.

Zacam: I suppose it's actually the "Default Player Ship"

Hades: How long do you think the bugs in the new pilot code will be ironed out?

Zacam: That's still sort of up in the air right now. We're still tracking down WHY they are happening, before we can start making changes to fix them. It's mostly been a Me working on it in Antipodes branch (which I guess I sort of took over after portej05 left us) and The E has mentioned giving a hand.

Chief1983: Well, as far as the next release, I had wanted to have it out by Thanksgiving, but we've got a couple regressions to iron out still with the HUD code and the like.

Zacam: Otherwise, I think other people are mostly working on polishing up whatever they're working on and getting things that are issues in Trunk resolved first and foremost.

Hades: Ah, like the multiplayer issues associated with the new HUD code, for example?

Chief1983: Yes. There's still one or two issues with that lingering that are keeping MULTI from using recent trunk builds.

Zacam: While the Pilot changes are a big step for us and a very important turning point for us (and long anticipated), we've noticed some drift taking place from previous Antipodes merges so I don't mind that we're focusing a bit more on those. It's not like the code is going anywhere any time soon. The code is still pending and being worked on, but there is a bit more of a focus right now on tightening Trunk up first and foremost, I think. But it will be one of the big turning points and Milestones for us once we get it done and out there. It's currently in our Testing branch (Antipodes) and has been for awhile now, so we're not going to be losing it any time soon. :D

Stormkeeper: So Antipodes is the testing build?

Zacam: Yeah.

Chief1983: Antipodes is our proving ground for large features

Stormkeeper: So does it have many extra features?

Chief1983: Things that will almost certainly have unforeseen consequences, bugs, etc.

Zacam: We try to keep it at a "One at a time" deal.

Chief1983: The difference between what we now call Antipodes, and what in the CVS days used to be called 'HEAD', is that Antipodes has been reserved for one major feature at a time.  It's allowed us to keep the code relatively stable, although it does create somewhat of a queue for new features to wait in. But when many coders can't be depended on to stick around and fix their bugs after their big feature commit, we weren't left with many other choices.

Zacam: Nothing is worse than trying to find the straw that broke the camel's back when an entire bale of hay is throw on it, so we took that approach here.

Chief1983: If, after a run in Antipodes, a feature just can't be stabilized enough for general use, we can just scrap it and try again some other time. This sort of ties into why I got involved with the SCP in the first place now. I wasn't really following SCP development too closely until after Taylor was already backing out of much of his development roles. SCP development first started off in the CVS versioning system.  About the time I took an interest in the SCP, they made a move to Subversion, or SVN.  CVS had two lines of development as well, 'stable' and 'HEAD'. HEAD really could have been better named 'unstable', because it had become a dumping ground for many different buggy features.

Zacam: "Only developers should get HEAD" <-- Hence the birth of that famous quote

Chief1983: The first version of the pilot code, some texture management code, a few features from WMCoolmon and Bobbau, etc. So, throwing all those features into one place that wasn't ever getting regular testing, except from developers and single-use builds (there was no nightly system yet), made HEAD an unusable mess after a while.
CVS' stable branch was imported into Subversion, history and all thankfully, and that's when I finally started to wrap my head around how the SCP worked. The move to SVN is what encouraged me to write the cross platform nightly build script in fact. This gave me a huge exposure to the various build mechanisms on all three currently supported platforms.  I started off with my main Windows desktop, a Linux VM on that box, and a PowerMac G3.

Only one of those machines could hardly run the builds, but since there was no shortage of people wanting bleeding edge builds to test, it didn't really matter.  Enough people got their hands on the fresh nightly builds that I'd find out soon enough if something was broken recently. I'm sure many would agree that the speed which we can now get feedback from a large portion of the community through nightly build testing has been a huge boon to development.

Goober5000: Definitely. Also, one nitpick: CVS had two branches, the main aka "trunk" branch, and the "unstable" branch. Or actually, it was probably the "stable" branch and the "trunk" branch, because "trunk" was getting pretty unstable at one point

Chief1983: Wasn't unstable called HEAD and the main branch was called 'stable'?

Goober5000: The "stable" branch is what became the "trunk" in SVN

Chief1983: I thought 'unstable' was just a nickname for HEAD

Goober5000: HEAD actually refers to the most recent revision of *any* branch. The quote "only developers should be getting HEAD" is because we were trying to encourage end-users to use the official builds, not the most recent builds.

Chief1983: Like I said, CVS was just before my time, so I might have been a little fuzzy there.

Goober5000: Yeah. Even many coders weren't sure what HEAD actually meant. And along the same lines, CVS's "trunk" branch is still sitting in SVN as the "unstable" branch it contains a number of interesting features, such as the shield subsystem type I implemented, and some experiments by WMC.

Chief1983: Right

Goober5000: the unstable branch hasn't been touched in years, but one of these days we should really run a diff on it and try to copy the changes into antipodes.

* Zacam shudders
Zacam: I tried that once...

Goober5000: Hahahaha

Chief1983: Yeah dunno how well that'd work...

Zacam: NOT fun. :D

Chief1983: But yeah, my involvement in the SCP started out as nothing more than making builds.  As head of Fate of the Galaxy, we were starting to get some features coded for us, and we had no reliable way of making sure we were testing with recent code, and having to wait on other developers to make builds all the time.

I started making builds straight from SVN's trunk myself, once I finally got Visual Studio to compile. After so long of doing that, I figured why not automate this a little bit for everyone's benefit.  I had wanted to learn Perl anyway, so I sat down one weekend, read a Perl primer, and hammered out the first version of the nightly build script for Window.  A couple days later I had OSX and Linux covered too. I got my badge, and started pushing along for a move to 3.6.10.

About that time, we were also practically panicking because it had been so long since the last stable release of FSO.

Stormkeeper: The current stable release at that time was 3.5?

Chief1983: Oh no. By that time we'd already passed 3.6.9. 3.6.9 final came out within a week after I took over FotG, around New Year's 2006/2007.

 Stormkeeper: I do remember that 3.6.9 was the only stable build for quite a long while.

Chief1983: It wasn't until 2008 probably I got involved with the SCP. And 3.6.10 wasn't out until July '09. I pushed for a Release Candidate process that would help us move toward that goal.  But so much had been committed in two years, it took a while to clean up enough of the bugs in Mantis.
We had a huge crackdown on Mantis in late 2008/first half of 2009. Actually we'd been in a feature freeze since the beginning of 2008 I think.

Stormkeeper: I remember that.

Chief1983: About the time I stepped in, the team was ripe for someone to fill the role of Release Manager. It had been so long since a release had been made, I wasn't even at all familiar with any previous process for it. So most of what we have today for releases, was rebuilt from scratch or from tribal knowledge I gathered from the Elders.

Stormkeeper: Did you document your process?

 Chief1983: I think it was about that time Goober started to hand the leadership of the SCP to me, in almost a Dread Pirate Roberts fashion at first. The build process itself is documented in the nightly build script, although that sounds like a Kazan answer probably.
  Zacam: Heh.

 Chief1983: I have also made tweaks to the wiki where I had been given misinformation about things.  Updating the Linux compiling steps, etc. I'll admit though, if a new coder came in and wanted to compile a build with TTS and Voice Recognition, he'd probably still have trouble finding out how from the documentation.

But updating the README in SVN is on our to-do list :)

  Goober5000: Hehe, Dread Pirate Roberts

Stormkeeper: What

  Goober5000: That's pretty much exactly what happened -- I sort of designated chief as the new SCP leader, half in jest, but over the next year or so he grew to earn it

 Chief1983: Goober had identified me as a good candidate to take his position as SCP lead months before the official announcement was made.

  Goober5000: I was fairly involved when he took the helm of FotG, so I knew he was a good project leader and it probably helped that there was a transition period as opposed to a sudden change
 Chief1983: Perhaps, but I think the real issue had been that before the transition, there hadn't even been a fully defined lead.  You yourself had never really claimed the title of SCP lead by yourself, it had been more by committee.

 Chief1983: But the rest of the committee had already stepped down :P

  Goober5000: Well, I did write SCP leader on my resume :p

 Chief1983: lol

Stormkeeper: FYI, from Wikipedia's article of FSO:
To prevent a plethora of different versions of the game from appearing, a single 'umbrella' project (with the unified goal of enhancing the game) under the name FreeSpace 2 Source Code Project was formed. The initial leaders were Edward "Inquisitor" Gardner and Ian "Goober5000" Warfield, the team is currently led by Cliff "Chief1983" Gordon.
Looks like the two of you are famous

  Goober5000: cool

 Chief1983: If you read the edit history, I'm pretty sure I put my own name on there.  Gotta love Wikipedia :)

  Goober5000: Hahaha

 Chief1983: But as it's still there, at least no one seems to object.

Stormkeeper: lol

 Chief1983: I will admit, my motivations for working on the SCP are really tied to FotG to some extent.  We'd already put so much work into it that I started to worry about the delay in the time between releases.

 Stormkeeper: Well at least it made you want to work on the SCP

 Chief1983: Yes.  And I also try to keep my interests in both completely separate as well.  So far there hasn't really been much of a conflict.

  Zacam: I think most of ours are tied into having an externalizing motivation.

 Chief1983: Yes, not too many coders are interested in the SCP solely for the engine itself. There have been some though.

  Zacam: They've usually gotten super frustrated though.

Stormkeeper: Why?

 Chief1983: If by 'they', you mean portej and Hery, yeah that did seem to be what happened.

  IssMneur:  IIRC, Taylor never had anything to do with any mods

 Chief1983: Long story short, I think that anyone interested in this engine purely for the engine itself will probably see a lot of things wrong with it when they look at the code. As they're purely interested in the engine itself, they might tend to get over-ambitious.
  Zacam: And given the Golden Rule, they feel they have an immovable obstacle in their way.

 Chief1983: Wanting to halt development of the engine for very long periods of time for various overhauls, when many mods are depending on fairly recent builds with new features they rely on, isn't going to be a very popular idea.
You basically have to commit to the mindset that, yes, the engine isn't perfect, but it's what we have, and there's a lot of people depending on it.
We take help where we can get it, we optimize and clean up when we can, but it's like being in a constant battle. You don't get a chance to return to port and go into drydock for 6 months. As a volunteer project with a small team of developers, any project revolving around a massive overhaul usually stalls and crashes and burns.

Stormkeeper: So how bad or good is the state of the code base now?

 Chief1983: Well, I think both 3.6.10 and 3.6.12 were each some of the most stable releases we've ever had. At this moment, trunk is a little buggy, but I hope that our next stable release will be one of the best yet again.
It definitely has the potential to be the best and fastest. And I still play with nightly builds on occasion and am usually very pleased with the stability. Just a couple years ago, using recent builds could lead to quite a bit of headache.

Stormkeeper: But now?

 Chief1983: Like I said, I'm happy.

  Zacam: I remember that. Or using the "whomever compiled" distros where you could choose a WMC, Goober, Redemence or whomever build...

 Chief1983: Kara too :)

  Zacam: Yeah. The Nightly Build system made a lot of things easier.

 Chief1983: or Taylor's X-whatever

  Zacam: Heh. I liked the XT Tree builds. We got Shaders from that. :D

 Chief1983: Yeah.  But I think the XT stuff was the end of an era. We've had so many awesome new features added just since I joined the SCP, it really is a fun project to work with.  The hardest part is probably trying to satisfy everyone though, because sometimes it just can't be done.

  Zacam: Ugh. Yeah. And that leads to some rather interesting fireworks too.

 Chief1983: This is also an area where the SCP and FSU overlap.  As enhancements are added, sometimes a segment of the community can't agree that it's really an 'enhancement', and not an abomination of their beloved FS2.

Or instances when a mod has a need that just can't seem to be done in a manner they're happy with, that meets the SCP's requirements of being non-interfering with retail behaviour, etc.

 Chief1983: I can cite examples,  unless you have another question for one of us?

Stormkeeper: ... I'm trying to figure out what you said, actually.

 Chief1983: lol

Stormkeeper: So modifications to the code base by mods that are accepted as being pwnsome by most if not all the community are integrated into the code proper?

 Chief1983: Well, first I was referring to things like the 2d/3d shockwave debate.  A situation created by the FSU stemmed into a need to support both in the codebase.

 Stormkeeper: Ah. I remember that one

 Chief1983: And for the second thing I said, Wing Commander Saga is probably the best example. Unfortunately, the inability of the SCP to accommodate their requests in what they considered a timely manner has led to the only outright SCP fork that I'm aware of.

Stormkeeper: Ah. So what kinda features are you working on now?

 Chief1983: Personally, I've been trying to get a replacement for SquadWar off the ground.  Again, I'm pretty sure that would benefit FotG, so I have some external motivation for that particular project. Oddly enough, I probably have the fewest subversion commits of any SCP member, ever. Or at least those with 2+ years as a member under their belt.

  Zacam: Of course, there is always the danger of working on too many things at once as well. And not just in handling multiple projects, but even in just deciding what to work on code wise. There is always a lot to do.

 Chief1983: I'm not even that great of a C++ coder.  I didn't really write any C/C++ after my Senior year of college.  I switched to PHP and web development after that, so that's where I try to make myself the most useful. My job really is kind of a paper-pushing type position.  Not a lot of hands on with the code, but then again, a lot of management positions are that way.

  Zacam: I'm possibly the least C/C++ experienced coder on the team, actually. But I get by on drive, verve and being there to help with anything in any way that I can. This for me first started when I compiled the SVN checkout and thought to myself 'What's with all these Warnings?"

 Chief1983: Yes Zacam's OCD has been a double edged sword with the
code I think :)

  Zacam: Heh.

 Chief1983: It's great to be picky about keeping errors out of the code, but I know he gets frustrated when it seems the code is conspiring against him to ensure he can't eliminate them all.

  Zacam: Yeah, it has at that. But I do think it's good that the project, while it needs people who can code, really WILL take on people who are just willing to make a difference in any capacity.

 Chief1983: Even promote them to project lead ;)

  Zacam: And the code -is- conspiring, I'm building proof of that. :D

 Chief1983: Aside from diplomatic issues, release management, and SquadWar, I mostly just fiddle with the websites.  Did I mention I fixed Mantis new account emails?  Anyone even remember when those didn't work?  :)

  SDM:  I did.

 Chief1983: That wouldn't have been possible without the last Mantis upgrade, which is needed again actually.  Another project I need to sit down and do.  Maybe tomorrow. I never know what Goober is working on, until he commits it.

Stormkeeper: Goober works in silence and shadow. He strikes without warning.

 Chief1983: I believe he keeps a running list of things to do, and occasionally sits down for a day or two and just spews code.

  Zacam: Echelon9 has been working on getting a Documentation Standard in place, which so far is working out rather well using the Doxygen setup.

 Chief1983: I'm amazed that some of the veterans are still as productive as they are. Many of these members have pretty busy lives. Yes, I think the Doxygen project is going to really help. We've got a few big projects still waiting for Antipodes too, I think.

  Zacam: Antipodes Schedule: Objectypes overhaul. Haptic Support. Animated PNG Format (along with a PNG code update), not necessarily in that order.

Stormkeeper: So still no decals?

  Zacam: Well, there are other things in the works, but Decals can be re-implemented, though I think we're going to see about updating some OpenGL and Shaders code for that.

 Chief1983: Well, decals aren't slated for Antipodes yet at least.  I don't know that anyone has stepped up saying they're going to work on them.

Stormkeeper: Doxygen?

 Chief1983: It's a code self-documenting framework, If I recall. You document the code as you write it, via comments, and Doxygen tears through the code and outputs the documentation by itself in a readable format.

 Stormkeeper: Doxygen seems very useful.

 Chief1983: Yes, it is. The hard part is enforcing its format amongst the team.

 Chief1983: I'm pretty excited about the objecttypes expansion.  Currently we can't create entirely new object types, just modify existing ones. And the Haptic support - I can't wait to have that back again!

  Zacam: Both The E and myself are really interested in moving progress along those fronts. (Expanded OpenGL and shader code, including Geometry shaders and the like)
Stormkeeper: So with the object types expansion you can create new ship classes like gunship or something like that?

  Zacam: Essentially, yes.

Stormkeeper: ... Cool.

 Chief1983: I don't think we currently have a type that could easily be used for say, a shuttle, if you wanted to differentiate it from an escape pod or something.

  Zacam: And with being able to define new object types, each type can have its own particulars in terms of how it's AI handles, rather than being limited to either Fighter or Bomber or Support ship like it is now, if I recall correctly.

 Chief1983: Yeah it's a pretty small set. Perhaps you need a dedicated Carrier type

Stormkeeper: So you can set up the gunship class to endlessly circle its target or something like that?

 Chief1983: If there was AI support to do that, yes you could do that :)

  Zacam: Or at least have a better chance/opportunity to be able to get it set up so that you can. But without the opportunities, you don't really get anybody driving it along as "must have" or "need that". Which is another double edged development sword.
 Chief1983: Until some guy tries to create a new one, only to be told it doesn't really work.

  Zacam: You want new features, but you also want them to be used, otherwise what's the point?

 Chief1983: I think that's another area nightlies have helped, coders can see their new features being used almost immediately, without even having to point out their new build to people. It's to the point where the modding community often reads the commit logs in the nightly posts to see what new features were committed. I think having someone say, 'oh, this feature sounds awesome! how does it work so I can use it?' is pretty neat. And it happens quite often these days.

Stormkeeper: So it seems you're quite pleased.

Chief1983: Yeah.

 Zacam: I don't know about anybody else, but in my case, it's kinda hard not to be. There is always something to be done, some new piece of awesome just waiting around the corner.

Chief1983: Plus, I wouldn't be the same person I am today, without HLP, and the SCP, and FotG. For one, they've both been very helpful in job interviews. I end up talking more about my volunteer work than stuff I did at a previous job or in school. And the fact that so many members of the community come from completely different cultural backgrounds, it's really opened me up to a world I don't normally see. I live across the street from east Jesus, so having so many different world views around me, it's really pretty exciting.  I'm always learning something new.

 Zacam: Same here. FSU and SCP have actually kept me going despite of some pretty major difficulties and set-backs in real life.

Stormkeeper: So, have you actually thought about joining a real game company?

Chief1983: Yes actually.

Stormkeeper: And?

Chief1983: I applied at Volition after college, they're only a few hours from me in Champaigne. Didn't pan out.

Stormkeeper: Ah.

Stormkeeper: How long ago was that?

Chief1983: Like I said, I kind of stopped writing C a year before I applied, and their qualification test was in C, so... That was spring '07.

Stormkeeper: What about now?

Chief1983: There's an industrial flight simulation software company with a headquarters near me, and apparently they're looking to convert their professional simulation into a more mainstream PC simulation, as they've had a few job openings.  If my current job ever goes south, I'll probably be giving them a call.

 Zacam: I wanted to join Gas Powered Games for a while now. Maybe even Bethesda or BioWare. But in the end, I think I'm more happy right here with the SCP and Hard-Light than I would be anywhere else.

Chief1983: As it stands though, I actually like having my job and HLP commitments being two completely different things.  If you do for a living what you like to do in your spare time, you either have to _really_ love it, or you're going to get seriously burnt out in a very short time. Whatever I'm doing at work, I usually just want to do the opposite of that when I'm at home.

Stormkeeper:   True.

 Goober5000: This is very true. Happens to me from time to time. Happens to Kazan all the time, apparently :p

Stormkeeper: Occupational hazard. Studying games programming makes me less likely to play games. Because it makes me think about how they did it and all that ...

Chief1983: Makes it hard to enjoy the game as it was intended then eh. Same goes for studying film, or lots of things. Hell, my roommate for a couple years in college was a film nut.  I ended up being a film student by proxy, and that was enough to forever screw with my ability to sit down and match a movie.

Stormkeeper: TVTropes will ruin your life.

Chief1983: That too. But I'll admit, at least now I know _why_ I like Tarantino, and Scorsese, etc.  Also, when I was in college, I was computer science from day 1. However, you see a lot of kids who go into it thinking, I love computer games OMG I want to make the best computer game ever. They have no idea what programming or computer science really is. I on the other hand, had no aspirations at all about seriously working on a computer game after college.

Stormkeeper: And how.

Chief1983: I knew what CS was, and what I'd probably end up doing.  Lo and behold, I end up leading a game engine development team.  Quite ironic it was.
 Goober5000: Hahaha

Stormkeeper: Indeed.  No one expects irony!

 Zacam: Rather like a Spanish Inquisition.
Stormkeeper: True.

Chief1983: Story of my life really.  I never expect to end up where I've ended up so far.

Stormkeeper: Well. I bet that's true for a lot of people. So, I have no further questions. Floor is open for FAQ.
« Last Edit: November 30, 2012, 03:08:15 pm by Zacam »
Ancient-Shivan War|Interview Board

Member of the Scooby Doo Fanclub. And we're not talking a cartoon dog here people!!


Offline Stormkeeper

  • Interviewer Extraordinaire
  • 211
  • Boomz!
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
Aaaaand the FAQ.

Chief1983: Yeah I was almost being facetious when I claimed that for myself :P

 Bigchunk1:  You get my paste bin questions?

Stormkeeper: Yeap I have it.

Chief1983: And I have no idea if that's an acceptable usage of the word facetious, or the right spelling.

 Stormkeeper: Have no worry, Chief.

 Bigchunk1:  You already answered at least one

 Zacam: facetious: is correct

Stormkeeper: I am the Grammar Police.

Chief1983: Ah, so you'll be fixing all my typos for me before publication?  :)

Stormkeeper: Yep.

 Zacam: Heh.

Stormkeeper: Chunk: feel free to ask your questions.

Chief1983: I tried to point out the ones I was aware of.

 Goober5000: Brb, getting water.

Stormkeeper: Kay

 Goober5000: all this talking made me thirsty

 Zacam: ... BA DUM PISH!


1) The obvious question, answer as you may: What kind of skills does one need to be a member of SCP? Or What does the SCP team do for FSO?

2) What are your primary goals for the next release build?

3) Do any of you have any 'pet projects' , features, scripts, etc. you are looking to work toward finalizing in the next release build? After the next release build?

4) Do you have an idea when the next release build will be coming out?

5) I've heard many ugly terms used to describe how clearly written Fs2 code is. How is it you all get around in there? Do you understand everything perfectly or are there some tangled bits which are better left untouched?

6) Why mantis? Why not a drop box outside goober's house?

7) When are you going to allow multiplayer games to be hosted regardless of if your ports are closed or not? (Brazen request) Ok so how realistic would that request be?

8) This is quite a hobby to undertake with many hours of work behind it. How long have you all been at this and what got you hooked?

9) Over the years it seems the SCP team has developed a familiarity with a codebase that few others are. If you all, by some strange subspace anomaly, disappear from the modding scene. Is FSO doomed? How would others be able to fill your shoes in such an event?

10) Follow up: Are new members actively joining SCP?

11) Playing, Freding, tabling, scripting, and ultimately coding require subsequently deeper levels of understanding of how Fs2's programming structure works. Do you agree with that statement?

12) If so do you see fine lines between the levels mentioned or do you see them as more shades of grey?

Zacam: *ba dum tish*

Chief1983: Derp?

 SDM:  Hey Just in time.

Stormkeeper: Oh Battuta. Nice timing

 Bigchunk1:  Go ahead and answer any of those

Stormkeeper: Open question time.

 Zacam: wow. A lot of questions there bigchunk1.

Chief1983: #1: As I imagine I'm proof of, the SCP can make use of all sorts of skill sets.

 Zacam: Same here.

Chief1983: I'll try to burn through the ones I can answer quickly

 Bigchunk1:  Yeah, I wrote it in preparation for the interview, heh.

Chief1983: Having some background in coding of any sort is almost a must but even still, not quite.

 Goober5000: Back. Zacam, I knew you'd write an ellipsis :p

Chief1983: Release management could be done by someone who is merely really competent with the build systems, and not at all the code itself.

Chief1983: It's more important that you're cooperative and capable of working with a team. Just being a 'doer' goes a long way. Some members had never coded before getting into the FSO codebase.  As for what the SCP does for FSO, we evolve it.

Chief1983: I think that's the best single word to describe the team's function.

 Zacam: I agree.

Chief1983: #4, I hope sooner than later.  I'm not sure what the holdup is on the HUD bug, but we may move to an RC period without it.  I think it's waited too long as it is.  I wanted to get it in before the holidays, because I knew I wouldn't have much time to work on it after Thanksgiving until the following year.

 Zacam: #3 My "pet" projects are finalizing the Pilot code from Taylor into completion, and keeping PNG code up to date (and getting MNG into the engine) along with on-going maintenance for the Visual Studio 2008 Project.

 Goober5000: #3: I have a number of pet projects :p My SCP related ones are numerous, but most of them have fortunately already implemented

 Zacam: Heh. And some of them are likely other members if I don't mistake. :D

 Goober5000: Gravity is one significant one that hasn't though it seems that the scripting people have already been experimenting with gravity. Another project I've been working on is the FSO installer upgrade, which I need to find time to finish up

 <Battuta> Gravity works by scripting, it's cool especially on flaming debris.

 Goober5000: Cool

 SDM:  And AI?

Chief1983: my pet projects are FotG of course, and getting SquadWar up, as I mentioned.

Goober5000: AI is a crapshoot :p Actually, that reminds me of another pet project. However, it required the assistance of other coders, and thus nothing ever came of it. I was going to experiment with genetic algorithms to make the AI ships smarter

 Bigchunk1:  Sounds wickedly tough

 SDM:  Sounds awesome.

 Goober5000: This required a number of things to be solved ... first, we needed to add the genetic algorithm module to the FSO codebase in such a way as to allow a mission to be automatically loaded, played, and then exited. Second of all, each AI function needed to be mapped to a genetic marker. Third of all, we needed the computing power to run such an experiment all day ever day for weeks, in order to evolve the right algorithm. I could take care of number 3, and I could manage and supervise numbers 1 and 2, but it depended on people being available
Sadly, the two people who volunteered dropped out, and thus nothing happened. I still have those PMs, I should find out if they want to revisit it.

Chief1983: I didn't take AI, so I leave that up to the pros to figure out. As far as #5, I don't think any coder understands all of FSO The best I can explain it is, the more of it you see, the easier it is to read as much of it still has the same structure Volition wrote it with.

 Goober5000: Taylor probably comes closest but yes.

Chief1983: Or something not too foreign. I have a hunch a few SCP vets can tell which Volition coder wrote certain bits of code just by looking at it though :)

 Goober5000: Hahaha, this is true, actually. But mostly because certain coders specialized in certain areas.

 IssMneur:  Yeah, and which can tell which SCP coder wrote it as well

Chief1983: That one probably more so

 Goober5000: Yeah.

Chief1983: And I'd bet IssMneur is thinking about wing sauce right now.

 Goober5000: Lol. Special wing sauce

 IssMneur:  Wing sauce?

Chief1983: Oh must have been someone else.

 Goober5000: I think that was a volition coder, let me find it. Ok, it's the procedure to randomize a lightning bolt.

Stormkeeper: ... IN SPACE

 Goober5000: Let me paste bin it...

Stormkeeper: A lightning bolt IN SPACE. Wait, what?

 SDM:  Nebula?

Stormkeeper: Oh right. Someone else needs to take this idiot ball from me.

 Goober5000: Here. It's somehow appropriate that the paste bin ID starts with 0x :p

Chief1983: Gah he beat me

 SDM:  o.O

 IssMneur:  Oh yes, that was either, Zacam or FUBAR

 Zacam: I know who wrote the CRC algorithim that get's used in the debug log output. I'm still tempted to re-write that so that it can match things like you might get from a normal CRC checker (like 7z or what have you) but the math still escapes me.
Chief1983: Heh we made the exact same post.

 Goober5000: lol

Chief1983: But anyway, those are some of the most absurd comments in the code base.

 Goober5000: That was definitely a Volition coder, as nebula lightning is a FS2 feature

Chief1983: I'd bet money someone had the reefer munchies when they wrote it.

 Goober5000: lol

Chief1983: Yeah but I thought it was rewritten by us.

 Zacam: Yeah, I've had to refrain from making colourful commentary in the code or commit logs, honestly.

 Goober5000: I shall check


 Goober5000: Nope, definitely volition

Chief1983: But yeah, the code base has really improved, in terms of readability, since it was released.

 SDM:  Just noticed the different names

Chief1983: Ah. Yeah we never could agree on one :P

SDM:  xD

Chief1983: Doesn't matter though. I think our wtfs/minute has dropped over the years.

 Goober5000: lol

Chief1983: But some days our process still resembles the XKCD design pattern depicted here .

Goober5000: Yup

Chief1983: Also, this project has given me a certain appreciation for many xkcd comics. #7, when someone figures out how to properly code in NAT punch-thru, or traversal. It's possible, as many apps have since done it. But we don't have many coders on the team with enough network code experience to handle something like that I don't think. Who aren't already busy with something else :P

Chief1983: #9 is an interesting question. I think that when a projet's direction is clearly in trouble, those who care enough about it will step forward and do what they can to help. I was watching FotG as a bystander, assuming it was still being worked on in the background, when one day I read a post about how it was about to be mothballed.
That's when I stepped up and took it over. Volition dumped the code base on the community once already, with no one in charge of it. Yet what you see now was built up from that.

 Goober5000: True.

Chief1983: If we all suddenly disappeared, leaving only a repository behind, I'm sure someone interested in it would step up and carry the torch. It's a lot easier not to volunteer when others are

 Goober5000: another thing, from a leadership perspective, is that one of the wisest things you can do as a leader is anticipate your own obsolescence. Hence chief1983 after me

Chief1983: Yup.

 Goober5000: And then after chief, who knows, maybe Zacam or The E

Chief1983: I try not to think about it ;)

 Goober5000: Hahaha. I tried not to think about it either. :p Apple is finding this out now, the hard way. :p

Chief1983: Yes, I find it quite funny that the only thing capable of destroying Apple after the last five years is Apple itself. Anyway, I don't know how others would fill our shoes, or what FSO would turn into. But I'm pretty certain it wouldn't die.

 Goober5000: Yup, someone in the community would step up.Just like the first time.

Chief1983: I already know several coders on the outskirts of the community who would probably take a bigger interest.

 Goober5000: on #6, first of all, I don't fix nearly as many bugs as I used to, and second of all, we already did this with Taylor and burned him out in the process :p

Chief1983: #10: Short answer, yes. You don't even see it happening sometimes. Often, the members who stick around the longest are the ones who weren't the most eager to really get into the team. One day, you're reading the forum, and you realize, why the hell doesn't this guy have a badge yet?  I thought he was a member months ago!

 Goober5000: Ha, yes, I remember that happening more than once

Chief1983: And it does still happen.

 Goober5000: #8, I have absolutely no idea how many hours I've spent. :p It's a great many hours. But it has also yielded benefits outside of the direct "more features added, more bugs fixed". Chief mentioned several before, job prospects, networking, keeping your coding skills sharp, gaining leadership experience, meeting great people, etc.

Chief1983: Yeah.  FotG got me into this community, and what got me into FotG was looking for something to replace XvT with. I played XvT competitively in high school (god that was a while back).  And what got me into that was a $2 boxed copy of X-wing at the Goodwill store. Inside the box was the 3.5" copy of X-wing, and the XvT discs.

 Goober5000: Cool

Chief1983: Oh, and I also loved FS1/FS2 when I was younger, but I think without wanting to work on FotG I might never have gotten involved with HLP.

 Goober5000: I got into SCP as mentioned in the interview. What got me into SCP was FS2, which I bought on eBay while ignoring the little voice that told me that if I bought FS2 before finishing my FS1 mini-campaign, I'd probably not finish it for a long time. It was right. :p I got FS1 because it came in a DVD with my joystick

 Bigchunk1:  Wow, that's chance at work.

Chief1983: Yeah

 Zacam: I was a big member in the Descent Networks, playing a lot of Descent 1 and 2 (eventually 3 as well), so I was around when FreeSpace 1 and 2 came out (pre-Release parties and all) and then I just sort of had it (like many other games of that era) drop of my radar until about 2005 when I was looking back through some old games I still had and ran into Hard-Light where I lurked for a year.

Chief1983: I got into FS because I picked up a PCGamer that came with the FS1 demo. I played FS1 because it had Descent in the name and I loved Descent.

 Goober5000: I had played both X-Wing and TIE Fighter years before getting FS1, so I was already familiar with the genre, but I was amazed at how much more intuitive FS1 was though it did take me a while to get used to the swapped backspace and \ keys for throttle :p

Chief1983: Yeah I always saw the FS series as a spiritual successor to the X-wing series, just after Lucasarts stopped making games like that. I mean, there are a lot of games in the genre, but FS almost feels like it was made to be a sequel to XWA as far as the engine goes.

Zacam: I've always been big on modding games, so I come in having experience in Total Annihilation, Neverwinter Nights, Freelancer and Bethesda's games, which is probably why I naturally gravitated first to the FSU.

Chief1983: #11, I'm not sure about the ordering there.

 Bigchunk1:  How would you reorder it?

Chief1983: Well, I'm not sure tabling and FREDing are deeper than the other.

 Goober5000: Yeah #11 is interesting. Tabling is the simplest, you just edit a text file. Though you do need to figure out how to get it out of the vp.

Chief1983: Complex FREDing can require a real knowledge of the intricacies of the game. Anything beyond very simple FRED tasks at least requires you to wrap your head around the basics of SEXPs. Which are themselves a type of programming, more so than tables.

 Goober5000: Sexps are pretty intuitive though. If you understand logic, you'll understand SEXPs and you can be a good FREDder without knowing how to program

Chief1983: Yes but you don't even need to understand logic to edit tables (unfortunately).

 Goober5000: On the other hand, as chief said, very complex FREDing benefits from knowing how the game works.

 Zacam: Heh. Hence the Support Thread and the wacky issues in Modding.

Chief1983: Prime example.

 Goober5000: Lol yup
Chief1983: I was hoping for the tables quote, but that's actually the next best one.

 Goober5000: Also, being a good FREDder and being a good programmer can provide benefits both ways. If you are a FREDder and you see the need for a new feature, you can add it and likewise if you're a programmer, you'll know how to do things in a way that will be most useful for the FREDders (or other modders) using that feature.

Chief1983: Guess that answers #12 as well.

 Bigchunk1:  That's all I got, thanks for going through them all.

 Zacam: To throw in my .02 on the continuation of SCP, I'm pretty sure that barring a total economic or internet collapse, somebody somewhere will keep it going. What sort of shape it'll evolve into after that is anybody's guess. I know I have no plans anytime soon of ever leaving.

Chief1983: The ones I skipped I'm pretty sure I already answered.

Bigchunk1:  Well, I dunno where Stormkeeper went, but I'm sure he would as if there were any last words or closing thoughts?

 Goober5000: He had to make an appointment.

 Zacam: And when we're not coding, I imagine a lot of us are coming up with concepts or directions for things we haven't even started yet.

 Battuta: dear ess see pee

when is geomod

sincerely, Battuta
 Goober5000: NEVAR.

 Goober5000: Huh, I forgot to brag about multiple ship docking. Those were the two features we used to say would never be implemented.

 Zacam: Decals, shadows: look forward to seeing some (hopefully) awesome sauce in the form of pushing OpenGL and shaders to leverage things more than ever before. The downside there (as always) is balancing for the hardware that's available for most users and what we want to aim for.

 Bigchunk1:  I am impressed with the multiplatform support.

 Zacam: Indeed. It's staggering and awesome. A bit of a pain in the behind, sometimes.  Since not all platforms do things in exactly the same way. So making sure of and improving code portability is another major focus that has to be constantly checked against. There have been a few times now when something on Windows breaks Macs from running or compiling, and I think once or twice the other way around as well.

Chief1983: Well Zacam can speak for himself, but when I'm not coding I'm drinking. Just kidding.  Or am I?

 Zacam: Heh. Yeah, you do need to have some sort of Vice outside of this all it seems like. Mine is cooking.

Chief1983: Yeah there's been quite a few "we'll never have this" features that we've ended up getting. When interviewing people, you don't want to hire the ones who seem to only be interested in their work.  They're the crazy ones.  You want the ones who seem to have a lot of distractions from work, because it's those distractions that keep people sane and happy. Same goes for people here.

 SDM:  o.O Is that an interviewing tip, too?

Chief1983: Other type of interviewing.  Job interviews.

 SDM:  Yeah. That's what I meant.

Chief1983: Yeah.

 SDM:  I never knew that.

 Bigchunk1:  Going back to the 'burning out' philosophy

 SDM:  I wasn't ever sure what to focus on in job interviews.

Chief1983: One of the most important questions you'll get asked in an interview is, what do you do besides work? If you don't get asked that question, I probably wouldn't want to work there, because it's probably a sweat shop. And if you get asked that question, and can't answer it with some level of enthusiasm, I probably wouldn't hire you. Like I said, my volunteer stuff is usually what helps me nail an interview.  Get me talking about HLP stuff or something, and I can glow with excitement.

 SDM:  I was always afraid of what to say. If I said play video games, would it help/hurt?

Chief1983: Depends on the interviewers I guess.  I think it's a lot more acceptable now than it used to be.  I think a lot of people realize that many game players are often very critical thinkers. A lot of my co-workers are wicked good Starcraft players.

 SDM:  I see.

Chief1983: Or people who like those physical little puzzle games. Or musicians.

 IssMneur:  Also, playing is different than modding them

Chief1983: True.  But that just highlights a different area of interest in the medium.

Chief1983: Not necessarily worse or better.

 SDM:  Oh. Sorry for the derail. When I saw (job) interview, my interest peaked.

 IssMneur:  very true, I suppose it depends on what you are interviewing for

Chief1983: How many people here can claim that almost everyone they work with is probably at or above the Mensa definition of genius? I actually feel stupid some days around these guys.

 Zacam: It can show a level of multi-tasking as well. And the more enthusiasm you can exhibit an in an interview, the more likely it will be that they will see that "Shine" that says you can get something done, and they'll want to tap into that for getting things done.

Chief1983: But then I show them something and feel like a peer.  But rarely a day goes by when I'm arrogant enough to think I'm the smartest guy there. Scratch that, I don't think I've ever thought that at this job.That enthusiasm is what keeps a project like this going too.

 Zacam: Yup.

 SDM:  :)

Chief1983: It's amazing what one energetic person can do to an entire community.

 Zacam: And it's probably the one reason why I can't really see myself burning out, in either the SCP or FSU. There's just so much to do, and so many good people around to do it with, that if I -really- need to take a break, I'm fairly certain that (while it may change a bit, depending on the amount of time) it will still be here. And even if I'm not -doing- something myself? I can help and encourage other people to do good things.

Chief1983: Exactly.  I think the most important thing that anyone could do, after giving so much of themselves to this project, and realizing they need to step back, is staying available as a mentor.

 SDM:  This is starting to look like some life learning lesson. Awesome~

 Zacam: Yup. Heck, I still get PM's in many Morrowind/Oblivion boards and in other projects I used to be a part of, even to this day, so short of death, I'm not going anywhere. *knocks on wood*

Chief1983: We're like the roach motel. :) Or maybe, hotel California. You can check out any time you like, but you can never leave :)

 Zacam: Heh.

 Bigchunk1:  Haha. Might be a good way to end the interview

Chief1983: It wasn't over yet?

 Zacam: Yeah, in looking back, I can't believe I've registered for almost 5 years, and I really look forward to the next 5.

 Bigchunk1:  Maybe it is, Stormkeeper will know where to cut

Chief1983: I hope FotG is out the door before the next 5, and I can step back a bit. :P I don't know how some of these guys do it, but I'm pretty sure that if I ever get a wife and kids, I won't be able to keep this up. Not to the extent I do now at least.

 Goober5000: Heh, well, look what happened to everyone else when they got married

Chief1983: Actually I'm worried as soon as I get a house with a 2 car garage I'll be spending all my time playing mechanic.

 Zacam: Had a wife (we got divorced just before I found HLP) but my kids are in awe of what I do and the awesome stuff when I show the FSO and the MediaVPs. They're not playing yet, but I hope someday they might.

Chief1983: Heh, HLP makes for one helluva rebound doesn't it?

 Zacam: Heh. Yes, yes it does. And now it's my forever perpetual Mistress.

The_E:  Hello folks

 Zacam: Ahoy! So, I think The E here is one of our more recent joiners to the Badge. Amongst everything else, what compelled you get on board?

 The_E:  Hmm

 Bigchunk1:  Once I asked Battuta what the E did for BP:WIH, he replied EVERYTHING!

 The_E:  Well, it all began in the dark ages of 2007. I got a new computer after many years of not having one, and then I saw the BtRL demo release, and then went from there

Chief1983: To be honest, this interview would have been a lot more interesting had I been drinking the whole time.

 The_E:  Then I spent a couple months lurking, then I was trolling the support board, and then, as my coding skillz increased, I did do some bug fixing

 SDM:  chief1983: xD

Chief1983: The latter parts of it reminded me of some discussions I've had with my friend in the hot tub.  Except I was talking more clearly.

 MatthTheGeek:  The_E is now our local debug ninja. When someone has an issue with FSO, if he's around, he's always the one we seek to solve the problem. We're all like; debug !

Chief1983: Anyway, I think it's time to play a game.

 Zacam: Indeed. I've been astounded (and a bit Jealous at times) with the sheer level of awesome some people can bring to bear.

 The_E:  Yeah

 Bigchunk1:  Yeah, when I was new E answered all my questions

 The_E:  It's one of the great things of working on an open-source project like this

 MatthTheGeek:  The_E became famous and respected quite quickly

 The_E:  Every once in a while, someone will pop up and do something incredibly cool

 Bigchunk1:  What's E stand for?

 MatthTheGeek:  Now that's a good question


 The_E:  It's just a nom de net I've been using for more than a decade, at this point

 Bigchunk1:  lol, it's an overdue question. You saw the 'E' key first and went for it?

 The_E:  I honestly can't tell you

Chief1983: Heh, sounds like the reason I still use my nick

 MatthTheGeek:  No, he wanted The something, and saw the last key he typed was E

Chief1983: When we first got AOL, the first thing I did was hit up the NFL chat room. So my AIM name was chief83. And then I had to change to chief1983 later on another service because chief83 was taken. And it's been chief1983 almost everywhere ever since

 Goober5000: When I joined HLP, I wanted Sesquipedalian but Sesquipedalian had joined not three days before so Goober5000 was just something I made up on the spot.

 SDM:  Are we explaining all of ours or just you guyses?

 Goober5000: dunno

 Zacam: Heh.

 MatthTheGeek:  SDM: it's a SCP interview

 SDM:  I know.

 MatthTheGeek:  I hate that keyboard or it hates me, dunno.

 Bigchunk1:  Heh this is kind of informal now

Chief1983: yeah but I thought the interview was over :P

 Zacam: I figure logging some Q&A might be good.

 SDM:  QnA + HLP's usual

 Bigchunk1:  All I know is Stormkeeper is guna have a fine editing job coming up

 The_E:  As usual :P

 Bigchunk1:  Now that's everything is kinda settled I want to ask my crazy question

 Zacam: Fire away.


 Bigchunk1:  A ship transforms into a robot and lands on a cruiser walking along its edge.

 MatthTheGeek:  oO

 Zacam: That might take a while.

 Bigchunk1:  Firing a plasma gun at hostile flying fighters

 The_E:  Not possible without a whole lot of work

 MatthTheGeek:  animation code mainly, I'd guess

 Zacam: Amongst other things.

 The_E:  That, and the whole "walking on the hull' part

 MatthTheGeek:  Yeah

 Bigchunk1:  Should this ever happen in FSO?

 MatthTheGeek:  That's not really what FSO was made for

 Zacam: Like: How do you have an object (in a non-docking fashion) attach itself to another object without setting off a collision?

 SDM:  If it was, SoL would have robots.

 The_E:  bigchunk1: Hard to say. It's not something we've been seriously discussing, and AFAIK, no one is working on something similar

 Zacam: Yeah, we would need a few other areas of the code more polished up than they are right now before anybody could even START to thinking about a feature like that.

 Bigchunk1:  That's why the question is crazy.

 Zacam: Not any crazier than folks asking for GeoMod. And only slightly less impractical than asking for shadows and decals. :D

 Bigchunk1:  Honestly though, I am amazed with how far FSO has come since retail. Collision physics, shading, post processing there are some nice things coming

 SDM:  Collision changed?

 Bigchunk1:  Check the ships.tbl wiki

 Zacam: Yeah, the ability for "hot" landings. Ala Diaspora/BSG.

 MatthTheGeek:  Post processing is cool  especially since it becomes real a few weeks ago, when my new rig arrived. That and normals
« Last Edit: November 30, 2012, 03:12:29 pm by Zacam »
Ancient-Shivan War|Interview Board

Member of the Scooby Doo Fanclub. And we're not talking a cartoon dog here people!!

Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
Wow, this really highlights how far the code has come... didn't know it was such a mess before 3.6.9 (when I joined).

So, funnily enough, you don't really need any coding experience to become a coder?


Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.

Coding experience does help a lot. FSO isn't exactly easy for someone new to the whole programming thing. So if you don't have the experience, you need a whole ton of enthusiasm to get through the weeks and months of familiarization required before you can make your first contributions. We've seen it unfortunately often that people come in with cool ideas, are active for a week or two, and then vanish once more.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns


Offline Rodo

  • Custom tittle
  • 212
  • stargazer
    • Steam
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
Cool interview, I want you guys to know that you are my heroes :yes:
el hombre vicio...


Offline Cyborg17

  • 29
  • Life? Don't talk to me about life....
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
Do Sexps fall under the same category as needing weeks of familiarization. I know I could use a few sexps for special cases, but I don't want to bother you guys with requests when there are a lot of different things that need working on.

And I agree with Rodo. You guys have done awesome work over the years.  Coming in now makes me kind of complacent to things like multi-ship docking, but reading this makes it clear that you put a heck of a lot of work into it.  :yes:


Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
SEXPs have the twin advantages that a) new ones can be added easily; b) adding SEXPs doesn't necessarily require one to be familiar with the rest of the code.  So they're almost the ideal place for newbies to start. :)

Daveb's article on the subject is handy for reference.  It was written in 2002 so there are one or two things that have changed (e.g. CATAGORY was fixed) but it's a very helpful tutorial nevertheless.


Offline pecenipicek

  • Roast Chicken
  • 211
  • Powered by copious amounts of coffee and nicotine
    • Skype
    • Steam
    • Twitter
    • PeceniPicek's own deviantart page
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
gotta love the sheer amount of banter that occured in the Q&A section :p
Skype: vrganjko
Ho, ho, ho, to the bottle I go
to heal my heart and drown my woe!
Rain may fall and wind may blow,
and many miles be still to go,
but under a tall tree I will lie!

The Apocalypse Project needs YOU! - recruiting info thread.


Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
SEXPs have the twin advantages that a) new ones can be added easily; b) adding SEXPs doesn't necessarily require one to be familiar with the rest of the code.  So they're almost the ideal place for newbies to start. :)

Daveb's article on the subject is handy for reference.  It was written in 2002 so there are one or two things that have changed (e.g. CATAGORY was fixed) but it's a very helpful tutorial nevertheless.


There's also this guide written by yours truly which is more up to date.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns


Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
Aha!  Even better.

EDIT: It looks like the two guides are somewhat different, so it would be best to read both, and then choose The E's guide if there's a conflict between them.

EDIT2: grammar
« Last Edit: September 08, 2011, 02:12:43 am by Goober5000 »


Offline Cyborg17

  • 29
  • Life? Don't talk to me about life....
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
Thanks guys.


Offline Aardwolf

  • 211
  • Posts: 16,384
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.

Could somebody fix the "what squadwar used to look like" image link?


Offline phreak

  • Gun Phreak
  • 211
  • -1
Re: The Long Awaited Truth on the SCP ... and about Geomod on the SCP.
I liked the nostalgia.

Yes I check in here every once in a while.
Offically approved by Ebola Virus Man :wtf:
phreakscp - gtalk
phreak317#7583 - discord