Beast Master Continues to be Too Much of a Good Thing in Star Wars Galaxies

Back on the Intrepid server in Star Wars Galaxies, before we moved to Starsider, I got into the Beast Master crafting and pet-wrangling system full force. Even for a person who had stock piles of resources dating back to the summer of 2003, this was a daunting task that ultimately required me to use 3 game accounts simultaneously for a month. Beast Master crafting is truly the most impressive, over the top, “We’re sorry for screwing up the game with the NGE, here have this amazing system as an apology” game play system that I have ever experienced in an MMO. You can read about the whole (extremely involved) process on SWGPets.com.

I did ask the few remaining crafters I knew for help back then, but bless their hearts, they didn’t really understand the system and what I needed them to craft for me. See, in order to create a good pet, one needed to refine a bunch of basic ingredients using various tools and consumable chemicals. Making those tools and chemicals required sub-components that were crafted by all of the four crafting professions. This meant that I had to either spend the in game credits to change my crafting profession any time I needed to make a component or I had to have to one character for each crafting profession. We were limited to 2 characters per server back then and I wanted to keep one of mine as a combat character (though I did use him as a crafter as well), so to me it made more sense to fire up 2 additional accounts and level 3 more crafters. I certainly had enough resources to do this and it was “only” $30 for the convenience.

“If you want it done right, do it you’re self”, they say!

Anyway, on top of requiring every crafting profession, the consumables used in the pet making process required huge amount of resources. And not just any resources, but high quality ones at that! Every time you killed and animal and stuck it with a Hydrolase Enzyme Extractor, you were spending around 10,000 credits. 10k for the chance to get something useful – something that you will then need to spend literal hours and even more resources refining. All this, plus the whole needing to forage and to kill stuff for other important components, meant that the Beast Master crafting system was really too much for one person to do in any great quantity on their own.

I was able to make myself a life time supply of modest quality BM consumable items for collecting and refining enzymes, but these items weren’t amazing and they weren’t really any good for trying to get stat enhancing mutations, let alone the super rare creature mutations. I would have needed two enormous supplies of a wide variety of top-quality resources to make both sets of consumables and that was completely beyond my means, even back when I associated with a couple hundred people in the game.

Beast Master crafting was clearly designed as a community project, something that people were intended to work in groups to achieve.

Fast forward to today, where one can play the 2011 version of Star Wars Galaxies on the Legends server (a server created using source code that was stolen from SOE when Sony was hacked – something I absolutely do not condone!), and the players are left with an untenable situation: They have an awesome game play system, but there aren’t really enough players to spread the load enough to bring the cost down to the point where the average player can make use of it. As such, from what I saw using the vendor search feature, there are only a handful of people on the Legends server who are making pets. And given what I know about the system, I was not not surprised to discover this.

  • Setting up the tools required to process enzymes or even incubate a pet is expensive.
  • Buying or crafting enzyme extractors is expensive.
  • Buying or crafting refinement consumables is expensive (and daunting!).
  • Suiting up a character who can kill the high level creatures required to get good enzyme samples is expensive.
  • Gathering the right Lyase and Isomerase enzymes is either tedious or expensive (because it’s tedious).

The whole process is so involved and so expensive that the few people who are going through the process of creating and selling pets are basically selling them for cost at 1 to 60 million credits each. Even the crappiest pet that really would not be sufficient for fighting other cirtters of its own level, goes for 1 million credits. And of course they do, because they’re super expensive to make!

Back on Starsider, I was selling low-end pets with modest stats for around 50,000 credits. On the whole, this cost me money, but it was money I had already spent building up my ability to craft an almost endless supply of such pets, so it didn’t matter. I was doing it essentially as a community service, so that people who couldn’t or didn’t want to grind millions of credits could actually play with a pet. A 30 to 40 point pet (out of 60 points max) with a healthy amount of secondary stats and abilities was sufficient for all but the highest end content in the game. So that’s what I made quite a few of, with the occasional 60 point pet that I could sell for several million credits to top up the bank.

My 0 Point pet! Made on Starsider with some resources I brought with me from Intrepid. It did pretty well in combat considering it had only the bare minimum of stats.

Some folks back in the day were super hardcore into chasing mutations and making the most rare and powerful pets, but me, I was just happy to be able to play with the system. I enjoyed all the aspects of Beast Master, from setting up my character to automatically follow its droid and forage while I was at work, to taking my pet out and soloing some nearly top-end krayt dragons, I had a lot of good o’l fun with the system. But, I was lucky back then – by the time I started making all this stuff in 2008-2009, I had already been playing the game on an off for 5 years and as a crafter, I already had most of what I needed. I’m sure this was true for many, if not all, of the other pet crafters in the NGE as well.

