-
Notifications
You must be signed in to change notification settings - Fork 1
Modding
You can find levels and rockets in the Data folder. You can add new levels and new rockets or change existing levels / rockets if you want to. If you want to add your own rocket or want us to add an interesting rocket you can make a request for it here
You can find all rockets in the Data/Rockets folder. The properties as well as the sprite are defined as json.
Property | Type | Explanation |
---|---|---|
Model | String | Field for the model name of the rocket, used in InfoScreen |
Variant | String | Some models have different variants, also used in InfoScreen |
Manufacturer | String | The name of the main manufacturer, will be displayed in InfoScreen Information |
Names | String[] | A name list of previously flown rockets of this model / variant, when a rocket is created one is picked randomly |
Height | Float | The height of the rocket in metres |
Width | Float | The maximum diameter of the rocket in metres |
Thrust | Float | The thrust of the rocket in newton |
Weight | Float | The weight of the fully fueled rocket without payload in kg |
FuelWeight | Float | The fuel weight of the rocket in kg, it will slowly be subtracted from the weight during flight according to thrust level |
BurnTime | Float | The average burn time of the rocket until MECO |
DragProperties | DragProperties | Used to calculate the approximate drag of the rocket |
ThrustAreas | ThrustArea[] | Tells the program where to draw the rockets flames |
Sprite | RocketSpritePiece[] | A List of different colored Polygons that are drawn all at once and look like the rocket |
DragProperties:
Property | Type | Explanation |
---|---|---|
CdUp | double | Drag coefficient when the rocket flies straight up (0° angle), usually Cd of the fairing |
CdSide | double | Drag coefficient of the rocket flying upwards sideways |
AreaUp | double | The reference area if flying upwards |
AreaSide | double | The reference area if flying sideways |
ThrustArea
Property | Type | Explanation |
---|---|---|
Start | PointF | Start of the thrust area relative to the center of the rocket |
Stop | PointF | End of the thrust area, hast to have same y coordinate as start and x must be > start x |
RocketSpritePiece
Property | Type | Explanation |
---|---|---|
Points | PointF[] | Points relative to the geometric center of the rocket, defining a polygon |
Brush | SolidBrush | A Solid Brush with the color as RGB |
Creating a new rocket sprite used to be a very tedious task. That's why I wrote a simple program for it. You can find it here.
How to use:
You can find a small video tutorial here
- Find an image showing the desired rocket from the side
- Crop it so that only the rocket is visible. Example
- Input the maximum height and diameter
- Load the previously cropped rocket
- Every time you left click on the image a polygon point will be stored
- When you are finished with a polygon (it will be closed automatically) you can right click to select its color
- Press Output Shape data or Output mirrored shape data (then you only have to do one side, fairing f.e. are perfectly mirrored most of the time)
- The Polygon was now copied to your clipboard
- Open your custom rocket.json and paste the contents of your clipboard into the Sprite array
- Repeat 5-9 until you have created the whole rocket
Levels are really just a collection of rockets and planets. The rockets are placed at a coordinate and a momentum and the planets are just Circles with a color a position, a Mass and a Radius:
Level
Property | Type | Explanation |
---|---|---|
Rockets | RocketDto[] | List of rockets |
Planets | TerrainDto[] | List of planets |
RocketDto
Property | Type | Explanation |
---|---|---|
Location | PointF | The starting position of the rockets center |
Force | Force | The intial force |
Acceleration | Acceleration | The intial acceleration |
Speed | Speed | The intial speed |
Angle | Angle | The intial angle in degree and radian |
ThrustPercentage | float | The initial thrust in % (0-1) |
Type | String | Name of the rocket file without .json |
TerrainDto
Property | Type | Explanation |
---|---|---|
Position | PointF | The position of the Planet |
Radius | Float | The radius of the planet in km |
Color | Color | The color the planet is filled with |
Mass | Float | The mass of the planet (used to calculate its gravity) |