Rogue is a dungeon crawling video game first developed by Michael Toy and Glenn Wichman around 1980. It is generally credited with being the first "graphical" adventure game, and was a favorite on college Unix systems in the early to mid-1980s, in part due to the procedural generation of game content.


Friday, June 18, 2010

Snakes and Ladders

The last few days have been full of sound and fury and signifying nothing.   Okay, not that bad, but I was hoping that I would have something more tangible to show.  The last few days have been going though various amounts of documentation and web searches to understand the how and wherefore of embedded Python in C++.  I expected it to be a bit easier then it turned out to be.  Mostly because it had all been done before and I should have been able to just plug it in and go.

Downloading Python for windows was the easy part.  But building my first tutorial app proved to be a nightmare of wrestling with the hidden foibles of  Visual C++ and the stock Python windows install.  I can hear my old UNIX self snickering in the background.  I knew my way around Makefiles, but figuring out Visual Studio properties took a bit of fishing around.  Now Python is built with Visual C++ for Windows, but its include file uses a special debug library if you are in Debug mode and that library is not included in the install package. 

The best solution is to download the source and build the debug version.  Fortunately, there are some other useful examples and demos in the source that made the download more palatable.  Also it did just build straight up even though it had to convert from a Visual Studio 2008 to Visual Studio 2010 Project.  Event then it took a while to figure out that you need to used the Debug version of Python if you want to look at your debug version of code.   Anyway, that was a few hours of frustration and trail and error.

The rest of the time was going though the documentation at Python.Org.   I want to get an idea of what is really going on in the back end before I go and use something like Boost Python Library.  Actually, I am trying to stay away from Boost as long as possible.  I want to know why it is easier with Boost.

Of course it probably does not help that I am also learning Python itself at the same time.  However, from a pure scripting standpoint it is fairly straight forward.  I still should spend some time on how it deals with objects, and some of the more interesting aspects of memory management, but otherwise it is fairly similar to other scripting languages. 

In other news, I have finished yet another text book, Game Engine Architecture by Jason Gregory.  My review of it will be sometime in the next week.  Next up is Effective C++.  Also there are things brewing in the background that may make this more of a real project.  But I need to do a few more things before they be revealed.


Post a Comment