Any chance there will be a release or tutorial on how to do this at some point?
@CodeNotMagic20 сағат бұрын
I'm working on a tool to unpack and repack the game's data at the moment. Without that, the process is extremely manual, looking at stuff in hex editors, copying file data out to decompress, recompressing the modified files, and pasting that back into the game with necessary adjustments to related parameters by hand. Not to mention this method doesn't really support making changes that increase file size. Once I have that tool done, I'll probably make another little demo video using it with a link to a download of the unpacker/repacker in the description.
@Dewm_8 күн бұрын
This is such a cool video! Thank you for taking time to document this in a condensed form, it's always really fascinating to learn what makes some of our favorite games tick, as well as the ingenuity around technical challenges. It reminds me that I really need to take the time to think about how I want to handle memory in my own games... Even if we generally don't have the same kinds of limitations, utilizing the most out of the variety of systems games can run on can be really interesting.
@saxxonpike8 күн бұрын
As an archive file format enjoyer this piqued my interest. Excellent video, hope to see more. :)
@killer1one110 күн бұрын
*AWESOME* work here! And thank you for taking the time to explain some of these concepts for those of us that have close to zero knowledge of these things as well. The explanation of how and why data is laid out on the disc was my favorite part.
@TetsuoTheGayMan11 күн бұрын
great video
@lynnesbian11 күн бұрын
great video! it's always interesting to see how things were done back in the day. i assume this is somewhat of a "lost art" - the ps5 and xbox series both copy the entire contents of the game disc to the SSD before you can play, so i imagine they don't use any of these techniques, and the switch, with its flash cartridges, has no need to worry about seek times or layer switching. i very much doubt that the modern xbox developer kit includes a blu-ray disc authoring tool, as cool as that would be 😄 i'd be interested in learning about the methods used on the the PS3 and 360 - did the density of the PS3's blu-ray discs change anything? were slower, more space efficient compression methods used to take advantage of the more powerful processors? does installing an xbox 360 game to the HDD just copy-paste the files, or is it extracting archives?
@HEADSHOTPROLOL11 күн бұрын
A niche detailed behind the scenes overview and reverse engineering of one very particular hidden technical aspect of a only moderately successful console and the underlying subtle technical and creative decisions made by developers 20+ years ago in my fav childhood game that I love to death that almost no one else in the world has ever played let alone heard of? And it's simply a really good video too? Bro this checks literally all my boxes, ez sub :)
@boardante845413 күн бұрын
I love this channel😊
@KeinNiemand14 күн бұрын
you did not explain why games didn't use standard archive formats like zip or 7zip or tar or whatever
@CodeNotMagic13 күн бұрын
I suppose you're right. I meant for the answer to be that the developers can fine-tune their own format to their needs, like BLiNX 2 with its file duplication you won't see in those other formats. Another detail is that most common archive formats use compression that favours high compression ratios in exchange for slower decompression. If you're trying to save space on a computer or minimize the amount of data you have to send over the internet, that's a good tradeoff, but for a game developer whose main goal is to get a game loading quickly, it can be undesirable. The LZSS used in a few games I've seen is pretty quick to decompress, on the other hand. I also suspect there's an element of whether libraries are available for a given compression format with a licence that your studio is willing to use, and how easy an algorithm is to implement yourself otherwise. LZSS is again very easy to implement yourself, at least naively (as I've seen Climax do), and there's a public domain implementation that's ready to use without any restriction (as BLiNX 2 did).
@claysweetser410611 күн бұрын
Off the top of my head: - Tar doesn't support unpacking individual files without first unpacking the entire archive. - Zip compresses files "in isolation"; that is, it isn't able to deduplicate data that is the same in two files. I presume that this was to support extracting individual files. - 7z supports extracting individual files and deduplicating shared data, but likely was too uncommon to really be used "as is".
@NS55gaming14 күн бұрын
I wonder if it’s possible to do the same thing but for the PS2 version
@carsongold0314 күн бұрын
@@NS55gaming It should be. All the home console versions of the game have all three gold cars in them. It’s just that their respective builds have instances of their respective cars being used. So the other two of the gold cars that are not present are within the games files. Apparently you have to use a hex editor.
@NemesisTWarlock14 күн бұрын
Okay yeah, Subbed. Good explanation, good Visualisation, just the right amount of gamer snark. :)
@C4TS0DIAX15 күн бұрын
i gotta be honest, someone has to make a remastered ver of this game
@CornThatLefty15 күн бұрын
The algorithm has blessed me
@minirop16 күн бұрын
Those are some nice smoke and mirrors. And I, too, have been wanting to know more of the internals of those games, more than 10 years ago (but wasn't knowledgable in rev-eng at the time).
@carsongold0316 күн бұрын
Seeing these cars accessible like this is incredible! This is what STC should’ve had instead of having cars locked to specific consoles. I hope you can make tutorials on modding this game. Because I want to attempt this on the PC version.
@TheSeriousDog17 күн бұрын
Nice video, loved the visuals helping to undestand the concepts you explained.
@AerianTelevision17 күн бұрын
Meteos planet parameters, funnily enough when you try to mod the game, are stored in .mtp files.
@frfrankie2318 күн бұрын
Check out Barbie Wild Horse Rescue if you want to see weird custom encryption
@CuthbertMicheal18 күн бұрын
tutorial?
@memoryhunter208418 күн бұрын
Great vid! What were the music used?
@Revoker12214 күн бұрын
As best as I can tell, pretty much all of it seemed to be from Blinx 2's soundtrack. Was there a particular track that you were interested in?
@memoryhunter20844 күн бұрын
@Revoker1221 oh man, if i were to remember 😆
@xRobert1016x18 күн бұрын
This is a really well done video on something interesting but pretty obscure, good work
@LowellLoveMusic18 күн бұрын
This is awesome! ❤
@whtiequillBj19 күн бұрын
I remember archive formats. But not from xbox. I remember it from games like Armor Command from Ripcord games.
@em00k19 күн бұрын
Packing everything into binary blobs was happening way before the CDROM era. The further back you go with machines with slow media and smaller memory footprints, you will find it everywhere. On machines with only 64KB of addressable RAM this was even more crucial, you could have a block of data in an extended ram bank, page that in unpack the data to addressable RAM. It still happens today :)
@alext381115 күн бұрын
It also happens today. What comes to mind is the Warriors series still packs it's data into gigantic bin files (IIRC usually names LINKDATA for whatever reason). Although they are using their own engine I think?
@skatcat74319 күн бұрын
Top tier!
@Anife6919 күн бұрын
WAIT 32 SUBS ??????????????? your vid was amazing bro !!! I really like this ambient music in bg
@JigaTech19 күн бұрын
good video 👍
@tomysshadow21 күн бұрын
Luigi Auriemma (the creator of QuickBMS, a utility often used for unpacking such formats) wrote a paper called "Overview of game file formats and archives" that goes deep into this topic as well. Something that is alluded to when mentioning the headers but wasn't fully explained is sectors - a CD is divided into sectors, 2048 bytes large each, and these are basically the smallest unit you can work with on the CD. So you can't read less than 2048 bytes at a time, and if data is split between multiple sectors, you have to read both sectors. Therefore it is wise on a CD to align data on the nearest 2048 bytes, i.e. sacrifice a tiny amount of space to add some padding so that files will fit cleanly into the sectors instead of being split down the middle of them. Hence why it may be desirable to control the offset where it begins :)
@CodeNotMagic21 күн бұрын
Oh, I almost mentioned Auriemma's work here! Earlier ideas for this video were more narrative and chronological, and would've included their IPK script for another Artoon title being used as the basis for a BLiNX 2 script many years ago. That was what I used for my original Blinx jacket mod way back then. I definitely ought to give that paper a read, too, so thanks for mentioning it (and likewise for the quick explanation of sectors that I didn't manage to fit in anywhere).
@MacarrãoNoodles24 күн бұрын
This is like a dream come true, nice work 👍 Also I like that you managed to change their colors, that should make it possible to partially recreate some of the real Hot Wheels cars.
@carsongold0326 күн бұрын
I’m shaking! Seeing my favorite Hot Wheels game of all time finally getting modded after so long with the cars that you couldn’t use in certain levels had me grinning from ear to ear! I cannot wait to see more updates in the future!
@MacarrãoNoodles27 күн бұрын
It's really awesome to see the game break cars in a different angle. Also Twin Mill is really fast! The silver Deora II and Hyperliner (3:24 and 4:28) looks cool too.
@MacarrãoNoodles27 күн бұрын
This is really cool! Think this is possible to do on the PC version? It seems to contain the Gov'ner and Swoopy Do in its files too.
@CodeNotMagic27 күн бұрын
I've never seen the filesystem of the PC version, but I suspect it's pretty much the same. Most of the game's data is stored in archive.imp, with archive.bin saying which data is where (I guess you might already know this if you say you saw Gov'ner and Swoopy Do in there). I just opened archive.bin up in a hex editor, found two different car names of the same length, and swapped every instance of them. I suspect that'll work just as well on the PC version. There's also a compressed XML file that says what cars are initially unlocked and what part of the menu they appear in. I suspect I could modify this to make all three gold cars appear under the "gold" category, plus shenanigans like moving the challenge cars into another category and maybe even putting the minigame cars in a selectable category (there _is_ a "minigame" category, but it's not selectable in the garage). I've been wanting to write a program to properly unpack and repack all the data before attempting that, but I might hack something together real quick to try that idea out anyways.
@MacarrãoNoodles27 күн бұрын
@@CodeNotMagic Yes, the PC version has those two files you mentioned (archive.imp and archive.bin) and that's how I saw that the Gov'ner and Swoopy Do were there, at least their names are there... As for the second part that would be great! To be able to choose among the three golden cars, and do as you're planning. Nice find, you're awesome! 👊
@mariofan045329 күн бұрын
I can't wait for this game to get custom tracks, it would be fun and hey nice video I just subscribed