[Mod] lib_ecology [lib_ecology][git]

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

[Mod] lib_ecology [lib_ecology][git]

by ShadMOrdre » Fri Jan 19, 2018 22:29

MAJOR UPDATE: 2019-08-31
Image

UPDATES:
Now include limited farming functionality.
All plants and saplings grow via node timers.
Minimal use of ABMs, largely for leaf decay and other behaviors from default.
All schematics held in single table of lua schematics, providing faster loading and more efficient gameplay.
Code has been refactored.

lib_ecology is a central repository of plants and trees. It combines default, ethereal, moretrees, moreplants, plant_lib, cool_trees, random_trees, trees, valleys_c, forest, 30biomes, and also pulls from Farlands, Adventuretest, Grailtest, rpgtest, Skylands, and includes some creations of my own.

Included are roughly 100 plants and 100 trees (with corresponding schematics). The majority of these are naturally occurring plants and trees, but this does include some fantasy type plants, and mushrooms. These are spawned throughout the world, according to their natural distribution, as far as I can manage.

This mod requires lib_materials for normal plant and tree generation, but should also work without this dependency, only providing the nodes and with no current access to the schematics that build a tree.

Biomes are defined by 5 temperature points over 5 humidity points for 25 climate zones. Each climate zone is then subdivided based on altitude, for a total of 200+ biomes. Now included are Ecosystems. Each biome can include multiple ecosystems, to break up the monotony of most current biomes.

Can be ran with Australia and Aeotora (with a modification to those mods to not clear biomes) to really pack a visual punch. Working on making this a little easier via settings, and perhaps pull requests to those mods.

This should be ran on a new world, but will work on existing worlds where the map has not yet been generated.

DOWNLOAD:
lib_ecology

DEPENDENCIES: Github - lib_materials? or Forum - lib_materials
OPTIONAL DEP:

LICENSES: LGPLv2.1, for code by me, CC-BY-SA-3.0 for graphics by me. Other licenses apply for code and graphics done by others. Where found, those licenses included.

Image
Image
Image
Attachments
screenshot_3.jpg
(250.36 KiB) Not downloaded yet
screenshot_1.jpg
(401.64 KiB) Not downloaded yet
screenshot_2.jpg
(222.83 KiB) Not downloaded yet
Last edited by ShadMOrdre on Sat Aug 31, 2019 17:49, edited 10 times in total.
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

User avatar
azekill_DIABLO
Member
 
Posts: 7489
Joined: Wed Oct 29, 2014 20:05
Location: OMICRON
GitHub: azekillDIABLO
In-game: azekill_DIABLO
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] Ethereal Valleys [lib_ecology][git]

by ShadMOrdre » Mon Jan 22, 2018 06:50

More screenshots.

Image
Image
Image
Attachments
screenshot_04.png
(846.62 KiB) Not downloaded yet
screenshot_03.png
(926.82 KiB) Not downloaded yet
screenshot_02.png
(716.03 KiB) Not downloaded yet
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

User avatar
texmex
Member
 
Posts: 1578
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex
 

User avatar
Gael de Sailly
Member
 
Posts: 731
Joined: Sun Jan 26, 2014 17:01
Location: Lyon, France
GitHub: Gael-de-Sailly
IRC: Gael-de-Sailly
In-game: Gael-de-Sailly Ginkgoo

Re: [Mod] Ethereal Valleys [lib_ecology][git]

by Gael de Sailly » Mon Jan 22, 2018 20:10

Interesting, very good work. This is really the kind of things I'd like to see in the game.
There was a small bug for which I propose a fix in a pull request.
Then I launched the game and started exploring the world for several minutes. This mix between Valleys and Ethereal seems a great idea.

I was walking in the bamboo forest as far as I could see, and suddenly this amazing green valley opened to my view, emerging from the fog.
Image

