• Exile 3DEN Plugin

    Eichi

    118 comments · 62543 views

    We would like to introduce our internal 3DEN development plugin that we have used to create our Tanoa mission file. I am very bad at writing introductions, so let us come straight to the relevant parts:

    Export

    3den-simple-objects.thumb.jpg.2ec4e156fa

    As the mission file that 3DEN exports is not usable for Exile and lacks a lot of features, we have added a handful of export tools that can generate some valuable things for you:

    • Export of initServer.sqf
    • Export of initPlayerLocal.sqf
    • Export of markers and zones
    • Export of weather keyframes

    All that you have to do now is to use an empty mission.sqm with spawn points, copy and paste the markers into it and place the exported .sqf scripts into your mission. Done.

    Objects

    3den-object-placement.thumb.jpg.958d4a22

    Placing objects in Exile has been a bit inconsistent and unnecessarily complicated until now. Especially lockers, concrete mixers and Russian Roulette chairs have confused some admins. From now on you can just place these objects in 3DEN. The whole "magic" and configuration is done automatically while you export your mission to the initServer.sqf.

    Keep in mind that you must have exactly six Russian Roulette chairs in your mission. 

    Quote

    And the Lord spake, saying, "First shalt thou load into 3DEN. Then shalt thou place six Russian Roulette chairs, no more, no less. Six shall be the number thou shalt place, and the number of the placing shall be six. Seven shalt thou not place, neither place thou five, excepting that thou then proceed to six. Eight is right out. Once the number six, being the sixth number, be reached, then save thou thy initServer.sqf, which, being naughty in my sight, shall save it."

    1

    3den-concrete-mixers.thumb.jpg.062d82744

    3den-locker.thumb.jpg.751d0a600d836984be

    3den-russian-roulette-chairs.thumb.jpg.1

    3den-init-server-export.thumb.jpg.3ca0be

    Simple Objects

    For whatever reason, almost every object that is a part of the game world is a vehicle. They require simulation and thus some more performance. Not to mention the extra network traffic to keep them synchronized with all network clients.

    Most of the object we place at traders are indestructible, never move and are just there for the ambiance. Bohemia Interactive has added a new script command called createSimpleObject that allows placing a 3D model directly. These models cannot take damage, have a very limited simulation, eat less network bandwidth and are perfect for cosmetic object placements. Some Bohemia employees announced in February that 3DEN will support placing simple objects. This is not the case as of today, so we had to find a solution for that on our own. In fact, we came up with two solutions.

    During the export into the initServer.sqf, most objects are converted into a simple object automatically - a table for example. Objects, where this is not possible are still present as vehicles to preserve their look. A blue sleeping bag for example. Unfortunately, simple objects do not support skinning and thus only the base model can be placed. We have requested this functionality from Bohemia Interactive, so let us wait and see what happens. Maybe Arma will support skinning of simple objects in the future. We will find out.

    Some objects in Arma offer user interaction. An ammunition crate, for example, can be accessed by the players, but we really do not want that in our trader cities. Their functionality is disabled during our export functionality. Other objects are "proxied" within a parent object. A placed gun for example. The player could pick them up. Another thing that we really do not want in our trader cities.

    Unfortunately, since these weapons or gear in general, are "proxied" within a parent object, we cannot automatically convert them into simple objects, as there is no way to get the positioning of them in the script engine. Thus we came up with a derpy solution, which is really... creative. We use a BBQ can as a parent object in 3DEN, that can be placed, moved and rotated like a normal object. The gun is then created as a simple object in 3DEN and attached to the can. Meaning if you move the can, the simple object will follow. These cans are not exported, but the simple object model instead.

    3den-simple-object.thumb.jpg.14fd39228c9

    The BBQ cans have a special attribute that holds the 3D model path. This means you can place every model available in the game. If you do not know the model file path, you can select the model you want to convert into a simple object and choose the "Convert into Simple Object" menu entry at the top menu. This will extract the model path from the object and does the research for you. Because, yeah, lazy us.

    20160708143315_1.thumb.jpg.4e063dcc06e28

    Yes, it is derpy, but if it works, it is not dumb :) 

    Sanity Check

    As mentioned above, placing gear in 3DEN will allow players to pick them up. And we really do not want that. These objects are ignored while exporting, but it might be hard to find an answer to the question "Do I really have no questionable objects in my mission?". For this reason, we have added a "scan" function, that checks all objects for you and tells you if something is wrong. It will output a list of objects and where you can find them for you to go through. Nothing special, but helpful.

    3den-sanity-check.jpg

    Markers

    3den-markers.thumb.jpg.252600c2ae291c629

    Defining zones for Exile, like a safe zone or a spawn zone, has been done via markers until now. However, defining a contaminated zone or a non-construction zone needed to be done via a config. This was a bit complicated, so we have unified this now. 

    3den-marker-zone.thumb.jpg.93dfccb2e03ac

    3den-marker-icon.thumb.jpg.e63d65170d71c

    We have extended the "ellipsis" markers in 3DEN to support to new attributes: The functionality of the zone and the icon that is used to display that. The rest is done via an export functionality that generates the markup for your mission.sqm file. During that export, all marker shapes, colors, and brushes are exported in the "Exile" look. This means that no zones are visible on the map, but just the icons. Exceptions are safe zones and contaminated zones. All other zones will be invisible for the player. Since we have introduced new map markers, this functionality does the magic for you automatically.

    3den-marker-export.thumb.jpg.5ba6f39e876

    Traders

    Traders have always been the key point of interest of safe zones. It has been our goal from the very beginning of Exile on Altis to make them look alive. In the beginning, we have been placing them manually by hand. This was time-consuming and sometimes frustrating. It also was too complicated for starter-admins, so we have invented a new way of placing them. Well, the word "invented" might be a bit too big for that.

    In general, traders can be placed as usual units in 3DEN. However, they come along with two new attributes: Animations and the trader type. The trader type defines the "store" in your mission config that this trader is going to use. It can be a vehicle customs trader, a fast food trader, a custom rainbow unicorn trader or whatever you can think of. By default, the trader type is automatically set to be the unit type that you have placed, but you can overwrite that.

    The animations, however, are something really cool! You can set the animations that this trader is going to play directly in 3DEN and we force 3DEN to preview a static pose of the animation. This allows precise trader placement like never before. Woo, that sounds so big. Maybe it is.

    3den-trader-logic.thumb.jpg.351e2fa64139

    Also, the automatically generated initPlayerLocal.sqf that contains the traders now come along with a functionality that disables collision of traders with their environment. That means you can place them safely on chairs and tables etc. and players cannot run or drive them over. They will stay where you put them. On top of that, 3DEN supports the virtual arsenal of Arma and so do the traders. You can customize their load-out to your wishes and the export function will take care of the rest.

    3den-trader-positioning.thumb.jpg.92d11c

    3den-trader-animations.thumb.jpg.817e6a8

    3den-init-player-local-export.thumb.jpg.

    I have been searching for appropriate animations to be used for the traders. As it might save you some time doing the same, please find my personal list here. It is quick and dirty, but maybe useful for you:

    Spoiler

    // Generic Standing around with a rifle
    c4coming2cDf_genericstani1
    c4coming2cDf_genericstani2
    c4coming2cDf_genericstani3

    // Sitting, chillin the fuck out of his life
    c5efe_MichalLoop

    // Standing without a gun, like a boss
    HubBriefing_loop
    HubBriefing_scratch
    HubBriefing_stretch
    HubBriefing_think

    // Swimming with a gun
    AdvePercMstpSnonWrflDnon
    AdvePercMstpSnonWrflDnon_relax

    // Treating wounded
    Acts_TreatingWounded01
    Acts_TreatingWounded02
    Acts_TreatingWounded03
    Acts_TreatingWounded04
    Acts_TreatingWounded05
    Acts_TreatingWounded06

    Acts_LyingWounded_loop1
    Acts_LyingWounded_loop2
    Acts_LyingWounded_loop3

    // Swimming, no gun
    AdvePercMstpSnonWnonDnon_relax
    AdvePercMstpSnonWnonDnon

    // Prone, fixing vehicle, no gun, without movement
    HubFixingVehicleProne_idle1

    // Standing, fixing vehicle
    InBaseMoves_assemblingVehicleErc

    // Crouching, fixing vehicle, our crafting animation
    Acts_carFixingWheel

    // Our vehicle trader animations
    InBaseMoves_repairVehicleKnl
    InBaseMoves_repairVehiclePne

    // Sitting at table on computer
    HubSittingAtTableU_idle1
    HubSittingAtTableU_idle2
    HubSittingAtTableU_idle3

    // Sitting on a chair, with a rifle
    HubSittingChairA_idle1
    HubSittingChairA_idle2
    HubSittingChairA_idle3
    HubSittingChairA_move1

    // Sitting on a chair, not sure if rifle, pistol or unarmed
    HubSittingChairB_idle1
    HubSittingChairB_idle2
    HubSittingChairB_idle3
    HubSittingChairB_move1

    // Sitting on a chair, probably a rifle
    HubSittingChairC_idle1
    HubSittingChairC_idle2
    HubSittingChairC_idle3
    HubSittingChairC_move1

    // Sitting on a chair, with a rifle, like a boss
    InBaseMoves_SittingRifle1
    InBaseMoves_SittingRifle2

    // Standing, no rifle, on a table. Maybe a counter (our food trader thing?)
    InBaseMoves_table1

    // Standing, no rifle, aircraft trader
    LHD_krajPaluby

    // Sitting on a chair, probably NO rifle
    HubSittingChairUA_idle1
    HubSittingChairUA_idle2
    HubSittingChairUA_idle3
    HubSittingChairUA_move1

    // Sitting on a chair, no rifle
    HubSittingChairUB_idle1
    HubSittingChairUB_idle2
    HubSittingChairUB_idle3
    HubSittingChairUB_move1

    // Sitting on a chair, no rifle <<< EXTRA CHILLIN
    HubSittingChairUC_idle1
    HubSittingChairUC_idle2
    HubSittingChairUC_idle3
    HubSittingChairUC_move1

    // IRONMAN TRAINING
    AmovPercMstpSnonWnonDnon_exercisePushup
    AmovPercMstpSnonWnonDnon_exercisePushup
    AmovPercMstpSnonWnonDnon_exercisekneeBendA
    AmovPercMstpSnonWnonDnon_exercisekneeBendA
    AmovPercMstpSnonWnonDnon_exercisekneeBendB

    // Sitting up HIGH (?), with a rifle
    sitTableRfl_listening

    // Sitting up HIGH (?), with a rifle
    HubSittingHighA_idle1

    HubSittingHighB_move1

    // Sitting up HIGH (?), with a rifle
    HubSittingHighB_idle1
    HubSittingHighB_idle2
    HubSittingHighB_idle3

    // Standing, with a rifle
    HubStanding_idle1
    HubStanding_idle2
    HubStanding_idle3

    // Standing, no rifle
    HubStandingUA_idle1
    HubStandingUA_idle2
    HubStandingUA_idle3
    HubStandingUA_move1
    HubStandingUA_move2

    // Standing, no rifle, probably needs a gun belt to look okay
    HubStandingUB_idle1
    HubStandingUB_idle2
    HubStandingUB_idle3
    HubStandingUB_move1

    // Standing, no rifle, looks like a diva
    HubStandingUC_idle1
    HubStandingUC_idle2
    HubStandingUC_idle3
    HubStandingUC_move1
    HubStandingUC_move2

    // Standing, hands behind back, could be prisoner
    InBaseMoves_HandsBehindBack1
    InBaseMoves_HandsBehindBack2

    // Patrolling moves, maybe for guards
    InBaseMoves_patrolling1
    InBaseMoves_patrolling2

    // Standing, no rifle, hands behind back
    UnaErcPoslechVelitele1
    UnaErcPoslechVelitele2
    UnaErcPoslechVelitele3
    UnaErcPoslechVelitele4

    // Lying (?), rifle
    Acts_InjuredLookingRifle01
    Acts_InjuredLookingRifle02
    Acts_InjuredLookingRifle03
    Acts_InjuredLookingRifle04
    Acts_InjuredLookingRifle05

    // Standing, no rifle
    Acts_CivilListening_2

    // Prisoner, sitting
    Acts_AidlPsitMstpSsurWnonDnon01
    Acts_AidlPsitMstpSsurWnonDnon02
    Acts_AidlPsitMstpSsurWnonDnon03
    Acts_AidlPsitMstpSsurWnonDnon04
    Acts_AidlPsitMstpSsurWnonDnon05

    // Sitting on the ground, rifle
    AmovPsitMstpSrasWrflDnon_WeaponCheck1
    AmovPsitMstpSrasWrflDnon_WeaponCheck2
    AmovPsitMstpSrasWrflDnon_Smoking

    // Sitting on the ground, no rifle
    Acts_passenger_flatground_leanright

    Weather Keyframes

    This is more or less a side feature of this plugin. You probably know that the Exile server changes the weather based on keyframes that you define in your server config. This config can also be generated and exported by this plugin. Change the weather in 3DEN to your wishes and export the key frame. It will do an exact snapshot of your settings.

    3den-weather-keyframe.thumb.jpg.96d17535

    Release

    We will release this tool very soon after our Tanoa mission has proven stable productive work. Originally we did not want to release it since we would then have to invest more extra hours into supporting it. Also, we already foresee that some fishy mod makers will inspect that and rip it into pieces for their work. But we have been convinced by some insiders that it could save servers admins hours of work. It has no personal advantage for us releasing that, so if you feel it saves you a lot of work, feel free to send us a pizza :) 

    EDIT 2016-07-15: You can download it here now.


    • Like 64
      Report Devblog Entry


    User Feedback

    Recommended Comments



    Thank you again guys for this awesome tool and support on the community!! You have some Pizza money from me already from the Steam on Saturday (realitygamingeu) but I'll buy another round ;)

    Edited by [RG] Salutesh

    Share this comment


    Link to comment
    Share on other sites

    Was watching you @Eichi using this on Twitch, and i wanted it so much! To then see you guys release it to the community, is just awesome. Cant wait to get my hands on this tool. It's going to save me alot of time making traders and so on, specially the russian roulette chairs! THAT took me awhile to figure out, and find the right way to export it lel :D Keep up the good work on Exile! Many great features allready, cant wait for what to come.

    Edited by Warfighter

    Share this comment


    Link to comment
    Share on other sites

    OH OH!!,  I WANT!!!!

    Oh and is this why importing 3D models into arma is so annoying?

    "Most of the object we place at traders are indestructible, never move and are just there for the ambiance. Bohemia Interactive has added a new script command called createSimpleObject that allows placing a 3D model directly. These models cannot take damage, have a very limited simulation, eat less network bandwidth and are perfect for cosmetic object placements. Some Bohemia employees announced in February that 3DEN will support placing simple objects. This is not the case as of today, so we had to find a solution for that on our own. In fact, we came up with two solutions.

    During the export into the initServer.sqf, most objects are converted into a simple object automatically - a table for example. Objects, where this is not possible are still present as vehicles to preserve their look. A blue sleeping bag for example. Unfortunately, simple objects do not support skinning and thus only the base model can be placed. We have requested this functionality from Bohemia Interactive, so let us wait and see what happens. Maybe Arma will support skinning of simple objects in the future. We will find out."

     

    Arma why cant u just be like UE4 or Unity....drag, drop, DONE! (ok theres just a bit more than that but you get my point)

    Share this comment


    Link to comment
    Share on other sites

    I believe this will change the game for server owners and developers to make their servers unique. A common problem is people all using the same mission files, so server lack creativity, with these new updates, you can literally craft your server environment to your like, adding your own stamp and mark onto the server.

     

    Outfuckingstanding.

    Share this comment


    Link to comment
    Share on other sites

    Im waiting this so much! Im veryvery interested to make traders, military bases etc. unique with props. (Yea its now possible but not so easily)

    Share this comment


    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now