Showing posts with label Nimitz. Show all posts
Showing posts with label Nimitz. Show all posts

Tuesday, October 10, 2023

10 years of USS Nimitz in Arma 3

Time has swiftly marched on, marking a decade since the inception of the USS Nimitz project in Arma 3. Reflecting on those times, I find myself transported back to the year 2013, unaware of the exciting journey that lay ahead.



It all began in mid-September of that year when a mod emerged on the BI forums, crafted by none other than Saul and John Spartan. They presented the F/A-18 Super Hornet for Arma 3. Given my affinity for flight simulations, particularly reminiscing about Thirdwire's Strike Fighter series, I eagerly embraced this new addition. I downloaded the mod, took to the skies over Stratis, and marveled at what I could achieve.


With the Super Hornet's naval orientation and my growing interest in aerial and amphibious assault scenarios, an idea began to take shape. Could I fashion an improvised carrier-like island using in-game objects? The answer was a resounding yes. I embarked on the endeavor, ultimately arranging a collection of H-Barriers into the iconic form of an aircraft carrier. You can witness the result in action on this video: https://www.youtube.com/watch?v=XUyW_-m57pQ.


While my interaction with the Nimitz mod in Arma 2 had been limited, it felt only natural to revisit it. I obtained the mod from the now-defunct Armaholic site and introduced it to the Arma 3 realm. Fortunately, my background in coding allowed me to navigate the mod's C++-like syntax without trepidation. I ventured into making some initial edits and shared a patch via the BI forums. Initially, it was merely intended as a patch for the Arma 2 mod. However, fate had other plans, thanks to Foxhound, renowned in the Armaholic community.


Foxhound reached out to JDog, the original creator of the Nimitz mod for Arma 2. In an act of generosity, JDog granted me the permissions needed to release an adapted version of Nimitz for Arma 3. This pivotal moment marked the beginning of a thrilling chapter in the USS Nimitz project's evolution.





On the 11th of October 2013, a pivotal moment occurred in the history of the Nimitz for Arma 3 project when the thread "Preview release: Nimitz for Arma3" was established on the BI forums. Since that momentous day, a series of significant updates and transformations have shaped this endeavor. In its nascent stages, it closely mirrored the Arma 2 mod, with a smattering of configuration adjustments here and there. However, as the years unfolded, a dedicated effort unfolded to rewrite a substantial portion of scripts and tweak configurations to enhance its reliability.


The project's vitality owes much to a passionate cadre of volunteers who contributed fresh textures and innovative ideas. Among them, Odyseus and Jones stand out, with Odyseus continuing to grace the team with model enhancements and textures throughout the years. Indeed, the Nimitz for Arma 3 project has been, in many respects, a testament to the power of community-driven collaboration. Lacking extensive graphic and modeling skills, I leaned on the talents of fellow community members to enrich the mod.


An important milestone was achieved through the reconfiguration of the Nimitz model into smaller, more manageable components. The Arma 3 engine grappled with collision and walkable parts of the model exceeding dimensions of approximately 50-60 meters in width and length. Odyseus took on the task of dissecting and reassembling the Nimitz into more reliable, smaller segments. Nevertheless, on specific maps and locations, challenges persist with road and geo lods. The typical workaround involves shifting the carrier slightly and attempting the operation anew.


Scripting-wise, a significant stride was made by eradicating all global variables from the original scripts, enabling the coexistence of multiple carriers within the same mission. However, to maintain backward compatibility, the legacy global variables remained intact within the mod for an extended period.


On the configuration front, the introduction of the function module system played a pivotal role in furnishing the carrier's functionality. Initially, players needed to place various modules in the mission to unleash the carrier's full potential. Over time, these modules were seamlessly integrated into the Nimitz setup system, necessitating placement only when a player sought to modify a specific module.



The arrival of the Eden 3D editor in Arma 3 ushered in new opportunities and challenges for the mod. Leshrack's addition to the team brought forth an initialization script designed to accommodate both the Eden environment and missions. Concurrently, the entire initialization functions underwent restructuring while preserving backward compatibility.


