|
 11-18-2006, 06:40 PM
 | These are pretty good questions so allow me to elaborate.
cj iwakura wrote:
Xeno wrote:
|
I love FF7 but I actually don't understand what this is or why you are making a new engine or whatever.
Can someone care to explain?
|
This is pretty much how I feel. And if after all this time, you're only at the Mako Reactor, won't it take you upwards of a decade to actually finish this project?
|
Ok, I can see where the confusion is.
I'll first explain why a new engine must exist with a quote I did in another thread.
quote:
|
The first problem is simple code-rot. When a program is no longer being coded, the actual source code begins to deteriorate. This starts to happen within the first few weeks. The longer it sits as a .zip file somewhere, or sits on a pressed archival CD-ROM, the code loses it's ability to function. After a while, it just becomes fossilized, like bread left to dry in the sun.
Now I'm not saying the code physically degrades. What happens is programmers move on, APIs are forgotten, supporting tooling and architecture are either deleted or deprecated, and anything that can use the code simply vanishes. This, in turn, makes the code useless as a functioning core of a programming project. The code for FF7 is almost 10 years old now.
The second problem is the data. FF7 was designed around the PSX. All the music, backgrounds, movies, models, animations, and other non-code items were conceptualized and created with only that platform in mind. The train-wreck of a PC port was a direct result of trying to shoe-horn PSX data into something a PC could understand. All the tools that were used to create/render the data are long gone, (See the first problem), and so, it sits, rotting too.
|
The goal of this project mirrors the same philosophy as ScummVM. Old engines die a slow deprecating death. S-E knows this and has been updating their back catalog of games for newer systems over the last few years. The problem is that this particular engine is very very weird. In it's many incarnations, it has run FF7/8/9, PE, PE2, Xenogears, and a handful of others. The issue is that this engine was designed from the ground up for the only the PS1.
The original PSX is what I like to call a "transitional system". It had a lot of strange technologies that were ahead of it's time at launch. Besides having a built-in packet-based 3D accelerator, (abet, non-filtered), it also supported such weirdness as multiple color depths on a single drawing surface and oddball resolutions that are created by simply drawing a rectangle on VRAM. Ever see a game that ran in 1024x240? (The Macross game [ab]used this resolution a lot) That's the kind of stuff made the PSX kind of a pain to code.
This engine has several goals. First it allows us to "start fresh" and create a new engine using the original PSX (raw) data. (The PC version will also be supported later) The hope is to get something stable and working without the need of emulation. It will also allow anyone to take this code and port it so they can play it on the Gameboy FutureSystem X, or whatever new computing platforms come out in the years to come.
Also it will have the ability to accept user code and data so you can make your own FF7-like game. (The engine, however, will make it impossible to mix the user content and the original Square data. The less we step on toes the better)
You must have the original game to make this work. The engine requires the Squaresoft data set to be functional.
Also, as the engine is object-orientated, we have the ability to add games into the system, like ScummVM. We have a very basic Xenogears framework in there right now.
What you are seeing is not us making the levels, that's Square's data, what we are doing is loading the levels and trying to execute them. So when you say "We are only at the reactor" the truth is we can load up *ANY* field file right now (well, kinda anyway). We just started at the beginning of the game.
Does that make sense?
Mostly, though, we do it because it's there. ^_^ |
|