Jump to content


  • Please log in to reply
[InDev 29f/Windows 10] Crash when no more monster spawn locations on map
6 replies to this topic - Started By Homermunculus, Mar 06 2018 07:59 PM

#1 Homermunculus

Homermunculus
  • Members
  • 3 posts
  • Pip

Posted 06 March 2018 - 07:59 PM

I have a long-running game, population over 800, ancillaries and buildings maxed out. Eventually I decided to use earthquakes and meteors to wipe out every single monster spawn.  At this point monsters would only appear on the map if they spawned randomly, which seems to happen a couple of times per day. This was a small enough number to handle by manually throwing each monster in a cullis gate, but I wanted to go further. I noticed that monsters only spawn outside of your town's buildable area, so I destroyed all of my walls and most of my weapons and started building roads and fires to make the entire map buildable. Eventually monsters would only spawn from a single map tile. I built a fire next to that last tile, and within a few moments, the game crashed. With such a large population I was accustomed the game hanging periodically, so I waited several minutes, but the game didn't recover.

 

Here's a screenshot from when it crashed, you can see the roads covering the whole map: yIkuY8e.jpg

 

and here's a screenshot of the game process:

RDlSJ47.png

This is a 6 core/12 thread processor so the CPU utilization corresponds exactly with one thread at full utilization (1/12 = 0.0833...). I realize you may not have been expecting a player to attempt this, perhaps I'm the first!


  • 0

#2 Rayvolution

Rayvolution
  • Developer
  • 1,830 posts
  • Pip
  • Steam ID:Rayvolution
  • LocationTexas




Posted 06 March 2018 - 08:42 PM

Sadly, you've found a bug that has existed in the game for years. You're the first person (as far as I know?) to duplicate it in a legitimate game.

 

The game doesn't know how to handle no spawn points what so ever, and will bug out and crash if it can't find a location. The reason, just like you probably expected, is the game was never designed to allow you to do this in the first place. (So, impressive work!).

 

To get around it, you'll have to leave at least one tile open, probably just wall off an area completely (no gates, etc) and just surround it with towers. You should be fine.

 

Next patch (InDev 30) this legitimately won't be possible, so you'll never be able to duplicate the bug again. :)


  • 0
Rise to Ruins Developer

#3 Arrevax

Arrevax
  • Members
  • 23 posts
  • Pip
  • Steam ID:Arrevax

Posted 06 March 2018 - 09:41 PM

Sadly, you've found a bug that has existed in the game for years. You're the first person (as far as I know?) to duplicate it in a legitimate game.

 

The game doesn't know how to handle no spawn points what so ever, and will bug out and crash if it can't find a location. The reason, just like you probably expected, is the game was never designed to allow you to do this in the first place. (So, impressive work!).

 

To get around it, you'll have to leave at least one tile open, probably just wall off an area completely (no gates, etc) and just surround it with towers. You should be fine.

 

Next patch (InDev 30) this legitimately won't be possible, so you'll never be able to duplicate the bug again. :)

 

How will this be made impossible? Will there simply not be enough building slots to spread across an entire map, or are you saying that the general difficulty increase caused by having fewer villagers will make it impossible to survive and thrive that well?

 

I'm curious because I'm still tweaking my custom settings about every time I feel like starting a new map. Nightmare and survival are interesting, but it feels like it might end up boiling down to a fixed meta until there are simply too many variables (procedural generation, more mob types, more disasters, etc.) at play to predict the way a map will play out.

 

By the way, it might be due to using Opera or another plugin, but the RtR website villagers in the background have extra spritey-bits floating around them while they walk.


  • 0

#4 Rayvolution

Rayvolution
  • Developer
  • 1,830 posts
  • Pip
  • Steam ID:Rayvolution
  • LocationTexas




Posted 07 March 2018 - 12:13 AM



How will this be made impossible? Will there simply not be enough building slots to spread across an entire map, or are you saying that the general difficulty increase caused by having fewer villagers will make it impossible to survive and thrive that well?

 