But, as you said, this is very expensive in terms of memory usage, and my very weak computer has nearly completely filled its RAM + swap. I don't really understand why it needs so much memory, there may be some possible optimizations. That said, I've not seen the code in details and don't know exactly what it does.

I'd would be very interested in working with you on this project.
Just realize how bored we would be if the world was perfect.
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] Ethereal Valleys [lib_ecology][git]

by ShadMOrdre » Tue Jan 23, 2018 04:36

Firstly, thanks for valleys. And also to duane, for his contributions. This work is really still mostly ethereal and valleys_c code, so you should be able to dig right in. I hope I didn't garble it up too much. Filenames and variables are still pretty much the same. I must admit, some of the code is still foreign to me at this time, ie, mapgen and tree generation.

I like how you generated and colored some trees by code. I'd like to think that between your code and sofars luscious mod, I also might be able to come up with better biome blending as well as tree uniqueness and colorization.

My goal is to get this more modularized, getting each of the plant nodes, tree nodes, and ground nodes culled, sorted and working at least as they do now. Also, by adding both biome sets, I have found some biomes to either be too similar, or overlapping to the point that I don't know if all biomes are being generated. But by digging in to all this, I can sort them out, and get them to blend better. I also want to get the mapgen down to just terrain, so that it's parameters can be played with easier. Adding custom settings to enable/disable aspects or breadth of this mod can also help users on more modest devices, while still getting the experience.

I must admit, I originally used this mod on mg_valleys, but using custom params on mgv7 with the mapgen from this mod using noise values from your valleys lua mapgen is providing some interesting locations as well. Flatter terrains with more gentle hilly areas.

Thanks for your interest Gael, I'm flattered that this caught your attention.

Oh, by the way, I merged the pull request.

Shad
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] lib_ecology [lib_ecology][git]

by ShadMOrdre » Fri Dec 14, 2018 07:41

Added new screenshots.

Image
Attachments
screenshot_10.jpg
(375.65 KiB) Not downloaded yet
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

FrostRanger
Member
 
Posts: 10
Joined: Thu Oct 11, 2018 05:40
Location: A frozen Realm in another dimension
GitHub: WulftheNordicRanger
IRC: FrostRanger
In-game: FrostRanger

Re: [Mod] lib_ecology [lib_ecology][git]

by FrostRanger » Sun Jan 20, 2019 02:03

Looks great! There are some issues with some of the ethereal stuff creating unknown nodes when mined though. Are there any plans to get it to work better with farming redo and mobs redo?
Protector and sole ranger of the frozen realms and seeker of the ever elusive Dungeon Master
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] lib_ecology [lib_ecology][git]

by ShadMOrdre » Mon Jan 21, 2019 03:36

FrostRanger,

Thanks for the feedback.

I am still in the process of reclassifying some of the items from the underlying mods. The fishing aspect of ethereal, IMHO, should be a seperate mod, or part of a tools mod. As for some ethereal nodes dropping unknown items, this is most likely due to a defined drop within the node definition. I'll get that issue resolved quickly, and upload a version 2.1 update within the next week. This update will include new nodes, and other changes that may lead to new unknown nodes. An example is that I have renamed some tree definitions.

As for supporting Farming Redo, that has been in my crosshairs for some time now. After briefly reviewing the forum topic for Farming Redo, I've noticed what might be causing bugs with growing plants. I will also try to address this before the 2.1 update.

Shad
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] lib_ecology [lib_ecology][git]

by ShadMOrdre » Tue May 07, 2019 16:32

repost forum topic with updated links to github repository.
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

WayBack Machine
New member
 
Posts: 6
Joined: Fri May 03, 2019 19:42

Re: [Mod] lib_ecology [lib_ecology][git]

by WayBack Machine » Tue May 07, 2019 16:48

ShadMOrdre wrote:repost...

FWIW, the last capture I triggered has a couple of lost pics and posts :
https://web.archive.org/web/20190420074 ... =9&t=19470