Unfortunately, everyone had to start all over again on the Legends server. Yes, there are some excellent bonuses given out that somewhat make up for having to start over from scratch, but it still doesn’t really fix the main problem with the Beast Master crafting system:

There aren’t enough people playing the game.

If you want a decent pet on the Legends server, you’re going to have to grind a few million credits to buy one. And that’s just to see if you actually like using the system, because there is no alternative. You might get lucky and meet someone who will give you a pet for free or for a lower price, but with a population so small as to only max out at less than 1,600 concurrent players, the picking is slim for community interaction in general.

I actually complained about this issue on the original forums back when the game was live, because it’s a two fold problem that unnecessarily prevented people from discovering game play that they might enjoy.

1. There isn’t even a free crappy pet for a person to try the Beast Master system with.

2. Crafting even the simplest, non-refined pet, requires more tools and resources than what most people can afford.

Back then I suggested… you know what, I can’t remember exactly what I suggested like eight years ago, but it was essentially that they should make second set of consumables that only used a handful of any quality resources, with the downside being that the pets created with them would top out at 20 or so points. See, that’s plenty of points to make a pet that is capable of not being obliterated in level 90 combat, but it’s certainly not enough to be powerful in high-end combat. Still, it would have been enough for both pet users and pet crafters to enjoy all the wonderful Beast Master game play systems (without having to grind and save credits for months).

I’m not sure how the Legends server is operated or what their plans are for it, but if they’re into making “quality of life” improvements to the game, this is one area where I think it would be worth their time. Most of the people I knew in SWG played it because they enjoyed the crafting game and virtually everyone I have met in online games likes pets, so… it would probably be nice to, at the very least, give away a 10 point pet to everyone. That’s my two cents on the matter. 🙂

Here are some screenshots I took over the years of playing with the BM system. Sadly, I accidentally deleted my screenshots from 2008-2010 when I did a format/reinstall of Windows one day… Even those who know better… don’t know better! 🙂

Advertisements

Legend of Hondo is Dead! Long Live the Commodore 64!

Life is full of compromises and choices. Given that my time is not infinite, I have chosen to focus my “nerd hobby time” on working with a single computer, the Commodore 64. As a result, here is where my previous projects stand:

RocketTux
Side scroller web based game
Will be finished in 2018-2019. Once finished, I will package it as a native application, using NodeJS, for Linux and Windows. Even though it will not be released as a Chrome App for Google Chromebooks, as it was originally intended to be, I am sticking with the goal of having it play well on a low-end Chromebook (instructions will be provided on how to do so).

Legend of Hondo
Star Wars Galaxies Emulator server mods
Will not see further development. Last fall I was working a huge branch related to Bio-Engineer, which would have been finished were it not so tedious to make BE pet versions of some animals – I bit off a giant chunk of work that I just don’t feel like doing, but the rest of the features for that branch were finished. The plain truth of the matter is that I don’t play the game and it takes way more time/effort to develop it than I want to spend on a game that I don’t play!

Loop Dipole and the Chaoties
Blender Game Engine
Game play wise, it wasn’t fun and that really disappointed me so I took a step back from it for a couple years. BGE also proved to be overwhelming to work with after the project grew beyond a certain level, so I will not be finishing this iteration of the game. However, the initial concept of “go fast and have fun getting there” and the rest will be the basis of a game that I make for the Commodore 64 once I have become skilled with Assembly language.

Rescue Girlies
SDL / Supertux mod
I have not updated this game since 2014, just as I said I would not when I released the custom GPL version of the game. It was a “one off” game that truly I made only for my kids, but I released to the open source community as a way to give back some of my knowledge. Play it if you’d like or study the differences between it and SuperTux 0.3.3 for an idea on how to make such mods.

Solozeroth
World of Warcraft Server Emulator mods
Yeah, I don’t really play this one either, so I haven’t bothered working on it in about a year now! Wrath of the Lich King era was the best, but it’s kind of boring to play solo. That said, the TrinityCore server code base was a pleasure to use!

Tux Time, by Fives
Web based educational game
I really wish I finished this game, but for a while there my girls did use it on the tablet to help them learn how to read a good old analogue clock. All that is missing are the voice overs and the sound setup, so I will post the source on Github, but I will not be developing it further.

