Besides, it's about time we had a good free level modeller.
I agree 1000%. Whats really great about merging these projects is that work is accomplished simultaneously. I have to stress that we are not designing a specific game, but more so a engine to handle the generic game features found in most FPS games. Moreso A FPS Creator.
In a generic FPS, the player navigates a level with 1-2 Weapons attached to the camera. The weapons, be it a Sword or Pulse Cannon is activated by the player to perform a action (swing, fire missile). The player can usually 'pick-up' items and activate events (a series of actions) by colliding with 'Triggers' (open doors, alert bots, etc).
These game play elements is what PPF should handle. It doesnt matter the theme of the game. PPF should also handle specialty Rendering and AI routines.
PW3D should handle the editing of every possible game object (rendered and virtual): items, triggers, particles, soundfields, weapons, scripts, and UI.
So heres where I'm at with PW3D. I'm currently working on the network messaging portion of the application. Currently you can chat, but, thats it. Unlike a game, the application has different editing commands that can be executed between the connected clients. Figuring out the most generic means to handle the potentially large number of commands is the goal.
Although a game will not require a large number of commands, network messaging is needed too for multiplayer. If we achieve a high performance network with lots of commands, we can easily achieve with very little commands. This is currently what Im working on.
For years, FPS games have used several tricks to get high performance rendering results. If you heard of VIS, LOD, occlusion and all that crap, then you know what I'm talking about. The ultimate goal behind these techniques is to minimize the number of polygons rendered to the screen or shift polygon demands.
Some other blitz-made FPS engines have used camera clipping/short range techniques to minimize polygon rendering. This is ok for interiors with short corridors. The problem is, your level designs are limited claustrophobic interior design.
However, we achieve more flexibility by adding a method to create, save, and load information that tells the engine what to minimum number of polygons to display. There are several techniques floating around on the net. There are even 1 or 2 in the archives. Someone needs to find a Occlusion method and code it meeting the naming convention for easy integration.