Because yours is another interesting thread.
 

User avatar
sorcerykid
Member
 
Posts: 1061
Joined: Fri Aug 26, 2016 15:36
Location: Illinois, USA
GitHub: sorcerykid
In-game: Nemo
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] lib_ecology [lib_ecology][git]

by ShadMOrdre » Thu May 09, 2019 06:14

Wayback and sorcerykid,

Thank you very much for the recoveries!!!

I'm currently working to get the XOcean and Cool_Tree mods included, getting the ecosystems fleshed out, and doing some general cleanup. I'll be posting a new update within a week or so.

Here are some screen shots, showing ecosystems in action.

Looking South.
Image

Looking North, over the same area.
Image

Standing just off origin, and zooming in across the same area.
Image
Attachments
screenshot_20190508_013910.jpg
(272.03 KiB) Not downloaded yet
screenshot_20190508_011421.jpg
(360.99 KiB) Not downloaded yet
screenshot_20190508_011144.jpg
(366.62 KiB) Not downloaded yet
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

_E7
Member
 
Posts: 16
Joined: Wed May 15, 2019 10:34

Re: [Mod] lib_ecology [lib_ecology][git]

by _E7 » Sun May 19, 2019 01:16

This looks like a nice mod!

Sadly i don't seem to have much luck actually trying it. v2 errors on table.contains_substring in init.lua line 67 and v5 doesn't do all that much. It loads and i can see lots of stuff in the creative inventory but aside from a couple plants and some brown stone here or there it looks pretty much default. Flying around i haven't been able to locate a single bamboo or banana tree. Actually i don't think i've seen any special tree at all. Also /biomes_get lists only 5 biomes which i guess are the default ones.

In any case i don't get anything resembling the screenshots posted in this thread. Looking over the code i found the reference to the file declaring the biomes commented out and the file itself missing. Is the v5 code on github somehow unfinished or is there something else that could cause this? Any clues would be greatly appreciated.
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] lib_ecology [lib_ecology][git]

by ShadMOrdre » Sun May 19, 2019 04:07

_E7 wrote: Also /biomes_get lists only 5 biomes which i guess are the default ones.

In any case i don't get anything resembling the screenshots posted in this thread. Looking over the code i found the reference to the file declaring the biomes commented out and the file itself missing.


Did you also download lib_materials? This mod depends upon lib_materials. Biomes are now defined in that mod, since biome definitions are more about defining the stone and dirt for biomes. It made more sense. Also ensure that you are not using any other mods that would clear the registered biomes, decorations, or ore definitions.

This mod now really only defines plants and trees, and decorates the various biomes accordingly.

I am about to release an even better version, that includes multiple ecosystems within each biome. I've always thought that using biome definitions alone creates rather monotonous looking environments, and the way that biomes blend doesn't always lead to good looking transitions. Now, biomes include ecosystems that are unique environments within each biome. I've been using Wikipedia as a simple guide to creating somewhat realistic and unique looking spaces. I'm tweaking some of the basic code and will release within a week or two.

The screenshots that I've been posting are of the code, as it exists on my server, which is only as new as the posted v5 version of lib_ecology, so about a month of dev work. Any differences one would notice from my dev work versus the v5 version in any screenshots would only reflect the addition of the ecosystems, and my attempts at replicating anything realistic.

I will admit that not all trees and plants get spawned in the v5 version. This is getting corrected, for the most part, in the new release. Even in my screenshots that I've posted, the world looks rather sparse.

Please ensure that you have the lib_materials mod installed in addition to lib_ecology. You can see which mods are actually enabled for any given world by using the /mods console command.

Please let me know if this helped.

Shad
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

_E7
Member
 
Posts: 16
Joined: Wed May 15, 2019 10:34

Re: [Mod] lib_ecology [lib_ecology][git]

by _E7 » Sun May 19, 2019 07:34

