Dev Diary: Tony “Teesquared” Tyson Part 3

May 21st, 2007 by keven

Hello everyone. Welcome to my third Dev Diary.

This week I’m going to talk about another tool I developed for Star Wars Galaxies. This tool is used to define regions on our planets. To stay consistent with our creative naming convention for tools, this one is called … the Region Editor.

Star Wars Galaxies has some really big planets. Designers needed a way to associate data with large areas on these planets. To help them out, we came up with regions. Regions are circular or rectangular areas that define data that is used by various game systems. For example, we have regions that allow or disallow player placed structures. Other regions specify spawn data. This is data that drives the game system used to dynamically create creatures and lairs in the world. There are many game systems that use this data. Across all of our planets we have over 2000 regions defined.

Prior to the Region Editor, designers had to manually create the regions by inputting coordinates for the circles and rectangles. That was a very difficult and error prone process.

In March of 2005, my team was tasked with creating some new points of interest (POI’s) in the game. This required doing some world building on the existing planets. The problem was that the areas where they wanted to place the new POI’s were in regions that players could place houses and other structures. We needed to find empty areas and mark them as no-build regions. There was no tool yet available to do this so we needed to create one quickly. The tool had to allow us to see a large image of the planet surface that contained colored points that represented a composite of player structures across all of our servers, manipulate the region shapes, and output the resulting coordinates. I came up with a quick prototype using Microsoft Visio. Visio was the perfect choice as it had all the features we needed and more. The trick was figuring out how to get our region data into Visio and have it output it in the right format.

To digress a moment, the first programming language I learned was Basic on an Apple II. If anyone is not familiar with Basic, here’s a classic example,

10 PRINT “HELLO GALAXIES”20 GOTO 10

Basic has always remained as a language that reminds me of my early programming days but also has proven to be a very capable language as it has evolved over the years.

I am mentioning this because Microsoft Visio and all the Microsoft Office tools let you to extend them using Visual Basic for Applications (VBA). This is a very powerful system that lets you really extend the power of those applications using a much evolved version of the Basic language.

I created the final version of the Region Editor as a Microsoft Visio document with extended functionality written in VBA to read and update our game’s region data. Eventually I spent more time on the tool to enhance the functionality to extend the way it handled spawn data.

So the vast desert planet of Tatooine looks like a lot of colorful circles and rectangles to the devs…

Thanks again for letting me share my work with you all.

Posted in Star Wars Galaxies News |

Similar Posts

Random Posts

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.