Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by BearWrestler

  1. Honestly what you describe sounds horrendously boring to me and the complete antithesis of immersive gameplay, not to mention that you've ruined any enticing natural appearance the cave might've had after you're done "redecorating" to control drifter spawn. I really hope the devs are planning to cut down on insta-placing of blocks down the line, given how at odds it is with the more realistic crafting processes. At least during combat - I'm not as bothered by abstracting time away when everything is peaceful. Once they've taken away map-altering mechanics like fences and dirt spam, devs can actually focus on quality fighting mechanics, for instance modeled after King's Field/Demon Souls/Dark Souls where single enemies can be very challenging. There are a million more ways to make combat more interesting, which is why I'm so surprised to see you defend the status quo so desperately. For instance having territorial monsters that defend their abode, instead of charging you on sight. The game might need a massive redesign in some areas to make them work, but without such ambitions it will forever feel mediocre (in the fighting area, it obviously has superior crafting mechanics). As far as the resource gating goes, caves don't really gate anything useful except teleporters, which would gain from being accessible much earlier to encourage map exploration. Ore can be found more efficiently by systematically prospecting a zone to identify the best chunks, and then digging multiple vertical shafts which often don't run into a cave at all. The main challenges in cave exploration should be similar to real-life: darkness and treacherous, perhaps slippery terrain, the cold, getting lost, starving. A weight system limiting how much you can carry in such an expedition, especially when climbing ladders (and future ropes) and swimming in eventual flooded passages would go a long way in adding challenge. Dissociating enemy spawns from the dark and preventing the player from unrealistically spamming the whole place with torches would also improve the exploration mood a lot.
  2. I never said that the underground should no longer be dangerous. I said that it shouldn't be dangerous everywhere, just in certain easy to identify regions of the map. Again, just like Terraria which has corrupted biomes which are way more dangerous than the rest of the map, and are even more dangerous the further down you get. This 100%. My group doesn't like using exploits either, or running around like crazy kiting drifters like you see some poeople on Youtube do. They don't make exploring the underground feel any better. Also some of them involve turning dirt physics off. Honestly almost anything spawning system you can think of would be better than the current situation with cave exploration. Doing enemy spawn exactly like Minecraft (especially now that it only spawns enemies on 0-light blocks and in spawners) would be a huge improvement, for instance. Even when playing a challenge where torches were forbidden and surrounded by multiple pitch-black areas, enemy spawns were rare enough that a creeper silently dropping next to you was a huge surprise, and infinitely more scary than drifter spam. Vintage Story is a slow, almost meditative game (see: crafting pottery). It's so weird that it turns into some kind of frantic tower defense as soon as you head underground. Spamming enemies is totally not "Lovecraftian" as the game claims to be. Something much more appropriate would be to make cave exploration a lonely, wondrous experience with hints of danger and dread, and the occasional encounter with something scary and dangerous. Making the world go deeper and having caves be much larger systems that you can really get lost and travel in (think Jules Verne's Journey to the Center of the Earth) would help in this regard.
  3. I do believe there is a bug, that might be similar to the problems fixed in 1.15.2 with the foliage decay queue not being processed fast enough. I'm under the impression that there is a spawn queue that can take quite a while to process. So what probably happens is that the wolf/drifter spawn gets requested at the correct distance from the player, but by the time the spawn request is processed the player might've moved to the exact spot of the spawn, resulting in the often-experienced "spawn on top of your head". What seems to reinforce this theory is that I've recently experienced animals taking several days to appear in some locations. Coincidentally, the server was working pretty hard because all three of us had cranked our view distance to maximum to take screenshots and were exploring separate areas of the map. I think it's great to have mid-game and end-game challenge areas, but not so great to completely block players from serious spelunking until they are fully decked out. Exploring caves is one of my favorite activities in Minecraft (and doubly so since the magnificent Caves and Cliffs snapshots have landed), not so much in Vintage Story because of the endless hordes of drifters. Even with switching to Exploration mode to make them less aggressive and making them spawn only on light level zero blocks, they can be quite an annoyance. The best idea would likely be to have corrupted biomes like Terraria, which are a lot more dangerous, but also have areas with much lighter challenges where you can explore pretty deep.
  4. Thanks for sharing your opinion and advice guys. I do appreciate this community - and the game as well, although I got a bit grumpy. I do agree that the mod DB was a good move, worth the time invested. Small update, now some animals decided to show up in a few locations (possibly cooler ones?), but it took something like 4-6 in-game days for them to appear. I have no clue whether this is due to 1.15 or adding back Primitive Survival, or if it was always that delayed and I never noticed. Or perhaps the server was overloaded somehow and struggling to process the spawning? Either way, it seems like something the game might have to solve, because areas felt awfully empty when exploring and it was hard to locate those with fauna. Don't berry bushes stop maturing and even regress above 30 Celsius now?
  5. Maybe the game has been invaded by players (at least the portion of them visiting the forums and voting on polls) who'd rather play house than horror survival. Doesn't make me any less disappointed, it's not what's advertised on the tin (a.k.a homepage), and devs specifically said they were not slavishly following player's wishes. Also, I suspect that a portion of players who voted homesteading had in mind more primitive survival-related stuff like animal husbandry - which barely got touched in 1.15 -, rather than pies and interior decorating, a.k.a. grandma simulator 2021.
  6. Thanks for the confirmation. Damn, I wish the game was more up-front about this kind of thing, because it's gonna dash my small group's hopes. Something like showing this message at download time or when starting a new world: "If you want to have fun and progress through the available tech levels, stick to a temperate region (fauna is incomplete in other climates) outside wooded areas (primitive spawn mechanics make it impossible to be safe from wolves)". In light of this and previous findings I'm not happy with 1.15's direction (although I like the single feature of the rope ladders). Pies, seriously? Why not knitting, tea sets and embroidery while we are at it*? When the water and tropics are devoid of life, there's no breathing mechanic (and player is hardcoded to sometimes spawn in water so community can't mod in oceans or breathing), drifter and wolves spawn right on top of you and a nomadic lifestyle is pretty much impossible without modding? *Vintage Story, the uncompromising Tea Salon game! Horror elements include your cookies being slightly charred, and gossiping.
  7. Our small group of 3 players made it to the South after an epic journey of 15000+ blocks. I must say that seeing the scenery gradually changing as temperatures rose was pretty amazing, something you can't experience in Minecraft for sure. It felt like quite the achievement to see our first bamboos and saguaros, not to mention termite mounds and hyenas in the desert. However, when we explored further to find a spot to settle, we found very little in the way of animals (besides aurochs which I believe are from Primitive Survival). Is that something expected of tropical areas, or were we perhaps moving faster than the server's capacity to add spawns? I know that at some point I cranked up my view distance to max to take screenshots which I imagine must increase the chunk generation load. At this point we're getting disappointed since the plan was to settle in the south all along, but it won't work if there's no food. Hence my trying to figure out if it's just content that's not implemented yet, a 1.15 bug, some mod issue, a config issue, us not waiting long enough for the spawns to appear (is more that a full day-night needed?) or gremlins.
  8. Looks like this mod crashes under 1.15: 16.7.2021 20:40:31 [Fatal] System.Exception: Asset game:worldgen/schematics/overground/ldsurfacetrans01a.json could not be found à Vintagestory.Common.AssetManager.Get(AssetLocation Location) à Vintagestory.ServerMods.WorldGenStructure.Init(ICoreServerAPI api, BlockLayerConfig config, RockStrataConfig rockstrata, LCGRandom rand) à Vintagestory.ServerMods.WorldGenStructuresConfig.Init(ICoreServerAPI api) à Vintagestory.ServerMods.GenStructures.initWorldGen() à Vintagestory.Server.ServerSystemSupplyChunks.LoadWorldgenHandlerAndSpawnChunks() à Vintagestory.Server.ServerMain.EnterRunPhase(EnumServerRunPhase runPhase) à Vintagestory.Server.ServerMain.Launch() à _aZ2fvA6N0dSuJcMaBGoJm3sgDNM._lHZsoVxkJ5SHBBeifPpkH8BnMus()
  9. I tried the mod with default caves turned off and noise caves turned on. 384 world height. I spawned in water with no land in sight as expected . I experienced a lot of lag inside caves, even way after the world should've finished loading/generating. Initially the world map appeared to be filling in very, very slowly after a teleport. The first noise cave I found was a two blocks high, amost completely flat area, it didn't feel very cave-like. As Thalius reported I kinda had to dig to find one. Then with more digging I found a large cave, a big wide open space. It was pretty cool since there was a big underground lake and a lot of stalagtites/mites, but it kinda lacked variety in a sense, I could see that kind of cave get old fast if they're all more or less the same model. I triggered one cave in. The cave's ceiling collapsed in an exact square shape, some randomness to the shape could be needed so it doesn't feel artificial. One thing I'm wondering about (just thinking out loud here) is whether preexisting caves should collapse that easily, just by mining a few protruding ore blocks on the ceiling? Getting cave-ins makes more sense in my mind when digging through previously undisturbed rock. EDIT: I was wondering if you had looked into the Perlin Worms technique of generating caves. From what I understand it's used by Minecraft, but Vintage Story went for something else involving a bunch of trigonometry? I wonder what's behind that technical choice.
  10. EDIT: While I'm at it, I'll link my cave ventilation ideas/research that I posted shortly before the split: There is no such thing as too many waterfalls . Especially when combined with "lavafalls", yielding the most gorgeous caves in Minecraft. I'm sure a separate sound fix mod can easily be made. On that note, since you're making spelunking more dangerous and realistic, making water no so easy to block off with a piece of dirt would really change exploration. Submerged tunnels sections (siphons) you have to swim through would also be quite amazing. Imagine swimming through one of those to find an ancient gathering site with cave paintings...
  11. I've been thinking that instead of reinventing the wheel, integrating with the open source Vortex mod manager or Mod Organizer 2 might be a good idea. Vortex can probably work with minimal configuration. Of course each save auto loading the mods it depends on would be awesome, but it doesn't fully solve the question of managing various mod profiles.
  12. The spawning logic is definitely one of the weakest points of this game. There's no way to make a safe building in wolf spawning areas, for instance. Wolves will spawn right into your little hovel, sometimes very close to you. It causes players to avoid wooded areas altogether. And yeah, the constant spawning in caves is an irritant as well as being immersion-breaking. Those kind of factors caused my group to abandon survival mode and only play in exploration mode. At least this way the mobs have low agressivity and don't swarm you as much - though we still die to high-level drifters when wearing primitive armor
  13. It's really cool that you added gases simulation to the game. I'm thinking that the players will need some way of mitigating the danger of those gases which might otherwise make cave exploration near-impossible. I did some research, and curiously the most ancient way to ventilate mines was to light fires at the bottom so that the heat would create a ventilating draft. At the beginning they used brushwood fires. During the 19th century, the same principle was still in application in the form of large furnaces with a dedicated shaft, with openings that could be adjusted to control the ventilation. I imagine it will be a challenge to integrate into your simulation, but since we already have fires and furnaces in the game, these would seem like the ideal tools to evacuate gases. There's also the good old canary in a cage, which gave an early warning of toxic gases when it stopped singing, since it's more sensitive to them than humans. Not that I would enjoy doing this to a poor canary, even simulated, but it would be a nice touch of realism. Since you're simulating gases, more elaborate water than what the game has now doesn't sound too far-fetched? From my readings it was the other big challenge when mining - and since we have mechanical power, pumps to evacuate the water could easily be a thing. I guess the first step would be to make water less easy to block off with a single block - blocks newly placed in water should be tested against adjacent pressure or something, before "solidifying". And perhaps discrete water can be simulated in the same way as discrete gases - though pumping out infinite flowing water sounds closer to real-life challenges than eliminating a set amount. Those are ambitious ideas, so if not already I hope you make your mod open-source so your work can inspire others and so you can find contributors, at least for bugfixes . Besides the already suggested rope arrows, water arrows to extinguish torches would be cool. I don't know if PvP servers are a thing but it would be an obvious application. Otherwise, it could be used for a future stealth system like in Thief games. Same with noise arrows to attract monsters away from you.
  14. Well, it seems to me that the best for modders would be if you regex search and replace every "internal class" in a Vintagestory.*.NoObf.* namespace, to put the public keyword instead of the internal keyword. And then use this principle for future classes. Since you never know what modders might need to monkey patch. If you're asking what I need for my specific project, I'd rather hold on and make a list that's as exhaustive as possible, so I'll get back to you. But the initial intent of this post was to make a request that benefits everybody, not just me. BTW here are my various attempts to work around the internal class and unregister GuiDialogDead's tick function, if anyone is curious: Manual patching approach, "works" but doesn't skip the constructor body as expected. Most likely fails because constructors are a strange beast to patch: public static class Patcher { public static void DoPatching() { // Apply all attribute-driven patches var harmony = new Harmony("multispawn"); harmony.PatchAll(); // Manual patching required to get to the type, since typeof doesn't work with internal types from other assemblies // However, it seems to fail to properly skip constructor body. var type = AccessTools.TypeByName("Vintagestory.Client.NoObf.GuiDialogDead"); var constructor = AccessTools.Constructor(type); var prefix = AccessTools.Method(typeof(Patcher), nameof(GuiDialogDeadConstructorPrefix)); harmony.Patch(constructor, prefix: new HarmonyMethod(prefix)); } static bool GuiDialogDeadConstructorPrefix() { return false; } } Various failed attribute-based patches: // Doesn't work because type Vintagestory.Client.NoObf.GuiDialogDead is internal. [HarmonyPatch(typeof(Vintagestory.Client.NoObf.GuiDialogDead))] [HarmonyPatch("GuiDialogDead")] class PatchGuiDialogDead { } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Custom attribute to allow class to be looked up by string name, doesn't seem to be picked up correctly by Harmony public class HarmonyPatchStringTypeAttribute : HarmonyPatch { public HarmonyPatchStringTypeAttribute(string typeName) : base(AccessTools.TypeByName(typeName)) { } } [HarmonyPatchStringType("Vintagestory.Client.NoObf.GuiDialogDead")] [HarmonyPatch(MethodType.Constructor)] class PatchGuiDialogDead { //Attempt to skip whole constructor body static bool Prefix() { return false; } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Attempt to unregister GuiDialogDead. Doesn't actually destroy the gui, probably because it's kept alive by tick/callback registrations. [HarmonyPatch(typeof(GuiManager))] [HarmonyPatch("RegisterDefaultDialogs")] public class PatchGuiManager { [HarmonyPostfix] static void Postfix(GuiManager __instance) { ClientMain client = (ClientMain)__instance.World; var guiDialogDeadType = AccessTools.TypeByName("Vintagestory.Client.NoObf.GuiDialogDead"); List<GuiDialog> loadedGuis = Traverse.Create(client).Property<List<GuiDialog>>("LoadedGuis").Value; var guiDialogDead = loadedGuis.First(x => x.GetType() == guiDialogDeadType); Debug.Assert(guiDialogDead != null); client.UnregisterDialog(guiDialogDead); } }
  15. Simply put, I'm trying to create a mod that modifies quite a bit how spawn points work, and this involves monkey patching Vintagestory.Client.NoObf.GuiDialogDead so the constructor doesn't register callbacks and ticking - this way I can replace it with my own GUI. Unfortunately this is made very difficult by this type being internal to the dll and therefore much harder to monkey patch - the type isn't available to use in Harmony annotations, for starters, and you can't use it in a postfix method signature for easy access to properties and the like. So I'd like to humbly request from @Tyron and the dev team that they set all such types to be public. Given that we have the API interfaces to keep a clean separation between dlls, I don't think using internal should be all that important? Thoughts welcome.
  16. Please use spoilers when discussing stuff new players might not have discovered yet . It's not a matter of working "exactly like Lovecraft stories" - by saying this you're implying that it's some insignificant detail that you can leave out without consequence. It simply goes against the core tenets of the Lovecraft mythos*. Might as well throw the "Lovecraftian" moniker to the trash if ancient underground horrors end up as your pets. I for one hope the devs seek to achieve consistency with the lore they have established (or change the lore to fit the game) instead of creating a jumbled mess by just including whatever sounds cool (read: Minecraft). And yes, I'd argue that is already ruining the theme a bit. At the very least you'd expect your sanity/temporal stability to take a huge hit when using one of those artifacts. It's the kind of thing I fully expect to be reworked in the future given that the game's horror elements are still kind of barebones. Glad that we at least agree on that. *Pretty much: ignorance protects us from ancient horrors thinly veiled behind our daily reality; too much knowledge leads to madness; those who live who tell the tale do so because they only caught a glimpse of the monster/entity/dark dimension and are haunted by this sight they can't explain to others for the rest of their lives.
  17. I don't know about the player-usable aspect, it's creative but sounds very overpowered and off-theme compared to what's currently available in the game. Especially since the game claims to take inspiration from Lovecraft - if you've read his works, you know that there's a hefty price for using ancient and forbidden knowledge, usually it comes as the cost of going completely insane. So taming the terrifying underground stuff is a no-go unless there's a terrible price to pay for it. However, I'd absolutely love (i.e. be terrified and run away screaming for my life) seeing a mob like this in caves. The way I imagine it, each segment could individually walk on a floor, wall or even ceiling square, as long as it stays adjacent to another segment through a cube edge of course, and it could also let its segments hang straight down to traverse air blocks downwards. Just imagine these horrors walking on the walls and ceilings and using their length to drop down on unsuspecting travelers.
  18. Will chicken still reproduce in nature, since there are no "boxes" available? Or will they make nests from twigs and grass? All animals run around with their babies, so it would be weird for chicken to suddenly stop doing so because of a lack of boxes .
  19. Thanks guys for your well thought-out input. For our game, for now I decided to mod in a large increase in temporal gears spawn rate from drifters and see how it goes. Unless I'm missing something this rate is the exact same in Wilderness Survival, Survival and Exploration. Without removing all sense of danger, it would make a lot of sense to be able to change your group's base at least every thousand blocks you travel, in a mode called "Exploration" - as long as you hit a few caves and ruins along the way. So I think there should be a multiplier to the temporal gear spawn rate according to the difficulty, just like there seems to be for rusty gears. I've considered all the ideas that have been put forward, and in the end I think this game would benefit most from having multiple bases on the map you can respawn from, in Survival and Exploration mode (not Wilderness Survival). I don't like everything about Ark, but it has a pretty nice balance in that you can cut down on repetitive travel by teleporting naked to other beds you own, but when you want to actually move your stuff around, you need to mount a proper expedition with a bunch of dinosaurs that can carry heavy stuff, with a real risk of losing everything in an ambush. In short, sticking close to current Vintage story mechanics, if using a temporal gear created a new spawn point to pick from after death instead of replacing the existing one, it would encourage you to go further from your original base and make more risky journeys, knowing that you don't have to lose your main base's spawn point just to create intermediate ones along your trip. It also increases the potential play variety: take a break from your main base by respawning at your jungle base and working there for a while. You can't easily transfer materials between the two without finding a translocator, but the change of scenery keeps things fresh. For sure this would gradually increase the total area on the map where you can "corpse-rush" (which amounts to a radius around each spawn point), but given the pretty much infinite world, most of the world would still remain a hostile wilderness. For players who dislike the map feeling more and more conquered and civilised, we can always have a maximum number of respawn bases: having two, i.e. your main and one that you leapfrog every 1000-3000 blocks would already be much more conducive to exploration. TL;DR here are my suggestions to improve Exploration Mode: Increase temporal gear drop rate. Let the player set multiple spawn points (potentially with a configurable limit on how many you can set, and/or a minimum distance between them). @Thalius Stocking up on more than 2-3 non-stackable temporal gears is not really an option given how limited inventory is, if we want to gather materials during the trip. So even if we had spent our precious game time grinding those (which TBH would probably kill any desire to play this game due to sheer boredom), assuming we set a new spawn every 1000 blocks or so to keep downtime after death somewhat reasonable, we wouldn't get far. @Streetwind I think keeping herds of livestock would be a wonderful addition to the game. Both for a fully nomadic lifestyle and a seasonal one where you head for the greener pastures in the mountains in the summer. I don't think we need or want a mobile helve hammer - semi-realistic heavy industry means having a fixed base somewhere, at least unless the game one day extends to the age of petrol-based heavy machinery. But pack animals that can carry a lot of your heavy stuff would be welcome, as well as UI commodities to make packing and unpacking a bit less cumbersome. In the current state of the game I see the fully nomadic lifestyle as either something temporary until you settle down at your ideal location, or just a lifestyle choice whereby you give up on the higher tiers of the tech tree. Eventually, perhaps the game can spawn in some poor villagers whose main purpose in life is to be raided Viking-style for their delicious flax, or provide some other loot and exploration-based way to unlock the advanced stuff.
  20. Thanks for the useful guide. Seems to me like the devs should strongly consider making the prospecting pick detect chalk and limestone too.
  21. This mod works great 99.9% of the time. Unfortunately we had an instance where a player broke his grave to get his items, saw the items spawn, but then they disappeared. He was under the impression that they "disappeared into a nearby block". If it matters, the grave appeared to spawn in mid-air in a one-block-wide hole above a cave. I don't really have more diagnostic info than this.
  22. We have a small 3-player private server and we decided to make a trip to the equator. The distance to cross is huge, even though we generated the world with Exploration settings. What we soon realized is that this game tends to punish you a lot for a nomadic lifestyle. Temporal gears are really rare and getting enough to change the spawn for three players takes dozens of hours of play (despite killing any drifters we encounter). Given how easily this game spawns enemies on top of your head in confined spaces, we had to interrupt the trip several times because a team member died and spawned all the way at the base, which was further and further away. Nowadays getting back wastes the whole play session, and we still have only found two temporal gears out the three needed to make one base switch. I feel like a system similar to Minecraft (switch spawn by sleeping in any bed) or even Ark (respawn at any bed) would be more conducive to actual exploration. All this beautiful world generation is kinda wasted if you're forced to stick within a close radius of your base forever. In the spirit of the game, some investment could perhaps be required to make a bed safe for respawn, for example putting it in a 7x7x7 room - a bit like cellars work. Requiring the walls to be made of wood, cobblestone, stone or glass would be a good way to require investing. Or instead of a bed, perhaps a more thematic alternative like building, perhaps even sculpting a kind of totem pole to set up your tents around (there a mod that provides pretty nice tents). Not being able to take long trips feels weird especially since our prehistoric ancestors were mostly nomadic. Curious to have the devs' and players' opinion on whether you think it's a problem, and how it could be fixed.
  23. Thanks for checking. Right, so it keeps every single copy of the assembly in memory. You'd have to be careful when debugging then, because I believe that any already-created object would still use the old assembly it originated from, which could lead to a very wild mix of behaviors.
  24. Thanks for the in-depth insight @ApacheTech. I hope the messy codebase doesn't end up slowing development to a crawl through bug explosion as features pile up, or forcing a major months-long refactor. The OnUninstall method sounds like a great idea that should be introduced sooner than later. As far as the remapping command goes, it seems pretty limited? IIUC you have to map each missing ID to a unique valid ID. But if you had built, say, Lichen tents with their various blocks and just want them to disappear and be replaced by air i.e. all by the same ID, it doesn't sound easy?
  25. Interesting! Is the game's runtime able to unload assemblies? Or do you end up with multiple copies of the game mod loaded (which sounds problematic)? I know standard .NET Framework can't do it, and the ability was in development for .NET Core last I checked, but looking at the game files the game might be using Mono, whose ability to unload assemblies I'm not sure about.
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.