If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Star Wars: Jedi Starfighter/Developer Interview

From The Cutting Room Floor
Jump to navigation Jump to search

This is a sub-page of Star Wars: Jedi Starfighter.

Cactus 2.0!
This article has just been started and needs the article basics added.
Help us out and add them.

User SlyCooperReloadCoded reached out to Brett Douville - the Lead Programmer on Starfighter and Jedi Starfighter to ask him a bunch of questions, some of which are related to the unused audio mentioned on the article. Note that they did get his permission to put his responses here.

SlyCooperReloadCoded: "I've found this unused conversation that would've taken place during the final mission of Jedi Starfighter, Rhys Dallows from the first game returning. Why was this cut?"

Brett: "I... don't remember if we ever had a version of the final mission when Rhys actually showed up, but we might have planned for it. Performance was at a premium in a lot of missions, and adding new ship types might have prevented Rhys being allowed to be in there. Essentially, those capital ship missions were almost as expensive memory-wise as terrain-based missions were, so I wouldn't be surprised to learn it was to keep in memory. But I could be entirely wrong.

It's possible that the person who was implementing this thought that might be able to happen and wrote it just in case. It's generally better to have too much audio than not enough, particularly because with voice talent it can be really expensive or even downright impossible to get the original actor back into the studio for "pick ups," especially for a game that was being built quickly. (It's also possible the dialog incorporating Rhys was written before we decided not to have him come in. There are a million ways this might have happened.) I do happen to have a "mission overview document" from July of 2001 and Rhys Dallows is not mentioned in it anywhere."

SlyCooperReloadCoded: "Apparently Mount Merakan was originally the Hex weapons production facility instead of the factory in a later mission, the mountain being a lot bigger and with wind updrafts as well as a "cloud cover" that made it hard to see. What's the story here?

Brett: "The original idea for Merakan was it to be just ridiculously large, like, so big you couldn't see the planet below. Daron Stinnett pushed back on that, I think, suggesting that the new rendering techniques we'd have to try to figure out to make that work for the terrain were not going to be worth the headaches (and also the edge cases... like, what do you do with a player who just wants to fly... down to the planet?). Keep in mind, this was a game made in... about a year, and it *had* to make that year for company scheduling reasons. So we were pretty intolerant of certain types of risk unless there was a clear payoff. That vision of Mt Merakan did not pay off with some early tests so we just abandoned it. The dense cloud-cover would probably have been tough, too, as the PS2 was pretty fill-limited."

SlyCooperReloadCoded: "According to some unused voice lines from the two Hex weapon factory missions, several unknown characters would've joined forces with Nym. They're abbreviated as "npl3" and "ngu", and their voices sound like the Lok forces from the previous game. Apparently Demolition Squad involved those Evac transports landing near the bunkers using smoke to cover their entrance or something. Who are those two characters?"

Brett: "Couldn't tell you. Literally no idea."

SlyCooperReloadCoded: "Mind explaining why "Suicide Droids" were cut? They were supposed to appear in Prison Break, and would ram into ships, bypassing their shields. It was replaced with a few Droid Starfighters in the hangar as a hidden objective. Was this too difficult for the engine to handle?

Why was Poisoned Skies simplified so much? Dealing with HAGs and covering evacuation transports would've been so cool."

Brett: "Sept 11th happened six months before we shipped and we made some significant changes as a result. In particular, having "suicide droids" who flew directly into targets... was not somewhere any of us wanted to go at that point. The "Hex Weapon" or whatever had originally, in Poisoned Skies (renamed), involved literal destruction of the buildings in that town (was that Point Modie? named for Doug Modie, level designer) and similarly that was pretty upsetting to consider. So we made the "Hex Weapon" more abstractly some sort of poison."

SlyCooperReloadCoded: "Now for some generic questions:

In Jedi Starfighter, entering the code "MAGGIE" as a cheat will display the message "Hello to my two boys". This code doesn't work in the Xbox release. Any idea who slipped this in?"

Brett: "I know exactly who put that in. The lead programmer on the project had a border collie named Maggie, and also two sons (who had both been born during the development of SF). No idea why that wouldn't work in the Xbox edition but I can tell you who slipped it in: me. :) Those two boys will be 23 and 21 this year. Sadly, Maggie has not been with us for quite some time, she died in 2005."

SlyCooperReloadCoded: "Why do both Starfighter and Jedi Starfighter have registry .reg files on the discs? With Starfighter it makes sense because there's a PC port, but Jedi Starfighter doesn't."

Brett: "The games were developed on PC, and parsing a .reg file is super simple, so just having one parser work for all of that made sense. It's just a simple key/value store with folder hierarchy, I think? We were pretty PC-focused on Starfighter in particular, and this was the first console game for a number of us. There are a lot of engineering choices I'd make differently today."

SlyCooperReloadCoded: "In the original Starfighter, entering the codes "SHOTS", "SIZZLE", or "HOTEL" brings up a Default test video. Why those words? It makes me think there was an inside joke at the offices."

Brett: "I can't tell you what those should have been, I suspect more additional videos were planned and just didn't get done in time. Someone probably forgot to remove the handling of those specific commands/codes/whatever. I don't think it was an inside joke; every resource type had a default version that would be loaded if we failed to find the resource. So there was a pink (or maybe yellow? can't remember) texture that said DEFAULT on it, a voice line that was just a robot saying "DEFAULT" etc. This is a common practice to help you find your missing assets, make it glaringly obvious that it's missing. I once saw someone streaming modern Hitman that found a very weirdly rendered object on a desk somewhere and it turned out that it had some sort of "make this stick out like a sore thumb because it's broken" shader on it."

SlyCooperReloadCoded: "If you boot up the original Starfighter on the PS2 and plug in a USB keyboard, some debug controls can be activated. So far I've found an orbit cam, a camera that looks at a different entity every few seconds (the DIRECTOR cheat but you can control your craft) and an FOV adjuster. I've also found a way to trigger a crash dump. What other debug stuff can I do with this? I'd love a freecam personally."

Brett: "I'm sure that's possible but I'm sorry, I can't remember how you'd do it. It'd be something like gob+ freecamctrl freecam ctrl+ freecam _camera ? Or something like that. The first command here would create an object named "freecam" that was of type freecamctrl and add it to the database (but that might not be what the type of controller was called, sorry... but the actual name of it would be in the executable somewhere). The second line would bind it to control the camera. Order of arguments might be wrong, it's been 20 years since I've thought about this. "gob+" is an alias for "creategameobject," I think, and "ctrl+" is an alias for "bindcontroller" and can take an optional third argument for certain types of controllers (like a "keep these two things in view" controller, but I have no idea what that'd be called at this point).

OK, I was curious and I looked it up. The camera controller was called CFreeMoveCtrl, so you'd do gob+ CFreeMoveCtrl,<name_you_want>. It looks like one might already be created called _FreeMove or even _fm, so you might only need the ctrl+ _FreeMove _camera? Something like that maybe? You can do a lot, we controlled tons of mission logic this way, but I'd be hard-pressed to remember everything. I had forgotten the syntax, it's COMMAND [<arg1>[,<arg2>...]] i.e. comma-delimited, etc.

Yeah, the command "crash" we added literally so we could test our crash-tracking handlers (on the PC) and we didn't take out the debug command on the PS2. On the PS2 it would crash and I guess trigger a core dump.

If you get a look at our mission files (or also... I feel like we have a plaintext command file we also run before loading a mission), then you can see a bunch of other commands in there. I only remember the most common ones, like those I mentioned. All the mission are probably in the biggest PAK file along with everything else except for audio."

SlyCooperReloadCoded: "On very rare occasions after completing the "Demolition Squad" mission, instead of playing a pre-rendered cutscene, the entire screen will turn a solid red color and your only option is to turn off the console. It's so rare that I'm 23, I've been playing this game for over a decade, and I've seen it twice. Is this actually some sort of error screen but there's no debug text because it was removed? Here's a screenshot from an emulator, but it happens on real hardware under the same circumstances: https://imgur.com/a/PNNTVxZ"

Brett: "This sounds like a hyper-specific crash that we didn't catch before ship. I've never even heard of that one. When we go to play pre-rendered cutscenes, we actually clear the screen multiple times to keep the IOP from timing out (and we also free up all the mission memory, because we needed 10 MB of contiguous free memory to stream movies at the time). The IOP is basically the PlayStation One inside the box, it deals with the controllers and it runs on the screen clear interrupt. We did have some problems with memory being properly cleared by the front-end UI (which was Flash), maybe someone from Secret Level added the red frame clear to catch the specific condition. Secret Level implemented the Flash player we used."

SlyCooperReloadCoded: "Did you happen to take any old development prototypes with you when you left? Some devs do, and I'd LOVE to play them, especially since I'm finding more unused audio for cut missions."

Brett: "I don't do this because it's not worth the legal hassles if someone ever cared to come after me. Not that anyone would from LucasArts (RIP) at this point, but I didn't know that when I left at the end of 2004."

SlyCooperReloadCoded: "What programs did you use to pack/unpack the games' .pak archives? I'd love to modify these games, as well as see if any of these cut missions are still on the disc, but it's completely undocumented since the only one who has a desire to crack open the files is me, and I don't have the skills to do reverse-engineering work. Was it something in-house?"

Brett: "Oh, we just wrote our own custom packer. I think it's basically a header with a version number and an offset to the table of contents (I think?). With the audio files in particular, we did have to pad the files to be on 2K aligned boundaries, if I remember right. It was a quirk of the PS2 that streaming from a file on disc had to be sector-aligned, and I think the sectors were on a 2K alignment. So those files are padded. If you popped it open in a hex editor you might see filename-like text somewhere near the end of the file. It'd probably be rows of data that were something like: filename, size of file, offset inside the pak file. I would probably just open whatever the smallest file is and see if I can work it out from there.

(I remembered this correctly. If you open, for example, ESPANOL.PAK on the original game, at the end there's a table of contents. I'm sure the strings of hex are sizes and stuff, after the zero-termination of the strings.)"

SlyCooperReloadCoded: "About those commands, I haven't found a way to actually enter them in, if there's a console then I either haven't found it or it might not be in the files anymore. It just auto-activates some of them if I pause the game and start pressing random keys. There is a file on the disc for commandline, but I haven't found a way to use it though. At least I'll have a general sense of direction if I ever manage to find a way to do that. The way I managed to crash the game was by entering the unused cheat code "EXTRA1" two times in a row. There's three unused cheats, "EXTRA1", "EXTRA2", and "EXTRA3", normally impossible to enter since the cheat screen didn't have numbers. I was able to do it with Cheat Engine. They all just play that Default video. But the second time it crashes with an error:

https://www.youtube.com/watch?v=FWr4XVHKWUU"

Brett: "As I recall, basically there was a key combination to open up a console in the PS2 version. I think you had to have the linux add-on, though, because the PS2 didn't have a USB port. I think the crash you're having is probably out of memory or something. I can't remember the key combination, it was probably something like Escape followed by S F. It used to be possible to find this information online but some simple searches didn't turn it up."

SlyCooperReloadCoded: "I don't have it documented yet, but apparently adding more secondary weapons was a late decision since there's unused lines from Cannon Fodder that show that the orbital cannon would've replaced your bombs instead of your targeting controls, so "you wouldn't be able to use your secondary weapon" or something like that. The TF Cruiser was also originally a Sabaoth Destroyer, which would've made more sense given both Toth and Bella are on Lok."

Brett: "I don't remember the decision about moving the controls for the cannon. I suspect they hadn't made the decision yet when dialog lock happened, like I described in my previous mail, so they just recorded it both ways. There was plenty of space on the disc to worry about weeding out voice lines that weren't used and that would have been a time-consuming process, and if there's one thing we didn't have a lot of, it was time."

SlyCooper: "The ending of the game heavily implies a third entry in the series, were there plans for that? I'd personally love to see a post-Empire Nym-based entry called Star Wars Rebel Starfighter, but did you ever get that far?"

Brett: "As far as I know it was never discussed. I don't think JSF sold well enough to want to continue the franchise. Starfighter did quite well, because it was early in the PS2 lifecycle, but the numbers on the sequel weren't great, I don't think. I think marketing/finance would have known based on sell-in numbers (that is, the numbers that are bought by sellers like gamestop) were probably not high enough to feel good about a sequel. They did give it a fair shake, though, it did get an actual TV commercial, and I don't think Starfighter did."

SlyCooperReloadCoded: "Near the end of the Primo strategy guide for Jedi Starfighter, a dev is interviewed and said that he'd love to do a Nym first-person shooter some day. Was that idea ever brought to LucasArts? Such a shame Disney has no intentions of doing non-canon games anymore, I'd play that and I don't play first-person shooters."

Brett: "Huh, I had never read that before. The interview is with Daron Stinnett (project leader), and he got his start at LucasArts as the project leader for Dark Forces and then did Outlaws. I don't know for sure if he ever pitched it to the company, but probably not. A bunch of us moved on to Republic Commando next instead, because we were playing things like Rainbow Six at the time."

SlyCooperReloadCoded: "The name "Quentin" seems to be all over the PS2 version of Jedi Starfighter. It's the PS2 cheat code for invincibility, there's a wingman in one of the Nym training missions with that name, and there are several decorative buildings in the Mount Merakan level that form the letters "QW" when viewed from above. Who is this guy?"

Brett: "Quentin Westcott was a new level designer on JSF, he had been in QA previously. I didn't know about the QW when viewed from above, that's really funny. He had a quirky sense of humor for sure. The mission designers put a lot of little mentions of people in the game. For example, the voice actress who played Bella was a San Francisco DJ and before her reveal someone says over the comms that they are detecting a message on a particular frequency, and that's the same frequency as where she appeared on the radio dial (103.3 or something like that, I can't remember). We used to do that stuff all the time.

Right, Alice 97.3, Sterling James, apparently we're the only game she ever did voice work with, I wonder how that happened. Hahaha."

SlyCooperReloadCoded: "In the mission Dragon's Den, if you let the Hex Deployers escape from the plant, Jinkins will say something like "Huh, a snowstorm is blowing in", and he'll only say this under this condition. Cut feature?"

Brett: "No idea. A snowstorm wouldn't have been great for performance. Or... maybe that refers to the easter egg of the skiing battledroid? I think that appears in the mountain mission but don't remember how to trigger it."

SlyCooperReloadCoded: "In that same mission, if you let the Bonus Objective bomber land, Jinkins says something like "We're too late, they've entered the control tower! It'll take a few seconds for the system to shut down, we still have a chance!" implying that you can fail the mission if you wait long enough, but even on hard difficulty you have infinite time."

Brett: "I think that's just poetic license to add dramatic stakes. It's also possible that a timed version was tested but wasn't as fun. I don't remember."

SlyCooperReloadCoded: "On the Xbox version of Jedi Starfighter, there's a glitch where occasionally, some assets will unload, breaking certain parts of missions, but if enough remains to complete it, it'll still complete. The best example is on Tug of War, where occasionally the targeting system will appear to have targeted an enemy Tug, but there's no model on the display. If you look around, the cannon parts have disappeared and the turrets on the Sabaoth Destroyer are in a weird unloaded, low-poly state. It's quite annoying since it happens so often, and it's Xbox-exclusive. One time it happened on Attack of the Clones, and all the clones on the ground had no upper-half, making it look like a bunch of armored legs running around. Any idea what causes this?"

Brett: "I haven't the slightest. The Xbox port was handled out-of-house (again by Secret Level, though we gave them a significant leg up by having a DirectX-based renderer on the PC). I do remember seeing the legs-only bug (I even had a screenshot of that on my work PC at LucasArts back then) but I don't remember what caused it. I mean, fundamentally it's a bad matrix somewhere in the transform hierarchy, but that's all I can really remember."

SlyCooperReloadCoded: "Jedi Starfighter came out before Attack of the Clones did, but you were allowed access to enough reference materials for the game to be at least somewhat accurate. How much did you have access to?"

Brett: "There was a special room at LucasArts with all the materials, which people had access to (though it was quite restricted), but I don't think we talked to anyone at Film or ILM about things. The appearance of the Jedi Starfighter in the film is pretty brief, I think, I've never watched the movie. Film was pretty quiet on plot details and things like that for sure. As a programmer, I didn't have much need to be in that room."

SlyCooperReloadCoded: "I once read somewhere that unique voice lines will play in Jedi Starfighter if you had an original Starfighter save file on your memory card, but I personally can't find any instances of this happening."

Brett: "That isn't true. :) I wanted to do something special for the 25th anniversary of Star Wars (which would have been a few months after JSF released) based on the system date and time, but I just didn't have enough time to do it."

SlyCooperReloadCoded: "Easter eggs are pretty cool, but the most mysterious one is in the original Starfighter, and it makes no sense to me. At the start of the first mission, if you do a 180 and head in the wrong direction, you'll end up in a room of paintings and the HUD will disappear. What is this?

https://www.youtube.com/watch?v=zcggfZYTHrA"

Brett: "Those are portraits of the characters in Outlaws, which was Daron Stinnett's previous title. A lot of the designers in particular had come through QA and had their own characters that they loved to play when they were testing Outlaws multiplayer (apparently a very fun mode, since it was asymmetric, with certain characters dealing more damage with their favorite weapons). So just a nod to that. Greg Land was the level designer for that first mission and I think he was part of that group."

SlyCooperReloadCoded: "In the pre-rendered cutscenes, the Jedi Starfighter's lasers are red but in-game they're blue. Which one came first and why?"

Brett: "Couldn't tell you. I have literally no idea. The pre-rendered team was on a really tight schedule. I don't know what color they were in the movie, maybe they were working from that. I don't remember how those colors were chosen except that maybe it was supposed to match the original trilogy? X-wings fire red lasers, I think."

SlyCooperReloadCoded: " Was the person who put these easter eggs inside Mount Merakan... https://i.imgur.com/XhVGclF.png

the same person who added the go-kart track to Dragon's Den? https://i.imgur.com/Tr2f2qv.png

Also, here's the QW: https://imgur.com/a/EzStQi0"

Brett: "Individual level designers would have put the Easter eggs in each of their levels. I don't remember who did what."

SlyCooperReloadCoded: "In the original Starfighter, all the secondary weapons get an upgraded version that allows you to hold down the button to increase their effect. The thing is, the game never tells you how to do this, plus it never tells you about Vana's upgraded secondary. There's cutscenes that mention the advanced proton torpedoes for Rhys and the plasma scourge for Nym, but nothing in the game that I can find actually tells you how to use them. It's so absent that I've been playing these games since they came out and I only recently figured out how to use Rhys's and Vana's upgraded secondary. I feel like this was a mistake."

Brett: "I feel like this is more a changing expectation of games rather than a mistake. This information is in the manual, in the controller layout section. At the time, we were only starting to put in quality of life improvements and tutorials that are expected today. Particularly as developers coming from primarily PC backgrounds (though even NES/SNES/PS1 games would have been this way), we were used to providing information in and expecting players to read manuals."

SlyCooperReloadCoded: "Going off of that, if you use the "Advanced Havok" bonus ship in Jedi Starfighter, you can use the same plasma scourge ability by holding the button to release five bombs at once, just like in Starfighter. The non-bonus variant of the Havok doesn't do this."

Brett: "Yes, we would have just used the same pmdl ("polygon model") file and flight/control data from the first game for the Advanced Havok."

SlyCooperReloadCoded: "Where did the idea of the Mere even come from? Jinkins makes it seem like they're just partners and not actually the same people in the Lok base from the first game."

Brett: "I have to assume this was from Haden Blackman, who was the writer on both. I don't know what the back story was supposed to be there. Haden also writes comic books from time to time, when he's not busy running Hangar 13, and he wrote a limited series Starfighter series which involved the Mere called "Crossbones". It's on Marvel Unlimited, apparently."

SlyCooperReloadCoded: "How are health and shield values stored in memory? I wanted to attempt to destroy the second Sabaoth Destroyer in Tug of War by setting its hull to 0, but I was unable to find any floats or 4-byte values that control it. Whatever's going on, the amount on the HUD isn't accurate to how much is actually left."

Brett: "They are 32-bit float values on ships, but the Destroyer isn't really a ship, it's a static mesh, I think. I don't think it's possible to destroy it."

SlyCooperReloadCoded: "Has the goal checklist ever gotten overloaded during development? I ask because a while ago, I found a PS2 and Xbox glitch that makes Hammer and Anvil unbeatable: https://www.youtube.com/watch?v=ifG_IjmB-0U Basically, doing things too fast and in a specific order will cause the bombers to destroy the Kethor without the mission failing, and since there's nothing to ram the shield generator, it's stuck. Ever seen this one before?"

Brett: "I haven't, but this seems like a logic hole on the part of the designer. The checklist wouldn't have been overloaded; the goals were basically hand-managed by designers."

SlyCooperReloadCoded: "If you let the Jedi Starfighter sit on the title screen for long enough, two demos will start playing showing gameplay, but not gameplay the player ever gets to control, like tanks and Droid Starfighters in Poisoned Skies, similar to the unused audio I asked about. Also, there's a blockade runner in one of them, were those the evacuation ships?"

Brett: "I think those are the evacuation ships, yes. The title screen "attract modes" are just the game playing itself, with an AI controlling the player ship, and these "missions" were specifically authored but probably based on other levels in the game. There's a "director" camera management thing that just tries to find interesting things to look at and jumps around, and sometimes that's just looking at ships. All the AI is just running for everything."

SlyCooperReloadCoded: "I think I know the answer already, but how much of "My Day at Work" was a joke? I'd like to imagine there was an "Admiral Snackbar" at the offices, but I'm pretty sure it's all humor."

Brett: "Both of the "my day at work" things are actually pretty accurate (though we did not have laser pistols). We had a kitchen at LucasArts with a piece of paper with Ackbar on it that said "Admiral Snackbar." It was on the other side of the wall from the office I used for both Starfighter games, so coffee was thankfully always right around the corner."

SlyCooperReloadCoded: "The voice for the clones sounds so similar to the clone voice in Battlefront 2's cinematics. Is this a coincidence?"

Brett: "Almost certainly but it's possible the voice department helped out with Battlefront 2 and used the same actor. The credits of both games, on Mobygames, might give some clue."

SlyCooperReloadCoded: "Several voice lines on the TCRF article mention Jinkins adding destructible objects to a Target List. I imagined that the Jedi missions followed the old Starfighter mission checklist structure, but Nym missions would grant completion upon destroying items on a checklist. Is this true or another example of having extra lines on hand just in case?"

Brett: "As I mention above, mission goal tracking was entirely under the control of the designers. They just had a certain number of goals per mission allowed total, for UI reasons. But they would just call commands like "setgoalfailed 0" or "setgoalsucceeded 1" or whatever (these are probably not the actual command names but they are something like it). If there are similarities between missions it's probably mostly coincidence or a matter of style for particular level designers. These extra lines again might have been because the designer didn't know which way he or she was going to go with the mission. It was way cheaper to have actors record extra lines in one session than have them record the right lines in two sessions. I can distinctly remember Tim Longo telling the LDs to write extra lines instead of missing something."

SlyCooperReloadCoded: "Were missions quieter at one point? Lots of unused voice lines from earlier mission structures are very quiet, and are overpowered by other game elements like sound effects and music if loaded and played at full volume. This makes me think that the audio systems were different or missions were quieter."

Brett: "It's unlikely that missions were quieter. It may be that the audio simply wasn't leveled by the audio department since they weren't used in-game."

SlyCooperReloadCoded: "07_convoy is a mission I've found in Jedi Starfighter's game files that explains the weird jump in audio file naming, going from 06 to 08. The mission script and catalogue exists so I can at least load it, but lots of models, classes, and all the voice lines were removed. Additionally, it was removed from ostext so I can't even see what it was going to be called. Since I can see the catalogue, I can tell it was going to take place fter Mount Merakan but before Hammer and Anvil, where you take out the freighters you missed earlier, but then Adi and an evac transport carrying Sol's people (from Poisoned Skies) arrives and gets damaged, leading to a protect sequence."

Brett: "I don't remember what it was called either (but Convoy was at least in the title, and it may never have gotten a longer name). It was scrapped fairly early."

SlyCooperReloadCoded: "The only other unused mission in the game files for Jedi Starfighter that doesn't resemble a test map seems to be an unfinished race mode. When loaded, you're put into a race track in the Ruby Nebula as Adi with Yoda commentating, and your force ability is locked to Shield. Your goal is to shoot at coins while dodging hazards and flying through rings to gain points. There's missing textures, a lack of level boundaries, and not all of the recorded Yoda lines were added to its catalogue. It also appears to be a two-player mission as some of these unmapped voice lines say "A Jedi, Player 1 is not" or "Player 2 wins" and things like that. Is there a story behind this one? It has that bonus mission feel to it, just unfinished. Here's a timestamp for that:

https://youtu.be/8lq8dkcbblQ?t=1623"

Brett: "No story that I can recall, it sounds like a skunkworks project that didn't get finished. Sounds like it could have been fun, but with only 11 months on the project, lots of things didn't see the light of day."

SlyCooperReloadCoded: "How does streams.pak work? It's not a normal package file like the others, no package.info with priority, and not the same structure at all, so there's no tools for it currently. .scx voice lines taken out of it also refuse to load as replacements in normal .pak archives. This has prevented me from porting Starfighter missions to Jedi Starfighter, something I'm convinced I can do with my current level of knowledge about both games."

Brett: "Streams.pak is special. Every file in the package is on a sector boundary so it can be streamed from disk, and then it's just padded with garbage after the stream (probably 0s, but I don't remember). I think the original game had tons of individual files for streamed audio, but all the streaming system on the PS2 required was that the data stream starting on sector boundaries. I can't remember the sector sizes but I think it was 2048 bytes. Streamed audio files were taken directly from this special package and so can't be loaded from other packages, I guess. So, if you wrote your own package system, you could just pad them to move the original game audio over."

SlyCooperReloadCoded: "A few Xbox questions too in case you happen to know anything about that.

- Was developments of the ports messy or disorganized? There's 4 backups of every mission in there, as well as a few blank files here and there with default names. Way more test missions too."

Brett: "Once we handed it over to Secret Level they just dealt with it. It sounds like it was sloppy. Port work has rarely been super profitable, so spending extra time on cleaning up data was probably not judged worthwhile. They also had a tight schedule, I think."

SlyCooperReloadCoded: "Does "The Yung Ones" mean anything to you? It's the name of a test level as shown in a placeholder dev menu only found on the Xbox port of Jedi Starfighter. That's not the actual filename, so I thought it might be an inside joke or something."

Brett: "Looks like Yung Kao was a programmer on the port, and maybe someone there was a fan of the 1980s cult comedy "The Young Ones.""

SlyCooperReloadCoded: "It seems a Kamino level was planned as an Xbox exclusive. Several revisions of it exist, even one with proper water. The flying creatures seen in the movie were also fully modelled and animated. It appears in that placeholder level select I mentioned, here's that:

https://imgur.com/a/sjdwMUW"

Brett: "Kamino is in the what, second movie? Never saw it. Don't know anything about the bonus level."

SlyCooperReloadCoded: "Also, if this menu is to be believed, there were going to be 2 Coruscant maps and 2 Kamino maps, but we only got 1 Coruscant map and no Kamino maps. Were these cut due to time restraints as well?"

Brett: "My suspicion is that these levels were being built to support Xbox Live. At the time, there was a chance that Jedi Starfighter would have been the first Xbox Live multiplayer game (which ended up being MechAssault, I think). The plan at the time was to have Bill Gates play JSF against George Lucas on stage at E3 (George would have been remote, I'm sure). So, these were probably head-to-head levels being developed to support that. At the time, LucasArts was trying to get Microsoft to approve another title to release to manufacturing, and so JSF being the first Xbox Live online title never came to be."

SlyCooperReloadCoded: "One last question, I swear, I'm able to answer a lot of things on my own with what I have. On the PC and Xbox ports, no one's activated the debug console yet. PC version of Starfighter has been reverse-engineered and it turns out there 100% is one, but it's a seperate window. However, the proper steps to activate it have been achieved but nothing happens. On all the Xbox ports, the registry line used for keyboard is used for the 4 controller ports instead, however the console is confirmed to exist in them. The problem is a lack of an xinput driver so the keyboard isn't even recognized. If you did work on Xbox or know someone who did, how did you get the game to recognize keyboards?"

Brett: "No idea. I've never even played the Xbox or PC ports. I seem to remember that Xbox dev kits had a utility you could run on the PC to capture console output/send stuff, so possibly on the Xbox it was that. On the PC, it's possible they were just using our editor to send and receive commands from the game? The editor had a console window in it, with buttons the LDs could customize. It all just loaded as a DLL to the game, and the game could play within it. You can see a screen shot in the post-mortem of Starfighter: https://www.gamedeveloper.com/design/postmortem-lucas-arts-i-star-wars-starfighter-i-#close-modal -- note, Chris Corry also goes into detail about memory fragmentation and such, which still plagued us in JSF from the Flash emulator."