|
|  |
 |
| Interviews | -straight from the horse's mouth... |
 |
 |
Interview with Codec |
Interview with Codec, January, 2001
- Hi Codec. Tell us a little about yourself.
Hello everybody, I'm from Nottingham, England and I'm a coder-holic. (murmers from the audience - "poor guy..."). I'm in my late 30's,
ok so actually pretty late 30s, ok so nearly as late as you can get. (He's 38! ;) /Editor's note) I do programming for a living and
as a hobby. Currently I eat, sleep and breathe mostly Falcon4. I'm married, with 1 or 2 children depending on when this comes out. I've
been around on the Internet from before it was popular, working on things like email systems.
- When did you get in contact with Falcon 4.0?
Let me see, must have been about January 1999, when one of my colleagues showed me screen shots from
falcon4 on his screen. We both agreed they looked staggering. I'd just bought a new video 3d card (voodoo
banshee) and was now getting 30 fps out of MS Flight Simulator 98, rather than 2. What a revelation that was.
Time for something serious, and Falcon 4 looked like it. I got a copy and started going through the learning
experience. I know how hard it is to land a plane in real life, having got my PPL, and the fact that I
couldn't land F4 reliably after a weeks playing, got me to thinking there was something special here.
I remember it was a month or more before I dared to press the Campaign button. I was still working
my way through the training missions (mostly the landing one!).
- You have provided the community with many useful utilities. F4Browse is maybe the most interesting one, and
is one of the things that led to the community-refinement of F4. What's the story behind F4Browse?
F4browse... well to paraphrase Isaac Newton, if I have made data more visible, it is by standing on
the shoulders of those who came before me. If I have to lay the blame anywhere, it is Martin Smith
who got me started. He wrote a series of articles where he went through the structure of the
.TAC file trying to work out how it was constructed. He wrote a small program to decode
and encode the .TAC file. This was like a religious revelation to me.
"You mean you can stare at a whole bunch of binary, and using common sense and educated guesses,
work out what it means?"
Man - that's like cracking the Enigma code, or changing water into wine.
Ordinary people can't do that sort of thing can they????
Then I got to thinking, well how hard can it be - answer - I have no idea. Real answer - pretty damn hard.
So I spent several months decoding the ACMI file format. And do you know, if you stick at it,
it is possible to make sense of all this. Takes an AWFUL lot of time though. I was averaging about
one field a day decoding. I got most of
it decoded and wrote an ACMI viewer to test out if I'd got it right. Its still around - though
it's pretty basic. It was my first ever 3-d program too...
Anyway - then came the infamous "Hex codes" thread on Delphi, followed by the "New Hex codes"
thread when that one got lost. People like DuckHoliday (my personal hero), Beng, and a load of others
were attacking the main data files. Beng did a wonderful spreadsheet for these that was my constant
companion for a long while. We all began to make sense of the various datafiles, and people like
Rhino and Cyborg were editing these hex values and making new discoveries. (If you change the value
at offset XX, to value YY it shoots aim-120's from the main gun...)
Finally I decided to write an MFC program (my first ever MFC program in fact) to display what
we knew in more human readable format. The first versions had lots and lots of fields labeled
unk1, unk2 etc with my best guess as to if this was an integer, a floating point number etc.
As time went on, People like Duck made more associations (the last field of the CT file always
seemed to index a record in the VCD file for Vehicles for instance).
I just kept adding stuff as we discovered it. I'm still adding to it even now,
though its now new features rather than decoded data.
- You have also created a bunch of other utilities. Tell us about them?
Part way through the f4browse project, I was playing around with data in the .TEX
file. I manage to isolate it into records, and tried all sorts of formats to try and make
these things into images - I mean .TEX - must be textures surely. I tried JPG, GIF, BMP
all sorts of formats. Nothing worked. Then going back to Martin Smiths TAC file program- that had compressed
data in it. I tried his decompression algorithm on it and looked at the results in a hex editor (AXE).
AXE has a nice feature where it will colour different values of data in different colours.
The joy when I could make out something that was clearly a picture, is the sort of moment us
sad programmers live for. Eureka! Eureka! I posted an image direct from AXE to the Delphi
forum there and then. Thus was born the skin editor program.
Next came two programs to try and draw the 3-d models, lodbrowse and lodview. The first a simple
2-d viewer, the 2nd a more ambitious 3-d viewer. These are still around, but much of the functionality
and more (apart from the 3-d bit) is in f4browse now.
Then I got involved in Theater building. Chris Carter was eager to build a new theater, and
willing to put his time (and money) into such a venture. So terrainview was written and
evolved through 48 versions to help tile the Balkan theater. Started as a viewer to see if
what I guessed was the format, looked anything like Korea. Later it turned into an
editor and a tiling program. A number of other programs were also written to help the theater
construction, installation and generation.
Tacedit started where Martin Smiths program left off, and now allows you to edit nearly
everything in a campaign/TAC file. We're up to about version 28 of that.
Tlkview was my viewer/player for the TLK file, as we tried to add new voices for the Balkan
theater. It can play all the fragments of conversations in the TLK file, either individually
or as complete phrases.
Other than that - I have written 115 perl scripts over time to attempt to interpret various
files, terrains etc.
- Any new ones in the pipe?
Cockpited is the latest for constructing the switches, sounds and buttons for new
cockpits. You still have to use a graphic editor to get the pictures, but
the cockpit editor allows you to preview and program up the switches and lights.
Other than that - a lot of experimenting with 3-d formats to import new 3-d models.
Frustrating work to try and get these working, but slowly its coming together.
A couple of F4Patch plugins I wrote for Joel Bierlings excellent F4Patch program
to help merge the eventual new 3-d models, and another one half written for adding new
voice fragments, that I haven't got around to finishing.
- When will we see Cockpited in the virtual 'shelves'?
Well - its sort of finished core development. But its not really a tool for everyone.
Making a cockpit takes a fair bit of graphics skill (of which I have zero). I'll probably post
it soon.
- Speaking of 3d-objects, do you cooperate with F4A in their efforts of bringing new aircraft into the sim?
As much as I can. I'm not a huge contributor to F4A, but they keep me on the team and
I provide the occasional bit of help (such as cockpit editor). There main efforts are in
graphics, and as I think I mentioned once or twice - not an area I can do much in.
However they are a great team. I've been working on importing 3-d objects for
a year or more now. Of course, they want the highest detail and fidelity of the models
that is possible. Sadly, so far, I've not been able to deliver completely.
- Are you cooperating with other groups as well?
We try, some groups object on moral grounds to what we are doing (which is their choice). I've made some changes to better support the
terrain developers for instance, although there is a lot more to be done in this area. Cockpit developers have also been helped out in
a number of ways.
- Many seem to believe that there is some kind of competition between eTeam and RPG. What's your opinion on that?
My opinion, I'd like us all to get on together. Direct cooperation is not possible because
of the moral objections. I'm a little between the two camps, my f4browse work is used by the RPG
and I continue to make small adjustments to the program based on their requests and feedback.
Its my firm belief that the eTeam way is the future... but then I would say that wouldn't I!
The RPG are doing a great job, but they are asymptotically approaching a hard limit of what they
can enhance. They will have their work cut out if new 3-d models integrated correctly,
as that suddenly opens the door for new aircraft, ships, ground craft and weapons, all requiring
parameters and data.
- Will you always keep things compatible with the datafiles of today, or will there be a time when you have to change that too?
We mostly try and keep compatible - but that can't last for ever, realistically. Hard decision have to be taken sometimes. Should we keep
compatibility with the 1.08i2 network code, or should we make a change that allows 50 people to play in multi-player. We have used
almost every spare byte in each datafile now, so new enhancements will either have to stop, or we break compatibility. Everything comes
at a price.
- How did you get in touch with eTeam?
Well actually they got in touch with me. One of the members at the time had been
a long time tester of f4browse. I got in an ICQ conversation with him and eRAZOR,
I think over something they thought I'd know about, which I forget,
and although at the time most of my spare time was on the Balkan theater doing
new versions of terrainview, and trying to piece together tacedit, I was hooked.
Hook, line and sinker... oh boy was I sucked in... no way back from that.
- A lot of people inaccurately think that eFalcon is all about graphics. This is not true is it?
No - it's much more than that. There is a whole war going on in your computer,
Ground, Sea and Air, and you can take one small part of it in your chosen craft to help the
outcome. It's a staggering idea. Network play is a huge focus right now - with some real breakthroughs coming daily.
Realism is another focus, more immersion. Graphics is a big part of it obviously, given
the skill set, and it really helps immersion to have high frame rates and pretty pictures.
- What's your role in eTeam?
Well eRAZOR keeps improving the frame rate, and the rest of us fight back by adding
new features to pull it back! I've mostly been doing MFD work, although I think I've also
added about 20 buttons/lights/switches too. Some stuff I hope you'll see in screenshots
over the next few weeks.
- How many people are involved in the actual coding?
There are currently somewhere between 4 to 6 people doing programming.
Each sort of gravitate to their own areas. Graphics is obviously eRAZOR's area.
No one else on the team has anywhere near his skill and experience with 3D stuff.
AI is another popular area to improve. Networking has seen huge breakthroughs
recently too. Another of the team runs the campaign in 3-d as a sort of screensaver
on one of his computers in Action Camera view all day and night (as far as I can work
out). This has caught loads of rare but important CTD cases.
Then there is a dedicated crew of testers, who make our lives a misery by reporting
bugs, CTDs, features they want, features they don't want.
- How good are you (eTeam)? Is there anything that cannot be done?
No - the sky, or more probably space is the limit. I think there is a vast amount
of life left in the old dog yet. Most of the programmers are really expert in their
abilities. When you work with people of that caliber, communication is on an almost
telepathic level. You know what they're thinking, they know what your thinking. A couple
of the team are not as experienced, but they make up for any lack of experience with their
enthusiasm (trying to drink from a fire hose is the analogy that comes to mind here sometimes!).
We have a virtual baseball bat to hand, ready to apply small corrections to peoples heads
when they get out of line. I have a few scars from that! It keeps you focused.
- What are you working on right now?
Whatever comes my way... or whatever is interesting, or needed.
You'll probably see bits of my work on this site in the future,
if it looks good - its mine, if not - someone else did it :-)
- Where is focus for 1.09, and what's beyond?
Most of the 1.09 effort to date has been towards realism. More like the real jet, more options
and more realism. With full realism turned on, you'll have to know your checklists and
your jet backwards to get the most out of it. However the growth and changes is more organic than
following a set plan. We read the forums, people say "I'd really like an option where..."
and maybe someone picks up the idea and runs with it.
- Are there any problems with confidential information? Are there things you know about, but cannot put into the sim?
Not so far, sometimes the data is just not available. In these cases we make use of the internet
and our best guesses. Take for instance the Datalink module, which allows you to track your
wingmen, their targets and other things happening around you. There is no information
anywhere I can find on the specifics of this. However, the specifications for things like
the Improved Data Modem (IDM) is available for all to see on the net (just try a search on
"Improved data modem"), including its data
transfer rate. A couple of us sat down and did a few calculations on the back of a virtual
envelope. With a data rate of X, and assume positional data would require Y bytes this would
mean you could track Z targets with an update rate of 1/second...
We have no idea if this is accurate, but its our best guess what might be real.
- Thank you very much for your time, Codec.
My pleasure.
/BrownSnake
|
 |
 |
 |
|
 |
 |
Copyright © 2001 eFalcon Team |
|