In 2002-2006, I created a simulation I called Fleet Action Imminent. I hoped to then create a massively multiplayer game called With the Fleet, but except for a few prototypes, WTF never got very far before I set it aside for other pursuits — notably, this wiki.
Fleet Action Imminent
FAI was written in Java, and delivered a Spartan 3D interactive environment using an extinct, WIndows-only 3D plug-in called Wildtangent Web Driver. It delivered low frame-rates and a dated appearance, but these were not a barrier to what I wanted to focus on: creating a realistic simulation of the ships, duties and mechanisms of fire control.
FAI embodied realistic ballistics and implementations of 20+ distinct AI behaviours for sailors with different shipboard duties, manning a virtual Dreyer table, wireless transmitter, many data transmitters and receivers, Vickers director, coincidence rangefinders, dumaresqs, etc, etc. It was fairly glorious.
I toyed with the idea of tearing out Wildtangent in favour of jMonkeyEngine, but didn't proceed with it, as the FAI architecture was unlikely to ever deliver me the massively multiplayer experience I felt was necessary to achieve my broadest vision. This does not mean that I would not permit a talented and motivated hacker from trying to achieve this.
One limited fruit of the switch to using jMonkeyEngine was that I took out the ballistics code into an application called Blammo that creates very accurate HTML range tables for simulated weapons based on very little input data. I may eventually release Blammo.
With the Fleet
When I was setting aside FAI's Java code, I made a few prototypes of the proper game I wanted to create. The first was based in Torque Game Engine, and the second built atop Ogre3D. The prototypes had some innovative features I won't divulge, but never got very naval. I sorely needed a better coder than myself to get where I was going.
I since have looked at Unity3D, which tries to be easy to use but is harder to understand than a C++ game engine... how did they do that?
5 Sep 2011
I am working to bring the FAI sim up on jMonkeyEngine. I have a subset of the old sim working nicely. My hope is that I can share it with others. Things are promising, but no guarantees.
11 Oct 2011
I have been working hard and have destroyers with helmsmen, 4-in guns and gunners working. I find myself now spending time getting smokestacks to throw their smoke in the right direction and volume, etc. Progress is slow.
11 Dec 2011
I have made steps toward making the sim multiplayer, but am not going to press ahead on this for a bit. I dashed ahead and worked to create the battlecruiser with its entire fire control systems again. It will require much debugging and I see some art is around 5 times too big... I will have to go and check why that is and apply fixes to orientation (Wildtangent was in a righthanded graphics space, and JME is lefthanded).
3 Jan 2012
I have been working, slowly, on getting the battlecruiser up and running and adding unique gameplay elements. The battlecruiser and its many instruments is imported, but I have to do much of that work again, as I have most parts yawed 180 degrees from the most convenient norm. Argh!
21 Feb 2012
Some solid progress toward getting the battlecruiser up and running.
- The coincidence rangefinder now works
- the transmitting station has a Dreyer table. Some of the pieces are facing the wrong way, or react "backwards" to the user interface, but most are corrected after a little thinking. Most recent task has been getting the paper plots and the brass plates on hatches set up. The good news is that this allows me to tie into Java2D, which provides much of the utility that went missing when I switched from the old Wildtangent platform.
- magic portal hatches permit access between the gun deck to the director platform, transmitting station and spotting top
Some parts I am leaving for later:
- the ShipsLogPlayback app is in real disrepair
- the Wireless stations may need some more attention than they merit
- particle effects of gunfire and shell splashes leaves much to be desired
- flags don't work (waiting on native physic libraries for this)
- some of my secret features are shelved for now
- PC compatibility (it presently runs on a Mac), as well as a means for others to run it on any platform