News:

Welcome to World of Banished!

Main Menu

Playing around with smoke

Started by Necora, April 11, 2017, 06:47:53 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Necora

@RedKetchup nvm, I went through the ROTP dev thread at CC and figured it out. If you debug place it, then it also works (can't test a ghost).

So what I will do is put together a few different types of river deco, package it up, and share it here for you all to see how it works.

@Bartender fancy making some rocks, reeds, and weeds for the river banks?

RedKetchup

Quote from: Necora on April 16, 2017, 04:54:26 AM
true to what question?

         bool _addOnCreate = true;
> > > Support Mods Creation developments with Donations by Paypal  < < <
Click here to Donate by PayPal .

Bartender

Reeds are already in development, and I've been thinking about some nice submerged rocks to make the waters more interesting indeed. I'll see what I can come up with ;)!

Necora

@Bartender great!

@RedKetchup how do you make something 'free' to build (i.e. not have a build stage)?

tanypredator

Necora, kid1293 explained me, how to do that, you can look in the source of my water lilies mod:  http://worldofbanished.com/index.php?action=downloads;sa=view;down=174

RedKetchup

Quote from: Necora on April 16, 2017, 12:07:56 PM
@Bartender great!

@RedKetchup how do you make something 'free' to build (i.e. not have a build stage)?

here an example from my torch you can put on the grond that is ghosted.

// layout of the entity
ComponentDescription resource
{
// how often to update
UpdatePriority _updatePriority = Fourth;

// declare types that will be used
Description _descriptions
[
"ui",

"map",
"zone",
"toolbar",
"createplaced",
"decal",
"model",
"particle",
"picking",
"highlight",
"interact",
"storage",
"work",
"radius",
"statusicon",
"tracker",

"statemachine",
"cleararea",
"build",
"workplace",
"destroy",
]
}

// layout of the entity
ComponentDescription destroyed
{
// how often to update
UpdatePriority _updatePriority = None;

// declare types that will be used
Description _descriptions
[
"map",
"zone",
"decal",
"modeldestroyed",
"radius",
]
}

RadiusDescription radius
{
int _radius = 20;
// MaterialInstance _decalMaterial = "Terrain/TiledDecals/SelectAreaMaterial.rsc";
}


TrackerDescription tracker
{
}

ClearAreaDescription cleararea
{
bool _flattenGround = true;
}

StateMachineDescription statemachine
{
}

ZoneDescription zone
{
}

DestroyDescription destroy
{
int _damagedSkin = 1;
int _damagedDecal = 1;
}

StatusIconDescription statusicon
{
SpriteSheet _spriteSheet = "StatusIcons\BuildingIconSpriteSheet.rsc";
bool _fixedSize = true;
float _size = 0.04;
float _zoffset = 1.33;
}

ToolbarDescription toolbar
{
SpriteSheet _spriteSheet = "UI/iSeeFireSpriteSheet.rsc";
String _spriteName = "RealTorch";

StringTable _stringTable = "UI/iSeeFireStringTable.rsc";
String _stringName = "RealTorch";
String _stringNameLwr = "RealTorchLwr";
String _toolTip = "RealTorchTip";

String _statusStrings
[
"CreateOk",
"CreateBlocked",
]

int _group = 1;
}

CreatePlacedDescription createplaced
{
PathBits _placeBits = Normal | Obstacle;

int _width = 0;
int _height = 0;
int _footprintRotation = 0;

PathBits _placeBitArray
[
Normal | Obstacle,
]
String _placeBitmap =
"";

bool _addOnCreate = false;
bool _neverAdd = true;
bool _addToOverhead = false;
bool _ignoreZones = true;

ComponentDescription _allowAndRemove = "Template/Clear.rsc";
}

MapDescription map
{
PathType _pathType = Normal;
Color _mapColor = 0xFF545454;
bool _addOnCreate = false;
bool _neverAdd = true;
bool _addToOverhead = false;
bool _ignoreZones = true;
}

DecalDescription decal
{
MaterialInstance _materials
[
"Models/MaterialInstance/RealTorchFootprintMaterial.rsc"
"Models/MaterialInstance/RealTorchFootprintDamageMaterial.rsc"
]
bool _tiled = false;
float _initialAlpha = 0.5;

float _mapWidth = 256.0;

DecalLocation _decalLocations
[
{
float _x0 = 0.0;
float _y0 = 0.0;
float _x1 = 256.0;
float _y1 = 256.0;
}
]
}

PickingDescription picking
{
MaterialInstance _selectMaterial = "Material/SelectionMask/SelectionMask.rsc";
PickingGroup _meshes
[
{
PickingMesh _mesh
[
"Models\RealTorchPicking.rsc"
]
}
]
}


ModelDescription model
{
MeshGroup _meshes
[
{
GraphicsMesh _mesh
[
"Models\RealTorchMesh.rsc"
]
}
]
int _displayIndex = 0;
int _subIndex = 0;
bool _randomIndex = false;
}