SuperCombiner
Torchlight II Mod
I occasionally play Torchlight II and when I do, I use this mod. It still works and I’m content with its features, so it doesn’t need any further development. Along those lines, Torchlight II itself, with the handful of mods I have downloaded, is also fine the way it is so I won’t be creating any other mods for it.

Music Production
Sunvox and Impulse Tracker on PC
I don’t spend a lot of time tracking music anymore, but I will continue to do so when the mood strikes. The sound produced with these systems is completely different than what I will be creating with the Commodore 64.

Electronics Hobby Computer Prototype
Arduino UNO programmed using a Raspberry Pi Zero
I very much would like to build this prototype, but it seems like a frivolous use of our limited discretionary funds and it likely will not be produced. The major expenses are a basic “ten keyless” usb mechanical keyboard ($35 CAD), the 4″ LCD display ($40-$70 CAD), and misc electronic bits (??$$ + shipping…). I estimate the prototype would cost about $200. If I can scrape together the parts, I’ll totally build this a little bit at a time as a proof of concept, “just because”. 🙂

I would like to thank everyone who encouraged me to work on these projects over the years, especially the supportive folks in the SWGEmu server modding community and the world of kind people who contributed to the open source projects upon which my own projects were based.


My game plan for the future consists of the following,

  • Work through the Commodore 64 Programmers Reference Guide, using a real physical book even!
  • Learn everything there is to know about the Commodore 64 hardware and software!
  • Share my Commodore BASIC programs on GitHub in text format.
  • Share my open source games/software in disk image format using Google Drive.
  • Learn how to program EEPROMs and make cartridges.
  • Make a game that is worth selling and distribute it on cartridge – how cool would that be!
  • Try to make an Arduino UNO compatible electrical system that can be programmed using BASIC.

If you’d like to listen to me talk about this sort of thing for 24 awesome “stream of consciousness” minutes, have a gander at the video below! If not, suffice to say that I am making this change of focus so as to get the most return on my “time spent doing things” investment, while also increasing the likelihood that the things I create may actually be of use (perhaps even after I kick off and walk the stars!).

Mos Espa Tour – My Hondo Housing System Layout

A couple weeks ago I took some time to build my modded layout for Mos Espa. Given how difficult LoH is to setup, I figured I would make a simple video tour to show off what can be done with my admin tools and the Hondo Housing System. The decorations are a little sparse (because making the tangible versions of the static objects so that I can manipulate their positions is so super tedious that I only did for around 80 objects…) and the video is just a quick drive through, but it’s something…

Update March 2019: The video is now in my Google Drive

https://drive.google.com/open?id=16FrEk1ryiFECz0_r1AHveQZopxN8qpVf

Legend of Hondo is Playable Solo Again

I took a bit of break from working on RocketTux to bring to Legend of Hondo back to a point where it was playable as a solo experience again. When I started LoH, before the project even had a name, that was really the whole point of the excerise, to make a SWG based … thing I could do when I felt like it. Later I sort of branched out into making “systems” that might be useful to others as well as myself, which prompted me to try and organize the Legend of Hondo repo in such a way that my mods could be more easily visualized or consumed. That ideal was what prompted me to restart Legend of Hondo again in 2016, putting it into a state where it really wasn’t playable solo (without making up for the lack of other players by using an admin account to do various fundamental things).

Given that I just don’t have the time nor do I have the inclination to constantly revisit content that I have already completed for my project, because the upstream folks felt the need to change fundamental aspects of their project, I locked the version of SWGEmu that Legend of Hondo is based on last fall. Then I took a break from working on it from December 2016 to July 2017, in part because I wasn’t able to sit down and have any fun with it when I felt like it. And so I ended my break by rolling through a raft of mods that brought Legend of Hondo to a state where one can sit down and successfully do everything other than use the Pirate System that I have yet to fully design and implement.

The point form feature notes can be read on GitHub here and the commit history (which I am no longer “squishing”) details each mod as I made them (and each patch/fix as I made them as well).

Some of the highlights are…

– Previously, I rebuilt the Skill Tree, removed/modified some professions, and added the Pirate progression trees. This patch ensures that one can use all of it up to Pirate 4xxx (the Bounty Hunter line) without needing to use an admin account to unblock anything (such as, needing Pistol XP, but not having access to a pistol to earn that kind of XP, etc). The only big thing that is missing are the crafted decorations that were made by the Architect profession, but they will return later as things one can buy from merchants (or loot while pirating).
– My version of the Mos Espa city layout, using the Hondo Housing System, is complete. I haven’t gotten moving some NPCs around and populating the new areas though.
– Resource collection got configured for the single player, “no need to run the server 24/7” concept, by making gathering more active and using BazaarBot to fill in the gaps.
– The Hondo Merchant System has returned, with a few merchants who sell important items and a couple who require standing with Jabba the Hutt. Eventually, there will many more (as they are the primary “credit sink” in the game).

