PiArmada .05RC now available for download


Rear Admiral
Howdy, gentlemen. Some of you may recall a post a few months back, in which I announced a project to clone Wing Commander Armada. Well, it's done! At least, done enough for a release. We're calling this PiArmada .05RC, and it's downloadable here . The interface looks bad, I'm not an artist, but you should find that it's pretty intuitive. The basic rule is that you left-click to select anything and bring up a relevant screen. The exceptions are ship icons on the sector map. Left-clicking those allows you to drag them to a system, which brings up a move screen. You need to right-click those icons to bring up their particular detail screens. Spacebar centers on the current player's carrier, ESC exits the game, no other keys do anything. The implemented sector map is Vega, from the map that came with Prophecy. At present, there is no AI, no network play, no game saving, no Kilrathi-specific screens, and no flight simulation. This release is to test strategic game mechanics and interface, as well as any balance issues that come up. Carriers are probably a BIT tougher in combat than they need to be, I just pulled numbers straight off the CIC. I'm not 100% sure on whether fortress construction operates properly, and I'm sure the prices are wrong (30, 60, 90). Correct information there, as well as anything else you find, should be posted on Sourceforge or here.

Speaking of which, PiArmada is now a Sourceforge project, ready for open collaboration! It's written in Python, which is a very easy language to learn, whether you have programming experience or not. PiArmada is based on the Pi4x engine, and designed in part to test its capabilities. This engine is intended to be extremely flexible and extendable, meaning that we should eventually be able to extend the Armada concept in directions we could never take it before. Multiple empires, bigger universes, more capships, more ship classes, we'll only know the limits when we hit them. However, to do ANY of that, the project needs more help, specifically in the following areas:

Code: PiArmada will eventually implement a cleaner and more detailed interface, saved games, AI players, internet play, and integrated flight simulation with an existing open-source engine. Further extensions beyond the original Armada are definitely in mind, but not so clearly defined as yet. Ideas can be posted at Sourceforge. All the code is currently in Python. Anyone interested, say the word, sign up at the above site!
Graphics: New interface graphics are needed, as most of the ones we have now are made by me in about twelve seconds. Bob McDob made the sector level buttons and button backgrounds, which is why they look so much better than everything else! All graphics are in .PNG format, and exist in a seperate, easily accessable folder included with the distribution download. If you want to redraw something, redraw it and send it in! It's that simple. More planet images would be especially nice, since I really don't know where I got the one I have, and the owner might well object for all I know.
Sound: PiArmada is now completely silent. Something as simple as button clicks would be wonderful, and any other interface sounds you think appropriate. Background music is also needed, so if you know of anything appropriate that is legally distributable, or can write anything, let us know.

I hope many of you will join the project. It's our hope that this project will eventually allow you to have the entire experience of Wing Commander Armada in any desktop operating system, with none of the drawbacks of the original. Cross-platform testers would be very nice as well. There are all sorts of specific tasks posted on the Sourceforge site, so if you're interested, head on over and take a look! And enjoy your gaming. :)
This looks pretty freakin' cool.

I'm having some errors with the images. I'm on Linux, and some of the images have extensions with all caps. The pics seem to load OK when I lowercase them.

Caps-sensitivity is fun, eh? : D

Just wanted to fire that off right away. I'll give you some more feedback after more fiddling.
OK, I played around with the game some more, and it looks very promising!

I spent a few minutes and did a little picture replacement. I stole some images from Vega Strike, the CIC ship database, and a Standoff wallpaper for the carrier deck screen thing. I might Photoshop up some new interface stuff later, if nobody else beats me to it.

here's the zip
Oh wow, great. I was wondering just the other day what happened to this. Downloading now.
You rock! and in python to top it off...

Vega Strike and Privateer Remake use python for scripting

we always get annoyed by the lack of type checking--but elite nevertheless

with pychecker, there's at least a minimum ammt, so it's a lot better too
With just a little hacking we could get your program hooked into the splitscreen version of Vegastrike, using python to communicate the armada game state to the combat engine...

multiplayer isn't too many months off in VS... at least for x on x combat in a single system... we already have positions transmitting and 98% of the firing and server side simulation code
hmm, true...

vegastrike engine for the 3d combat part of armada... not bad.
would be the fast way to do it definately.
tho he may wanna write the 3d part on his own for learning purposes. never know...

Hey, glad y'all like it! I'm definitely interested in integrating Vega Strike into this, it was on one of the to-do lists to explore different engines. :)

Those pics look great, PeteyG! Thanks! I'll stick 'em in the next release, if you're sure none of the sources would object. I've just put together some MUCH better looking system icons, and a slightly different icon for an unvisited system. That doesn't leave much unreplaced, really, just some of the more generic buttons. Of course, if anyone would like to submit more images, by all means! Heck, why not make the thing skinnable eventually? :)

