Showing posts with label development. Show all posts
Showing posts with label development. Show all posts

Sunday, January 16, 2022

Rope based arresting system on Nimitz

 Rope based arresting system

With a recent update to Nimitz Experimental a rope based arresting system as implemented in Bon Homem Richard and MAAS previously was added to the Nimitz. It follows a description of the system.

The home of the rope based arresting system is in ttt_nimitzfunctions\fn_arrest_ropes, as well as the setup functions in jdg_carrier\functions\defaultInit.sqf.



fn_aircraftTailhook.sqf
    A compatibility function for BIS_fnc_aircraftTailhook that removes the hook up call in EXIT_CODE

fn_arrestEventsInit.sqf
    The system uses BIS scripted eventhandlers, which are set up here. The supported events are:
  • jdg_toggleTailhook
  • jdg_touchdown
  • jdg_abort
fn_caughtAnyWire.sqf
    Checks if the aircrafts tailhook is close to a wire. It relies on a hashmap of wires (_carrier getVariable "jdg_wireAreas") and then calls inPolygon to see if the tailhook is in the polygon defined by the wire.

fn_hasTailhookDown.sqf
    Checks if the tailhook is in down position. Either uses a simple tailhook mem point or whatever is defined in CarrierOpsCompatability.

fn_init.sqf
    Initialized the ctrl-shift-h tailhook toggle helper command.

fn_localWires.sqf
    When a plane from ttt_nimitz_planes is close to the wires of a carrier in ttt_nimitz_carriers this function is called where the plane is local to and checks if the tailhook grapples a wire via caughtAnyWire.

fn_toggleTailhook.sqf
    Simple function to lower or raise the tailhook, either via tailhook anim or as defined in CarrierOpsCompatability.

fn_touchdown.sqf
   The function that brakes the aircraft via setVelocity, pretty much a copy of BIS_fnc_aircraftTailhooks part of decelerating the plane.

fn_wireRopes.sqf
    Per frame function that checks if a plane from ttt_nimitz_planes is close to wires from ttt_nimitz_carriers. If close the localWires function is called on the system where the plane is located on. The use of two global arrays vs the use of nearEntities/nearObjects and so forth is done deliberately to give this function a speed advantage.

fn_wireRopesAttach.sqf
    Attach the ropes/wires onto the tailhook when the grappling of the tailhook to the wire was a success. Note that the ropes don't follow animations of the tailhook, unfortunately.

Cheers,
TeTeT

Tuesday, May 28, 2019

Nimitz update

Quite a while has passed with this blog being dormant. But the development of the Nimitz is not idle - slowly but surely we make progress.

Biggest news in the past couple of months was the move to Steam Workshop for the experimental build: https://steamcommunity.com/sharedfiles/filedetails/?id=1697731012 This experimental build contains the latest and not always stable additions to the Nimitz. Currently you can already see the upcoming changes to the island and lower deck on the port side, but not all areas are enterable and at places you fall through the cracks. Read, it is experimental and not considered to be stable enough for general use.

