CREDITS.INI NOTES
This file is pretty easy to figure out just by looking at it. This file
controls the credits sequence, which is a series of scrolling lines.
[General]
End Delay=[[Integer]]
Default: About 50
This corresponds to the amount of time the game will wait after the last
line of credits scrolls off the screen before returning to the main menu.
The number does not seem to be a number of milliseconds to wait, but rather
a number of additional rows of pixels to scroll.
If you set this to 0, the credits will not play.
Background=[[PNG FILE]]
Default: No image
Set an image to use as a background for the credits.
Recommended image size is 1024x600 px.
If your image is not 1024x600, it will be stretched to fit.
Music=[[OGG FILE]]
Default: No sound
A sound file to play during the credits. It will play once, without looping.
Music Volume=[[INTEGER]]
Default: 100
This doesn't seem to be at any particular scale. All you can do is experiment
with this number until you get it right.
Make sure your actual sound file is pretty loud, because it will get a lot
quieter in-game. 100 seems to be the max value for Volume, and even that is
much quieter than the sound file's actual volume.
[Credit #]
Delay=[[Integer]]
Default: 50
Increasing this number increases the length of whitespace above this credit
page. Any zero or positive integer is accepted, but there is something to
note: Unless the previous credit doesn't have any Names, there will always
be at least one full line of blank space, meaning values below the
height of one line of text (12?) will automatically be increased.
Title=[[String]]
Default: (empty string)
The bold line of text at the top of a page of credits.
Name #=[[String]]
Default: (STOP)
Standard-face lines of text that appear in the order defined under the title.
Start with Name 0 and then do Name 1, Name 2, etc.
If you skip a number, the numbers after it will not show at all.
(Meaning, if you define lines 0, 2, 1, 3, 6, and 7, lines 6 and 7 won't show).
There is something interesting to note about the behavior of Delay when
no Names have been defined in the previous credit: You can set a Delay under
12 without the game automatically increasing it to 12.
The reason is presumeably to give you a method to have multiple bold lines
in a row. See example.
Tiles should be a familiar concept. Saira only has one layer of Tiles, and it is very similar in comparison to layer 3 in Knytt Stories: It is a grid of tiles that are solid to the player. I have not yet tested this, but I assume they have automatically-generated collision maps just like in KS.
I haven't tried the editor yet, but every tileset seems to have an associated mask file: is it generated automatically by the editor?
I have not yet tested this, but I assume they have automatically-generated collision maps just like in KS.When you change the terrain using the tileset in the editor, the collision map for that screen is automatically updated.
* This is not obvious, but the way you create an object is by holding Control and clicking - this duplicates the selected item. I found this by chance.
Use this method to move objects; hold control as you click the desired location to duplicate it, then delete the original.
Additionally, if the mask was generated automatically, why would it be in the first place?
But I guess that, on second thought, any decent drawing application could do that already.
[Location]
X Position=
Y Position=
[Orbit #]
Planet=
Note=
X Center=
Y Center=
Diameter=
Orbit Position=
Items=
Location
The location of the star in the galaxy overview map, I presume. This position is defined by x and y coordinates.
Orbit #
Orbit indicates planets in the star system. By giving # a number starting from 0 you can add several planets.QuotePlanet=
This parameter sets the planets name. I suspect that this name is the one used to address all related files. That means the .png containing the visual of the planet in the star system overview and the possible folder containing the planets map-structure.QuoteNote=
Based on the way it worked with Gass Lividus I assume that this parameter is a note which is shown when hovering the planet.QuoteX Center= / Y Center=
The coordinates of the orbital center.
For planets this should be the same for all. They orbit around the same star after all.
For moons these coordinates are used to place the orbit around a planet.QuoteDiameter=
Values range: 100-500
This is the orbital rings diameter. Values dividable by 100 have circles associated. My guess is that you can make your can maybe make you own circles and add you you want something in between. But I guess it isn't necessary.QuoteOrbit Position=
Values range: 0-360.
The position of the planet in the orbit ring.
0 is 3 o'clock position. 90: 12 o'clock. 180: 9 o'clock. 270: 6 o'clockQuoteItems=
The number of items to be found on the planet/moon/space station/whatever.
Note that the mechanism counting the things you've gathered on a planet doesn't care about this number and works somewhere else.
(http://img.photobucket.com/albums/v329/LightningEagle/Saira/planetarypositioning.png)
Parameters Note and Items can be left out if they're not used for anything.
System Layer #.png
We have 3 layers, which when panning around the star system overview. move independently creating depth.QuoteLayer 1:
The Background.QuoteLayer 2:
A layer of stars which will appear closer as they move more when panning.QuoteLayer 3:
The star of the star system is placed here in most cases.
- Star Avatar.png, I don't know what the function of this picture is yet, as I don't remember it appearing in the game at any time.
- Star Info.txt, This file appear to be a description of the star system and it's planets, which I don't remember seeing in the game either.
I meant collision mask. XD I'm sorry if anybody took my sentence to literally mean the screen's collision map. :oops:I have not yet tested this, but I assume they have automatically-generated collision maps just like in KS.When you change the terrain using the tileset in the editor, the collision map for that screen is automatically updated.
[. . .]
I tend to agree with LightningEagle that the collision mask itself is made manually rather than automatically from the tileset.
I'll explain the .ccn files for you. Those are compiled Multimedia Fusion 2 sub-apps. The source files to them are the .mfa files included in the editor, you can only modify those files with Multimedia Fusion 2. You can do levels that are pretty much awesome even without them, but to modify puzzle devices, the PDA, or the functionality of the starmap, radio, or pinball game you need Multimedia Fusion 2.
Movement Controller: Makes an object move, spin, or both.
(c) X Speed= Sets horizontal movement speed.
Works with Random and Invert.
(c) Y Speed= Sets vertical movement speed.
Works with Random and Invert.
(c) Rotation= Sets rotation speed.
Works with Random and Invert.
Notes: When an object moves off the edge of the room, it appears
on the other side.
Smoke Controller: Makes your object an object generator.
(c) X Speed= Sets horizontal movement speed of generated objects.
Works with Random and Invert.
(c) Y Speed= Sets vertical movement speed of generated objects.
Works with Random and Invert.
(c) Rotation= Makes the generated objects spin.
Works with Random and Invert.
(c) Cycle Time= Sets lifetime of objects generated.
Works with Random.
Notes: Only one copy of the object exists at a time. Each one fades into
view, lives for a short while, then fades away before the next
one appears.
Sine Scale Controller: Grow, shrink, grow, shrink.
(c) From X Scale= Sets the minimum x scale.
(c) To X Scale= Sets the maximum x scale.
(c) From Y Scale= Sets the minimum y scale.
(c) To Y Scale= Sets the maximum y scale.
(c) Wavelength= Sets the length of time each growth cycle takes.
Works with Random.
(c) Scale +Random= Increases/drecreates From/To X/Y Scale all by
a random amount.
Sine Transparency Controller: Now you see it, now you don't.
(c) From Transparency= Sets the minimum transparency.
Set this to a number less than 0 if you want
the object to stay fully opaque for period of time.
(c) To Transparency= Sets the maximum transparency.
Set this to a number greater than 128 if you want
the object to stay invisible for period of time.
(c) Wavelength= Sets the length of time each glow takes.
Works with Random.
(c) Randomize X=1 Changes X after each time the object disappears.
(c) Randomize Y=1 Changes Y after each time the object disappears.
(c) Transparency +Random=Increases/decreases From/To Transparency by
a random amount.
Sine Rotation Controller: Rocking on a hinge
(c) From Angle= Sets minimum rotation angle
(c) To Angle= Sets maximum rotation angle
(c) Wavelength= Sets length of time each motion takes.
Works with Random.
(c) Angle +Random= Increases/decreases From/To Angle all by a
random amount.
A successful test!
[...]
What it means: Cutscenes don't have to be in the _Cutscenes star; there must be something else that makes them play as cutscenes...
Parameters
Type= Player ✔ Basics covered
- Missing: checking with other parameters.
- Missing: Step Sound=, Land Sound=, Jump Sound= explained
- Missing: Some more to-be-explored parameters
Generator ✔ Basics covered
- Missing: checking with other parameters.
Particle (next up)
Walker
Static
Jumper
Fly
Wall Walker
Trigger Point
Area
Flag Hazard
Tri Animation
Danger Circle
Player Image= Targets one of the sprite sheets of Saira.
Default: ..\..\..\Data\Sprites\Player.png
Tile Width= The width of the frames in the sprite sheet.
Default: 35
Tile Height= The height of the frames in the sprite sheet.
Default: 56
Y Offset= Y Offset determines the vertical distance
between the Player sprite and the collision map.
At the optimal value of 5, one could just barely see
Saira's feet, while at 0 those would disappear in
the grass in most places. At higher values, she's
walking on air, making it look like as if the entire
collision map was lifted by that amount. Actually the
map itself is not affected at all, only the sprite.
Negative values are also possible: these make Saira
'sink' into the ground. Kinda like wallswimming in KS,
but more easily controllable.
Default: 5
A big thanks to SiamJai for enlightening this :D
Step Sprite= A parameter which targets a sprite of the type
"Generator" with each step Saira takes.
Default: *sprite generator*
Step Sprite Materials=
Defines the material which Saira has to step on
in order for the Generator, specified in the
"Step Sprite" parameter, to activate.
This parameter cross references with the ASCII
mask for the tileset of the planet, this ASCII
mask is found in the Planet.ini file in the same
folder as the Sprites.ini
Therefore this parameter takes an ASCII char as
value and checks against the mask to see if the
tile Saira steps on is the right material.
Default: *ASCII char*
NOTE: Can take two chars (maybe more) to address
two different materials in the tileset.
Fly Sprite=
Targets the particle which is generated in the player
sprites position when moving through air. Meaning,
by power+up.
This particle is most often defined by these settings:
[Fly Trail]
Type=Particle
Image=..\..\..\Data\Sprites\Fly Trail.png
Tile Width=19
Tile Height=19
To Frame=35
Animation Loops=1
Animation Speed=1000
Lifetime=35
X Instability=3
Y Instability=3
Y Gravity=
Sets the gravitational force the sprite is affected by.
When not set I believe the value to be somewhere
between 30 and 40. Below 0 and you'll hover up.
Too low a value and you'll leap to the top of the
stratosphere. Use with caution.
Remember, low gravity might enable some extreme
climbing possibilities. :shifty:
Y Jump Strength=
Defines the strength with which you take off when
you jump.
Default is just about 500.
X Acceleration Start=
The speed at which you gain momentum when
running.
Default: I'm guessing around 30
X Limit=
Speed limit. This defines the maximum velocity
when running.
Default: I'm gussing about 600, but could be
more. More thorough testing might be required.
X Air Acceleration=
The speed at which you can move around in air.
When jumping that is! I have no idea how this
behaves with fly.
Default: 12-15 I guess.
Unexplained parameters
Step Sound=
Land Sound=
Jump Sound=
I've yet to discover how these works. It appears that
they take 3 arguments. Like this:
Step Sound=Footstep,0,20
Where as "Footstep" refers to the kind of sound, but I
figure the other 0 values. My guess is sound volume but
I can't seem to figure out what happens when I change
them.
If someone wants to try playing with these, they can be
found on Ninian -> Dragon Noir.
Y Climb Gravity=
Y Jump Hold Strength=
Y Fall Limit=
Y Wall Collision Boost=
Y Wall Jump Strength=
I guess most of these are rather self explanatory but
I haven't had time to test them yet. I would be nice if
we could find which values seem to be "default".
I mean which value equals not setting the parameter.
These can be used to create the feeling of A) low
gravity or B) running in an other substance. i.e under
water?
Parameters known to not work with type=player
Enemy=
Run Speed=
Jump Strength=
Generator Minimum X Offset=
Defines the minimum X coordinate at which the
Sprite created can spawn. This coordinate is
relative to the placement of the generator.
i.e if the generator is associated with the
Step Sprite= parameter the offset is from the
location of that sprite at the given time.
If the generator is placed somewhere in the
environment of the planet, the offset is relative
to the exact coordinate of the sprite indicator.
You can view the location of Sprite indicators in
the editor
Default: Could theoretically have any
number-value, but most common is negative as that
is left of the sprites center.
Maximum X Offset=
See explanation for Minimum X Offset. This is just
maximum instead.
Default: Could theoretically have any
number-value, but most common is positive as that
is left of the sprites center.
NOTE:
I'm not really sure what happens when you go for
a higher value in Minimum than in Maximum. I tried
it but it just looked weird.
For the same value i.e 30 in both every sprite
created will fall from a point 30 pixel to the
right of the generators position.
If you leave these parameters out the generator
creates the sprites in its own coordinate by
default.
Minimum Y Offset=
Maximum Y Offset=
Follows the same basic guide lines as the X.
Sprites Per Iteration=
This is the amount of sprites, which is created
when the generator is activated. These sprites
are spread out and spawned in the area specified
by the Minimum/Maximum X/Y Offset parameters.
Default: 1-3 would be a good amount, I guess.
Much more and less strong computers, such as mine,
will begin to experince slow downs.
Number of Iterations=
Number of cycles the generator takes when
activated.
i.e if linked to the Step Sprite= parameter and
you take a step. The generator is activated and
(creates sprites as defined by the other
parameters). The sequence between the parenthesis
is repeated the number of times defined here.
Default: I'd say 1, remember you get:
SpI * NoI = Sprite amount
SpI = Sprites Per Iteration
NoI = Number of Iterations
Which can become an awefully lot very fast. Note
again that a high number of sprites WILL bring
slow down on some systems.
Create Sprite=
Refers to another Sprite defined in the
Sprites.ini. The types could be:
* Particle
* Static
... that what I've encountered so far.
This defines exactly what sprite is created when
the generator is activated.
Default: *targets a sprite*
Pre-Delay=
Takes +Random argument
The delay before the generator is activated upon
entering the area where the generator is placed.
I don't think this can be used with generators
linked to the Step Sprite= parameter as they
activate by steps.
Default: *any value I guess*, If this is not
defined I guess the value defaults to a delay of 0
Time Between Iterations=
Takes +Random argument
The parameter created the delay between
iterations. You BETTER remember to set this one
or you'll have a waterfall of sprites generated in
such thickness and amount that any computer will
experince horrible slow down issues. I fear the
application might crash in time.
NOTE: (to myself) Never outcomment this line again
Default: I suggest something relatively high.
Maybe between 500 and 2-3000.
Y Offset= *function unknown to me*
Default: 5
(btw, I added a bit more info about negative values...)
Would be awesome if someone with a good ear would try to test these sprite parameters for type=player
Step Sound=
Land Sound=
Jump Sound=
See here: http://nifflas.lpchip.nl/index.php?topic=2304.msg26063#msg26063
for some notes...
I've muted the music/ambiance on Dragon Noir and played around with these settings, but didn't find out much more yet. So far it appears that changing either one by a small amount doesn't introduce any noticeable change, while changing them drastically mutes the sound altogether.
Perhaps these affect the variation in volume, which would be nigh impossible to detect in smaller changes. I'll try it again after work.
HAH!
I finally found something you don't have!! :P
Not entirely useless!!
in the planet.ini
[Tileset 0]
Image=Tilesets\Toxic.png
Mask=Tilesets\Toxic Mask.png
Materials 0=X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Materials 1=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Materials 2=@@@@@@@~~~@@@@@@@@@@@@@@@@@@@@@@
Materials 3=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Materials 4=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Materials 5=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Materials 6=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Materials 7=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The different @s and ~s indicate what noise you make when you run on it.
If you look at the boromine tileset, you'll see that were each "block" is, there is a different symbol!
The ~~~ make the 3 tiles that are liquid make the water noise.
I will be looking into these different symbols and the noise they make!
~=water
@=?
X= no sound? (that is the delete block)
Step Sprite= A parameter which targets a sprite of the type
"Generator" with each step Saira takes.
Default: *sprite generator*
Step Sprite Materials=
Defines the material which Saira has to step on
in order for the Generator, specified in the
"Step Sprite" parameter, to activate.
This parameter cross references with the ASCII
mask for the tileset of the planet, this ASCII
mask is found in the Planet.ini file in the same
folder as the Sprites.ini
Therefore this parameter takes an ASCII char as
value and checks against the mask to see if the
tile Saira steps on is the right material.
Default: *ASCII char*
NOTE: Can take two chars (maybe more) to address
two different materials in the tileset.
[general]I'm pretty confident that this has nothing to do with the objects.ini file.
Background=Backgrounds\Sky.png
------------------------------
select a background that has been loaded in objects.ini
[Emitter 0]What is this exactly? Can you explain what happens when you change the parameters?
Angle +-Random=180
Count=30
Layer=5
Layer +Random=4
Object=Grass Particle
Scale +-Random=25
------------------------------
[Emitter X]-change number
Angle +-Random=180
Count=30
Layer=5
Layer +Random=4
Scale +-Random=25- the controllers (see exp hp's brilliant post!)
Object=Grass Particle-choose the image (loaded in objects.ini)