Down the road I will hopefully find the time to make the quests, systems, and content that make up the Pirate progression system, but at this point I am not in any hurry to do so. At least as it stands right now, that’s basically “all” that’s left for me to do – the rest of the game is functionally complete (unforeseen bugs/consequences aside). As such, this will probably be the last update for Legend of Hondo in 2017, while I focus my efforts on completing RocketTux.

See the main Legend of Hondo page on this site or the README file on GitHub for more information on how one can play the game (it’s not easy to setup and, no, I won’t help you with it or do it for you, sorry).

Benchmarking My FX-8320 with Core3 and TrinityCore in VirtualBox

One of the biggest disappoints I have had when it comes to computers was buying an early version of the Intel Core2 Quad Q8200, because Intel disabled their hardware virtualization support (VT-d) on it, as part of their arbitrary and consumer-unfriendly pricing scheme. That was back in 2008 and at $185, it was the best new CPU I could afford at the time. Certainly, it was better than the Pentium DualCore I was using!

When it came time to upgrade, I spent a long time researching all of my options for new hardware, so that I could not only get the best performance for my dollar, but so I could have access to all the features and functionality of a desktop. I really wanted to get into using virtual machines for something truly useful… something like modding a SWGEmu server (Core3)! I also wanted to get better performance in games, such as Planetside 2 and Guild Wars 2, but that was secondary.

This was fall 2013 and at that time, hands down the best deal was the AMD FX-8320 if you could catch on sale for $135 CAD or so (with the FX-6300 being the next best for the same price). Absolutely, a Core i7 3770 (non-K, because VT-d is was disabled on the K version…) would have been way better, but it was also $340 – $370 CAD, which was basically my whole upgrade budget. Obviously I couldn’t buy a CPU without a motherboard and RAM, so I waited until the FX-8320 went on sale and bought it. I’ve been nothing but pleased with it since – seriously, it’s a super computer!

I reused my Silverstone Heatsink/Fan tower, which is enough to keep the cpu around 45C while compiling with all 8 threads natively using gcc in Linux. It’s stock speed is 3.5GHz and it turbos up to 4.0GHz. I’ve played around with over clocking on it and it is most happy when sitting at 4.0GHz with turbo and power management options disabled. In Windows, it sits at 4GHz all the time and Linux it down clocks to 1.8GHz while idle. Letting it down clock in Windows causes noticeable performance issues while playing games and while compiling in a virtual machine, but Linux seems fine either way.

Usually I have a single VM open using VirtualBox, where I work using the Xfce desktop environment in my Debian 8 Linux guest, inside my Windows 10 host. This gives me the best of both worlds – all the GNU software I love, functioning pretty much the same as running it on the hardware directly, and all the Windows software I use (mostly DirectX based games) can take full advantage of my AMD R9 270 video card. As much as I appreciate the WINE project, honestly, Windows games work way better in Windows. A lot of GNU software on the other hand seems to work just fine in a virtual machine, which is awesome.

I like using VMs, because they are their own self contained systems that can share files with the host system and with each other, without messing each other up. For instance, while I could build TrinityCore directly in Windows and get a decent performance boost while compiling, it would also mean I would need to have a MySQL database running in the background too and… I don’t want that running all the time. Yes, I could put just the MySQL DB in a VM, but… you know what, I prefer working in Linux anyway, so it’s just better to have the whole thing as one self contained “work environment”. So that’s what I have, a VM for Legend of Hondo, a VM for helping with the Tarkin 2.0 server, and a VM for Solozeroth (TrinityCore). And some other ones, such as old timey Slackware, just because!

Anyhow, with all that background out of the way, here is what compiling Core3 and TrinityCore looks like on my machine!

Host System
AMD FX-8320 (Locked at 4.0GHz with Turbo disabled)
8GB DDR3 2133 RAM (2x 4GB)
SK Hynix SL300 250GB SATA3 SSD
Windows 10 64Bit Build 15063.138
VirtualBox 5.1.20

Core3 Environment
Debian 8.5
Linux kernel 3.16.0-4-amd64
GCC 4.9.2
Core3 (SWGEmu) 2016.10.06