HighlightDescription highlight
{
EdgeGroup _meshes
[
{
EdgeMesh _mesh
[
"Models\RealTorchMesh.rsc:edge"
]
}
]

// materials for drawing selection with no mesh
MaterialInstance _maskMaterial = "Material/SelectionMask/SelectionMask.rsc";
MaterialInstance _edgeMaterial = "Material/SelectionEdge/SelectionEdge.rsc";
}

InteractDescription interact
{
PointList _pointList = "Models\RealTorchPoints.rsc";
}

StorageDescription storage
{
}

WorkDescription work
{
int _defaultWorkers = 1;
}

WorkPlaceDescription workplace
{
// no actual work done here once the building is built
//Profession _profession = null;
//Profession _pickupProfession = null;
}

ParticleDescription particle
{
PointList _pointList = "Models\RealTorchPoints.rsc";
ParticleAttachment _systems
[
{
bool _addOnCreate = true;
Particle _particle = "ParticleSystems\Fire\TorchFire.rsc";
String _attachNode = "smoke";
}
]
}

BuildDescription build
{
int _workRequired = 0;
}

UIDescription ui
{
Dialog _dialog = "Dialog/StandardDialog.rsc:entity";
ElementController _controllers
[
{
ElementDescription _element = "content";
String _insertAt = "userButton1";
}
{
ObjectType _type = WorkPlaceUI;
ElementDescription _element = "Dialog/Work.rsc:workPlace";
String _insertAt = "userTitle1";
}
{
ObjectType _type = UpgradeUI;
ElementDescription _element = "Dialog/iSeeFireUpgrade.rsc:upgradeButton";
String _insertAt = "userButton0";
DialogControllerConfig _config = "upgradeConfig";
}
{
ObjectType _type = StatusIconUI;
ElementDescription _element = "Dialog/Building.rsc:icons";
String _insertAt = "userTitle2";
}
{
ObjectType _type = BuildUI;
ElementDescription _element = "Dialog/Build.rsc:build";
String _insertAt = "pageBuild";
}
{
ObjectType _type = DestroyUI;
ElementDescription _element = "Dialog/Destroy.rsc:destroy";
String _insertAt = "pageDestroy";
}
]
}

GroupDescription content
{
ElementDescription _elements
[
"iSeeFireContainer"
]
}

ContainerDescription iSeeFireContainer
{
Alignment _alignment = MidRight;
int _topPad = 8;
int _leftPad = 16;
int _width = 220;

ElementDescription _content = "TextiSeeFire";
}

TextDescription TextiSeeFire
{
Alignment _alignment = MidRight;
Font _font = "Font\FontSmall.rsc";
bool _wordWrap = true;
int _wordWrapSize = 250;
StringTable _stringTable = "UI/iSeeFireStringTable.rsc";
String _text = "CitationiSeeFireTip";
}

UpgradeUIConfig upgradeConfig
{
ComponentDescription _upgradeTo = "Template/TorchTrash.rsc";
}
> > > Support Mods Creation developments with Donations by Paypal  < < <
Click here to Donate by PayPal .

Necora

Thanks @tanypredator and @RedKetchup !

Ok, here are three simple riffle decorations. 1st is steam - the same as the water wheel I used in the Sherbrooke pictures earlier, 2nd is foam - a foam texture that radiates from the center in a rhythmic fashion, and the 3rd is turbulence - a turbulence texture that is not a particle, but has the foliage material assigned to it so that it pronounces the movement under water.

Pictures are attached, using @Discrepancy 's bridge and boat as a beautiful scene setter with some CC reeds.

A few notes before you download it... it is a WIP! These are just a few things I thought of, now it is up to you guys (especially @Paeng ) to let me know how it works, and what types of stream deco you would want... more steam? A line of steam? Different types of turbulence textures? More radiating foam particles?

On the technical side - I cannot control the direction of the movement of particles (that I have found yet). Well, I can, but it is global on the map not for individual objects and it doesn't matter what rotation you place them at. For example, I can change the direction of smoke from a chimney, but it will happen to all buildings the same way regardless of what rotation you place the house. That means that for this mod, all particles radiate out from the center of the point in all directions. I would love to make them move in a direction relative to the building not the map, but I've yet to figure out how (if it is at all possible). This is why I made the turbulence texture, because that I can direct to. There are 3 F-variants of this turbulence, each at a different Z angle to cover corners etc.

Also, these look best at 1x speed. It gets pretty hectic as you speed up.

And finally, be careful when placing! They are -1m (ish) to make them under/on the water. This means if you accidentally place them on land you cannot click on them to remove them. I might give them an extended vertical invisible cube to avoid this in the future.

Let me know what you think.


QueryEverything

Looks wonderful, downloading to have a play around :D
[color=purple]~ QE, I query because I like learning new things.  [/color]

Banished pinterest & Banished mod ideas
[color=teal](Gently) Please: if you download mods please rate them, this helps & encourages the modders. :) [/color]

Nilla

