Many people disagree but I always say you should at least try to write own game engine. I've made at least 3 big game engines in my life contoured to specific projects and I learn a wealth of information from each one. My absolute biggest one complete with scripting engine was for my now-abandoned PC game
hospital. It was done in late 2006 so the graphics aren't that good by today's standards
My latest iPad project is based around constructing a 3D graphics engine to interact with the newton game dynamics physics library. I have a
development log thread going on at touch arcade to try to generate in-development interest for it. I'm intentionally leaving out any specifics for the game play however, its good to let ppl speculate