How to make UU2.0 Scripted Mode Maps -1 reply

  • 1
  • 2

Please wait...

Guest

I didn't make it!

0 XP

 
#1 11 years ago

I'm working on writing up instructions on how to make new maps for some of the special modes I wrote the scripts for on UU2.0.

This includes. Vs Battle, Vs Armada, Instant Random Battle, Target Practice, also the TGen script that I wrote and is used for most of the Historical Battles and Original Missions in UU2.0.

I might throw together something about Deathmatch with UU2.0 as there is a script for it as well, any map with the alterations made would still work fine on another version of Legacy, but a standard deathmatch map placed in UU2.0 without the alterations doesn't quite work right although for the most part it does.

I'm going to post some preliminary edits of the documents. There will be 3 (4 if I make one for Deathmatch.) documents, Not sure what format the final documents will be in. I'll finish them up sometime in January. They are pretty close but I think they need a bit more work.

Any map maker out there that happens to read them over, let me know if they look like they are atleast relatively easy to follow or if they seem to be missing something.

They are written for people that already have an understanding of making maps. Basically requires knowing how to place objects, name object, place path's and name them. Also entering of the script and rule filenames. No understanding of writing mission scripts will be required as they are instructions on how to use already existing scripts.

I think one of the things that these documents do not get across in their current form is the fact that "Most" things are Optional and you can keep it very simple. Using just the basics is alot like making your average unscripted map, while much more complex setup are available by making use of more of the features.

--

I'm also working up an independent install of the LMTools that I released in UU2.0 as well. This will include the LMTools, possibly with a minor update, the ModInstaller which I have updated so it can package "other types" of mod than just Flyable Ship or Singleplayer Missions, such as things like Deathmatch maps and any special new odfs or other things, menu or other mods. It will also include the Modified Legacy Mission Editor, basically because the LMTools use the axillary files from it to compile missions. This little project will get finished up sometime in January too most likely.

MarkyNcc also informed me this weekend that Microsoft Visual C++ Express 2010 is out and didn't appear to compile missions properly. So I'm thinking of looking at that as well. It also makes me want to make the finding of the C++ Compiler path much smarter since that means atleast 3 versions of Microsoft C++ might be used now.

This will be intended to be used by anyone for any mod or their own personal unique use.




Guest

I didn't make it!

0 XP

 
#2 11 years ago

Ultimate Universe 2.0 Generic Mission Script(tgen1) Map Specs

The Tgen1 script I a general use generic mission script for UU2.0 written by Muldrf. It is used for many of the Original Missions, Historical Battles, also for Survival Mode Maps and System Conquest Maps. Some Original Missions and Historical Battles do use specific scripts (Such as Wrath of Kahn (both sides)), but for the most part they use this single script. It can be used to create more missions for those modes by following the setup instructions listed here.

--Need to assign the maps to use the proper Script and Rule Files.

tgen1S.dsl tgen1R.drl

--Requited Camera Points: Camera_1 (Player Spawn Point, if not using preplaced Player 1 ships) *Case Sensitive, must start with Captial “C” and be lowercase for the rest of the characters.

--To use a Map Placed Player Fleet: To Create a Map Placed Player Fleet. Create ships on Team 2. Give them the “Labels” of “ship_1” “ship_2” “ship_3” and “ship_4” (any number of 1 to 4 total, be sure you type it all Lowercase). Also be sure that they are on Team 2 not Team 1! This is to prevent a bug where the 1,2,3,4 keys won’t let you switch ships. Don’t worry the script handles moving those ships to Team 1 once the mission starts. Again keep in mind that the “Labels” here and other places are Case Sensitive.

--To Use an Ingame Player Selected Fleet: Just put the ship#= value in the xml menu. And don’t place any ships etc on Team 1 in the map.