TrinityCore Environment
Debian 8.7
Linux kernel 3.16.0-4-amd64
GCC 4.9.2
TrinityCore 3.3.5 2017.04.22
A chart goes here...
As you can see there, TrinityCore takes a hell of a lot longer to compile from scratch that Core3! It also uses more RAM on average and has a much higher peak RAM usage as well. Apart from that, both projects appear to scale similarly when they have access to more threads.

I should note that the 8 cores on my FX-8320, as far as gcc compiling goes, are indeed a 8 physical pieces of hardware handling one job each, unlike an Intel i7, which would be 4 physical pieces of hardware doing two jobs each. For floating point math operations, my FX-8320 only has 4 physical lumps of hardware that can only handle 4 jobs, unlike an Intel i7, which could handle 8 floating point math jobs. Thankfully the gcc compiler uses the “integer units”, of which I have 8! So with that said, if you have an FX processor and you’re working with gcc, you can safely ignore the warning in VirtualBox about assigning more CPU cores than you really have – crank it to the max and make sure you have enough RAM!

My problem is, 8GB of RAM isn’t really enough for compiling with 8 cores AND running the game in the host system. So, I tend to leave the VMs at 6 cores with 3.5GB RAM, which leaves plenty of RAM for working in both the host and the guest (running the server while playing the game, for instance – which works great btw!). Yes, that does mean that the computer takes long to compile, but nice part is that much of the time I don’t need recompile the entire projects. So in reality, most of the time the difference is more like shaving off 10 seconds from a 40 second compilation, which isn’t worth worry about.

Knocking 10 minutes off that 30 minute compile of TrinityCore might be worth the 30 seconds it takes to shutdown, move the RAM slider, and boot up though. Unless it’s lunch time or “AFK for hours on end, because distractions!” time…

On a related note, I have been thinking lately that it would be interesting to see how this compares to compiling on the same setup using a new AMD Ryzen processor or a recent Intel i5 or i7 processor. I’ve read several benchmarks/reviews, including this Linux gcc compiling related test on XDA, and it’s safe to say that yup, when you spend more money, you get a better processor!

Unfortunately, for the $135 CAD that I spent for my FX-8320 3.5 years ago, it’s still the best option for my work load in its price range. I was hoping the new 4 core, 8 thread Ryzen R5 1400 would be priced around $165 CAD, but it’s $225. The 8 core FX-8300 (a slightly lower clocked, but still fully unlocked, FX-8320) at $145 is only $15 more than the 6 core FX-6300 and honestly it’s a steal for Linux programming and VM work (which is basically the best case scenario for the Bulldozer/Piledriver based CPUs, as their 8 real hardware ALUs are great, but their 4 real hardware FPUs, slow cache, and crowded input pipeline are not so hot for stuff like playing games, music encoding, and some photo editing tools).

It’s kind of a bummer that today I can’t spend less to effectively double my performance, as I did when I made the jump to the $135 CAD FX-8320 from the $185 Core2 Q8200. I was overjoyed back then when my compile times in Rescue Girlies (based on Supertux 0.3.3, an SDL based project) were literally cut in half. That’s my kinda upgrade! Yeah, so anyway, I won’t be upgrading any time soon, because it doesn’t make sense to shell out $295 for the 6 core, 12 thread Ryzen R5 1600 (plus motherboard and RAM) that will almost double my performance. That kind of money would be better spent elsewhere, for all the difference it would actually make in my life! 🙂

When it comes time to upgrade, I am hoping that AMD will have a nice 4 core, 8 thread APU with 512 shaders for around $165. I don’t play any new games and an APU like that would give me a 15% to 25% boost in performance, while dramatically reducing the power usage of my desktop. Yes, it would have half the shaders of my R9 270, so I would probably have to dial back the graphics settings a bit but meh, my old eyes are getting blurry anyway! So we’ll see what 2018 or 2019 brings. Hopefully we’ll get some micro-ATX motherboards with 4GB GDDR6 Video RAM for the APUs, because that would be cool!

Core3 vs. TrinityCore – Which is better to work with?

KISS, that fun phrase every computer science teacher loves to share with his students, is the at the heart of this whole post; TrinityCore (a World of Warcraft server emulator) is a simple, straight forward C++/MySQL project, while Core3 (a Star Wars Galaxies server emulator) is about as “Mad Scientist” as one can get with programming. The difference is… well, it’s truly dumbfounding – so much so that I thought I would take some time to write about it.

If we go way back to my early 20s, I had a good laugh at my friend for playing Everquest, until he bought me a copy and it absorbed me into its oozing mass of unkempt humans and never ending flows of pretty text too. Man that game had a text message for everything!

