Difference between revisions of "Sim:Main Page"

From The Dreadnought Project
Jump to: navigation, search
(Development History)
(22 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==
+
N.B.: for best results, watch the videos on Youtube in full screen.
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.
+
===Torpedo Aiming Systems===
  
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.
+
<video id="xq-4Z8UDCYI" height="150" width="200" desc="Aiming Torpedoes from the Tube" frame="true"/>
  
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="R1VFYBDCV6U" height="150" width="200" desc="Aiming Torpedoes remotely" frame="true"/>
  
==With the Fleet==
+
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.
  
When I was setting aside FAI's Java code, I made a few prototypes of the proper game I wanted to createThe 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.
+
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 rangesIn 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.
  
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?
+
===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 [[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.
  
==Developer Blog==
+
<video id="ZQTBfvJH_xc" height="150" width="200" desc="The Dumaresq" frame="true" />
===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===
+
===Putting it all together: Ship-wide Fire Control===
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"/>
+
<video id="iZZ7wdnRLsE" height="150" width="200" desc="The Dreyer Fire Control Table" frame="true" />
  
===11 Dec 2011===
+
<video id="ObKJQBKOn6Q" height="150" width="200"  desc="Director Firing" 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===
+
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 targetThe many people so engaged could communicate their results over dedicated electro-mechanical data networks few consider today.
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 normArgh!   
+
  
===21 Feb 2012===
+
==Development History==
Some solid progress toward getting the battlecruiser up and running.
+
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.
  
* The coincidence rangefinder now works
+
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.
* 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 [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 firing.  There 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
+
:*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!
+
:*Rangetaker (w/telaupad to Main network and nine-foot coincidence rangefinder)
+
:*Two [[Torpedo Director Pattern 2006]]s
+
 
+
:'''Signal Deck'''
+
:*Semaphore Signaller (partly functional)
+
:*Flag Signaller (broken)
+
 
+
:Four '''Twin 13.5-in Turrets''', each with
+
:*Officer of Quarters
+
:*Turret Talker (w/ telaupad to Main network)
+
:*Two loaders (abstractly representing the entire loading process)
+
:*Two gun layers with elevation receivers, controls for elevating gun, sighting scopes and triggers
+
:*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===
+
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.
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 on Sunday the 25th for some study with Simon.
+
  
===May 31 2012===
+
==Continuing Work==
Anniversary of the [[Battle of Jutland]].
+
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.
  
Marsden Samuel is helping me with some art.  It's proving difficult, so I set him up with what I hope is a runnable WIndows version of my sim so he can walk around the Queen Mary and see whether textures are right or wrong, and check on geometry, etcIt's encouraging to consider someone other than me running my sim!
+
I am now working on a successor to FAI which I call [[Sim:WTF|With the Fleet]]This simulation has the following main goals:
  
===6 Jun 2012===
+
* it will be multiplayer; each player is a sailor or officer, never a ship
New hydrodynamic code makes the ships move more believably through the waterCheck out the start of the video, where the editor gets his hair parted!
+
* 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 playIdeally, it will become a commercial offering
  
<video id="UknqrX89T_w" height="450" width="800" desc="New hydrodynamics" frame="true" position="center"/>
+
As of early 2019, the work is at the prototype stage. I need collaborators &ndash; primarily artists and coders.
  
 
==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}}

Revision as of 22:46, 15 January 2019

SimBattleshipUnderFire 512.jpg
SimFireControlMechanism 512.jpg

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

Aiming Torpedoes from the Tube
Aiming Torpedoes remotely

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.

The Dumaresq

Putting it all together: Ship-wide Fire Control

The Dreyer Fire Control Table
Director Firing

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