Previous Blog Next Blog
Prev/Next Blog
by date

Where I've been since April?

Where I've been since April?
Name:Dennis De Marco 
Date Posted:Oct 13, 2006
Rating:Not Rated
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Dennis De Marco

Blog post
Well It's been a while since my last blog post in April. Some of my steam was stolen away for a few months playing Guild Wars Factions and playing Saga of Ryzom. That is one good positive thing about being a hobbyist. I don't have any game deadlines for my projects. However, it is really easy to loose focus. If I spent the time instead of playing, learning, I would have something to show.

This last month I have put aside TGE/TGB to refocus on learning OOP design. I was getting caught up with art pipelines, lack of any artistic skill on my part, and general engine tinkering, that I was going nowhere and getting frustrated. I wasn't creating games, I was just modding an engine to make it snow!

I am from the old school methodology of procedural programing. Pascal,C, and mostly Perl. They serve me well for my day job when I need to write scripts for Linux administrative tasks or use C knowledge to patch / compile some open source software. The source of my frustration seems I needed more experience with OOP and design. PennMush's soft code programming language could be considered OOP, but.. It's a mud scripting language that isn't something 'main-stream'.

I needed to get back to basics!

The following book was a good starting place for me to get into C++

Beginning C++ Game Programming by by Michael Dawson

This book was an excellent bridge for me from C to C++, and a theme I can enjoy! I was able to tinker around to get the Lua scripting language embedded into a simple C++ program with the knowledge I learned from this book. It was simple program I wrote to populate a "inventory" vector in C++ from Lua script.

A very good tutorial on Lua and embedding it into C++ can be found here for those interested:

gamedevgeek.com/tutorials

LUA sparked my interest to revisit Python again.. I have used python once before to see if converting a Perl database application I wrote would be easier done in Python with SQLAlchemy (with sqlsoup). I disliked Python. It's whitespace sensitiveness drove me up a wall. Where are the fancy {} to block code? Python is known to be used in the game industry as well as Lua for scripting and tool creation.

A common theme kept popping up on the various game development boards I visit. Python is easy to to prototype a game. Using pygame (SDL) and if your daring, using Twisted for networking. I thought learning Python would aid me in OOP design in any language at a pace I would enjoy without having to deal with C++ specifics.

The past two weeks I have grown from loath to LOVE python. I should have never passed it up in the first place. It's cross platform ability (Linux/Win) is great and I found a decent Editor (Wing) for windows to really keep me interested

Here are some excellent books to get up to speed with python I suggest anyone interested would find them useful:

Beginning Python (Wrox Press)

Game Programming with Python by Sean Riley


The Game programing book by Sean Riley is _excellent_. Not only applicable information with python but game theory and design. I highly recommend this book. It's opened my mind on some of the terminology used by TGE. (SimObjects, Simulations, etc)

Now armed with all this information what I am going to do with it? I started to work on a remake of the Classic Ultima 5 in python using pygame (SDL) and my trusty Ultima Collectors edition CD.

I was very much inspired by others who have done conversions/remakes in the past: EUO (www.swut.net/euo) and Ultima IV multiplayer (www.shatteredmoon.com)

In doing a remake, it has given me the ability to take 'baby' steps in the process of developing a game. The art, content, and general game template has been done already. It also gave me the ability to do this in bite sized chunks, so I can work on it after coming home from work. My goal is having a multiplayer classic remake of Ultima 5.

This should give me enough to keep me busy, and in using python, getting fast results.

In about a week and a half I was able to write python classes that enables me to load any Ultima game map from Ultima 3 to Ultima 5 and display them both in ascii (for testing) and using the original tile sets and binary data files with pygame. I have been writing it using Design Patterns "Model View Controller" (MVC) framework which I found a good tutorial at:

sjbrown.ezide.com/games/writing-games.html


Doing all this has giving me a better appreciation of the TGE and TGB game engines. All the tool sets like GUI editor and Torque script are pretty much taken for granted until you realize what it's like writing something from scratch. I've learned a lot by choosing to focus on python right now, and anyone else in the same position as I am, check out those books I suggested. Terms like 'object serialization' make a lot more sense to me now, as well as different simulation models.


Hope you find this useful,
Dennis

Recent Blog Posts
List:05/22/07 - Long time no Blog
10/13/06 - Where I've been since April?
04/23/06 - Getting Feet wet with Torque
04/18/06 - My first Wiki post in TDN
04/15/06 - New guy playing with Torque, initial thoughts.

Submit ResourceSubmit your own resources!

Devon Ly   (Oct 14, 2006 at 03:11 GMT)
I was quite addicted to Guild Wars for a while too. I haven't kept up the Ultima remakes for a while but I do remember Ultima 5 Lazarus was released a while ago.
If your after OOP design and programming, I would also highly recommend trying some stuff in Java. My first exposure to OOP was through Java, at the time I was quite peeved that my University had moved from C++ to Java, but Java is all OOP. While at the time using C++ I got confused between structured parts of the language and OOP parts. Although I don't agree with Java's over zealous use of get and set methods for every variable, it is pretty consistent throughout all the classes.

Joe Rossi   (Oct 14, 2006 at 05:56 GMT)
Why does everyone like Python so much? I'm really puzzled. Personally, I think Python sucks. No offense.. I really tried to like it.. it's just not half as easy to use as Lua, and doesn't seem any more powerful or readable either. I do about everything in Lua. I think my kids could too, uhmm...if I had kids. Ah well, to each his own. Happy Torquing!!!

Stefan Beffy Moises   (Oct 14, 2006 at 06:30 GMT)
@Joe: agreed, Python is the most unsexy language I've ever looked at :P I really hate its syntax etc.... but as you said, to each his own ;)
@Dennis: thx for the links!

Stefan Lundmark   (Oct 15, 2006 at 12:17 GMT)
I would have to agree about Python. Could not get my head around it.

On the topic, I think it is a positive thing that you are playing games once in a while. When I do not, I forget what is funny about games and why I am making them.
Edited on Oct 15, 2006 12:17 GMT

Dennis De Marco   (Oct 16, 2006 at 04:04 GMT)
I don't think I can get into Java. I really tried, but I really hate that language. I think it was all the bad memories of figuring out what Java SDK to use, making sure you use the right version/vendor/etc. JDK/SDK lots of confusion on what exactly you need. Throw in microsoft's Java and your head explodes.

You must be a member and be logged in to either append comments or rate this resource.