I think there's no reason to reinvent the wheel here. I think the code that generates the mineshafts could be reused for villages:Robsoie wrote:I think villages simply should be varied size, there should be small villages, big ones, little community habitat, different type of building found in a settlement bit not in another etc... to allow more diversity and so more interest in exploring more the world.
But that's more about wishfull thinking as i have no idea how to do that :D
\ +-------+
.\| ++ |
..| || |
..+--++---+ <- structure base's centre (or the entrance) is at terrain height
...^..\ :
...|...\ : <- here, where the terrain is lower than the base, needs to be filled
...|....\: up with the default block of the biome (dirt, sand, snow etc.)
...|.....\
|
here, where the terrain is higher than the structure's base, the terrain should be simply removed
Robsoie wrote:Having made a fishrod and a boat, i went to fish a bit at sea.
And i don't think what i saw was intended :
lots of land animals seems to spawn on the sea surface.
bzt wrote:It's easy to implement, simple and imho looks good. And this algorithm works on arbitrary terrain, there's no need for a huge plains to place the villages. (Note that the road follows the terrain's height, so houses would be placed at different heights.)
I have to admit, I have no clue how they look like in MC. The only villages I know in a voxel game is your mg_villages mod :-D They look good (I like that there are many different kind of houses), but require a huge plain terrain to be placed, according to Wuzzy. But I agree, if MC villages are generated in 2D and just dropped on the terrain then it's lame. We could easily do much better! What I proposed would follow the terrain's height, and also because houses would be generated next to the road (as chests in corridors), that would guarantee passage between houses. Let's talk about this, maybe if we work together we can came up with a good solution, your house models and village mod (which is awesome btw), and my road algorithm. Maybe it could fit into MCL2 perfectly too (if Wuzzy don't mind that villages wouldn't be exactly like in MC)! What do you say? I have fair knowledge on programming, but not much with MCL2 Lua interface, mts handling nor with Minetest plugin writing.Sokomine wrote:bzt wrote:It's easy to implement, simple and imho looks good. And this algorithm works on arbitrary terrain, there's no need for a huge plains to place the villages. (Note that the road follows the terrain's height, so houses would be placed at different heights.)
I did take a look at screenshots and videos from MC villages when I implemented mg_villages, but I didn't like the way the MC villages looked like. The houses where too simple in style, the roads (village seems to be generated in 2d and then dropped on the terrain no matter what it's like) often not passageable and houses - even though they're small - often sitting on too high dirt platforms.
bzt wrote:I have to admit, I have no clue how they look like in MC. The only villages I know in a voxel game is your mg_villages mod :-D They look good (I like that there are many different kind of houses), but require a huge plain terrain to be placed, according to Wuzzy.
bzt wrote:But I agree, if MC villages are generated in 2D and just dropped on the terrain then it's lame. We could easily do much better! What I proposed would follow the terrain's height, and also because houses would be generated next to the road (as chests in corridors), that would guarantee passage between houses.
bzt wrote:Let's talk about this, maybe if we work together we can came up with a good solution, your house models and village mod (which is awesome btw), and my road algorithm.
bzt wrote:Maybe it could fit into MCL2 perfectly too (if Wuzzy don't mind that villages wouldn't be exactly like in MC)! What do you say? I have fair knowledge on programming, but not much with MCL2 Lua interface, mts handling nor with Minetest plugin writing.
Sokomine wrote:bzt wrote:But I agree, if MC villages are generated in 2D and just dropped on the terrain then it's lame. We could easily do much better! What I proposed would follow the terrain's height, and also because houses would be generated next to the road (as chests in corridors), that would guarantee passage between houses.
Right now, using the village generator that nore created (which mg_villages does), roads are generated and then houses or roads branching off are placed at the sides.bzt wrote:Let's talk about this, maybe if we work together we can came up with a good solution, your house models and village mod (which is awesome btw), and my road algorithm.
How much do you know about how mapgen works? I was thinking about having one large road going over the entire map i.e. from north to south, with villages located directly at or close to this main road. The main road could perhaps even wind around the map like the river in Riverworld.
I see, my mistake.Sokomine wrote:Require...may not be the right word here. Mg_villages creates the flat village area before placing the village. You can see that if you use it in a combination with a mapgen that i.e. just creates a 1 node deep ocean. The villages will then appear as islands. How large the village will be depends on the village type and can be configured.
Where I live (IRL) villages are actually on the top of the hills. It's a quite common landscape that the main road runs through the spine of the hill, and farms are going down from the top on the hillside.Sokomine wrote:I was wondering how to adjust house positions to terrain height for quite a while. Eventually I settled on this flat solution after observing many players ingame: The vast majority flattens the land first. A few can adjust to sourrounding terrain and build something that fits in. A few even more capable builders can shape the terrain according to their taste and make it look natural and beautiful. Thus, buildings found on rather flat terrain are common. If the vilalge is created in an area with many hills and mountains, it may even look like it was placed in a valley - a location where many real villages sit.
I think you should simply copy the height of the terrain to the roads, and then only flatten the terrain below the houses. You should try it and see how the generated villages look like.Sokomine wrote:Right now, using the village generator that nore created (which mg_villages does), roads are generated and then houses or roads branching off are placed at the sides.
I think I've seen modules to generate roads across the map. This is a very good idea imho.Sokomine wrote:How much do you know about how mapgen works? I was thinking about having one large road going over the entire map i.e. from north to south, with villages located directly at or close to this main road. The main road could perhaps even wind around the map like the river in Riverworld.
You are probably right. However MCL2 is the closest thing to a proper MC feeling, and it has lots of features that I simply couldn't achieve in Minetest Game using mods. Mobs are one of the main issues here. No matter which mod I've tried, MCL2 is still the best by far (apart from mobs playing Jesus, aka walking on water, of course :-)Sokomine wrote:Forget about MCL2 in that regard. I do support it to some degree in mg_villages and consider it important, but MCL2 doesn't make life easy for other mods. Perhaps Wuzzy ought to add a translation function/table for node names that correspond to those in default. Having an own name space as such isn't bad, but there need to be translations. There's a reason why standads exist.
Actually I wouldn't mind separated villages in MCL2 if they were spawned at all (with a few villagers to trade with). But I think what you want can be achieved reasonably easily. I'm pretty sure that when a mapchunk is generated, there's a Lua callback which gets called (however that page only notes an explicitly called callback, there should be a global one too). Now there's two things:Sokomine wrote:In order to create a mod where villages are not isolated occourances that are not connected with each other, you have to know where each village is (can be done to some degree - after all even spawn position is set deliberately to a place where a village is, and positions of generated villages are stored) and where your roads will be. The trouble is that mapgen throws a mapchunk at you and you have to be able to generate exactly that slize of the map that's inside this chunk without knowing how it's connected to the rest (apart from the position).
excavenger wrote:okay, this is too much.
bzt wrote:Where I live (IRL) villages are actually on the top of the hills. It's a quite common landscape that the main road runs through the spine of the hill, and farms are going down from the top on the hillside.
bzt wrote:I think you should simply copy the height of the terrain to the roads, and then only flatten the terrain below the houses. You should try it and see how the generated villages look like.
bzt wrote:You are probably right. However MCL2 is the closest thing to a proper MC feeling, and it has lots of features that I simply couldn't achieve in Minetest Game using mods. Mobs are one of the main issues here. No matter which mod I've tried, MCL2 is still the best by far (apart from mobs playing Jesus, aka walking on water, of course :-)
bzt wrote:that when a mapchunk is generated, there's a Lua callback which gets called
bzt wrote:1. at world creation time, a 2D web of roads should be generated between the villages (as you said, their spawning coords are known)
bzt wrote:when a mapchunk is generated, a Lua callback should check the chunk's coordinates, and if it's on the surface and intersects with the road map, then the upmost bricks should be changed to road blocks where the road map intersects the chunk.
And also influenced by the terrain :-) Here the landscape looks like many long (not too high) hills with valleys one after another. It's often raining (flooding the valleys) so I guess it was obvious to place the roads and houses on top the hills (however as time went by, the rivers got regulated and there are houses everywhere lately).Sokomine wrote:That's intresting! I've already noticed during research for the medieval build style of my villages and the villages in general that quite a lot of it does not only seem time-limited (this was so for a period of time) but also regional.
That's a pity. Looked like a good idea. I guess we have to live with flat land villages, not a big deal.Sokomine wrote:Sadly, awful. I had this by accident during mod development. The villages inside mg_villages are also pretty tightly placed. There's not much room between them for rough terrain.
I've tried those (and a few others as well). But the goal here is to get the feeling closest to MineCraft for my boy. If he says it's not like that, then I have to look for another mob mod. With MCL2 he was satisfied in 100% and only missed the villages.Sokomine wrote:There are a lot of diffrent, intresting mob mods out there. mobs_redo is pretty common; but there's also nssm (not so simple mobs) with lots of nice and detailled models (sadly, they're all out to kill you - even the ducks!), or more recently petz with intresting concepts and - apart from the cuteness and some errors - relatively convincing npc. Just...if you get ever tired of one kind of mobs - there's more out there :-) Until then enjoy the ones you've got :-)
Users browsing this forum: No registered users and 1 guest