RakNet is nearing completion. About the only thing it doesn’t have is a cross-platform lobby system. I’m not really equipped for consistent cross-platform development, but I think this will be a good next feature.
After that I’m considering writing Rak3D, an easy to use 3d graphics engine in the same spirit as RakNet. There’s a lot of graphics engines out there already, but as I’ve seen they are all deficient in at least one of these 3 ways:
1. Too low level such that unless you are a graphics programmer already you won’t be able to exploit the best features
2. Lacking in integrated tools, or the tools already there suck
3. Slow
The best designed of the ones I’ve used is http://irrlicht.sourceforge.net/, in many ways it reminds me of RakNet, though it lacks the features of Ogre 3D.
The goal of my 3d engine would be
1. To better learn graphics programming myself
2. To provide all the common ancillary features people need (GUI, exporter integration with built-in scene view, animation sequence tool, debug output, predefined shaders)
3. To be easy to use such that you really don’t have to be a graphics programmer to get nice scenes.
4. To perform complex operations and optimize them internally, relieving the user of this burden.
I would do this with two layers. The first layer would be more low level and an analogue to the 3D engines already out there. The second layer would make decisions as of a necessity, using the first layer for this, and is intended to be what most people would use, with the first layer as a backup.