Sunday, August 07, 2011

Project 2 : The Ogre Manager

One of my fondest memories is receiving Ogre Battle 64 for my birthday (a long, long time ago). It's gone on to be both one of my favorite games of all time, and also one of the games I have the strongest associations with. Every year when the days get short and the weather gets cold and snowy, my first thought is to put Ogre Battle in the N64* and spend the afternoon pitting my army against the morally ambiguous other guys.

From GameFAQs - user Count Dackula

One of the things that's a little unusual about Ogre Battle, is that while it may look like your usual 90s RPG with swords and magic, you don't actually get to control anything. You take the role of the organizing general, setting up units out of your soldiers and then deploying them to the battle field with orders to take over a strong point or defend a town. Once the game starts they march where you tell them and fight the enemies according to their own internal mechanics and you just get to sit back and watch.**

Your units (in Blue) fight the "Bad" Guys (in Red). You sit and watch.
From GameFAQs - user Storm Shadow

The fun of Ogre Battle comes in putting together all the different character's available to you (some you train up from recruit soldiers, some are given to you by the story and some you pick up from the wild) into units that fight well together, then level them up. Like many strategic rpgs (and as I understand Ogre Battle shares developers with it's cousin series Tactics Ogre which basically spawned the tactical/strategic rpg) the challenge in the game comes from leveling the right units up at the right time. In particular, you have to be careful that a unit has the correct alignment (lawful, neutral or chaotic) and that your units don't become over leveled.

The game tells you what each character's level is, but doesn't give you the total for the unit. As a result I started to keep track for myself, using a sketch book a pencil and my high school Casio not-quite-graphing calculator.

The stats for a character. Sadly I can't find a screen cap of the unit info.
From GameFAQs - user Storm Shadow

After a while I started to realize that the unit I left to defend my base sometimes wasn't strong enough to hold its ground.*** Realizing that I also needed to keep track how much damage each unit was dealing, so that I could always leave the unit most likely to win its fights at home, I started to keep track of that too.

Around this time the Computer Scientist in me started to think that keeping track of this on paper was maybe not the most efficient way to do things. In addition to my mitigating my ability to add calculation errors and screw up putting the numbers down in the right places, I thought it would be nice to be able to graph my progress and maybe keep track of a bit more information. So I started bringing my laptop to game time and keeping track of the statistics in Excel.

One set of unit data for one of my play-throughs.
So, having upgraded myself technologically, I kept on playing. In addition to being able to keep track of each of the characters in a unit, both their level and their attacking strength, I was able to keep track of their alignment (which I could have done before, but now we have a whole spreadsheet to play with right?). However, I wasn't exactly happy with this set up for two different reasons.

The first reason was technical. While the spread sheet kept track of the unit at any point in time (before each mission) it didn't keep the history of the changes. I started to keep a new spread sheet for each mission, but without doing more work than I was really willing to do it meant that I couldn't really graph my progress. Doing this isn't essential to the game or anything very important, but it's still something that would be fun to track.

The other reason was more artistic. As you can see in the screen-shots I've included, there's a very strong esthetic to the game. Everything is very medieval in style and switching from that to the ... polish ... of excel is rather jarring (as you may have noticed) in a way that keeping my information on paper wasn't.

Enter: Ogre Manager, a program I'm creating to solve these two problems. It's not an essential thing, in fact I'd be nearly as happy to go back to tracking all this on paper, but it also struck me as a good chance to practice a whole bunch of things that I've let languish far too much.

The Notes panel from Ogre Manager. It shows who should defend the base, who needs leveling and which units should be grouped together. (But not into in game Legions, those are a terrible idea.)
In short, the vast majority of the programming I do is command-line style stuff and as such I don't get much practice working on GUIs. Ogre Manager seems like a good chance to practice that, in a situation where there's not a huge penalty for not getting everything right. Secondly it would be nice to be able to make a program with a graphical look and feel that matches the game. Whether this is in the form of a look and feel for Java Swing, or Java FX, or custom environment, it will be an adventure trying to put this together. Thirdly this seems like the kind of program that would make an excellent Android app, which is another area in which I'd like to have more experience.

Right now I have development mapped out into 4 phases. The first phase is to finish a Java-standard look and feel program that keeps track of all the information I want to track, which as the screen shots show, has been started. The second phase is to implement graphs and other visualizations of the data. The third phase is to create the Ogre Battlely look and feel and finally the fourth phase is to create the Android app.

Time to go make something.



* In fact, Ogre Battle doesn't really come out of my N64.

** Or clutch the controller in impotent panic as your unit gets wiped off the face of the earth.

*** One of the mechanics of the game is that after a battle is resolved, the losing unit (the one who dealt the least damage) is pushed back on the battle map. The distance it goes is based on how much damage it received. When your base defense unit gets pushed then the enemy can beat you by just walking right into your base.

No comments:

Post a Comment

The Books I Read - October 2024

Fairly quiet month. My partner and I spent a while reading through A Night in the Lonesome October and at about a chapter each day, it w...