Live data from Hacker News

Reverse-engineering Codemasters' BIGF archive format in Ruby

davidslv.uk

1–6 of 6 posts

Re: Reverse-engineering Codemasters' BIGF archive format in Ruby

#2
Author here. This started as a hobby attempt to understand Codemasters' old driving AI, which had received quite a few interesting game reviews at the time. Which meant first reading their "BIGF" archive format. The surprise was Ruby: String#unpack is basically a fast, C-backed binary parser hiding in the stdlib, and the whole reader is dependency-free. Repo (MIT): https://github.com/davidslv/bigf

Honest note: AI-assisted throughout — I steered and verified every claim against the bytes. No game data committed; tests synthesise fixtures from the documented format.

Re: Reverse-engineering Codemasters' BIGF archive format in Ruby

#3
post #2

Author here. This started as a hobby attempt to understand Codemasters' old driving AI, which had received quite a few interesting game reviews at the time. Which meant first reading their "BIGF" archive format. The surprise was Ruby: String#unpack is basically a fast, C-backed binary parser hiding in the stdlib, and the whole reader is dependency-free. Repo (MIT): https://github.com/davidslv/bigf Honest note: AI-ass…

Neat project. I just wrapped up a somewhat similar, but very limited project to rip assets from Multimedia Fusion 1.5 (.cca) files. I'll throw it up on Github one of these days...

The writeup and even your comment also scan as AI-written to me. Are they?

Re: Reverse-engineering Codemasters' BIGF archive format in Ruby

#5
What a fun article to read. This is such a cool showcase of the languages capabilities and standard library that comes with it. There is a gem named ”Ronin”, which is supposed to cover cases like this. But in your case, it doesn’t seem to be needed anyways.