I have no idea what most of this means, but it's interesting reading...
I'm just glad if it's not sending everyone to sleep!
***********************
It's extremely helpful to "compare notes" with how others structure their games, especially in regards to scripting and compression.
I totally agree ... it's one of the big reasons that I'm doing this.
I've often learned a lot from looking at how other people put their games together.
Everyone used to do that back-in-the-day when someone came up with a particularly "clever" effect.
***********************
Or the clap. "STD" only meant "sexually transmitted disease" when I was younger. Then C++ came along and made it mean something equally unpalatable.
It's amazing, to me, at just how all that templated junk and the overuse of class inheritance totally kills compiler performance.
I took a look at the Unreal Engine when they made it cheaply available a year or so back.
There's definitely some powerful stuff in there ... but OMG, it was so slow to compile!
It took my old quad-core PC nearly 60 minutes to do a clean compile of their codebase.
It takes the same machine approx 3 minutes to do a clean compile of my last X360 game.
***********************
I worked on Nayuta which used a little more complicated version of what you're calling FALCOM2. Trails in the Sky 3 PC was using straight FALCOM2.
Welcome!
Congratulations on getting those games decompressing, it's interesting to hear about the progression of Falcom's compression over the years.
Are those translations released, yet?
Beginning, middle and end: My programs tend to follow: input, data processing, output. Is that what's meant?
I'm going to guess that Dave is talking about classic "procedural" or "functional" programming.
That's where you can generally look at the source code and see the flow of the program execution.
Once you get into too deep into some of the tricks that "object-oriented" programming makes look simple, like event handlers, and lists/trees/etc of objects running update/collision/etc methods, then things quickly become hard to follow, and harder to debug.
When you add in multiple threads on modern systems, then the complexity ramps up by orders-of-magnitude.
Things very quickly get to the point that only the person/people that originally wrote it have
any chance to debugging it. And as modern games show, even they can't catch a lot of the problems.