Harro Besier took the time to answer our questions:

Q: I have to admit that your demo looks pretty impressive; is this your first title?

A: Thanks for compliments; we had to consider our goals first. Our project was heavily focused to an educational goal: “It doesn’t have to be good looking because we don’t publish games. It has to be similar to a driving school lesson.” But who likes to go to school? It was clear for us that a driving simulation has to be good looking. It was also clear that the city layout and the physics simulation for our cars have to be as realistic as possible to beat our (possible) competitors by miles. And we had to consider the “fun factor”. We realized that due to some experiences we’ve made during game development some years before. All our team members were experienced A3 developers and game designers. In 1995 we have started to publish an A3 ego shooter and we have continued with several smaller 3D applications based on A3.
 

Q: How many men are in your team and how long did it take you to finish he game?

A: We had 3 guys in our core-team: one programmer and two graphic artists. All 3 men have created levels with WED. The creation of graphics and textures have also been done by these 3 persons and another graphic artist. One of our men has created the houses and the street textures; the other two men did the rest of the graphics work: one of them made the help dialog graphics and the start screen and the last one (the WDL-developer) the street signs and the GUI. The graphic artist has delivered the basis for the cockpit model and the traffic light models. The basis for the car models are bought from geometricks and the pedestrian is from the free models project. Sounds are derived from a professional sound studio. One guy of the core team did all the WDL- and DLL-programming. He also animated and refined the models to be suitable for A5 and created all traffic sign models. Yes - and a girl friend of us delivered the story board - which cars and pedestrians will move at which event in which direction. What driving-skills shall be trained in which way; how will be the entity-paths and so on. She also did system testing. For testing we have also hired a professional testing lab in Scotland.
 

Q: How many portals has a medium sized level?

A: One of our lessons learned: you can handle an A5 level be having a maximum 4500 portals. It takes some experience to create a big level with only a few portals and it is also tricky to arrange these portals in such a way that the “camera-scan” always hits a low / medium amount of portals at the same time (the absolute amount of portals is only important to get the level rendered by “wmp2wmb” in a short time). Our first level had over 8000 portals and a poor frame rate; it was possible to build the WMB in preview mode. At the middle of the project it was necessary to split our level into different smaller levels which will be loaded at runtime. Our biggest level (big means a lot of building and crossings) has 3500 portals and a rendering time of 45 minutes on a 500 MHz PIII. In WED, block positioning was done with a lot of care for that level. Our smallest level has 2800 portals but it took 10 hours to render; because it is a small level the camera will always hit a lot of portals, so the frame rate is poor. The big level is much more faster (and has more models too). Our last level (we didn’t had enough time to optimize it) has 5150 portals and it took 190 hours to get rendered (using the same PC as the big level). You can imagine that the portal placement is important to consider. In summary we created 5 distinct levels with a medium count of 3500 portals.
 

Q: How did you attach the lights (for breaks, etc) to the car models?

A: This was a problem; the models are made of two distinct entities - one for the chassis and one for the wheels. Our original plan was to create a third model with attached lights and different skins. So you will have a lot of work on each car to place the light model exactly to the chassis position and angles. This would be the best solution because we would waste only a small amount of texture memory for different light-skins. The idea was also to attach flare sprites to the break lights to get a better visibility. We didn't have enough time to realize this idea, so the traffic lights are painted on different chassis skins directly. This costs a lot of texture memory which we had to spare at the block textures instead, but it works fine.
 

Q: I think that you are using predefined paths for the other cars but how did you manage to synchronize the movement (one car waits for the other to pass and so on)?

A: This is also a little bit extravagant. We had to move a lot of cars in parallel and we had to meet the requirement of getting a fast frame rate. Typically one level has to move 60 cars (that means 120 entities) and pedestrians in parallel. That means that these entities are not allowed to use the A5 collision detection because we want them to move fast. Another necessity was to program cars to drive on several lanes according to our story board. Additionally, cars will be triggered by other cars or the player and the car ways and states have to be restored upon user’s request. To increase performance, cars will be hidden depending on the localization of the camera and restored back if the camera turns.

