health bar and camera
My roommate is an artist and he'll probably be doing the visual styles for everything, including the health bars, so they will be alot better looking in the future. Most of the assets in place as of now are programmer art.
As to the functionality of the health bar, I just started adding some little features such as sections of the health bar falling off and fading away while interpolating between the current and the previous health values, etc. Anything to make it seem more arcadey.
Regarding the camera, it does exactly what you said.
The camera calculates an ideal position between the two opponents along the X axis and will linearly interpolate from its current position to its ideal position using units/sec values defined in the .jedifighter files (per map). This coordinate can be augmented by an offset.
Elaborating a bit more on the interpolation, you can set 3 thresholds for the interpolation units per second. All you have to do is state a range amount and a speed to apply over that range. Three ranges allows the mapper to have some fine tuned camera control which can be essential in certain cases.
For example, if the map contained a teleporter, and the player was all of a sudden teleported 500 units away from his opponent, you would want the camera to quickly relocate to his position in order for the players view to be meaningful. Using this idea, the mapper could specify that between 500 to 100 units deviation of the ideal camera position from the current cametra position, let the camera update its position by 75 units per second. Then from 100 to 50 units, let the camera update by 15 units per seconds, etc.
Anyway, back to the camera depth. For the Y coordinate of the camera, I simply calculate the distance of the camera from the point on the X axis bisecting the line segment between the two players such that the proper (and current) FOV will be maintained. This ideal position is again interpolated using the same procedure as above and can also be augmented by an offset.
The Z coordinate of the camera can calculated in two ways. The first, and default method, is to simply set the cameras Z coordinate to your clients Z coordinate. The alternative method is to take an average of the Z coordinates of your client and your opponent. This lets the camera follow both you and your opponent. MVC2 uses the first method whereas other fighters might use the second. This distinction can also be set in the .jedifighter file to be executed upon map loading. Again, interpolation and offsetting can be applied.
adnan.f.zafar "at" gmail.com