The problem with starting a project using a programming language you don’t know much about with a tool set you aren’t familiar with and interfacing with an API you’ve never used before is that there are a lot of unknowns integrating into a single frustrating experience.
I’ve been doing this software engineering thing for a while now, and before that I was dabbling with all the languages one is forced to learn during a four-year computer science program (I guess that’s what counts as wild and crazy college experimentation for computer geeks); but, I’ve never had a reason to learn Python. Now I do. A new language, though, means a new tool set.
I suppose it doesn’t really need to mean using a new tool set — you can always use [insert your favorite text editor here]. But if you want to be productive, you’ve got to have a real tool; that’s why we invented integrated development environments. So, I went hunting for a worthwhile Python IDE and settled on PyDev for Eclipse.
I’ve used Eclipse before so I figured it couldn’t be that hard to adapt to a new language in familiar environment. But, of course a new language means new options and menus and new options and menus mean that what should be a completely familiar environment is not so familiar.
So with my new-found entry-level Python skills and a repurposed development environment I set off to put the basic features of Ogre3d to work. The Ogre3d (and Python-Ogre) community have a tremendous amount of information available; for newcomers they’ve compiled a large set of beginner and intermediate tutorials which cover the basic concepts. It was these practically pre-written code blocks I set out to experiment with.
I suppose I should have known it’s never as easy as it sounds.
The beauty of having very little time to work on a project is that you can’t get too frustrated in a single session because sessions are so short. So, three hour-long blocks later I decided I needed help. As it turns out, my code was right, my environment was right and even my use of the API was right; the problem was that I didn’t have the engine configuration engine correct.
A single post in the forums and 24 hours of waiting for a response solved the problem. Now I’m up and running through the tutorials. Seeing a single, rather ugly, non-animated, 3d image appear on the screen is never quite so satisfying as when you’ve written the code to cause its appearance.