[WaS] Tech Tree and Crafting Concepts

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
Another new day, another new concept: continuing the comic style/cell shading look from previous backgrounds, I worked a bit on a stone frame and came up with this version:
BasicWoodworking.png
StandardWoodworking.png
StandardStoneworking.png
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
In the last days I was getting my hands on Blender again and wanted to see how custom block shapes for some of the W&S workstations look in the world. The first object getting near a final stage is quern/hand mill, for which I used this photo as reference (the left one on the picture). I know the second stick is missing and I will add it now, but here's how it looks so far:
Terasology-140228143856-1152x700.png
Update: Two more screenies of the final version:
Terasology-140228173203-1152x700.png Terasology-140228173219-1152x700.png
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
I was searching for some references for stone age hoes, and discovered the Digging Stick. My suggestion is: lets call the "crude hoe" "digging stick" and have "stone hoe" and "brone hoe" as advanced tools.
Marcin Sciesinski, what's your opinion about this?
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
We still don't really have a super appropriate central thread for W&S stuff - this was the closest so I figured I'd post this here :)

During stable build prep I did some playing. Got to the third station (cobblestone metalworking) but after building it I didn't get a journal update or any good direction on what to do next. That might be what's currently pending, IIRC

I tried to smelt some copper but a wood log didn't get the smelter hot enough, nor did some coal (found a deposit nearby). Made me wonder if there should be a way to empty the fuel mid-process, or insta-upgrade the burning fuel if a hotter burning fuel is added in the input slot? Currently you have to wait till the old fuel burns out

Also puzzled out the clay hearth (trying not to cheat and read anything here to pretend I'm a new user) but other than making bricks I couldn't remember what to do with them. Build the 3x3x3 charcoal oven? Also noticed the clay "Brick" has the same name as the plain ole vanilla "Brick" - maybe it should be named "Clay Brick" for clarity?

Eventually found some corn and saw it trigger some more journal entries. Cool. Gets you to cooking station I figure, anything for breeding plants or making potions? At that point I stopped and went back to writing my mega-post

Also: I had to apply a tiny fix to WoodAndStone + Fluid to adjust for the recent engine change where we switched from AWT Color to NUI Color. Hope you don't mind, Marcin Sciesinski ! Otherwise no compile-y :) Keep up the good work!
 

chessandgo

Member
Contributor
Hunter
Personally I think it could use some environmental stuff to it. Make the game more alive, and dynamic. For example, once you get biomes implemented, have seasons. This would probably be some kind of function, like a decay graph (for day light per day/season perhaps?) and a parabola for the properties of the biomes. Like say temprature is y=2x^2 or something. The temperature would fall until it gets to the bottom of the parabola, which has a much shallower slope, so basically leveling off in the middle (this would be the middle of the season), and then it goes back up the other side. And then we could have crops/and other blocks hook into this season time data. Say, plants growth pattern would hook into daylight time data, scan the surrounding area, simulate light passing though it, and then decide on the best growth pattern/growth speed. Or, say, water hooks into temperature, when so hot it evaporates and makes clouds. When so cold it freezes and clouds condense into snow. The higher above freezing or evaporation point, the hotter it is. Lets pair this with hashing the terrain every in game week, and using the originals terrain hash, (in theory player buildings and structures could thus effect the biome, like if its a large tower it might decrease the amount of values exchanged between biomes) , and using the hash in a perline noise generator for randomness, and create fake entropy using things happening in the biomes, we could truly have each biome be unique. Take this data and hook it into surrounding biomes data, and we could have ever changing, interconnected slight (or large) deviations, of each biome. There would be no "It's a plains biome, it'll grow exactly like this that and the other thing, each season " it'll be like, "hey, it's a plains biome, there are X, Y, Z biomes around it, which are kinda like E,F,G, the biome will kinda sorta be like O, but I'll have to stick around about a year to get the general feel of the area, in case this month is just a bumper crop/famine". Or course this was just a rant that kinda appeared. I was going to say i wanted birds/animals to migrate between biomes depending on temperature/light, but it kinda snow balled into this. Also, more tree types. I'd like to be able to tap sap/resin from trees (like in industrial craft^2) and get maple syrup from maple trees (perhaps a separate food sub-age for each age?). Also, fruit and nut trees would be nice.
 

Marcin Sciesinski

Code ALL the Ages!
Contributor
World
Architecture
Ok, I like the idea of season and I should be able to add a new mod for affecting environmental conditions. So we'd have two (for now) float fields in the world - temperature and humidity. The base temperature and humidity will be from the world generation, on top of that we can have modifier for season variation and then some extra ones - for blocks that might affect them, i.e. heater, water sprinkler, etc. that have limited range.

Unfortunately there is no way of affecting daylight in Terasology yet, and it might be somewhere quite deep in the OpenGL code, so I might not be qualified enough to change it. So lets start working with constant daylight for now.

Here is what I will do:
1. Season temperature/humidity variation, allow for blocks affecting local temperature (i.e. heater, water sprinkler).
2. Plants planted by player dying due to incorrect environmental conditions (i.e. too cold, too little humidity).
3. Sync the plants growing speed with seasons.

Here is what I need:
1. How long (how many Terasology days) should one season be?
2. How should fruit/nut trees work?
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
There is already a Seasons module. Maybe you can bring it (back) to life for this purpose.

Furthermore, multi-textures and biome interpolation discussions might be related.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Season duration is bound to be arbitrary, might as well just pick something and see if it feels too short or too long then tweak :)

