GDD-MAD-002:Begin a simple scenery project in MSFS using SDK
Introduction
This Module is designed to introduce you to the Developer Mode built in to MSFS and get you started making scenery by using the Sim's Software Development Kit (SDK).
- We will explore and become familiar with the above by undertaking a simple project to add a fictional heliport near Point Cook Airport (YMPC).
- We're going to call our heliport "Point Cook Heliport" and give it the ICAO code YMCH.
We gratefully acknowledge the great work of scenery developer Frederico Pinotti, on whose video 'MSFS SDK Tutorial - Helipads' this Module is based.
Pre-requisites
In order to succeed in this course you need:
- to be a self-motivated learner
- be prepared to reach out for help if you need it (try the #dev-mutual-aid channel on the MOMA Discord server)
- to have completed the previous Module GDD-MAD-001:Prepare to Develop Addons in Microsoft Flight Simulator
Aims
Upon completion of this Module you will:
- be able to set up a New Project in the SDK
- be familiar with the User Interface (UI) of the SDK
- be able to navigate and use the basic Menus and Tools of the SDK
- be able to find and utilize resources and help in the online Developer Community
- be prepared to participate in a group development project or begin an addon development project of your own
Watch this Video
The video shows how the SDK interface works and how to add a helipad to the Sim.
After absorbing the video content, we will adapt Fredrico's method to our fictional heliport project while also referencing additional online resources to assist our learning.
Interesting notes from the video:
- If we'd chosen "Custom" instead of "Airport" as a package type, we could add an airport to the custom package later on
- Helipad can be a type of airport
Let's Start Making New Scenery
When our new fictional heliport is installed into the sim, we will want to test it. Then we're going to want to type in the ICAO code into the sim World Map so that we can spawn in there. So there are not conflicts, the code we choose needs not to be assigned to another airport. Job done, all checked - YMCH is ours!
Create a New SDK Project
- Launch MSFS
- If not already in Developer Mode, then turn it on under Options/General Options/Developers
- Apply & Save [F11]
- If there is an Update for the SDK then Update the software before proceeding
- In the Home menu, spawn into a parking point at YMPC via the sim World Map and set the time to daylight
- In the DevMode menu select File/New Project
- In the Create New Project dialogue box navigate to a location on you PC storage to create a folder to store all future SDK projects (as seen in the image above). The writer called their folder Projects DFR
- Type in your own Default creator name and a Default company name (as shown above)
- Then type in the Project Name, let's call it "New Point Cook Heliport", press Create new project
- In the Publishing Item selection dialogue, select Package then press Next
- In the Wizard selection dialogue, select the type of package we want to create: we will use Airport then press Next
Note the language used to describe the file structure of the project, where the helipad being a child of the airport (the airport is named Bozen Hospital in Frerico's example in the video [1]).
- Next the actual Airport creation dialogue: - type in the New airport ICAO: YMCH
- Select Create an airport anywhere
- Type in the Airport name: Point Cook Heliport
- Ignore 'latitude' and 'longitude'
- Press Create airport
Fantastico!!!
Now the Project Editor dialogue shows the created project - with it's final package name - as shown in the image below.
Change the Scenery filename
This section is a tip from Fredricco, as he is a scenery making master, we'll go along with it ;-)
Now we need to tidy up the 'Asset Group' name for ease of use (less chance of confusion later):
- Click on the blue triangle in front of the Package name - it will reveal the scenery name (see scenery BGL in the image above). We are going to change the name 'scenery' to 'scenery-placement' because this scenery contains the placement of the airport.
- Click on the scenery BGL line to highlight it
- In the View menu above it, select Inspector
- The Inspector window will open on the right side of the Sim
- In the Inspector Name field type: ymch-scenery-placement
- Press Enter on your keyboard
- In the Paths to be renamed dialogue that pops up, choose Rename Selected
Save and Open the project
- Save the project.
- Open the project by selecting the Open Project option from the Devmode menu system and navigating to the folder that you created earlier to save your SDK projects in:
In this example, the writer created a folder called "Projects DFR" to save SDK projects in.
- Click to open the New-Point-Cook-Heliport folder
Let's spend a moment examining the contents of this folder, because this is the result of all the work you have just done and it would be good to understand this.
The Devmode MSFS application created these files inside that folder based on the inputs you have made into the editor tools. It created:
- 5 package folders
- 1 xml document
Now let's continue with out tasks, in the Devmode dialogue:
- open the New-Point-Cook-Heliport.xml document
Your project will be loaded into the Project editor and seen as blue text yourcompanyname-airport-ymch-point-cook-heliport.
- Click on the triangle to reveal ymch-scenery-placement:
Load the Scenery Editor
In the Devmode menu system, select Editors then click & tick Scenery Editor.
You will now have 2 tabs in your editor window:
- Project Editor
- Scenery Editor
Down the bottom of the Scenery Editor, press the Select button.
- An Asset Selector dialogue box appears
- Navigate to the ymch-scenery-placement and press the Select button
This will populate the Scenery Editor with the purple coloured Point Cook Heliport scenery bar, open the Material editor dialogue box and also the Inspector for the Point Cook Heliport.
- Close the Material editor dialogue
- Click on the purple Point Cook Heliport bar (in the Scenery Editor).
A Translate Gizmo associated with that Scenery appears.
- Click on the actual Sim rendered scenery somewhere outside of the Gizmo
Notice that the Gizmo disappears.
- Click on the purple Point Cook Heliport bar again and the Gizmo will come back into view.
Gizmo Schmizmo
Our next task is to move the Gizmo to where we will build our Heliport.
This will require us to use and practice the skills we touched on in the previous Module (MOD-GDD-001: Introduction to Game Design and Development) regarding the use of the DevMode Cameras and the 3 Gizmos.
As we can see in the image above, loading the Scenery and selecting the purple Point Cook Heliport scenery bar placed the Translate Gizmo at the centre of the Airport that we spawned into (YMPC).
The blue circle of the Gizmo marks the area where we can edit our scenery.
If you don't see the Gizmo, you might be in too close or need to select the purple Point Cook Heliport scenery bar in the Scenery Editor
Adjust the Top Down Camera
In the Devmode menu system:
- Select Camera/Top Down Camera
- Translate up (zoom out) - refer to the checkout SDK Documentation - Cameras] if need be
Move the Gizmo
Now we can place the Gizmo where we want to place our new Heliport (YMCH)
- use the red and blue arrow handles on the Gizmo to move the centre of it to the field just east of the long avenue in the housing area shown in the images below
Note in the 2nd image above that the area volume of our scenery (as denoted by the blue Gizmo circle) is actually quite large. Let's see how big it is and make it smaller.
In the Scenery Editor tab:
- Click on the View drop-down menu
- Click and tick Properties
A Properties tab opens in the Inspector dialogue on the right side of the Sim window.
Note that the 'Object Test Radius' is 2000 meters, let's change it to 500:
Resize the Object Radius
- Place your cursor in the Object Test Radius and edit the number value to 500
Now the reduced 500m radius of the Gizmo circle fits entirely within the field to the west of the housing area. Nice! That is a perfect sized area to place our scenery objects for our new Heliport. So, let's proceed.
Place Scenery Objects
You may have noticed that in our radius area there are two sets of buildings and trees. In Fredricco's Helipad video he got rid of buildings (and pre-existing helipads) at this stage, but we will not remove anything yet.
For the purposes of this exercise we will use that closest house as part of the Heliport and incorporate into our scenery narrative.
Placing the Helipad
Under the Scenery Editor tab, drop down the View menu:
- Click and tick Objects
The Objects tab will appear in the Inspector dialogue (next to properties - where we just changed the size of the radius):
- Click on the Objects Tab
- Click on the Dropdown Triangle on the Scenery bar
A list of Objects will appear:
- Select Helipad
- From the list of Helipad types, choose Square
At bottom left of the Objects dialogue:
- Click the Add button
A Helipad object will be placed in the Sim world:
- Use the red & blue Gizmo arrows to place the object where you like it (maybe there will be an access road into the Heliport later - think about where other future objects may go, more helipads for example)
Change the Helipad's properties
In the Properties tab of the Inspector, change the Helipad type to Circle.
xxxxxxxxxxxxxxxxxx
up to 7.02 on video - to be continued
Modifying Objects
Now it's time for more gizmo schmizmo!
Let's revisit Fredricco's Helipad video and watch from 7.40 to 11.23
In summary you can see how the objects can be scaled, re-orientated and the proportions altered. Also of note is the assigning of Start parameters to allow helicopters to spawn in there from the world map facing a pre-assigned orientation.
Exercise
How about you try following the instructions in the video, and adding a couple of aprons and more helipads at our Point Cook Heliport. Slow the playback speed if necessary, pause and watch in small chunks.
- Press the Save Scenery button at the bottom right of the Project Editor
- Take a screenshot of your heliport-in-progress
- Post your image in the #learn-teach channel at the MOMA Discord server ;-)
This page is a work-in-progress.
Thanks for visiting, but please wear a hardhat & tread carefully.
As this is a wiki feel free to contribute.
References
Proceed to the next Module
The next Module in this course is Next Module