Sim:Main Page: Difference between revisions

From The Dreadnought Project
Jump to navigationJump to search
No edit summary
Line 36: Line 36:


==Development History==
==Development History==
FAI was written in Java, and delivered a Spartan 3D interactive environment using an extinct, Windows-only 3D plug-in.  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 was written in Java, and delivered a Spartan 3D interactive environment using an extinct, Windows-only 3D plug-in called WildTangent.  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.
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 [http://jmonkeyengine.com/ 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.
I eventually replaced Wildtangent with [http://jmonkeyengine.com/ jMonkeyEngine], but didn't take things much further, as the FAI architecture was unlikely to ever deliver me the massively multiplayer experience I felt was necessary to achieve my ultimate vision.
 
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.
Here are some videos from 2004-2006 which explain some of the fire and torpedo control devices of the Dreadnought Era.  The platform upon which these were written and run are defunct, and my lapsed effort to move things to a more modern one had only brought a subset of my content up to speed.  And so I present these older videos of the single-player simulation.


==Continuing Work==
==Continuing Work==

Revision as of 02:46, 16 January 2019

{{#slideshow:
SimBattleshipUnderFire 512.jpg
SimFireControlMechanism 512.jpg
id=slides refresh=6000 sequence=forward

}}

In 2002-2006, I created a technically-minded 3D naval simulation I called Fleet Action Imminent. I hope to create a massively multiplayer game featuring these same details, and have prototyped it on several platforms. I've reached the point where I need to collaborate to develop something stable I can openly share beyond video demos with others.

Videos demonstrating the Sim

The first three educational videos are... ok. The last two are more involved, but I had not enough scripting of what I wanted to show and explain. And so I ramble quite a bit (sorry).

There are some mistakes in the videos, particularly in the voiceovers. I encourage you to follow the links to Wiki articles that more accurately describe some of the details.

N.B.: for best results, watch the videos on Youtube in full screen.

Torpedo Aiming Systems

<video id="xq-4Z8UDCYI" height="150" width="200" desc="Aiming Torpedoes from the Tube" frame="true"/>

<video id="R1VFYBDCV6U" height="150" width="200" desc="Aiming Torpedoes remotely" frame="true"/>

These videos illustrate use of a Torpedo Director Pattern 2006, the basic model of torpedo aiming the Royal Navy used from the 1880s to 1915. The first video demonstrates how such a director works when placed on the torpedo tube, and the second illustrates how it can be used from a remote aiming position by use of a Tangent Bar to factor out the parallax.

Some time during the war, the British realized that their torpedo directors were overly complicated, and the corrections offered by the Tangent Bar were miniscule when compared to the sources of error endemic to torpedo fire at real world ranges. In light of this, they moved to abandon the torpedo directors in favour of the simpler Torpedo Deflection Sights, which relied on a single scalar value, computed in the sheltered quiet of the ship's interior spaces, to convey to the men at the sight how to establish the proper sighting angle.

The Dumaresq

The Royal Navy used a device called a Dumaresq to relate the relative motion of a target ship to the very helpful frame of reference to how fast the enemy ship appears to be moving along the line of fire versus across the line of fire. These measures are very helpful in mature fire control systems, as the first is the rate of change of range over time and would be a value you could integrate on a Range Clock to generate a continuous range hypothesis for continuous hitting, and the latter can be massaged further to calculate the small lateral aiming deflection angle that will cause the fire to be correct for bearing.

<video id="ZQTBfvJH_xc" height="150" width="200" desc="The Dumaresq" frame="true" />

Putting it all together: Ship-wide Fire Control

<video id="iZZ7wdnRLsE" height="150" width="200" desc="The Dreyer Fire Control Table" frame="true" />

<video id="ObKJQBKOn6Q" height="150" width="200" desc="Director Firing" frame="true" />

The Royal Navy took the basic components of gun sights, rangefinders, spotting, and communications devices to build a sophisticated computer, the Dreyer Fire Control Table and a system to harmonize the effort by pointing and firing all the guns at once using a Gunnery Director. The overall effect was to transform a capital ship, such as a battleship, into an early form of networked computing system, which would allow each man to work a small part of the overall problem of converting observed ranges and bearings to the elevation and training angles required to place shells on target. The many people so engaged could communicate their results over dedicated electro-mechanical data networks few consider today.

Development History

FAI was written in Java, and delivered a Spartan 3D interactive environment using an extinct, Windows-only 3D plug-in called WildTangent. 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 eventually replaced Wildtangent with jMonkeyEngine, but didn't take things much further, as the FAI architecture was unlikely to ever deliver me the massively multiplayer experience I felt was necessary to achieve my ultimate vision.

Continuing Work

I decided to write a simulation because renders of 3D models and textual description of such mechanisms seems lifeless and flat. However, it is now painfully clear that videos of someone else using a sim is also a little like having someone eat a pizza on your behalf.

I am now working on a successor to FAI which I call With the Fleet. This simulation has the following main goals:

  • it will be multiplayer; each player is a sailor or officer, never a ship
  • it will use voice pervasively to better model the teamwork and fraternal/sororal nature of serving aboard a ship
  • it will have a sedate pace with infrequent battles, to augment their impact
  • it will run on current popular platforms of suitable types: Windows, MacOS, possibly Linux
  • it must be stable enough to invite regular outside play. Ideally, it will become a commercial offering

As of early 2019, the work is at the prototype stage. I need collaborators – primarily artists and coders.

See Also