Logo Platform
logo amplifiers simplified

Abscissa: "XML Editing" X=1 Y=1 and I understand nothing

Reply
Copied to clipboard!
10 years ago
Dec 12, 2014, 5:21:59 PM
Probably only Mysterarts can answer this smiley: smile



Question 1 :

If I want to increase or decrease the likelihood of a given event in the XML, what do I have to edit?

For example the Dynamic Hero spawn (which would be the same for items, resources, monsters, waves etc) :

DynamicRoomEventConfig Name="Hero" ForbidDungeonEvent="true" LevelDifficultyImpact="-1"



ProbWeight

CurveOperation Type="Multiplication"

Curve Abscissa="RoomOpeningIndexPercent"

CurvePoint X="0" Y="0" Factor="0"

CurvePoint X="15" Y="11" Factor="0"

CurvePoint X="90" Y="6" Factor="0"

Curve

Curve Abscissa="Level">

CurvePoint X="1" Y="0" Factor="0"

CurvePoint X="3" Y="1" Link="true"

CurvePoint X="12" Y="0.75" Factor="-0.005"

Curve

Curve Abscissa="SpaceShip" BaseValue="1"





Question 2 :

If I wanted to remove the elevator sequence and just put a random splash screen or a black screen in there instead or wanted to move directly to the next floor, would that be possible through XMLs?
0Send private message
10 years ago
Dec 16, 2014, 5:22:28 PM
I begin with the question 2, which is the easiest ^^

No, you can't remove the sequence... All you can do is to remove all the content in StoryDialogConfigs.xml and StatDialogConfigs.xml (except the first 2 and the last lines) to deactivate dialogs...



So, question 1:



The gameconfig file uses a system of curves to compute game numbers and especially the probabilities of events / spawns etc.

Each curve has its own abscissa to modify the value based on the number of doors opened, the current floor, the spaceship, the number of players etc.



The lines inside the curve marker describe the form of the curve.

Take the following example (the space after < needs to be removed):

[CODE]< Curve Abscissa="Level">

< CurvePoint X="1" Y="3" Factor="0" />

< CurvePoint X="4" Y="3" Link="true" />

< CurvePoint X="7" Y="6" Factor="2" />

< /Curve>[/CODE]



We have a curve with 3 defined points: {1;3}; {4;3}; {7;6}. Because the chosen abscissa is "Level", that means when you are in the level 7, the value returned by the curve is 6.

Then we precise the form of the curve between the defined points:

  • Factor="0" means the value stays the same until the next defined point
  • Link="true" means the curve between this point and the next one will be linked by a straight line
  • Factor="2" means the value will increase by 2 for each following integer





Here the visualisation of the curve:







But it was too simple, so we also have the "curve operations" ^^. The returned value will be the result of the operation between several curves (and sometimes between several curve operations etc.).

Let us return to your example (which is a very simplified version of the hero spawn computation: there are a lot more factors in the gameconfig file smiley: stickouttongue):

[CODE]< CurveOperation Type="Multiplication">

< Curve Abscissa="RoomOpeningIndexPercent">

< CurvePoint X="0" Y="0" Factor="0" />

< CurvePoint X="15" Y="11" Factor="0" />

< CurvePoint X="90" Y="6" Factor="0" />

< /Curve>

< Curve Abscissa="Level">

< CurvePoint X="1" Y="0" Factor="0" />

< CurvePoint X="3" Y="1" Link="true" />

< CurvePoint X="12" Y="0.75" Factor="-0.005" />

< /Curve>

< /CurveOperation>[/CODE]



This is the multiplication between two curves, one based on the floor (level) and one based on the progression inside the floor (RoomOpeningIndexPercent).

Here the visualisation of the two curves:





To know the probability weight to spawn a hero, we have to multiply the result of the 2 curves. For instance, if you are at floor 6 and you're opening the 12th door which contains 24 doors:

First curve: X (RoomOpeningIndexPercent) = 12*100/24 = 50% so Y = 11

Second curve: X (Level) = 6 so Y = 0.92



Return 11 * 0.92 = 10.12



Obviously, the more important is the probability weight, the more chance you have to spawn a hero in the room.

So, for example, to increase the likelihood but keep the progression inside the floor and the dungeon, you can multiply the Y values of the first curve by the same factor.

I could be shorter but it was the opportunity to explain somewhere in the forum this very important element of the config file smiley: smile (I should make a guide some day).





TL;DR: increase the Y values smiley: sarcastic
0Send private message
10 years ago
Dec 16, 2014, 7:34:36 PM
Thanks.





Seems I won't be able to do a No Pixel Left Behind run then. The elevator and victory screen can't handle more than 4 heroes :P



I'll increase the Y value though smiley: smile
0Send private message
?

Click here to login

Reply
Comment