ShadMOrdre wrote:
_E7 wrote: Also /biomes_get lists only 5 biomes which i guess are the default ones.

In any case i don't get anything resembling the screenshots posted in this thread. Looking over the code i found the reference to the file declaring the biomes commented out and the file itself missing.


Did you also download lib_materials? This mod depends upon lib_materials. Biomes are now defined in that mod, since biome definitions are more about defining the stone and dirt for biomes. It made more sense. Also ensure that you are not using any other mods that would clear the registered biomes, decorations, or ore definitions.


Yes, i had lib_materials BUT your post made me realize that there is a v5 version of it too. I just browsed your github to get it and didn't look to closely when cloning so all i had was the master branch of lib_materials. Updating lib_materials to v5 unsurprisingly fixed it. Thanks a ton!

Being able to actually see it first hand all i can say is: Wow it's beautiful! Sure there are a couple rough edges and you are right about vegetation being a bit sparse but all in all it's pretty cool. I am definitely looking forward to your next release!
 

_E7
Member
 
Posts: 16
Joined: Wed May 15, 2019 10:34

Re: [Mod] lib_ecology [lib_ecology][git]

by _E7 » Sun May 19, 2019 20:17

Having played with it for a bit i have another question if you don't mind: How would i best combine this with other mods that have blocks integrated into lib_materials? Should i try to define aliases, hack those mods to use the blocks from lib_materials or is there another/better approach? Also how would lib_materials/lib_ecology interact with for example technic_worldgen which seems to be responsible for placing technic's custom ores? I guess i'd have to patch that to play along or am i missing something here?
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] lib_ecology [lib_ecology][git]

by ShadMOrdre » Mon May 20, 2019 05:48

_E7,

Now those are some GREAT questions!

Long ago, I grabbed a copy of Wuzzy's Empty game. I then began to add mods, as desired, to the "game" folder. As I've added newer mods to the collection, invariably, things got broken, ie, some mods don't have the requisite materials available for the recipes and what not. This is a MAJOR issue, IMHO, but one that should be considered in this light. It is time to move beyond MC thinking. Most of the existing mods, like technic, were made to provide depth to the MT game, and so only really work with that subgame. Any other subgame, that I've looked at, also used the default mod, and thus technic worked out of the box. I've actually used some of the technic nodes in lib_materials. I've considered adding an alias file to lib_materials and lib_ecology, this just has not been a priority. Since I include the default materials anyway, adding aliases should be rather trivial. I will gladly accept any pull requests that want to address this issue!

There is still some work due on lib_materials, as most of the stone and ores are not yet generated by default. So much work...... but I'm lovin' it. Where I could also use suggestions is for ecosystems from parts of the world in which I have not been, which is pretty much everywhere. What I mean by this, is I need ideas for pioneer and keystone species, with relevant soil type, and relative temperature/humidity levels, so that I can appropriately fit the ecosystems within the biome definitions.

With 5 temperature points, 5 humidity points, 8 levels of elevation, 16 types of dirt and 8 types of grass cover, this gives me:
Code: Select all
((((5x5)x8)x16)x8) = 25600 possible ecosystems


This is a lot of data to hand generate.

Thanks for the positive feedback.
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

_E7
Member
 
Posts: 16
Joined: Wed May 15, 2019 10:34

Re: [Mod] lib_ecology [lib_ecology][git]

by _E7 » Mon May 20, 2019 15:10

Sure, i can give it a try. What do you think about something along the lines of (obviously also for nodes and tools):

Code: Select all
local function register_craftitem(name, alt, def)
   if minetest.registered_craftitems[alt] then
      minetest.override_item(alt, def)
      minetest.register_alias(name, alt)
   else
      minetest.register_craftitem(name, def)
   end
end

register_craftitem("lib_ecology:stick", "default:stick", {
   description = "Stick",
   inventory_image = "lib_ecology_stick.png",
   groups = {stick = 1, flammable = 2},
})


