Yep, Galac-Tac (and the GTac Assistant) is written in APL. It was coded back when home PC's were brand new and most of the code has been untouched since then -- and it still runs just fine on modern equipment and OSes! How many languages do you know that you can say that about? And yes, Midgard is being rewritten in APL too (using a SQL DB on the back end), and the whole of Talisman Games' web site is written in it (without using any other web software such as IIS or ASP).
There are still several APL implementations available and being maintained today, even though the language is over 50 years old. Maintenance (and development) is no problem and as you mentioned, for an experienced programmer writing (but also reading!) APL can be several times faster and easier than in other languages. It has a reputation for being "write only", but that really only comes from people that don't know the language. After all, how many people that don't know musical notation can read and write pretty music on paper?
If you'd like some evidence, check out some of the many code-competition sites around (I was recently pointed to leetcode.com, for instance) and compare APL solutions to other languages. If you'd like to learn more about APL, I'd be happy to discuss it with you elsewhere, or you can visit aplwiki.com for all sorts of information and references.
Just for an example, what would your program be (in your favorite language) to add up all the integers from 1 to 10? I expect it's got a loop, an accumulator that needs to be initialized, and an output command, at least, right? Here it is in APL:
Yep, that's the entire program, from input through output. Yes, this program uses one of those funny symbols and any APLer can read that code at a glance in well under a second. (And you'll notice that the forum software has no trouble with the symbol either.) If you'd like a more game-oriented example, how about a program to roll six sets of the sum of three six-sided dice for your favorite D&D-like game? Most people would at least use two nested loops with an array to hold the results and perhaps another loop for display? How about:
As you might have guessed, it's my favorite language (and I know dozens of others) and I think it's the best choice for Galac-Tac and Midgard as well. I've been programming in APL constantly for over 45 years now, for both home and work projects. There are really surprisingly few application areas that APL doesn't excel at - for instance, the very first CGI movie (Tron) was rendered using APL.
I hope I've set your mind more at ease regarding our game programming, though it may also have raised some new questions for you.
There are still several APL implementations available and being maintained today, even though the language is over 50 years old. Maintenance (and development) is no problem and as you mentioned, for an experienced programmer writing (but also reading!) APL can be several times faster and easier than in other languages. It has a reputation for being "write only", but that really only comes from people that don't know the language. After all, how many people that don't know musical notation can read and write pretty music on paper?
If you'd like some evidence, check out some of the many code-competition sites around (I was recently pointed to leetcode.com, for instance) and compare APL solutions to other languages. If you'd like to learn more about APL, I'd be happy to discuss it with you elsewhere, or you can visit aplwiki.com for all sorts of information and references.
Just for an example, what would your program be (in your favorite language) to add up all the integers from 1 to 10? I expect it's got a loop, an accumulator that needs to be initialized, and an output command, at least, right? Here it is in APL:
Code:
+/⍳10
Code:
+/?6 3⍴6
As you might have guessed, it's my favorite language (and I know dozens of others) and I think it's the best choice for Galac-Tac and Midgard as well. I've been programming in APL constantly for over 45 years now, for both home and work projects. There are really surprisingly few application areas that APL doesn't excel at - for instance, the very first CGI movie (Tron) was rendered using APL.
I hope I've set your mind more at ease regarding our game programming, though it may also have raised some new questions for you.