There is this really neat tool for Windows called Army Builder. It lets you easily assemble an army list for any of the points based wargames, checks the list validity, and prints out a playsheet that has all the stats you need to play that army.
That would be really great, except that I don't have a PC at home, nor do I have a copy of Windows to run on a Virtual PC instance on my Mac. The Army Builder guys are never going to do a Mac (or even Linux) version, so I'm left with three choices if I want a computer assisted army building program: Get a PC, Fake it with a Spreadsheet, or Write My Own. I suppose there's the 4th option of waiting for someone else to write one, but that's not proactive enough. :-)
So "Write My Own" seems like the best choice. As for languages, I have dozens of amusing choices. Since I'm doing this for me, it's most important that I have fun while coding it, or it will never get anywhere.
A little digression: Back in the 80's when I was in High School, I played a lot of the RPG Traveller. I also did a lot of programming on my Apple//c in a language called Forth. Forth is great fun if you're the sort of programmer who likes assembly language and isn't afraid of different ways of programming. Forth programming is really about extending the interpreter to meet your application needs. I had some forth words that allowed me to generate random NPCs for Traveller, using commands like "10 army men", which would print out 10 characters generated for the ARMY service. Forth was definitely the coolest thing to ever happen to a 8 bit microcomputer.
Back to today. Forth is all but gone from the world of application programming, and lives on mostly in the place it started off - machine control and robotics. However, modern Forth dialects have kept pace with modern processors and operating systems, and can be used for relatively serious programming.
So largely due to nostalgia, and also to my desire to have a "fun" project, I'm doing my army builder in Forth. I had considered using either Scheme or Haskell, since they're both "fun" languages as well, but Forth has a higher nostalgia factor for me, so it wins. In order to keep things simple, I'm only doing a Warhammer Ancients army builder. Once this is done, there may be parts that are worth abstracting into a more generic system, but I'm not going to be selling this, so there's no point in getting too carried away supporting games I won't be playing.
Like most of my projects, I expect this one will be pursued for a few weeks and then dropped :-(, but with Forth as my implementation language, maybe I'll actually get something useful before I lose steam. I'll be generating my army lists as both ordinary text and HTML, and the user will have to print the resulting files themselves to keep things simple and portable. Portability isn't a big goal for me, but it wouldn't suck to have a program that can run on Mac, Windows and Linux, and since gforth is available on all of those platforms, it might be possible.
We'll see.
wargaming