06 November 2020, 01:43 AM

I have received several questions on developing for BVE, and I would try to write a very watered down guide on what's all about developing. I will try to link this to school concepts as well..

Objects

Objects are everything visible in game, stations, PSDs, train body, cabs etc. Objects are made up of faces of which are made up of vertexes in 3D space. A vertex is a specified spatial coordinate in 3D environment.

Image: https://developer.mozilla.org/en-US/docs...sic_theory

In the .csv, you specify the location of each vertex and form a face with them. In the example above which is a cube, it has 6 faces. You can have as many vertexes and faces as you wish.

Possibly related school concept: A-level H2 Mathematics three-dimensional vector geometry, O-level Emath coordinate geometry and vectors in two-dimensions

Animated Files

Animated files, like the name suggests, allows you too add animations to your object. The motion is governed by formulas. Formulas, depending on what you are trying to do, can be as simple as a conditional, or graphical functions.

Conditionals gives a logic argument, giving an outcome, depending on the argument. It is in the form of

StateFunction = if[condition, true, false]

StateFunction = if[speed > 10, on.csv, off.csv]

In the above example, it is a function of an animated light that turns on if the train speed is above 10m/s. If we break it down,

if[speed > 10, on.csv = if speed is above 10 m/s (i.e. true), show on.csv

, off.csv] = if not (i.e. false), show off.csv

For graphical functions, formulaes can be complicated like

TranslateZFunction = -1*if[rightdoors[0] > 0.5, 1, if[rightdoorstarget==0, if[rightdoors[0] > 0.152, 0.45*sin[rightdoors[0]*9-2.93]+0.55,0.66*rightdoors[0]], 0.5*sin[6.28*rightdoors[0]+4.71]+0.5]]

if I were to plug that into a graphic calculator the result would be a very beautiful curve.

There can be nested conditionals too, that is a conditional within a conditional, giving a 3-way logic argument with 3 possible outcomes.

Possibly related school topics:

O level Amath equations and inequalities

O level Amath Power, Exponential, Logarithmic, and Modulus functions

O level Amath Trigonometric functions

O level and A level graphs and functions

O level Physics physical quantities

Trains

Train data (you have to source or come up with yourself) is entered into train editor. Pretty straightforward.

Route

Route is basically a huge hotpot of objects. Basically placing objects in the right place and sequence.

I may add on more to this list in due time

Objects

Objects are everything visible in game, stations, PSDs, train body, cabs etc. Objects are made up of faces of which are made up of vertexes in 3D space. A vertex is a specified spatial coordinate in 3D environment.

Image: https://developer.mozilla.org/en-US/docs...sic_theory

In the .csv, you specify the location of each vertex and form a face with them. In the example above which is a cube, it has 6 faces. You can have as many vertexes and faces as you wish.

Possibly related school concept: A-level H2 Mathematics three-dimensional vector geometry, O-level Emath coordinate geometry and vectors in two-dimensions

Animated Files

Animated files, like the name suggests, allows you too add animations to your object. The motion is governed by formulas. Formulas, depending on what you are trying to do, can be as simple as a conditional, or graphical functions.

Conditionals gives a logic argument, giving an outcome, depending on the argument. It is in the form of

StateFunction = if[condition, true, false]

StateFunction = if[speed > 10, on.csv, off.csv]

In the above example, it is a function of an animated light that turns on if the train speed is above 10m/s. If we break it down,

if[speed > 10, on.csv = if speed is above 10 m/s (i.e. true), show on.csv

, off.csv] = if not (i.e. false), show off.csv

For graphical functions, formulaes can be complicated like

TranslateZFunction = -1*if[rightdoors[0] > 0.5, 1, if[rightdoorstarget==0, if[rightdoors[0] > 0.152, 0.45*sin[rightdoors[0]*9-2.93]+0.55,0.66*rightdoors[0]], 0.5*sin[6.28*rightdoors[0]+4.71]+0.5]]

if I were to plug that into a graphic calculator the result would be a very beautiful curve.

There can be nested conditionals too, that is a conditional within a conditional, giving a 3-way logic argument with 3 possible outcomes.

Possibly related school topics:

O level Amath equations and inequalities

O level Amath Power, Exponential, Logarithmic, and Modulus functions

O level Amath Trigonometric functions

O level and A level graphs and functions

O level Physics physical quantities

Trains

Train data (you have to source or come up with yourself) is entered into train editor. Pretty straightforward.

Route

Route is basically a huge hotpot of objects. Basically placing objects in the right place and sequence.

I may add on more to this list in due time

- SMB142J -

Founder, President & Chief Developer, SMB142J Studio Productions

Founder, President & Chief Developer, SMB142J Studio Productions