• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Where do game devs store their old game source codes?

How about keeping copies of the completed game?

jgkspsx said:
Edit: and there's no reason you can't write a parser to convert the assembly into higher-level source. It won't be the original commented source document (but how well commented/documented were older projects anyway?), but it will be functionally equivalent. Sure, a single-use parser could take months to get working correctly, but the point stands
You'd be a god to the IOCCC. :P
 
Hitokage said:
You'd be a god to the IOCCC. :P
I'm not talking about a general-use Intel x86 decompiler, I'm talking about a decompiler for an extremely well-specified system where the memory map is comparatively small, all possible IO configurations are known, AND emulators are available to see the system state while stepping through any particular rough spot. A combination of parsing and manual debugging can be effective.

Look, there's a whole archive of well-commented reverse-engineered Vectrex programs. People did an extremely good job reverse-engineering the Metroid ROM. For a large, complex program on something more modern than the 6809 or the 6508 it's an absurd amount of work, but given enough time and resources it's possible. I never said it was economically feasible.

Edit: And anyone who'd put this:
for (D = 720; D > -3888; D--)
putchar (D >
0 ?
" )!\320\234\360\256\370\256 0\230F .,mnbvcxz ;lkjhgfdsa \n][poiuytrewq =-0987654321 \357\262 \337\337 \357\272 \337\337 ( )\"\343\312F\320!/ !\230 26!/\16 K>!/\16\332 \4\16\251\0160\355&\2271\20\2300\355`x{0\355\347\2560 \237qpa%\231o!\230 \337\337\337 , )\"K\240 \343\316qrpxzy\0 sRDh\16\313\212u\343\314qrzy !0( "
[D] ^ 32 : Y (I (D)));
in a non-IOCCC piece of code should be shot :P
 
Kulock said:
Seriously, you did work on that?

...What happened to the "Another Story" second quest of sorts that was in the PSX version, but not the DC one? Always wondered if it was just a matter of the dev not wanting to invest extra time/money into adding it, or if disc storage space was an issue, or now if it was because of what you said above.

I can't remember the exact reason but I vaguely remember it being taken out cuz of asset issues and hacks weren't stable enough and had to kick it out of the door. Something like that...
 
What are these "old techniques"? Is this why most JP programmers can't make games with obvious features such as multilingual voices, multilingual texts, NTSC/PAL selector?

Anyone know if computer science in done differently in other parts of the world? I know only of the US education in CS. How is CS taught in Asia and Europe?
 
Re this entire thread: OMFG

I *could* work in the game industry! Hooray!
 
I have a suspicion that Nintendo has actually kept all their source code over the years -- they keep releasing tweaked ROMs with significant changes, which seems to hint of recompiled source... or a hacked ROM. The eReader games had large chunks chopped out and recoded, the Zelda Collection had individual button mapping icons changed...

I think I'm of the "if the code works, it's good" catagory -- then again, I have this desire for the industry to return to a single programmer putting out an entire program by himself. When you did that, you didn't NEED human-friendly code.
 
Geez, would it really be that hard to just put it on one disc and set it in the closet or something labeled: Source code here. Even back then why not just do that, I mean if anything it might be fun to have gone back and looked over it.
 
DavidDayton said:
I have a suspicion that Nintendo has actually kept all their source code over the years -- they keep releasing tweaked ROMs with significant changes, which seems to hint of recompiled source... or a hacked ROM. The eReader games had large chunks chopped out and recoded, the Zelda Collection had individual button mapping icons changed...

I think I'm of the "if the code works, it's good" catagory -- then again, I have this desire for the industry to return to a single programmer putting out an entire program by himself. When you did that, you didn't NEED human-friendly code.

You always need human-friendly code, even if you're just writing something by yourself. What about later on when someone else reads it for the exact purpose this thread discusses? And it's never any fun to go back to some old code you wrote (which probably sucks by your current standards) and have to figure out wtf you were thinking all over again.
 
NotMSRP said:
What are these "old techniques"? Is this why most JP programmers can't make games with obvious features such as multilingual voices, multilingual texts, NTSC/PAL selector?

Because, even in this day and age, most Japanese developers develop their game exclusively with Japan in mind, and most still NEVER THINK that their game will be localised, so they set up their development environment to cope with just one language (their own). There are exceptions to the rule (mainly Sega and Namco, although it varies from team to team and project to project), but pretty much the rest of the Japanese industry is STILL in this 1980s development mindset. Yes it should be a given these days if you work for one of the majors that your game has a high chance of being localised but it STILL HAPPENS NOW.

And as I've said on here before, most localisation on Japanese games doesn't even START until the Japanese master is signed off and in manufacturing, and then the teams usually have to hack their code around to fit Western languages in ("Oh, so these foreign languages take up considerably more space on screen do they? Oops, we hadn't planned for that...")

Simulatenous (or near simultaneous) localisation alongside development just doesn't exist as a concept to most Japanese developers (because it just doesn't occur to them). It's a sad fact of life but it's true and that's why most Japanese games are released in English considerably after they originally come out in Japan.

And let's not go into most Japanese developers attitudes to PAL/European languages, because you basically take the same argument and multiply it by the number of languages that the game needs to be done in.
 
Out of interest, what did this code actually do ?

Code:
for (D = 720; D > -3888; D--)
putchar (D >
0 ?
" )!\320\234\360\256\370\256 0\230F .,mnbvcxz ;lkjhgfdsa \n][poiuytrewq =-0987654321 \357\262 \337\337 \357\272 \337\337 ( )\"\343\312F\320!/ !\230 26!/\16 K>!/\16\332 \4\16\251\0160\355&\2271\20\2300\355`x{0\355\347\2560 \237qpa%\231o!\230 \337\337\337 , )\"K\240 \343\316qrpxzy\0 sRDh\16\313\212u\343\314qrzy !0( "
[D] ^ 32 : Y (I (D)));
 
Nerevar said:
Since a lot of devs have hopped on, do you guys employ any form of versioning control (CVS, SourceSafe, etc)? If so, what do you do with the arhives when the project ends? Do you only keep the "final" production build of the code, or do you keep all the old development code as well?

Archive to tape of the entire repository. What happens to the tape? Dunno. Goes to some storage facility but I doubt anyone has ever tried to recover anything from the tape :)
 
Ikaris said:
That's nothing, my friend :) Most of what we do in the industry is ghetto.

A lot of people on the outside think it's always amazing tools and engine and full creative freedom... there's no such thing as a smooth running clean no problem start to finish game development.

It's always fucked up somewhere.

Haven't worked on a single game that hasn't been messed up in some way... it's the pipeline... or the engine... or the client... or the TRC... or the hardware... etc etc etc...

Also, I've seen my share of source code from Japanese games, and let me tell you... they make great games but their source code is as messed up and the rest of us.


It's kinda crazy when you think abuot it. I just an avergae guy, and I backup and archive my personal files on a regular basis. You'd think that many developers would packrat a lot of stuff but I guess they migrate from project to project.

I guess this emphasizes for me to collect games. Because, based on what the devs had said in this thread, when a game is gone, it's truly gone.

Good game don't die, they just fade away........ :lol
 
Top Bottom