TurningWheel / Barony

Barony Open Source Release
http://www.baronygame.com/
Other
503 stars 130 forks source link

Some single player bugs(?) #44

Open DanmakuDan opened 7 years ago

DanmakuDan commented 7 years ago

Hello, I've been enjoying Barony (only been playing single player) and I have encountered a few odd things happening ingame:

  1. Sometimes, blood pools can completely cover a small flat item, such as the ring drop from Shelob (unique spider) or gloves from NPCs.
  2. Items dropped from monsters on their death can clip through the hallways in the early game (cheese/meat from rats can clip completely and vanish inside the stone walls).
  3. The light spell beacon goes crazy every time your character goes invisible, and stops tracking properly until you become visible again. At first it twitches between your character location and the usual trailing spot, then it eventually stops following, but still twitching between two adjacent spaces.
  4. Map generation may stick some structures against the outer level walls, preventing entry without dig/levitation. It is more common with some structures that were added December 20th or so. Some large map portions (like 25%) can be completely isolated, only evidence of their existence is random monster noise from the monsters wandering around inside them.
  5. A mail scroll had a completely blank entry, causing only a new line to appear in the message window.
  6. One shopkeeper text had a typo 'mbuy'.
  7. The weird yellow marble/sandstone trapped corridors in the sand labyrinth tend to generate without any visible access, and even the door was inside a wall after digging out an adjacent wall. Some ghouls and their graves can be stuck inside a wall as well. 20161227105108_1
  8. The random chance minotaur got stuck slightly southeast of the center of the map, and remained there until i walked around the bottom of the map and found the level exit along the east level wall. 20161226174316_1
  9. This structure in the swamp zone makes a rolling boulder noise and a wall explosion when the lever is thrown, but nothing ever happens. 20161227140330_1
  10. The game lags a lot in places like the sand labyrinth when I use a pickaxe to make holes towards a portal or when breaking down random walls. I would guess it is rebuilding pathing for monsters. Rarely, the game starts lagging constantly until I move to the next floor.
  11. You can smash yourself with a boulder if you move against it while pushing it into a wall.

Unconfirmed stuff:

  1. I recruited a NPC in Minetown, which was attacked and killed by another NPC offscreen while I was shopping. I'm not sure what triggered the attack to happen.
SheridanR commented 7 years ago

Heya! Great report.

  1. This has bugged us all for a long time. In theory it's totally fixable... the blood model just needs to be lowered so that it ends up mostly embedded in the ground and can't cover anything up. In practice, it isn't quite so easy (if I'm remembering correctly) ... since there's no unified spawn function for the blood puddle, we'd have to locate every spot in the code where the blood is created and make sure that it spawns at the correct spot. Anyway, it's not impossible to fix, just a bit inconvenient.

  2. Great catch! I thought I had noticed this before but hadn't linked it to the characters being special. This deserves some attention going forward...

  3. This is likely because the beacon's line-of-sight only works against visible objects... it should use a variant of the function that tests invisible objects, too.

  4. This is a known phenomenon, but I personally don't consider it a bug. Necessary objects to progress (eg the down ladder) are never generated inside isolated sections of the dungeon. So the idea is, if you're curious, you're free to use a pickaxe or dig spell to find out what's inside that isolated section... or you may not. It's up to you.

  5. This deserves investigation. A fair amount of text-oriented stuff broke when I rewrote everything for translation support...

  6. Definitely a typo!

  7. Doors and graves should not generate inside of walls, but dead-ends and inaccessible areas are generally part of the design when it comes to the sand labyrinth. As with other areas of the game, the down ladder will never spawn in an area that is inaccessible without digging or levitation.

  8. To prevent extreme performance drops there are rare chances when an enemy will absolutely refuse to do any pathfinding. This tends to manifest itself over large distances in complicated levels, such as the one you have displayed there. In retrospect, path finding should've been a threaded process, and going forward that may be the thing to do to fix bugs like this as well as improve game performance :)

  9. That particular room is one of the new ones which were added post-release by our new artist. The original intent was that throwing the switch would reveal the treasure, but cause some boulders to fall at the opposite end of the room... unfortunately, the design was broken somehow and the room doesn't function as originally intended.

  10. You are correct in assuming that the game is generating new path-maps for the monsters, which causes a lot of lag when digging. The story of the issue is this: originally, pathmaps did not exist, but this caused severe performance problems when characters tried to find a path to an inaccessible area (they would attempt all the routes and turn up empty handed every frame). So we added the pathmap, which defines "islands" that inform an actor whether any path can be found between two locations. Unfortunately, this created a new bug: changing the map wouldn't change the pathmap. So a contributor added a patch that updates the pathmap whenever digging is used... and now we have this performance drop. As mentioned before, pathing should be threaded because of this...

  11. This has killed everyone before, including myself. (it should be fixed)

Unconfirmed:

  1. I'm willing to wager someone was wearing a ring of conflict, or a fight could have broken out in many other ways... personally, I haven't noticed anything peculiar about NPC allegiances, so without more proof I can't say anything's going wrong here yet.
DanmakuDan commented 7 years ago

For number 2 in general, all the monster death drops appear to ignore walls when their stuff pops out.

Something else I remembered,

  1. Reading a scroll of enchant armor always targets your hat item first, I was expecting it to target a random piece of worn equipment. Similarly, repair scrolls always target weapon first, even if it's in excellent condition.

  2. I had some followers from a blessed scroll of summon die from dieting too long, a demon and possibly a slime or human. They lasted from roughly the swamp zone to level 19 (a cautious run takes about 1 hour 50 min).

  3. In the early game area, for the structure with the 5 portcullis gates (empty - monster - wall - item - empty - empty), if the monster locks onto the player, it will not stop its aggro until it dies. This can result in the battle music endlessly playing for that monster even if the player is on the other side of the map.

  4. Stacking 16 rocks (dig two walls) or a lot of items into one place causes high CPU usage and FPS drops.