I'm curious because I'm still tweaking my custom settings about every time I feel like starting a new map. Nightmare and survival are interesting, but it feels like it might end up boiling down to a fixed meta until there are simply too many variables (procedural generation, more mob types, more disasters, etc.) at play to predict the way a map will play out.

 

By the way, it might be due to using Opera or another plugin, but the RtR website villagers in the background have extra spritey-bits floating around them while they walk.

 

It's a bit complicated. There will be a few mechanics at play, but yes, one of them will simply be tuning the difficulty and mechanics so you just can't do it.

 

I'm still trying to work out specifics, but here's some highlights;

 

- Instead of monsters spawning randomly anywhere on the map, then creating spawners, there will be a "corrupted area" (or multiple areas) on the map that will slowly spread out and take over. Monsters will spawn and heal while inside the corrupted area.

- The larger percentage of the land corrupted and the amount of time that has pass, the faster the spawn rate.

- A massive cloud will cover the corrupted land, not allowing you to see inside unless you mouse-over it.

- Spawners may no longer actually spawn monsters anymore, rather, they will just be decorative. Although they may "house" monsters. I honestly have not quite figured out what I want to do with them yet.

- Pushing back the corruption involves expanding the village, as a village grows into the corruption, it very slowly regresses or stops spreading entirely in that area.

- As the map is taken over, a percentage of the total land that's converted can't be taken back. So, if you somehow beat back the corruption as far back as you possibly can, you eventually hit a point you just can't do anything about it and have to deal with it.

 

How all these mechanics will be balanced is a bit up in the air, it's a pretty huge change and will likely get reworked/rethought/replanned multiple times over InDev 30 before I get it just right. But, that's what the plan is now. :)

 

As for the website, I have no idea why it's doing that. It works fine in the "big 3". Although I've never tried it with Opera before.


  • 0
Rise to Ruins Developer

#5 Arrevax

Arrevax
  • Members
  • 23 posts
  • Pip
  • Steam ID:Arrevax

Posted 07 March 2018 - 07:28 PM

 

It's a bit complicated. There will be a few mechanics at play, but yes, one of them will simply be tuning the difficulty and mechanics so you just can't do it.

 

I'm still trying to work out specifics, but here's some highlights;

 

- Instead of monsters spawning randomly anywhere on the map, then creating spawners, there will be a "corrupted area" (or multiple areas) on the map that will slowly spread out and take over. Monsters will spawn and heal while inside the corrupted area.

- The larger percentage of the land corrupted and the amount of time that has pass, the faster the spawn rate.

- A massive cloud will cover the corrupted land, not allowing you to see inside unless you mouse-over it.

- Spawners may no longer actually spawn monsters anymore, rather, they will just be decorative. Although they may "house" monsters. I honestly have not quite figured out what I want to do with them yet.

- Pushing back the corruption involves expanding the village, as a village grows into the corruption, it very slowly regresses or stops spreading entirely in that area.

- As the map is taken over, a percentage of the total land that's converted can't be taken back. So, if you somehow beat back the corruption as far back as you possibly can, you eventually hit a point you just can't do anything about it and have to deal with it.

 

How all these mechanics will be balanced is a bit up in the air, it's a pretty huge change and will likely get reworked/rethought/replanned multiple times over InDev 30 before I get it just right. But, that's what the plan is now. :)

 

As for the website, I have no idea why it's doing that. It works fine in the "big 3". Although I've never tried it with Opera before.

Sounds like InDev 30's going to take a while. I'm looking forward to it.

 

I like that this'll make monsters even more dynamic, right on the heels of the current enhanced versions. I think you should preserve the function of spawners (just have them only appear in corrupted areas); otherwise, they'll just be annoyances for players who try to purge corrupted areas. You could add monster-allied defensive structures for that (evil-looking versions of towers, maybe walls). This would effectively make monsters act like opposing villagers for players who've been asking for features like that, though it might help if the monsters simulated non-combat actions.

 

This could be an opportunity to add direct influence over guards and golems— perhaps just a spell that attracts guards, golems, or both? It could be tweaked to only attract a certain number to give more players more control over their corruption-fighting squads.

 

