My summer break starts in a week so I've decided to start a summer programming project. My goal is to create a playable prototype for a 3d game. I've programmed simple games for school in java and c++, but never anything 3D or complex. This will be a learning experience.
The prototype I'd like to create is a 3d Pokémon battle game. I loved the Pokémon series, but in gaming I'm not a fan of turn-based or 2d gameplay. You choose the starter Pokémon you want from the menu and then the battle starts. The environment would be just a simple flat arena. Attacks are programmed in (attacks like flamethrower may need a particle system or something). The Pokémon fight until one's HP goes to zero and then it's over. I'd also need to program an AI for the opponent. Once the prototype was fleshed out, I'd add networking where you could play a 2nd player.
The problem is I'm not sure what to use to create it. I'd like to do as much myself as possible, so I kind of shy away from using engines, but I'm wondering if it is necessary. I have the resources (models, sound, etc) but I would need to handle rendering, animations, scripting, and such. Is it feasible to create my own 3d rendering with everything I would need (animation, particles, etc) or use OpenGL/Direct3D instead of using a commercial engine (like UDK)?