Again, a new approach. Even if I'm more the "bean counter" kind of player, I like all these visual experiments as well! Looks very nice! :)

Paeng

#24
Hey, back from a quick easter holiday...  :)


Quote from: Necora on April 16, 2017, 01:00:20 PMnow it is up to you guys

Cool, the little rapids look great... downloading now  ;)


Quote from: kid1293 on April 15, 2017, 06:08:20 AMI have a nagging feeling that it is a blessing you are not modding Banished

Tehehe... yeah, at this point in time I'd rather pester the "next gen"...  :D


EDIT

Starting to "paint" with Banished...

[i]Heads are round so thoughts can take a turn[/i]
[color=teal][size=8pt]Editor's Choice [b]here[/b][/size][/color]

Paeng

QuoteAny suggestions on other pieces that would be useful?

Okay... the turbulence is cool, thanks to the F-variants it can be turned and twisted fine... most probably not possible to tone down the shadows a bit? Anyway, no big deal...  :)

Then there are the two foam (?) - the one on the middle icon (which spreads like a little star) is a bit strong on the star shape - but I want to test that on other uses, like a watermill or such, that will probably give better results...

The "fog" is nice, doesn't spread too much... it will improve when we have more and better shore rocks, vegetation and such...<cross_eyeing Bartender>   ;)

As you mentioned, it would be great if you can somehow add a little placement helper... if it's not too much of an act, else don't bother  :)


Definitely a cool new piece for our tool box  :D
[i]Heads are round so thoughts can take a turn[/i]
[color=teal][size=8pt]Editor's Choice [b]here[/b][/size][/color]

Necora

Thanks @Paeng . Shadows have been taken away thanks to @Bartender magic. The one with the star was experimenting with using the same texture as the turbulence piece but as a particle. I found it came out well if you managed to place it on a pole of a bridge or something. I have messed around a bit with how it acts since, and changed the texture to something hopefully more rounded to give more of a ripple effect. The steam I have to play around with a bit, some times it comes out nice other times it seems to only half come out and the other half is shaded. I also applied a water material to it which keeps it from rising up too much, and makes it spread out at water level more. As for the placement, I have no idea. I don't think build stages show up, and I don't know if there is a way to make something disappear once built. I could put in an F-variant of a large arrow or something to show where you are, then you hit 'f' before placing. I don't know if this is more cumbersome though but it is all I can think of.

In the mean time, I also made some water to plop on ground level so you can make a pond or lake or stream. It has a few pieces, an edge, corner, and center. They all have some movement to them too using the foliage material, so there is a nice gentle undulation in the water surface.







I'll work on more tonight while listening to the hockey and share them tomorrow.

brads3

WOW. i wanta see how they look without hiding behind the trees,please, do i dare ask if this can be used to make bass  lakes and catfish ponds?

Necora

@brads3

Quote from: brads3 on April 18, 2017, 07:14:43 PM
i wanta see how they look without hiding behind the trees,please,

I've attached a pic of individual pieces and a simple pond made of them to this post. You can see the edges are rather harsh, hence the trees ;)

Quote from: brads3 on April 18, 2017, 07:14:43 PM
do i dare ask if this can be used to make bass  lakes and catfish ponds?

For some reason, I knew once I made this that you would ask that ;) and yes it can, if you want. I guess the best thing to do would be to build a small fishing dock for them that catches catfish and bass. As these are all modular 1 tile pieces, you can make it as big or small as you want.

Necora

Righty-O. Hockey finished, Habs lost :( , but I did get some more pieces made for the second version of this WIP which is attached to the end of this post.

By the way, in case anyone was wondering, riffle is a term for fast moving stretch of river, also rapids if you like. I chose riffle though because it sounds funnier.

In this next version, you'll find...


  • 1x ghost water steam particle.
  • 1x ghost water foam particle.
  • 4x ghost turbulence textures, all below water level, each with three different angles. These textures have the foliage material so they have a pronounced movement when placed.
  • 4x digging tools = 0m, -0.25m, -0.50m, and -0.75m.
  • 3x ground level (0m) water squares = a corner, an edge, and a center piece. These all have a foliage material on the center of them, to give some nice ripple like movement.
  • 3x lower level water squares = -0.25m, -0.50m, and -0.75m.
  • 3x sloping water squares = from 0m to -0.25m, from -0.25m to -0.50m, and from -0.50m to -0.75m. These have a turbulence texture overlaid on top that has the foliage material and gives them some movement.
  • All pieces are ghosted and free to build, apart from the digging tools which are free but not ghosted... they need to be deleted to work.

Known bugs - for some reason, the foam particle 'breaks' at some point. It does nothing bad to the game, it just freezes (the particle, not the game. The game runs fine) and becomes a star in the water. I have no idea why this happens, so need to dig into the particle system a bit more. No ghosted items here change terrain height, so you need to use the digging tools to make a sloping river.

These (in combination with CC and other maritimes mods in these screen shots) should allow you to make something along the lines of this...