Archive for August, 2008

After launch

Saturday, August 16th, 2008

So, I launched the Particracy II Closed Alpha thursday evening, and reception from the community has been great! There were some hickups initially, but all things considered it went as good as I could have hoped for. There are dozens of registered players right now, and the game hasn’t slowed down to a terrible crawl, so at least it can handle the basic load.

The influx of players exposed some problems in the code base. The critical ones I solved right away, the rest were filed as tickets in our Trac database. There’s quite some work set out for me, I definitely won’t be bored anytime soon.

If you’ve registered for the alpha, but haven’t been let in yet, don’t worry, I plan to let in more players in the coming days.

Election tweaks

Thursday, August 14th, 2008

Over the past few days I finished up some loose ends concerning the election algorithm. It now takes a decent mixed bag of factors into account: political opinion, personality, party reputation, ethnicity, and endorsements from other parties. The only thing that’s missing is a “native son” effect, where a politician gets a small bonus in elections in his or her home territory. I’ll get to that as soon as I have time. Most of this counts for head of state as well as legislative elections.

A notable point of difference between Particracy II and Particracy Classic is that you can run politicians in legislative elections as well. That way you get a small bonus from the politician (if he or she is liked by the electorate) and it makes for excellent roleplaying material.

My checklist of stuff to do before we’re alpha-ready is almost complete. Expect an announcement later this week.

Database mapping woes

Monday, August 4th, 2008

For the past week I’ve been struggling with some Object-Relational Mapping issues. At the core it was an optimization issue, which may seem non-essential, but it caused the database layer to create records and run queries that weren’t really needed. So I dived in to some of the less pretty parts of my code and wrestled just as long as I had to, to get it to do what I want.

ORM isn’t always a perfect solution, and every implementation has its flaws. Your choice depends on the domain you’re trying to model. In the case of Particracy, there’s a very rich and complex model that depends less on sheer quantity of data, and more on the kind of logic I feel comfortable expressing with Objects and inheritance. In designing a database-backed application, you need to decide up front whether your master model is your database schema, or your domain class hierarchy, and I chose the latter. I could nag on for hours about this object-relational impedance mismatch, but I’m not going to do that here.

With these issues (hopefully) behind me, I can get back to the real work, which is finishing the features that will make it into the alpha, polishing up the user interface where required, providing the game with some basic content (such as the map, some nations, ethnicities and of course proposal variables) and lots of testing.