To prevent players from controlling the entire map, make corrupted areas spawn enemies more intensely as less space exists for corruption. Consider adding more downsides to it, like causing disasters to occur more and more frequently as the space shrinks. Small effects, like a red filter or fog, a sound (angry humming, far-away screams, whispers), etc. could help indicate that the player should stop purging or allow the corruption to spread outwards to a different area of the map. Force the player to balance the corruption. Besides the horror element, this might be a way to introduce boss enemies that really test late-game defenses and challenge players who can manage to push to corrupt areas too far back. It would be a difficulty mechanic that the player can influence in-game rather than in the custom difficulty menu.

 

I can't say I'm a fan of permanent corrupt zones. Perhaps there should be a specific job/building (temple/graveyard with corpse mechanics, *cough* *nudge*) for removing corruption, with more time necessary for removing super-corruption (like removing a double-height rock or tree). Just make it really difficult to remove, but keep it possible.


  • 0

#6 Rayvolution

Rayvolution
  • Developer
  • 1,830 posts
  • Pip
  • Steam ID:Rayvolution
  • LocationTexas




Posted 08 March 2018 - 01:33 PM



Sounds like InDev 30's going to take a while. I'm looking forward to it.

 

I like that this'll make monsters even more dynamic, right on the heels of the current enhanced versions. I think you should preserve the function of spawners (just have them only appear in corrupted areas); otherwise, they'll just be annoyances for players who try to purge corrupted areas. You could add monster-allied defensive structures for that (evil-looking versions of towers, maybe walls). This would effectively make monsters act like opposing villagers for players who've been asking for features like that, though it might help if the monsters simulated non-combat actions.

 

This could be an opportunity to add direct influence over guards and golems— perhaps just a spell that attracts guards, golems, or both? It could be tweaked to only attract a certain number to give more players more control over their corruption-fighting squads.

 

To prevent players from controlling the entire map, make corrupted areas spawn enemies more intensely as less space exists for corruption. Consider adding more downsides to it, like causing disasters to occur more and more frequently as the space shrinks. Small effects, like a red filter or fog, a sound (angry humming, far-away screams, whispers), etc. could help indicate that the player should stop purging or allow the corruption to spread outwards to a different area of the map. Force the player to balance the corruption. Besides the horror element, this might be a way to introduce boss enemies that really test late-game defenses and challenge players who can manage to push to corrupt areas too far back. It would be a difficulty mechanic that the player can influence in-game rather than in the custom difficulty menu.

 

I can't say I'm a fan of permanent corrupt zones. Perhaps there should be a specific job/building (temple/graveyard with corpse mechanics, *cough* *nudge*) for removing corruption, with more time necessary for removing super-corruption (like removing a double-height rock or tree). Just make it really difficult to remove, but keep it possible.

 

I love the idea of the corrupted area starting to grow and evolve, even by adding defensive towers and things to slow down the player in areas that have been corrupted for some time. Although I'm not sure I could get that working in InDev 30 (mainly due to time constraints). Mainly because of how the combat AI works, if a tower hit a guard or golem right now, rather than running away, they'll charge in blindly just like the monsters do. So monster towers would basically be automatic death traps kiting in golems and guards to their death. But, that doesn't mean I can't rework the AI and add something like that down the road.

 

You're actually thinking similarly to what I am about how I planned corrupted zones will work. As the days pass the corrupted zones will spread, but also, if you beat back the corruption enough it starts to become "concentrated". I guess it's sort of a reversed diminishing returns effect? The less corruption available, the more concentrated and evil the corruption is. Maybe it can even hit critical mass and "burst" back out? Who knows. This will all have to be done during play testing.

 

As for permanent corrupted zones, it probably won't be a specific area that's permanent, more so a "percentage of total" is. Similar to what was mentioned above. Say every day that passes half a perfect becomes irreversible. Not any specific half a perfect of the map, just if you beat it all the way back you can only go so far before you just can't anymore. For example, say the corruption covers 50% of the map, and the "permanent amount" is 5%. You can beat back any of the 45%, but where ever the remaining 5% is can't be reversed. But again, this is another "We'll need to play test it" thing. I can see in my head how it'll work, but seldom do balance changes like this work in reality how they do in the developer's head. :)

 