One of the solutions was to assign only one path to each lane. Cars drive from waypoint to waypoint and are able to change between different ways. I programmed that “driving plan” using some of the 8 skills being available at WED’s entity-dialog, so the story board designer has got a WED-toolkit to realize her ideas. Each car only knows its nearest car on his own way and calculates distance to that car each tick. With that information and according to traffic rules, gas and steering wheel are calculated. A car model is controlled the same way the player controls his own car using the keyboard; everything behaves in the same way and uses the same mathematical rules so it would be easy to implement a multiplayer driving-simulation in future. A car has to monitor its “nearest” car only (and the player) at each tick; I had to establish only a mechanism to calculate the nearest car on certain circumstances. The decision when to brake and when to accelerate is implemented using an automaton. This automaton also considers up to 20 physical parameters to simulate a realistic driving experience of different car types (car length, wheel distance, mass, several different springs gears, power etc.). I also implemented a bike driving rule but we couldn’t afford a bike model at last…
 

Q: Do you plan to release an English version of your simulator in the near future?

A: There will be localizations for other countries in the near future. First of all we will implement European localizations. The English version will be difficult. I think that an US-version would have to have also typical American levels. American cities are quite different to the European cities. Furthermore we have to improve the highway simulation and so on. For an UK version the level has to be mirrored because our UK friends drive on the left (wrong ;-) side. If the new WED will get that mirror-feature we will move forward to realize the UK version too.
 

Q: If you would start creating 3D-Fahrschule again, what would you change in it?

A: I would take a stronger emphasis upon the city layout. We only use a small part of the implemented functionality because our crossings are not very complex.
And I won’t start such a project by having such a small budget we had (and small means really small). Professional graphics work is very expensive.
 

Q: Do you think that A5 was the "perfect" tool for this game? Have you missed an important engine feature?

A: This question isn't easy to answer: yes and no. The main points which speak against an usage of A5 (but this is only my personal experience):
- The lack of creating complex data structures and entity arrays.
- There is only a poor pointer arithmetic (but it gets better and better) and you are very restricted if you want implement using an object-oriented approach. I’m used to program in Java - so you can imagine my situation ;-)
- Combining moving models is not easy and sometimes not easy to comprehend.
- Scanning is only done by cones and triggering done by spheres.
- You have only global fields (how to implement a recursive function?) and global functions.
- Using fonts is not state of the art.
- Saving is not differentiated enough.
- The (old) WED is *§$@!# !

But there are also good points for which I would choose the A5 for the next 3D project too:
- The support is quite excellent. This is the major fact!
- If I won’t get a bug fixed or a very special question answered, the best tool would be useless. And the Conitec-support was very good (special thanks to JCL).
- It is easy to get a lot of good results with a little effort. You get much for little money.
- The API is very comprehensive and easy to understand.
- You can do a lot of things if you understand A5’s particular nature (if not you will always stay at a beginner’s level).
 

Q: What are (in your opinion) the key "selling" points for 3DF? Why would I want to buy it?

A: I drive the car for almost 20 years. During the test phase I drove through the levels over and over. As an effect I recognized the I turned my head more often in reality. Though the game concept worked indeed!
Additionally there are situations which can not be trained with a real car. You can do forbidden things and you can repeat scenes. You save a lot of money because you won’t have to pay a driving instructor.
Additionally this is - as far as I know - the first car game (sorry - simulation) in which you can drive in every direction and not only along a predefined path (this feature is restricted in the demo version - sorry folks)
 

Q: What's coming next? You get rich with this title and stop making games?

A: We won’t earn a lot of money with that product if you consider the amount of work we put in it (working 18 hours a day). But it was fun to make that project and it is also fun to read recessions and test reports. Actually we are test-winner in some magazines - so we can say it was worth the effort. Except some localization stuff off 3DF there are no concrete plans for new projects - sniff…
 

Thank you very much, Harro.