Semester starts today, and I have no idea how it's gonna go this time around, and thus no idea how often updates will come. I'll do my best to keep 'em regular, though!
I'd add that if you can generate a text file (specifically xml), you could use Flight Commander as well. I've already got most (13) of the 3d models from Armada into Flight Commander. Somebody would have to volunteer to do stats, though. Of course, Vega Strike is very nice as well.
eh' why not both?

if you can create a rather general interface, than i'm sure both projects could be modified to interact.

The game needs system names to appear on the map, as well as a simple graphic display to tell you if you have "mines" or "shipyards" or "fortresses" on said planets.

It would be far handier then having to click on each system in turn. Might be nice to have a little bar for remaining/stored raw materials so you know where you have a stockpile and where you have none.
I've implemented system names and facilities appearing on the sector map. Great idea, looks much better! Haven't had much chance to code since release, but I'll do my best to fix up a few more things soon for another release.
Sounds interesting. I'd like to help if I could - I actually worked on my own game of this kind for a while (in Java).

Some suggestions to begin with:
- Testing would be much easier if you made a one-player only option - maybe by modifying the next turn function
- Is there any way to change the zoom?
- The summary window should automatically popup when combat occurs so the player knows what's going on
- As long as Python supports sound (I don't know), a search on Google should return lots of free sound clips - button clicks, explosions, etc.

I've just started looking at the source code. I am also developing ideas for the opponent AI - I will let you know if it becomes something practical.
You're certainly welcome to help! If you have any questions about the code, just ask. Some of it's SLIGHTLY messy, and I've since learned there are better ways to do quite a bit of it. Massive clean-up is on the to-do list. :)

Creating a single-player mode wouldn't be hard at all. It'd just mean not initializing the second player. In theory, the engine supports any number of players. I just left the second player in there so combat would be testable. I suppose an option for doing otherwise would be easy enough to implement. Or even better, I could build in the framework for AI players, and just have the AI do nothing until we design an algorithm.
Love the new graphics!

- The Kilrathi need their own carrier and fighter map icons, and the Kat carrier screen with a Raptor on it doesn't quite fit...
- Could Confed systems be blue and Kilrathi systems be red? maybe that's a good option to implement, letting the user pick their color
- A splash screen would make a big improvement, much smoother than just launching into the game

Right now, my AI idea is this: Each AI has a data file that contains a set of response curves - numerical graphs - that determine its likelihood to build mines, fortresses, shipyards, and ships, move toward its enemy, and engage in combat based on its available money and fleet strength (for example, a defensive AI would build many fortresses if it had few ships and less fortresses if it had more ships, an aggressive AI would always move toward the enemy, etc.). Then the computer "rolls dice" every turn to see if it actually builds, moves, etc. or not and carries out those actions. It's a good way to simulate human thinking while keeping the computer somewhat unpredictable.
Crashes when Battle is to Start

Ok I am usine XP, I understand original Armada, when I find enemy and a battle should begin game crashes and sends me back to desktop?? What am I doing wrong?
There appears to be a bug that crops up when you a) have undocked fighters in a system, b) dock them all, and c) move the carrier to attack an enemy ship in an adjacent system. Working to identify and eliminate now. Thanks for the heads-up. :)

I like the idea of different colored systems for Kilrathi and Confed. I'll get on that soon. Splash screen would also be good, but I'd prefer to wait on that until we have some actual options to present at game start. For example, I'm gonna define a combat export format at some point soon, it's probably third or fourth on my list. Once that's done, we should be able to integrate Vega Strike with relative ease, or such is my understanding. Thus, gauntlet mode! :)

As for Kilrathi-specific icons, someone will have to create or find them. I'm no artist, and I don't keep up with art either. Your AI idea certainly seems viable. Storing a continuous curve might be overkill, though. Discrete values would do fine, I'd think. But I may not be fully understanding your concept. :)

While I'm typing, I thought I'd let people know what's been going on since last release. I've implemented zoom with the scroll wheel. Eleven levels of zoom, five out from default, five in. No bugs that I have detected so far. All icons stay the same size, but the systems move around. I rewrote the code for drawing the background grid, it wasn't moving consistantly with the planets and it was REAL annoying to watch. Looks much better now, not that anyone would have noticed before. :) I'm currently working on an interface for changing resolution in-game. Right now I have two radio buttons, one of which changes to 800x600 windowed, the other of which changes to 1024x768 fullscreen. The bugs for those seem to have been worked out, so I think I just need to create some more for different resolutions, and seperate resolution and windowed/non into different groups of buttons.

But first, to kill that bug.
Do Ship Encounters Work?

I have tried a few times to engage ship combat but I can only assume that the function does not work and only the map, plants etc works for now? Is that correct