Despite what anybody in this thread said, Penjin can be and
was actually used for 3D applications (it is by no means a 2D-only framework, the 2D part just got more attention and development).
Though to be honest, the Penjin1 codebase is kind of messy and hard to get into - I currently am the maintainer, so if you run into problems you can report them to me, though I have never touched the 3D part of the framework (therefore I can't tell you much about the details, you would have to ask PokeParadox for that - just PM him on this forum).
Because of that messiness the engine is being rewritten and a WIP version can be found on GitHub, titled PenjinTwo:
https://github.com/p...radox/PenjinTwo
It provided a much cleaner codebase, better use of OOP, but not all features are ported over yet.
Again, I don't know how far the 3D part is in development, you might want to check back with PokeParadox.
Sparrow3D works nicely out of the box (also on the Pandora), probably requires less set-up, but only offers limited performance for very detailed scenes as it's a software renderer (so it does not use acceleration provided by OpenGL ES) - it's not slow by all means, but you won't get decent results with high-poly models.
Then there is the Wavebreaker project by topor, which is a commented port of a game to give you a framework and a working example to get into 3D development easily:
http://w1xer.at/pandora/ (there probably are threads about it on this forum, too).
To quote topor: "Working C++ codebase to implement a 3D game using nothing more than OpenGLES 1.1 .. can even be built *on* the Pandora, with nothing more than the onboard compiler. WakeBreaker contains everything you need to get started writing a 3D game in C++ with OpenGL ES - no further libraries required. Its an excellent example of how to write a 3D game in plain, easy to understand C++ and can serve as a working base for your own developments, easily enough."
and there also are a couple of others, nicely documented in the wiki:
http://www.pandorawi...ts#Game_Engines
---
I personally used Penjin1 for a couple of my projects (Wandor and Greyout) and liked the vast functionality, but disliked how it does not make use of inheritance and requires you to rewrite or overwrite/inherit some of the classes to get a proper set-up (for state management).
For my
latest project I am using sparrow3d and I like how easy it was to set-up and get a first prototype running. It intergrates nicely and does not get in the way.
On the other hand it lacks some functionality compared to Penjin (especially sprite handling).
But in fact, the problems mentioned with both engines are being worked on (Ziz constantly introduces new features to sparrow3d and PenjinTwo already provides a much better codebase).
For Schizophrenia we used a custom-built engine and depending on how complex or unique your game is going to be, this might be a very viable way to go. You won't get fast prototyping (which is one major drawback for me), on the other hand you have full control over what your engine is doing, probably learn a lot on the way and maybe end up with another nice framework superior to the ones mentioned in this thread. However this requires a lot of pre-coding work (like planning, structure, etc.) and having experience with other framework will be highly beneficial as you know the things you like/disliked and maybe have an idea for a good approach, features you need/don't need, etc.
(All my projects are 2D btw)