I thought about having the function search for items with the same name but differing namespace and automatically alias that so it would become a drop in replacement for minetest.register_x but i guess it would be to clever for it's own good (inflexible due to needing to keep item names of originating mods).
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] lib_ecology [lib_ecology][git]

by ShadMOrdre » Mon May 20, 2019 16:00

That would be a very nifty way to include craft recipes, overrides and aliases. I like that the function def includes a param for the alt name. I have purposely changed some names to better fit with the overall naming scheme, which is to name items in an ontologically friendly way. This provides db friendly sorting, while also allowing future modders to easily use the materials provided by these mods.

I would recommend, if you have not already done so, to create a github account, and fork this project. In this way, you can easily add pull requests.

Again, thanks for the feedback.
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

_E7
Member
 
Posts: 16
Joined: Wed May 15, 2019 10:34

Re: [Mod] lib_ecology [lib_ecology][git]

by _E7 » Mon May 20, 2019 16:35

Yeah, i figured some items would need renaming to fit into a tidy naming scheme.

Alright, i'll go and test the waters to see if github likes me ;) I am actually using a different SCM but i guess sending diffs would get messy quick.
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] lib_ecology [lib_ecology][git]

by ShadMOrdre » Tue May 21, 2019 16:07

_E7

Just for the record, and this is not exhaustive. The following are a list of the mods from which lib_materials/lib_ecology are derived. Most rock, dirt, sand, glass, liquid, and ore types come from one of these mods or subgames. If you choose to make the aliases, these would be the most relevant, IMHO.

Default, Darkages, Ethereal, Moretrees, Moreores, Rocks, Technic, Valleys_c mods.
AdventureTest, Farlands, Grailtest subgames.
Node_Texture_Modifier mod.
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

_E7
Member
 
Posts: 16
Joined: Wed May 15, 2019 10:34

Re: [Mod] lib_ecology [lib_ecology][git]

by _E7 » Tue May 21, 2019 17:58

I have started with aliasing the dirt nodes. Plan is to move on file by file. I'll try to figure out how to make a pull request once i am done with the dirt nodes. I hope you don't mind if i tidy up the formating a bit while i move along. Saying i have a mild case of OCD when it comes to source code would be an understatement and the overlong lines are strongly triggering it ;)
 

_E7
Member
 
Posts: 16
Joined: Wed May 15, 2019 10:34

Re: [Mod] lib_ecology [lib_ecology][git]

by _E7 » Mon May 27, 2019 13:40

OK, i've submitted a pull request for adding aliases to lib_materials. There is a couple where i couldn't figure out the origin but the bulk is covered. Let me know what you think.

Having had a closer look at the code i have some observations/suggestions:

- I'd split the crafting recipes and probably also the item definitions from the nodes. The code is pretty massive and it's hard to get an overview so breaking it down into smaller chunks would improve maintainability a lot in my opinion.

- There is quiet a bit of duplication among the nodes. I guess you just didn't get to it yet but given some nodes are just differentiated by numbers there is probably some that could simply be deleted without losing any noticeable variety.

- Some nodes could/should be added to more generic groups. For example there is like 4+ marble/granite nodes. If all of them get used in the map it would be somewhat annoying to just have a single one of them work with technic. Even if just one of them gets used being able to refer to a group instead of hardcoding the actual node would be advantageous. I think patching the target mod would be the lesser evil here.

- The mapgen/biome code feels out of place in a library dedicated to providing materials. It's not much of a problem though since this code is confined to it's own files and doesn't really get in the way. It just feels wrong.

Edit: I know that lib_materials is ment to be a general resource but since it's main (public) use seems to be to provide nodes for lib_ecology it might be a good idea to make it into a specialized world node library. People who want to use lib_ecology won't get much out of the building nodes since they often aren't even craftable.
 

Next

Return to WIP Mods



Who is online

Users browsing this forum: No registered users and 3 guests