Sim:Main Page: Difference between revisions

From The Dreadnought Project
Jump to navigationJump to search
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:<span style="display:none">{{FULLPAGENAME}}</span>}}
{{DISPLAYTITLE:<span style="display:none">{{FULLPAGENAME}}</span>}}
{|align="right"
{|align="right"
|{{SimSlideshow}}
|{{SimSlideshow}}
|}
|}
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).


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 &mdash; notably, this wiki.
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.
 
==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.
N.B.: for best results, watch the videos on Youtube in full screen.


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.
===Torpedo Aiming Systems===


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.
<video id="xq-4Z8UDCYI" height="150" width="200" desc="Aiming Torpedoes from the Tube" frame="true"/>


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


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 [http://www.garagegames.com/products/torque-3d Torque Game Engine], and the second built atop [http://ogre3d.org/ 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.
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.


I since have looked at [http://unity3d.com Unity3D], which tries to be easy to use but is harder to understand than a C++ game engine... how did they do that?
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 Sight]]s, 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.


==Developer Blog==
===The Dumaresq===
===5 Sep 2011===
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 fireThese measures are very helpful in mature fire control systems, as the first is the [[Range Rate|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 [[Gun Deflection|aiming deflection]] angle that will cause the fire to be correct for bearing.
I am working to bring the FAI sim up on jMonkeyEngine.  I have a subset of the old sim working nicelyMy hope is that I can share it with others.  Things are promising, but no guarantees.  


===11 Oct 2011===
<video id="ZQTBfvJH_xc" height="150" width="200" desc="The Dumaresq" frame="true" />
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.


<video  id="mUofK0auqGI" height="300" width="400" desc="4-in gun fire" frame="true" position="center"/>
===Putting it all together: Ship-wide Fire Control===


===11 Dec 2011===
<video id="iZZ7wdnRLsE" height="150" width="200"  desc="The Dreyer Fire Control Table" frame="true" />
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===
<video id="ObKJQBKOn6Q" height="150" width="200"  desc="Director Firing" frame="true" />
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===
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.
Some solid progress toward getting the battlecruiser up and running.


* The coincidence rangefinder now works
==Development History==
* the transmitting station has a Dreyer tableSome 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.
FAI was written in Java, and delivered a Spartan 3D interactive environment using an extinct, Windows-only 3D plug-in called WildTangentIt 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.
* 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:
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, etcIt was fairly glorious.
* the [http://www.youtube.com/watch?v=4mbT9p4a-vI ShipsLogPlayback] app is in real disrepair.  If it comes back, it will be in Java2D
* 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
* multiplayer
* PC compatibility (it presently runs on a Mac), as well as a means for others to run it on any platform
 
===1 Mar 2012===
The battlecruiser fired its guns under director control today.  It was chaos; still much to do.  I need to resurrect the cheater navyphone network I use to quickly tell everyone there is a target to shoot at, and the turrets lost the gunlayer on the right gun and never had proper sightsetting equipment.  Adding that in next.
 
===22 Mar 2012===
I had to take a long time to revamp the audio propagation logic which determined who could hear what commands, etc.  It makes for a more natural treatment... speaking into a voicepipe now is as simple as moving over next to it and pressing shift while speaking.  Not the final UI I'd like, but good enough for now.  The battlecruiser is now firing its weapons under director control with a crew of over 70 (according to a printout in the code ... I am not sure I see that reflected in the accounting below) virtual sailors and two phone networks.
 
I have only been controlling them in Director Firing for the main battery so far, but they have substantial understanding of local laying and firingThere is as yet no treatment of the secondary battery -- the guns are dummy artwork.
:'''Fore Top''' accessible by magic portal on gundeck
:*Range Officer (w/ telaupad to Top network)
:*Spotter (w/ telaupad to Top network)
:*Voicepipe to Conn
 
:'''Director Platform''' accessible by magic portal on gundeck
:*Vickers Light Aloft director manned by
::*Phone Man (w/ telaupad to Top network)
::*Sightsetter
::*Director Layer
::*Director Trainer
 
:'''Transmitting Station''' accessible by magic portal on gundeck
:*TS Officer
:*Top Talker (w/ telaupad to Top network)
:*Main Talker (w/ telaupad to Main network)
:*Dreyer Table Mark III (c1918 sans Wind Dumaresq), manned by
::*Range Plotter (w/ six overhead single range receivers, two functioning)
::*Bearing Plotter
::*Range Tuner
::*Spotting Corrector
::*Dumaresq Operator
::*Totaliser Operator
:*Range Master Transmitter w/operator
:*Deflection Master Transmitter w/operator
:*Bearing Transmitter w/operator
:*Gun Ready Board with Fire push
 
:'''Conning Tower''' accessible by hatch to signal deck
:*Captain
:*Helmsman
:*Voicepipe to Fore Top
:*Captain's Cease Fire push


:'''Gun Control Tower''' accessible by hatch on its top
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.
:*Rangetaker (w/telaupad to Main network and nine-foot coincidence rangefinder)
:*Gunnery Officer (with bearing and rate transmitters)
:*placeholder sailor
:*placeholder sailor


:'''Torpedo Control Tower''' accessible by hatch if you trek back there!
==Continuing Work==
:*Rangetaker (w/telaupad to Main network and nine-foot coincidence rangefinder)
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.
:*Two [[Torpedo Director Pattern 2006]]s


:'''Signal Deck'''
I am now working on a successor to FAI which I call [[Sim:WTF|With the Fleet]].  This simulation has the following main goals:
:*Semaphore Signaller (partly functional)
:*Flag Signaller (broken)


:Four '''Twin 13.5-in Turrets''', each with
* it will be multiplayer; each player is a sailor or officer, never a ship
:*Officer of Quarters
* it will use voice pervasively to better model the teamwork and fraternal/sororal nature of serving aboard a ship
:*Turret Talker (w/ telaupad to Main network)
* it will have a sedate pace with infrequent battles, to augment their impact
:*Two loaders (abstractly representing the entire loading process)
* it will run on current popular platforms of suitable types: Windows, MacOS, possibly Linux
:*Two gun layers with elevation receivers, controls for elevating gun, sighting scopes and triggers
* it must be stable enough to invite regular outside play.  Ideally, it will become a commercial offering
:*Turret trainer with 2 telescopes and trainer's switch, controls for training the turret
:*Turret Director Trainer with training receiver
:*Four sightsetters
:*a few miscellaneous receivers


===23 Mar 2012===
As of August 2020, the work is at a demonstrable prototype stage.  I need more collaborators &ndash; primarily artists and coders.
A hellish 2 days.  My iMac shat the bed and I bought a new one.  It was a lemon.  I returned it and brought home another.  It worked better but also had serious issues.  I have no development machine at the moment, though my code is backed up (I pray).  Off to the UK tomorrow for some study with {{SIMON}}.


==See Also==
==See Also==
* [[Sim:Videos|Videos of Fleet Action Imminent Simulation]]
{{refbegin}}
* [[Sim:Ballistics|Discussion of simulated ballistics used]]
* [[Sim:Ballistics|Discussion of simulated ballistics used]]
{{refend}}

Latest revision as of 16:12, 14 August 2020

{{#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 August 2020, the work is at a demonstrable prototype stage. I need more collaborators – primarily artists and coders.

See Also