--Team Layouts: Team 1 = Player Team (SHIPS ONLY TEAM!) Team 2 = Player 1 Allied Support Team (SHIPS ONLY TEAM! This team acts as Guard ships to the first Player Controlled ship (similar to the Vs Modes) This team does affect mission success / failure.) Team 3 = Player Allied Team. Has Patrol and AI Mode Selection options (You can place anything on this team you like) (This team doesn't affect Success/Failure of the mission.) Team 4 = a second Player Allied Team so you can have Map placed Allies in 2 different modes, same as Team 3. Team 5 = Enemy of Both, This is the Enemy of Team 1 and of Team 7 & Team 8, Has Patrol and AI Mode Selection options as well (this team does not influence the Success of the mission.) (Allied to Team 6, enemy to all other teams) Team 6 = Enemy of Both, Same as Team 5 so that you can have that Third team be in 2 AI Modes as well.(Allied to Team 5, enemy to all other teams) Team 7 = Main Enemy Team (place only destructible items on this team Ships, Stations, Destructible Asteroids etc. do not Place Planets or Nebulas on this team) (Allied to Team 8, Also linked to Success/Failure of Mission) Team 8 = Main Enemy Team (Same Rules as Team 7) (Allied to Team 7)

--MISSION TITLE OBJECT Create an object on Team 0. One that will accept a “Name”. I use the “flying asteroid” usually, but any ship will work for example. Give it the “Label” of “title” then in the “Name” field enter the Mission’s Name you want to display on the opening Cinematic shot. *The “Label” is Case Sensitive.

When the opening Cinematic plays it will display:

“Ultimate Universe: %title%”

This object can be any object that accepts a name entry. It won’t be Visible once the mission starts though so don’t use an object you want to be seen on the map. Keep in mind it will be “invisible” but you will still run into it as it’s still physically there so place it somewhere a player won’t likely fly into it, or use a small enough object that is unlikely to be run into.

--AI Team/Wing Defensive/Aggressive Mode setup:

To alter the AI Modes of a team create an object with “Label”s of:

Team 1 and Team 2 Do not Support this so no objects for them.

Team 3 Object: def_3 Team 4 Object: def_4 Team 5 Object: def_5 Team 6 Object: def_6 Team 7 Object: def_7 Team 8 Object: def_8

I suggest using the "invisible marker" under the map objects and light section for these “AI Mode Objects”. You can use other objects and the team doesn't matter (to this part of the code at least), but he Invisible Markers don’t have to have their Team set to 0 Manually and they are small and the player won’t accidentally run into an invisible object when flying around the map if they hit one. To assign an object set it’s “Label” to the proper name. Ex. Create the object and set Label to def_4 (case sensitive) to set Team 3 on Defensive Mode. The “def_#” objects become “Hidden” when the mission starts. But keep in mind they still are physically there, therefore if a ship runs into them it will bump them and not be able to pass through that space.

If the “defensive object” for that team exists that team will be in a more defensive stance. Basically it will sit there until an enemy gets within weapons range. If there is a Patrol Path (see next section) then it will follow that patrol path but be in a more defensive mode. If the object doesn’t exist that team will either go into Search and Destroy mode looking for enemies, or if a patrol path for that team/wing exists it will be in a more aggressive patrol mode (go after enemies that aren’t quite as close as if it was in Defensive mode).

By default if the “def_#” object doesn’t exist for a team it will be in an Aggressive Search and Destroy mode.

--AI Team/Wing Patrol setup: Create a “Path" with multiple points of the required name: *These are Case Sensitive.

Team 3 Paths: Patrol_3 Team 4 Paths: Patrol_4 Team 5 Path: Patrol_5 Team 6 Path: Patrol_6 Team 7 Path: Patrol_7 Team 8 Path: Patrol_8

If the specified path exists on the map the Team or Wing it's assigned to follow that path on a patrol. At the beginning of the Map the Teams will start out at there designated points as soon as the opening cinematic shot is over the ships will head to the first point on there Patrol Path and follow it by going in order of the points.

--AI Mode & Patrol Combination Usage You can use a combination of Defensive/Aggressive and Patrol mode items/settings. If you do def_7 and Patrol_7 Team 7 will be doing a patrol at Patrol_7 and be defensive which usually means you need to be pretty much in weapons range (there weapon range not yours) for them to come after you. If you do just Patrol_7 Team 1 will the be on Aggressive Patrol, if you get within there sensor range they attack you.

If you don't do either def_7 or Patrol_7 Team 7will be in Search and Destroy mode. If you only do def_7 Team 7 will sit at it's start point and do nothing until you get within there weapons range, that's probably the least useful but still has some uses.

--Mission Menu Images Because the Maps are singleplayer only the way people will get to them is by a Singleplayer Mission Menu. This means they will need an image file. The file is to be 1024x512 pixels. Generally they are done as .jpg. .bmp works but is huge and .dds works, but is also quite a bit larger. I usually take ingame screenshots from the map and edit it as well as add text. Maps may have multiple shots made for them one for each era or even just a unique one for a single era while the other 3 use the same shot.

--Stuff to keep in mind

Never assign Nebulas or Planets (and most other map objects) to Team 1, 2, 7 or 8. If you can it’s best to assign “map objects” to Team 0 to prevent creating possible script issues. Unless they are destructible like ships and stations. Still Team 1 and 2 should only have ships on it, but most other teams it’s fine to put additional destroyable objects on.




Guest

I didn't make it!

0 XP

 
#3 11 years ago

Ultimate Universe 2.0 Target Practice Script(tarp1) Specs

The “tarp1” script is a general use script for the Ultimate Universe 2.0 Target Practice Mode Maps written by Muldrf. This document can be used as a guide for creating more maps that use this script.

--Need to assign the maps to use the proper Script and Rule Files.

tarp1S.dsl tarp1R.drl

--Required Camera Points: Camera_1 (Player Spawn Point)

--Team Layouts: Team 1 = Player Team Team 2 = AI Enemy - No shields, no weapons but HAS engines and sensors. Team 3 = AI Enemy - No shields, no weapons, no engines, visible damage & spins for a more random placement look(spins at start of match but stops, future update might include a constant spin.) Team 4 = AI Enemy - HAS shields, no weapons, HAS Engines. Team 5 = AI Enemy - No shields, no weapons, HAS Engines, visible damage. Team 6 = AI Enemy – Fully Functional but sits still, don’t get too close unless you want a fight. Team 7 = AI Enemy – Fully Functional but sits still, don’t get too close unless you want a fight Team 8 = Rogue Enemy - Fully Functional Team Enemy of both the Player and the Target teams

--MISSION TITLE OBJECT Create an object on Team 0. One that will accept a “Name”. Give it the “Label” of “title” then in the “Name” field enter the Mission’s Name you want to display on the opening Cinematic shot. If you make the “Name” too long it can mess up the map or cause the mission to crash when it starts. The length limit isn’t that short and I’m not sure what the max length you can get away with but “The Best of Both Worlds” I think won’t fit if I remember correctly it had to be “Best of Both Worlds”.

When the opening Cinematic plays it will display:

“Ultimate Universe Target Practice: %title%”

This object can be any object that accepts a name entry. It won’t be Visible once the mission starts though so don’t use an object you want to be seen on the map. I made a sample map and used the “Large Stellar Debris” and it worked fine.

--Mission Menu Images Because the Maps are singleplayer only the way people will get to them is by a Singleplayer Mission Menu. This means they will need an image file. The file is to be 1024x512 pixels. Generally they are done as .jpg. .bmp works but is huge and .dds works, but is also quite a bit larger. I usually take ingame screenshots from the map and edit it as well as add text. Maps may have multiple shots made for them one for each era or even just a unique one for a single era while the other 3 use the same shot.

--Stuff to keep in mind Never assign Nebulas or Planets (and most other map objects) to Team 1. If you can it’s best to assign “map objects” to Team 0 to prevent creating possible script issues. Other teams it is fine to put destroyable objects on, but still no Nebulas or Planets or Wormholes.




Guest

I didn't make it!

0 XP

 
#4 11 years ago

Ultimate Universe 2.0 Vs Mode (Instant Random, Armada, Battle and 2on2 Testing) Map Requirements (tvs4 script)

The Tvs4 script is a special game mode script for Ultimate Universe 2.0 written by Muldrf. It’s actually 4 scripts in one depending how it’s used. This script is used for the Vs Battle, Vs Armada and Instant Random Mode for the UUTools as well as the 2on2 Testing mode used by the LMTools for ship and weapon testing.

--Need to assign the maps to use the proper Script and Rule Files. tvs4S.dsl tvs4R.drl

--MISSION Mode Control (objects) By default any map using the tvs4 script files will be Vs Battle. If you want it to work as an Armada map you must place an object on the map with the “Label” of “armada” (All lower case). Generally I use a Large Flying Asteroid. To make it work as a 2on2 Testing mode map create the object and set the “Label” to “2on2”. If the Map is launched and has no ships assigned from “ingame” either the Game Lobby or “numships=” it will fall over to “Instant Random Vs Mode”, unless it has the “2on2” object. So you can use Vs Battle Maps and Vs Armada Maps as “Instant Random Battle” maps.

Map Mode Objects: 2on2 Testing the Label should be “2on2” Vs Armada the Label should be “armada” Vs Battle there should be No Object Instant Random there should be No Object, or at least no “2on2” object

Weapon Test Mode: This is a hybrid of the 2on2 Testing mode. The Map Mode must be 2on2 but there is a second object with the Name of “phasetest” . If that object exists only 2 ships are created the first player ship and the first enemy ship. They are placed on the map, but the Enemy Ship’s engines and Weapons are disabled(actually destroyed) so that you can check out weapons of one ship against the defenses of another ship.

The only map that is setup for “Weapon Test Mode” is “phasetest.sol”. It places the Enemy ship directly ahead of you a short distance. Your ship is fully intact and you can fly around the enemy and see how your weapons work from all angles etc.

--MISSION Title Object Create an object on Team 0, you can use any type of object that accepts a “Name” entry (stuff like Invisible Marker won’t work as the Name field isn’t use). Give it the “Label” of “title” then in the “Name” field enter the Mission’s Name you that you want displayed on the opening Cinematic shot. I usually use a Large Flying Asteroid for this as it’s easy to see on the map editor. But keep in mind this object will be invisible although it will still block movement, I place it off in the upper right or left hand corner of the map to keep it out of the way.

When the opening Cinematic plays it will display:

“Ultimate Universe 2on2 Testing: %title%” “Ultimate Universe Instant Random Battle: %title%” “Ultimate Universe Vs Battle: %title%” “Ultimate Universe Vs Armada: %title%”

If the “title” object is not present it will display the default “Ultimate Universe Vs Battle” etc depending on the “mode”.

--Vs Battle, Instant Random Vs, and 2on2 Testing Mode use these “Camera” Path Points: *Case Sensitive

Camera_1 (Player Spawn Point) Camera_Ally (Ally ships spawn point) Camera_Enemy (Enemy ships spawn point) Ally_Station (Ally station spawn point)(Not used by Instant Random) Enemy_Station (Enemy station spawn point)(Not used by Instant Random)

--Vs Armada uses these “Camera” Path Points:

Camera_1 (UUTools Selected Allied Wing1 Spawn Point) Camera_2 (UUTools Selected Allied Wing2 Spawn Point) Camera_3 (UUTools Selected Allied Wing3 Spawn Point) Camera_4 (UUTools Selected Allied Wing4 Spawn Point) Ally_Station (UUTools Selected Allied station spawn point) ECamera_1 (UUTools Selected Enemy Wing1 Spawn Point) ECamera_2 (UUTools Selected Enemy Wing2 Spawn Point) ECamera_3 (UUTools Selected Enemy Wing3 Spawn Point) ECamera_4 (UUTools Selected Enemy Wing4 Spawn Point) Enemy_Station (UUTools Selected Enemy station spawn point)

--Team Layouts: Team 1 = Player Team (Don't place any ships, planets, stations, nebulas, etc on this team) Team 2 = Player 1 Allied Support Team (UUtools Assigned Allies, broken into 4 Wings of up to 7 ships depending on the “mode”) (Don't place any ships, planets, stations, nebulas, etc on this team) Team 3 = Player Allied Team. Intended to have Patrol and AI Mode Selection options as well(You can place anything on this team you like) (This team doesn't affect Success/Failure of the mission.) Team 4 = a second Player Allied Team so you can have Map placed Allies in 2 different modes, same as Team 3 basically. Team 5 = Enemy of Both, This is the Enemy of Team 1 and of Team 7 & Team 8, indented to have Patrol and AI Mode Selection options as well (this team does not influence the Success of the mission.) (Allied to Team 6, enemy to all other teams) Team 6 = Enemy of Both # 2, Sam as Team 5 so that you can have that Third team be in 2 AI Modes as well.(Allied to Team 5, enemy to all other teams) Team 7 = Main Enemy Allied Team (place only destructible items on this team Ships, Stations, Destructible Asteroids etc.) (Allied to Team 8, Also linked to Success/Failure of Mission) Team 8 = Main Enemy Team (Don't place any ships, planets, stations, nebulas, etc on this team) This is the Regular Enemy team that the UUTools Assigns, It is broken into 4 Wings of up to 8 ships each depending on “mode” a can have it's AI Mode and Patrol assigned independently via the info below. (Allied to Team 7)

--“Side 3” Enemy/Ally Control Object setup:

“Side 3” is “Team 5 & Team 6”. They are the Third Side for the Vs Mode Scripts. By Default “Side 3” is Enemy of Side 1(Player & Allies: Team 1-4) and Side 2 (Main Enemy: Team 7 & 8).

You can make Side 3 the Friend of either Side 1 or Side 2 or Both by creating various objects like the other AI Control objects below.

Create an object with name:

To make Side 3 friendly to Side 1: three_1

To make Side 3 friendly to Side 2: three_2

To make Side 3 friendly to both create both objects: three_1 and three_2

Side 3 is not counted as required to end the mission, so you can create extra allies to patrol areas or run around, or create extra enemies that are not required to be destroyed to end the mission. Also you can use the third where they are friendly to Side 1 and Side 2 to create “neutral” ships/stations/objects on the map such as civilian transports that won’t get attacked by anyone but can fly around the map in Search Mode or follow Patrols.

--Special Feature: 2on2 Testing (only intended for 2on2 testing’s weapon test mode.)

Create a map object with the Label of “dis_8” (Case Sensitive) this will destroy the engines on All Team 8 Ships (Team 7 as well I think) and also disables their weapons. I use this for the phasetest.sol weapon test map. That way the enemy can’t run away or fight back during weapons testing.

--AI Team/Wing Defensive/Aggressive Mode setup:

Create an object with name:

Team 1 and Team 2 Do not Support this so no objects for them

Team 3 Object: def_3 Team 4 Object: def_4 Team 5 Object: def_5 Team 6 Object: def_6 Team 7 Object: def_7

Team 8 Objects: Wing 1: edef_1 Wing 2: edef_2 Wing 3: edef_3 Wing 4: edef_4

The AI Setup objects and patrols work the same for all modes but for 2on2 Testing or Weapons Test Mode as it’s kind of useless.

I suggest an "invisible marker" under the Map Objects and Light section for these “AI Mode Objects”. You can use other objects and the team doesn't matter (to this part of the code at least). To assign an object set it’s “Label” to the proper name. Ex. Create the object and set Label to def_4 (case sensitive) to set Team 3 on Defensive Mode.

If the “defensive object” for that team exists that team will be in a more defensive stance. Basically it will sit there until an enemy gets within weapons range. If there is a Patrol Path (see next section) then it will follow that patrol path but be in a more defensive mode. If the object doesn’t exist that team will either go into Search and Destroy mode looking for enemies, or if a patrol path for that team/wing exists it will be in a more aggressive patrol mode (go after enemies that aren’t quite as close as if it was in Defensive mode).

--AI Team/Wing Patrol setup: Create a “Path" with multiple points of the required name: *Case Sensitive

Team 3 Paths: Patrol_3 Team 4 Paths: Patrol_4 Team 5 Path: Patrol_5 Team 6 Path: Patrol_6 Team 7 Path: Patrol_7

Team 8 Paths: Wing 1: Patrol_E1 Wing 2: Patrol_E2 Wing 3: Patrol_E3 Wing 4: Patrol_E4

If the specified path exists on the map the Team or Wing it's assigned to follow that path on a patrol. At the beginning of the Map the Teams will start out at there designated points (UUTools and preplaced ships) as soon as the opening cinematic shot is over the ships will head to the first point on there Patrol Path and follow it by going in order of the points.

--AI Mode & Patrol Combination Usage You can use a combination of Defensive/Aggressive and Patrol mode items/settings. If you do edef_1 and epatrol_1 Team 8 Wing 1 will be doing a patrol at Patrol_E1 and be defensive which usually means you need to be pretty much in weapons range (there weapon range not yours) for them to come after you. If you do just Patrol_E1 that Wing 1 will be on Aggressive Patrol, if you get within there sensor range they attack you.

If you don't do either edef_1 or Patrol_E1 Team 8 Wing 1 will be in Search and Destroy mode. If you only do edef_1 Wing 1 will sit at its start point and do nothing until you get within there weapons range, that's probably the least useful but still has some uses.

--Mission Menu Images Because the Vs Battle and Armda Mode Maps are singleplayer only the way people will get to them is by a Singleplayer Mission Menu. This means they will need an image file. The file is to be 1024x512 pixels. Generally they are done as .jpg. .bmp works but is huge and .dds works, but is also quite a bit larger. I usually take ingame screenshots from the map and edit it as well as add text. Maps may have multiple shots made for them one for each era or even just a unique one for a single era while the other 3 use the same shot.

--Stuff to keep in mind Never assign Nebulas or Planets (and most other map objects) to Team 1, 2 or 8. If you can it’s best to assign “map objects” to Team 0 to prevent creating possible script issues. Unless they are destructible like ships and stations. Still Team 1 and two shouldn’t have any ships or stations placed on the map, but most other teams it is fine to put additional destroyable objects on.




Guest

I didn't make it!

0 XP

 
#5 11 years ago

wow, lot of nice info here thank you




Guest

I didn't make it!

0 XP

 
#6 11 years ago

In it's current form it is usable. I'm hoping I will get some feedback on how to make them easy to follow and not seem intimidating. They are accurate, I think I'm missing some info on one of the last features I added to the Tgen1 script I have to look it up. Originally the documents were written for internal use by our mappers. I wrote the scripts but nearly all the maps that use them in UU are created by other people. Of the maps in UU I only created the prototype maps for each of the the Vs Battle, Vs Armada and a couple variants.




Guest

I didn't make it!

0 XP

 
#7 11 years ago

that's a scary amount of text. Thanks for getting it on one thread! I'll certainly read through it. Missions are something I've been keen to do for some time.




Guest

I didn't make it!

0 XP

 
#8 11 years ago

The "scary" part is kind of what I'd like to see if I could tone down in a way that it doesn't spook someone into not trying it out. There is just so much info and it's kind of mostly required.




MARKYNCC

NG-Mods Mission Creator

50 XP

26th May 2009

0 Uploads

148 Posts

0 Threads

#9 11 years ago

Great Work 'Muldrf'!!

It should be noted though, that this will not give you a unique scripted mission as such, whichever mission you create from this, will always follow the same parameters.

This is not a critisism of 'Muldrfs' work, far from it, he is one of the 'Kings' of scripting and programming!

I would be totally lost if it wasnt for his help!




Guest

I didn't make it!

0 XP

 
#10 11 years ago

You are limited to following the "Rules" of the script's hardcoded function, but the AI can be setup uniquely and you can setup for most of these either 2 sided or 3 sided fights. You can't do anything outside the features without making your own script, but it can be unique compared to anything already using these scripts.

As the Vs Modes are game modes much like deathmatch they can always have more maps for them. Target Practice could use some more unique setups as well without any harm. The Tgen1 script also allows people that are making unscripted missions or deathmatch maps to move into something they can get a bit more control of if they are not ready to move into scripting themselves.

Certainly if your making a singleplayer map the most powerful method is making your own script, and there is alot more help in that area now. There are more people that understand it than in the old days, and more people are likely to give assistance. The tools for making them are improved over the intital tools as well. Man when I first installed the LegacyMissionEditor (the initial one from Bethesda) it took me a Week to get it to work.. That's why later I made the Modified Legacy Mission Editor it was such a hassle..

I've also tossed around the idea of a reference sheet for the script interface. I had created a simple Excel spreadsheet that I happen to use for reference now and then rather than opening the scriptinterface.h itself. It's a bit easier to work with but certainly nothing absolutely amazing.. I've not come up with a super effective way to work with the scriptinterface or properly reference it, I think about it now and then, but no great ideas have surfaced and it's been over 2 years now since I first learned mission scripting..

So if anyone has any other reference document ideas about writing scripts or ideas on how to improve the above posted Mode Script instructions let me know.




  • 1
  • 2