You fart
You giggle
Kazantoopia runs away in disgust!
You take two steps
You take two more steps
You stop and look around

OK, maybe it wasn’t that bad, but it sure was game that had a funny way of drawing you into it and it basically made me give up single player games for more than a decade. Sure, I moved on from EQ to SWG and WoW (primarily), but I was always playing some kind of MMO. Of course, being a creative person who really wanted to be a part of the worlds I was visiting, I always wished that I could hop in there and make the tweaks and changes to the games that would make them perfect (for me!).

Luckily for me, after I had my fill of online interactions with an increasingly shitty community of people who play online games, I discovered that a bunch of folks far smarter than myself had built systems to emulate the servers of some of the MMOs I liked to play. I did play Star Wars Galaxies, on and off, until it shutdown in December of 2012, but after playing the Mist of Pandaria beta for World of Warcraft, I threw in my towel and walked away from WoW – Blizzard had simply taken a game that I liked and made it into a game that I no longer liked. Unfortunately, for the longest time I had a computer that wasn’t capable of running the 64Bit virtual machines used by these mysterious server emulators, so it took me until early 2014 to start puttering around with them. Since that time, I have learned way more about programming, GNU/Linux, client modding, and project management than I ever knew before and as a result, I have some worldly opinions about what is and isn’t fun work with.

I think the following summary really speaks for itself.

TrinityCore Requires:
– Windows or Linux
– A moden C++ compiler
– Some C++ standard libraries
– A MySQL database
– A text editor (or programming a IDE)

Core3 Requires:
– Linux 64Bit
– Specific versions of the gcc C++ compiler
– Some C++ standard libraries
– Knowledge of the included non-standard C++ libraries
– A whole other custom java program called Public Engine
– IDL compiler (automated C++ creator with its own syntax)
– Specific versions of Lua
– Specific versions of Java
– An understanding of custom C++ hooks for Lua that SWGEmu created
– A MySQL database
– An array of obfuscated Berkeley databases
– A text editor (or programming a IDE)
– A prayer that you don’t need to look something up, because the documentation usually doesn’t exist

I am by no means being harsh, nor am I being soft, that’s just the reality of the design philosophies of the two projects. As you can see from the requirements alone, TrinityCore is obviously easier to work with than Core3, but it gets better. Wait until you get a load of this!

Things that TrinityCore does/has that Core3 can’t do / doesn’t have:

– Excellent documentation.
– A massive list of commands built into the server’s command line.
– A help system that describes the function of all of those commands.
– The ability to use all those server commands on an admin account inside the game.
– Even more commands that can be used inside the game for damned near everything, from database lookups to moving characters from one account to another.
– A sensible relational database for all object and account data that can be manipulated with standardized tools.
– The ability to add new interactive content by simply adding new data to the database.
– C++ that’s “just plain old .cpp and .h files” lol…
– A preconfigured system designed to easily add custom C++ and database content.

And finally…

Things that really fucking suck about Core3 that aren’t an issue with TrinityCore:

– The documentation sucks. There’s not enough of it and what is there is disorganized and often out-dated.
– Client tools are required to look up some important information.
– Said client tools only work in Windows.
– The need to create/edit an arse load of Lua files to make even the most simple content.
– The lack of discipline and planning shown by the way previously completed content is frequently broken by new content and/or arbitrary changes to dependencies.
And my personal favourite:
– The development team has a history of being hostile in general, but their especially disinterested in discussing anything related to the creation of content beyond the scope of their desire to emulate SWG patch 14.1 (bugs and all…).

Now, I have nothing but respect for the good people who have spent thousands of hours building SWGEmu’s Core3 architecture and indeed, it’s better than anything I could put together on my own, but the plain truth of the matter is that in many ways, it’s really not fun to work with at all. When you add the convoluted nightmare of the client, modding SWGEmu quickly becomes a tedious quagmire of, well, stuff that feels more like boring work than fun hobby programming. On the hand, while I can’t say what it’s like to modify the WoW client, as I haven’t had the desire to do so, I can say that modifying the TrinityCore server is pretty much a dream come true.

I really enjoyed my time playing World of Warcraft during the Burning Crusade and Wrath of the Lich King. Now, thanks to TrinityCore, I have a fun little WotLK themed programming hobby, which I call “Solozeroth“, to play around with and learn from. And I must proclaim with utmost of joy and exuberance, puttering with TrinityCore is a genuinely fun way to practice and learn industry standard MySQL and C++!