Could aim for some slight correlation like an in-game week being a season, four seasons a year. Who needs months anyway?

As long as the base Seasons module is flexible as per the calendar the author wants all is well. Speaking of: Should it also contain a basic calendar system?

Also: We totally should do phases of the moon already. 7 different stages, for an in-game week and season, would totally work :3 Weeks are moon'ths!
 

chessandgo

Member
Contributor
Hunter
Trees should work like so; there is a tree, a stem/special-leafblock, and a fruit. The fruit should be kinda flexible, to allow for different quality of fruit. The tree is similar, doesn't have many, if any arguments passed to it. The tree should probably have some arguments to tell where to put stems/special-leafblock in the tree foliage depending on time/season/nearby resources (like say, water. More water= more stems). Now for the real magic. The stem is gonna do all the work, so it should be carefully made. The stem should be highly customizable. For one, stem should be able to take on any shape or texture, as for stems should be left up to the moder to customize. So a stem can have many stages, it is up to the specific stem. For short hand, lets call stage one, blossom. A blossom is the block formed when the tree is generated. Blossom decides how things will play out. It's job is to use information to alter itself and the fruit. So, a blossom should check for the following, time/season/daylight. If these are all to the moder's likings, said moder can pass a command to the blossom to change texture and state. Now the blossom has some values changed that tell it that it's ready to produce. Blossom, now producing-stem, does the following. It grabs information about the environment. Biome, state of current fruit, weather, Season, time of day, temperature, sunlight exposure, nearby resources, nearby biomes etc. The moder can do what ever with these values. Let's say, when the the values are right, it creates the fruit block. The fruit block has the value of "immature". As everyday passes, the stem gathers environmental data to customize the fruit, until it deems it ready for whatever. Perhaps when ready, the moder tells the stem to drop the fruit, and revert to stem stage one. This will not be limited to fruit, it can be any block really. So yes, if you wanted, you could make ore trees that produce better ores in better weather.

Here are some examples of what moders could do. if bees and another tree within same radius from itself to bee exists, create hybrid. That's one example. Another example would be if the stem if in colder biome, it makes the apple more potent for cider, or something. Or, if ancient Indian burial ground block exists within X blocks, stem produces evil fruit/rots current fruit.

Of course the stem would have access to it's own values (break, drop, right click, use). If the moder deemed fit, he could not make an external fruit block, and make the fruit be the drop item of the stem, and have the stems break function produce a new stem. (useful for bushes bushes and trees that should should not have stems/limited leaves.


in short. the stem block is a highly customizable block. It has access to lots of environmental/world data. It can change it's own values, or alter values of blocks around it. It should have support for many logic statements.
 

Marcin Sciesinski

Code ALL the Ages!
Contributor
World
Architecture
Yeah, the problem with the fruit trees and stem/fruit doesn't work very well with growing trees, I think.
 

chessandgo

Member
Contributor
Hunter
What i would do is, leave stems behind. Tree grows, leaves stems behind. Next tick, stem checks it's surrounding blocks, stem realizes environment has changed. Stem scans, stem finds tree again. Stem shifts it's self back into the tree.

Alternatively, stem has move function. Tree passes argument to stem when it grows. Say it's direction or something. Argument sent to stem. Stem gets argument. Stem checks for all the blocks that it "owns". Stem uses it's move function to move itself (and the blocks it owns) when the tree grows.

Or also. Stem is hooked into tree. Stem knows when tree is going to grow, just like tree. Stem is knows next phase of tree. Stem does some math to figure out where it should be. When tree grows, stem moves itself.
 

coegho

New Member
I really love this module. It's one of the first things I saw when I found this project, and I cannot wait to see it working on a real server.
But as a person of coast that I am, I miss one little thing: shellfish!
It could work in a very similar way to terrestrial farming, but being on sand under water instead of be on grass under air. It was a really important source of food in prehistoric ages, so it could be a good addition.
If I find some free time at the end of this month, I could try to code this by myself, if you think it's a good idea, of course.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Hi @coegho and welcome! That is totally doable and sounds like a good idea :)

Making a new shellfish item/icon should be pretty easy, making it drop from sand block likewise. Adding in a check for nearby water is doable, but not sure we have any good examples to go on. Making actual farming by planting things underwater would be more tricky as the water blocks take up the primary space - we've talked making liquids not be blocks so you can have underwater plants and such, but nobody is actively working on it.

There are other potential sneaky ways to do it though, like replacing the sand blocks making up an ocean floor with different blocks that have top textures indicating some sort of plant growth. You could even have a player harvest such a block by "breaking" it, but really replacing it with a normal sand block instead. That way you don't get an ocean floor looking like Swiss cheese :)

Let us know when you get some time if you need any help setting up to code!
 
Top