Speaking of the changes in the Nimitz, the Changelog contains various entries since the 0.102 release (https://tetet.de/arma/arma3/nimitz/experimental/Changelog.txt).

Functions to reset the cat and wires were added a while back, but never exposed to the player. This has changed lately and now you can reset the wires and catapults when things go wrong - mostly destroyed planes blocking cat and wire.
An oversight was the direction of air defenses on the carrier. In a previous build they were attached to the carrier parts, but now stand freely. This required a change in the direction setting commands, which has been done now.
The crane behind elevator 3 is now semi-functional, it can be raised and lowered with ctrl-w and ctrl-s, and turned left and right with ctrl-q and ctrl-e, if CBA is loaded. Unfortunately the crane is duplicated in the process, due to unknown reasons, so consider this feature to be very experimental.
The lower launchbar and repair actions were added repeatedly on dedicated servers. There is now some code in place to catch these duplicates and hopefully only one action will be available.
The island interiour has been restructured by Odyseus, extending to the hangar level deck and above below the island. This area is now a place of constant improvement and most likely once the renovation there is finished, Nimitz 0.103 will be released.
Joe provided us with a nice LSO platform which sits at the very aft section of the carrier now. It's not functional in any sense, but can be used for additional ambiance elements. Note that the current location is not final, as once the island work is completed, this section will be renovated next.
Some arma update broke the general quarters sound, this has been fixed by replacing the sound file and fixing the config entry for it.
Thanks to the USAF mod a new weapons cart is now available and has been placed on the weapons elevator. The cart carries a number of Sidewinder missiles and can be emptied and filled with player actions, if deployed stand alone (e.g. not on the weapons elevator).
The inheritance for the air defenses and radar of the Nimitz has been changed for the encore update of the Jets DLC and the air defenses are now more tightly integrated and more effective.
A landing statistics menu is now available from the islands ground floor level, showing who landed at which speed and which wire caught. This should help on multiplayer servers to see which pilots need some further practice and which are landing solid.
Another change is the printing of an error if the height of the Nimitz is not close to sea level. Various scripts in the carrier use hard coded values of 17.5 meters for deck height (hangar and other heights as well) and won't work if the carrier is spawned at a different height than sea level. Ultimately these hardcoded values would go from the scripts, but this requires more refactoring.
For landing experts, the vertical distance where the wire snatches you out of thin air can now be set in an Eden attribute of the carrier.
Also for landing, the IFLOLS range has been increased, so it can help landing on the Nimitz from farther away.

The next weeks will hopefully see the completion of the renovation of the island and decks below it, then some testing and bug fixing will be happening. Script wise the replacement of the hard coded height values might happen, and then 0.103 version is ready to be shipped.

Beyond that the general plan is to re-do the lower decks (2nd deck) below the hangar and to renovate the hangar and aft section of the carrier. On the scripting side, it's not decided what will happen next. We're open for suggestions and ideas on what else can be done for the carrier!

Friday, October 27, 2017

Plans for Nimitz in Arma 3 beyond 0.99

After the release is before the release, or so they say. Some ideas got implemented in Nimitz for Arma 3 0.99, but not all. So this is an overview of what might happen in Nimitz 0.100.

First, an already completed but untested task was the upgrade of the SAM systems, the Mk-29 Sea Sparrow launcher and RIM-116 RAM. Both systems now use a BI function to move the missile to the correct launch tube. Also they deploy Pookie's smoke script and generate some smoke upon launch.

Now onto the uncharted territory. With the advent of working radars with the sensors update as part of the Jet DLC, the anti air assets were already upgraded to use sensors. Now the Nimitz itself needs a long range radar to assist those weaponry and of course the planes. Work on this had started during 0.99 development, but was never completed. And when speaking of long range radar, I mean long range for the typical Arma 3 island, something in the range of 10-20 km.

The customization of the carrier for different versions of the Nimitz class is another topic to be discussed. The aft mast, located behind the island, is quite different between those subclasses and ideally we would have different models to show these differences. Further the island itself differs between the latest Nimitz class carriers and the original. And finally the numbers look a bit different on the real carrier than they do on our virtual one.

The hangar is quite an important part of the carrier, but lacks in details and 'liveliness' currently. I would hope for a complete overhaul, similar to what was done to the exteriour of the Nimitz already. It's undecided yet if ambient objects will be directly integrated, or left to the mission makers idea. Both approaches, an empty hangar, or one filled with objects, have their purpose and it's a hard decision which path to go down.

Sitting below the hangar is the 2nd deck. It can be considered a first approach of supplying additional rooms for communities on the Nimitz. The deck needs to be completely overhauled to look more ship like and equipped with objects. Mind you, there will be enough empty rooms available, so a mission maker can equip them as he deems fit.

Weapon carts are a needed addition to the carrier's properties list. The work on them has been contracted from the remaining donation money and should be available later in 2017.

For Nimitz 0.99 Shockley did a tremendous job at adding textures to the hull, which look more ship like than before. Hopefully this work can be continued for the flight deck textures and improve the textures further.

Script wise it would be interesting to add a teleport module for those player that don't want to walk/run around the carrier. There are already some memory points in place that can be used for that. Probably the best approach forward is to publish the nimspots lod, which contain those memory points, so mission makers can integrate their own teleport systems.

A completely different area is that of sounds. Late in the 0.99 release cycle the air conditioning sounds and engine sounds were added to the Nimitz. What's missing is now some general quarters alarm and other ambient sounds via speaker systems. Any suggestions are welcome here!

Yet another tech available in Arma 3 that has not been made widely available in the Nimitz are the Picture in Picture possibilites. The nautical's bridge monitor system is a good place to start on this, but more control rooms in the carrier's interiour could be thought of that get a view on the outside world via cameras.

Camera's are also found on UAVs, which are currently not exactly compatible with the Nimitz systems. The scripts for launching and recovering planes could use an overhaul so UAVs are supported as well.

The Tilly crash crane is currently a static property, as time to make it a carX simulation is rather scarce. Eventually it would be made fully driveable.

Last on this long laundry list is the IFLOLS system which sits untextured on the side of the carrier. Here a better texture, some light source magic and scripting is needed to make it a believable system.

As you can see from this post, we can really use some help in any of the above areas. Feel free to reach out when interested in helping, and join our discord server. There's also the possibility to hire modellers and texturers to assist with some of the above tasks. When doing a donation please let me know in the comment which part of the carrier you would like to see improved: Donate. The money raised so far helped with the following parts: RIM-116 RAM, Phalanx, nautical bridge, medical station, interiour objects, fuel pump, weapon carts (when completed) and new ammunition models.


Thursday, December 19, 2013

Converting the Nimitz from ArmA2 to ArmA3

A couple of months ago a new mod appeared in ArmA3: The F/A-18 from John_Spartan and Saul. As I always liked planes, I tried it out ASAP and thought what a great mod it is! I modified a small mission by me on a Landing on Altis and swapped the Buzzard out for the Super Hornet.

Soon I thought about how nice it would be to have the boats and planes not spawn out of thin air, so I tried to create a form of pontoon, a 300 by 100 meter wide cube floating in the ocean. These were my first steps in oxygen2 and they were not exactly successful. With that in mind I tried to create an artificial island made of existing objects: Containers, bunkers and H-Barrier were all on the menu. The H-Barrier kind of worked with the F/A-18 - which is really forgiving when taxiing, taking off and landing on less than smooth surfaces. A short video on this attempt, featuring the F/A-18 and the H-Barrier island :)

Next I scrounged the BIS forums for any ships in ArmA3. There were quite a few work in progress threads, but nothing was released so far. Naturally the ArmA2 Nimitz thread started by piedebeouf  got my interest. The errors he reported seemed somehow familiar, as I tinkered with other ArmA2 mods in ArmA3 before. Soon I had something working, went ahead and posted a link to the modified scripts in the forums.

Foxhound took the initiative and informed JDog, the creator of the Nimitz for ArmA2, on the scripts. JDog replied on the forums and gave me permission to modify and improve the Nimitz. Since then a number of preview releases were made available to the ArmA community and hosted on Armaholic.