PSA Soap Box Happy Hour:
Make sure you buy a copy of World of Warcraft or Star Wars Galaxies if you’re going to be working with either, eh. Having spent well over $1,000 on each over the years myself, funnelling my hard earned dollars into Blizzard and Sony Online Entertainment by purchasing game boxes, subscriptions, expansions, and services, I don’t feel bad at all for continuing to use my CD/DVDs of the games (especially given that it’s otherwise impossible to enjoy those versions of the games). Don’t be thieving arsehole, buy the games. 🙂

Project Scope – Size Matters

Lately I have been thinking a lot about what I want to do with my “hobby time” and why I want to do it. There are lots of things I enjoy doing in life, but there is only so much time to do it all! It really is imperative that we have some kind of plan to avoid running out of time (or will) and never accomplishing anything. And, that’s where project scope comes in to play.

I’ve determined that there are three basic questions you can answer to determine the correct size for your project, with size being the time, effort, and emotional investment required to finish the project. The questions are,

1. Who is this project for?

2. Why am I doing this project?

3. What is the project about?

To help you understand how this works, I will provide three examples from my own life, Legend of Hondo, Loop Dipole and the Chaoties, and gardening with my family. Each of these projects absolutely have their own scope, their own size, and all three can become completely overwhelming if I lose track of the who, the why, and the what of it all. Writing this post is a way for me to congeal my thoughts, but hopefully reading it will also help you not feel as overwhelmed and paralyzed about your projects as I some times feel about mine.


Legend of Hondo
This is a massive project with hundreds of “moving parts” and by its very nature, taking one game and morphing it into another, it’s something that will take years to complete. And it’s that very “long term goal” aspect which can cause the project to become emotionally crippling – it’s a huge pile of work, with more work heaped on top of it, which can’t really be used until all of the work has been completed. It’s easy to give up on a project like this if you’re not satisfied by reaching incremental goals.

In the beginning, before it even had a name, my Legend of Hondo project was just about making a Star Wars Galaxies Emu server that I could play on alone. Then I got to thinking that I could finally fix some of the stuff about the game that bothered me, which in turn lead to making new content and eventually coming up with an overall theme for a single player RPG. But most importantly, Legend of Hondo was supposed to be for ME, just ME. Unfortunately, my work on the project caused me to get side tracked by fan mail and requests for assistance with other projects, which of course I answered, because I am a nice guy. So all of a sudden my personal pet project exploded into a menagerie of systems and customizations for various SWGEmu based servers, all wrapped up in the need to keep up to date with the ever changing, constantly “refactored” state of the SWGEmu code… As much as I like helping people, doing so made me lose sight of why I was willing to put up with the convoluted science project that is the SWGEmu code base and the game client for which the modding tools are tedious. I’m doing it for ME, so that one day when I am an old man I can sit down and enjoy the game – it doesn’t need to be finished tomorrow or even this year or even at all really and how it works for someone else doesn’t matter in the least.

So to sum that up a little less emotionally…

1. Who is this project for?
Legend of Hondo is something I am creating for myself, because I feel like it.

2. Why am I doing this project?

I am creating Legend of Hondo mainly so that I can enjoy the end product at a later date, but also because I enjoy designing the new systems and creating the new content. I also enjoy most of the programming and some of the artistic challenges involved.

3. What is the project about?

Legend of Hondo is all about making a single player version of Star Wars Galaxies that has everything I always wanted in the original game. It’s the combination of opened ended game play (where you are free to do what you’d like, whenever you’d like) and a sort of choose your adventure type story, where your actions build a meaningful sense of identity for your characters. That day when you finally become The Dread Pirate or The Legendary Pirate or even the Master Pirate will be the day you look back and say to yourself, “Wow, what an adventure the journey to this moment was!”…


Loop Dipole and the Chaoties
Long before it had a name, Loop was a game I personally wanted to play – something that was all about going fast and having fun getting there! Car racing games are alright, but they tend to be about… well, racing cars, which can be more simulation than stimulation. Arcade games like SuperTuxKart and Mario Kart are definitely fun, but they lack certain game play mechanics that are also fun, such as gathering resources and using those resources to customize your character or to solve puzzles, etc. Loop really is a product of those basic desires and that void of content, a reality I have never lost sight of, despite how I have frequently found that building such a game is easier said than done!

