26 May 2000 Excalibor   » (Apprentice)

Been reviewing Force Commander, by Lucasart, at my co-worker's place. Interesting, but there are not too many things we can take for the project, which will probably be called Fleet. Also helped him to setup CVS and get the source (from a floppy, no net access as of yet...)

Been hacking for a while late in the night, improving base Ship class and creating mutators and other methods. Have found I need Vectors and Perl does not provide any fairly complete package with them... Found one with Matrices and another with Polynomials, but both have very poor support for vector operations... I'll probably change one of them and extend it to have at least support for all vectorial space operations... that way we'll be able to implement a ship's position, speed and acceleration fairly easily :-) Movement, within the time grain will be choosing, should be as realistic as possible... I'd go towards a full Newton Physics support, but I'm afraid it would make things too complex to play (imagine you are manning 30+ ships of different sizes and displacements in a formation to change course maintaining the formation... a 100% realistic thing would be total chaos! But by providing a constant acceleration within a small time frame, things are simpler and movement still fairly realistic... still, people will probably need traing to do that without a Frigate collisioning against a Line Ship... :-)

3D is yet another thing... Human brain is not really ready to deal with full 3D sensorial information (that's why we get disoriented when diving and flying takes so long to learn... compared to driving a car, or walking), we are used to a 'fat 2D' world, or to a "stack of planes" at best... Moving basically 2 degrees-of-freedom objects in an isometric view in StarCraft or even the more complex thing of Force Commander or a "3D" simulator like X-Wing, etc is very different to manning a fleet of N ships against some other M ships in a real space, with accelerations, gravitational fields, etc... I don't think there's an easy-for-the-brain interface to 3D (even if we draw a rotating cube on the screen, which is probIaby the best approach nowadays... well, we'll see when we have to assault the GUI...

I was thinking on implementing the interface in C^3 (ie, three dimensional complex vectors) with info about position and speed at the same time... but it won't help, people is not used to phase spaces, either... and drawing C^3 in a 2D screen would be... a big challenge :-)

Despite there's FTL communications and travel in this Universe, intership communication will probably go by light and we are thinking about implementing that delay into the game, making it much more interesting... <eg> :-)

Not much more hacking and thinking, except some blueprints of some of the ships classes (Satellite Hunter and Destroyer), because I was also watching Ally Mcbeal, and was somewhat distracted ;-) There'll be more on Monday, I hope...

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!