A significant juncture emerged when Arma 3 mods found their way onto the Steam Workshop. Previously, distribution primarily occurred through Armaholic and my personal website. Thanks to Rory's initiative, a dedicated Steam Workshop page was established (https://steamcommunity.com/sharedfiles/filedetails/?id=643530417), amassing a substantial following of 160,265 subscribers as of the writing of this piece. 


Yet another significant milestone in the evolution of the Nimitz project occurred with the release of Jacky's instructive video, aptly titled "Nimitz Instructions," available on YouTube at https://www.youtube.com/watch?v=6OAfNEuwXfw. In the past, the project's documentation had been somewhat sparse and fragmented across various files. However, Jacky's video provided a comprehensive and thorough exploration of the carrier's inner workings within the Arma 3 environment, bridging the gap in understanding and knowledge.



As time progressed, it became evident that not all players sought constant updates, favoring instead a stable platform with well-defined limitations. Thus, in 2019, the Nimitz Experimental build was conceived (https://steamcommunity.com/sharedfiles/filedetails/?id=1697731012), aimed at pushing the carrier's boundaries without the constraints of backward compatibility. While updates may not be frequent, we hold aspirations of introducing more changes in celebration of the project's remarkable 10th anniversary.

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.


Friday, December 20, 2013

Integrating Nimitz into ATC mission

Currently I'm working on an Air Traffic Controller mission for ArmA3 on Altis. So far planes get spawned North, East, South and West and also at the center airport. These are usually Buzzards, though if the F/A-18 mod from John_Spartan/Saul is detected, F/A-18E and F are added to the mix for some variety. With a basic GUI the player can command the planes to take off, exit the airspace at one of the above directions, or land at the airport or any of the airfields on Altis.

The Nimitz is not part of the mix, yet. What follows are some thoughts on adding it. First there needs to be a check if the config for the Nimitz is present or not. If it's present, I also want to check for FUTARM maritime units by BloodOfTheScribe. If present their appearance add a lot of atmosphere to the soldiers on the carrier.

Given the Nimitz mod is present, it needs to be spawned somewhere in the water. Ideally dynamically and not to close to the coast. For a start it will be just a single spawn position, marked by an empty helipad. A dynamic spawning function might look like this: Use the four exit markers N, S, W and E (also empty helipads) as a base. Create an offset of lets say 1 to 2km to the center from there. Use these points as base for picking a random position within a 2 -3 km circle and place the carrier there if the coast is more than 1km away. Disadvantage might be the lack of randomness in these position. Ideally I'd write a function that detects sea positions on a grid over the map and use these sea position as base, rather than the static setup of the exit helipads.

Once the Nimitz is on map I need a couple of helper helipads for the automatic landing procedure, namely Approach1, Approach2, Approach3. In the traffic mission I simple placed them on map manually. Placing them dynamically should be not much a of a problem, I like to use a macro named CIRCLEPOS2 for that. It takes a center position, a direction and a distance and returns a point x and y coordinates:

#define CIRCLEPOS2(p,d,r) CIRCLEPOS((p select 0), (p select 1), d, r)

#define CIRCLEPOS(x,y,d,r) [x+r*sin(d),y+r*cos(d)]

Once these points have been setup I need to integrate the traffic missions functions. The traffic mission generates flightpaths that have the plane take off, visit some waypoints and return to the carrier via the Approach helipads. This needs to be changed, as the flightpath now is determined by the planes tasking and the ATCs commands. So instead of a single control function, two needs to be present, one for take off and one for landing.

Next is a big question: Should the player grant the taxi and take-off permissions on the carrier, as at the airport, or leave it to the AI? I think the player should take over this part. However, right now it's different from the airport: At the airport when a parked plane gets a take-off permission, it taxis and takes off in one go; on the Nimitz the path is divided into legs and a plane needs to get permission for any single leg. Like first getting access to an elevator, then taxiing to the catapult, then take-off permission. Actually not a bad separation, so I probably add the dividing of paths to the airport later as well.

Given that planes now ask the ATC player for taxi and take-off permission, there needs to be a GUI for this. It needs to hold the following information: general name of the location (Nimitz, airport), current plane position (elevator, hangar, taxi lane, catapult, runway) and desired plane position (taxi lane, catapult, runway, take-off) and a button to grant permission to do so.

Once all of this is in place I'll write what worked and what not :)

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.