I have restarted this project a number of times, each time because the process of building it is a learning experience. I started it by programming in C++ using the Cafu engine. Later I thought it would be better as a mod for SuperTuxKart, which lead me to using Blende. Using Blender lead me to thinking I should just make the whole game in Blender! Then actually using Blender Game Engine to make a full sized game lead me to the understanding that BGE isn’t particularly well suited to making a full sized games. So now I am sitting here in 2017 once again contemplating on where I want to go with it. To 3D or not to 3D, that is the question! Mobile, desktop, web based, who knows?!

1. Who is this project for?
This was a tough question to answer, but the truth is that Loop Dipole and the Chaoties is a game that is for everyone, not just for me.

2. Why am I doing this project?
I am making Loop, because I enjoy the process of making games, but I am also making it to prove to (again) that I can finish making a game. So, it is important to me that the game is finished and that the game is, at the very least, easily available to be played by others.

3. What is the project about?
Loop is about the joy of speeding around blowing stuff up while collecting other useful stuff. Yet it’s also about bringing order to chaos by solving puzzles and by learning about yourself and how you like to play the game. Loop Dipole is an energy being who collects various forms of energy that allow him to take on new shapes that have different attributes and abilities. He also uses this energy to balance out the chaotic energy of his world. You see, at one time Loop was nothing more than a Chaotie himself, only vaguely aware of his own existence. However, one day he passed through a fog of chaos and emerged with a sense of self and with the determination to share his gift with his world.


Gardening With My Girlies!
I know initially said it was gardening with my family, but truth be told, my wife’s idea of gardening is looking at the pretty flowers and eating the fruits and vegetables that magically appear in the yard. The kids on the other hand are much more willing to get their hands dirty on a regular basis!

It’s hard to believe how much time has passed since then, but looking back I have to say that our best years for gardening were definitely 2012 and 2013. Abby and Baylea were still quite young then, so I had to do a lot of the work myself and unfortunately I did spend a little too much time playing the roll of the scare crow, otherwise known as “grumpy daddy who yells at me while I run, carefree, through the garden”. What can ya do, right? Kids will be kids and squashed plants don’t grow. 🙂 In any case, when 2014 rolled around the girls were “all gardened out” and it wasn’t until 2016 that they really took an interest in process again.

This year we’re going back to the traditional style of garden, as our experiment last year with the “living sitting area” (known as Girlie Grove) wasn’t as inspiring or as useful as I had imagined it would be. In retrospect, it probably would have been a big hit back in 2013 when our eldest, Neillia, was still into playing “little kid games”. Man… they grow up so fast, it’s just not fair…

Anyhow, here’s the skinny on my gardening project with my family.

1. Who is this project for?
The gardening project is for everyone in my family.

2. Why am I doing this project?
When I was kid, my dad had a garden that he put a lot of effort into. I wish I could say that we spent countless hours having fun with each other in his garden, with him teaching me all about life and all about himself, but the truth is that I mostly helped him get his tractor unstuck on the days he was plowing. I also happily ate his magical produce and occasionally squashed some tomato worms. Eventually I came around and appreciated his effort and what gardening meant to him, but wouldn’t you know it, I also went away that summer for no good reason and he died the next spring. Such is life.

I want to give my kids the connection to their parents, to each other, and to themselves introspectively, that I lacked when I was growing up. I want to spend time with them showing them how their efforts and their attention will be rewarded.

3. What is the project about?
Gardening is an emotionally relaxing, yet physically vigorous way to connect with my kids. From forging the furrows out of sod to preparing a meal using fresh picked beans, gardening is an experience they can hold in their hands that will live a life time in their hearts.


Well, I hope my examples have given you a some idea of how I used those three simple questions to define the scope and size of my projects. Answering those questions, and keeping the answers in mind as often as possible while working on your project, will help you naturally limit its scope. Understanding who the project is for and why are you are doing the project in the first place will allow you determine the size of the project: If you’re doing a project to prove the point to yourself or to the universe at large that you can accomplish it, then it makes sense to keep the project small and tightly focused so that you can finish it in a timely manner. Break it down into manageable chunks, set clear milestones, and avoid adding more to it beyond refinements to the original design, and you will finish it. And on the other hand, if you’re working on project simply for the joy of doing so and that project will likely take many years to complete, then try your best to keep that in mind so you don’t stress yourself out for not finishing it fast enough. That kind of long term project can be as big as you’d like, because it can’t be finished quickly anyway!

When it comes to hobby projects it is important to not stress out about them, because the whole point of having a hobby is to do something that is fun! If you find yourself stressing out or no longer enjoying your hobby, ask yourself the questions I presented above. Hopefully your answers will help you rediscover your passion for the project or maybe your answers will provide you with the closure you need to move onto new challenges.