I think the permanent and concentrated corruption mechanics will work well together, as they'll imply that you finally beat it back to a point that it's so concentrated you can't push any further.

 

But again, we'll see! I've been working on multicarry and doing massive rewrites to some of the code flow for the AI, so I have not even touched the new spawn mechanics yet. :)


  • 0
Rise to Ruins Developer

#7 Arrevax

Arrevax
  • Members
  • 23 posts
  • Pip
  • Steam ID:Arrevax

Posted 08 March 2018 - 02:17 PM

I love the idea of the corrupted area starting to grow and evolve, even by adding defensive towers and things to slow down the player in areas that have been corrupted for some time. Although I'm not sure I could get that working in InDev 30 (mainly due to time constraints). Mainly because of how the combat AI works, if a tower hit a guard or golem right now, rather than running away, they'll charge in blindly just like the monsters do. So monster towers would basically be automatic death traps kiting in golems and guards to their death. But, that doesn't mean I can't rework the AI and add something like that down the road.

 

You're actually thinking similarly to what I am about how I planned corrupted zones will work. As the days pass the corrupted zones will spread, but also, if you beat back the corruption enough it starts to become "concentrated". I guess it's sort of a reversed diminishing returns effect? The less corruption available, the more concentrated and evil the corruption is. Maybe it can even hit critical mass and "burst" back out? Who knows. This will all have to be done during play testing.

 

As for permanent corrupted zones, it probably won't be a specific area that's permanent, more so a "percentage of total" is. Similar to what was mentioned above. Say every day that passes half a perfect becomes irreversible. Not any specific half a perfect of the map, just if you beat it all the way back you can only go so far before you just can't anymore. For example, say the corruption covers 50% of the map, and the "permanent amount" is 5%. You can beat back any of the 45%, but where ever the remaining 5% is can't be reversed. But again, this is another "We'll need to play test it" thing. I can see in my head how it'll work, but seldom do balance changes like this work in reality how they do in the developer's head. :)

 

I think the permanent and concentrated corruption mechanics will work well together, as they'll imply that you finally beat it back to a point that it's so concentrated you can't push any further.

 

But again, we'll see! I've been working on multicarry and doing massive rewrites to some of the code flow for the AI, so I have not even touched the new spawn mechanics yet. :)

Thanks for the in-depth response! It's nice to really discuss potential mechanics and learn more about how you think instead of just throwing long-term ideas at you.

 

I'm glad that you're looking at making enemies much more complex and fun to interact with. I don't know how the combat AI works, exactly, but more monster structures (with purpose— not just decorative spawners) would really make the world seem more alive (or undead, in this case). Maybe the monster towers could only spawn far back into the corrupt areas, so that guards would not normally be drawn in (except by a chain reaction of enemies/enemy structures; maybe a space requirement between enemy "bases" would fix that?). Perhaps you could try something that's basically treated the same way as enemy spawners— would guards/golems go out of their way to attack a building if it's technically the source of an AOE of poisonous gas or corruptive aura? I don't know if there's a way to code "indirect/AI-ignored attacks" like that, other than treating them as player spells. Another starting point could be enemy "walls" that damage attacking guards/golems (ex: brambles, wooden spikes, walls of animated bones). Another: monster towers that simply spawn temporary mini-monsters or illusionary/magical versions, like holy golems. Regardless of the method, it'll make monster "bases" more dynamic, giving the player a more in-depth side-challenge for survival by building on the current spawner-destroying gameplay pattern. I mentioned the concept of a guard/golem attractor spell because constantly picking up and dropping little extermination squads is a bit of a chore. Being able to toggle an area of effect for the grab spell would serve the same function, but instructing your forces to actually go to a place and fight things on the way makes them seem more alive.

 

Percentage-based permanent corruption sounds like a great solution! It solves the bug mentioned in the OP, and it provides another layer to managing corruption and monsters. Skillful players could manipulate the "permanent zone" to move it somewhere more advantageous to them, but they could risk backlash, if something like that is implemented. I like it! :D I hope I'll have some spare time to playtest it when the time comes.


  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users