Jump to content

MuffinMan

Members
  • Posts

    22
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

MuffinMan's Achievements

Refugee

Refugee (1/15)

9

Reputation

  1. Yep I've seen this issue once or twice in A20 too. A door I had put into a POI was open but had 2 "ghost blocks" inside the door frame upon loading. Once the door was shut they went away. I've seen the issue with "ghost terrain" in many alphas and saw it once or twice in A20 as well, but it seems more rare now. That is where you have edited the terrain manually and upon loading in it is the old terrain visually but it doesn't actually exist (ie you can fall in holes prior created). Damaging the terrain seems to cause an update and fixes it. Also another bug in latest build (238), on a quest a POI was changed upon clicking the (!) to another POI and it got some enemies stuck under the ground. The new POI was like a house with a pool, and a SPA in one of the rooms, pretty cool POI it changed to. Can't remember what it was before but it was different for sure, usually you click the (!) and it regens the existing POI, this is the first time I've seen it put a completely new one instead.
  2. Just my own, basic XML edits. When your rig takes 2 seconds does that feel good to you? Would more regular calls of that "unload unused resources" be better maybe? I don't know but it doesn't seem good to me how it is performing right now. The game is otherwise smooth and over 100fps in most cases and then you push E and get lagged out. Or talk to a shop owner and get lagged out. I've noticed in other Unity games due to my 64GB ram it has higher RAM usage than most people. Do you have 64GB of RAM? I'll also add that I did add 4 other traders to the same trader just so I have some variety at the one trader I typically visit (f6 -> static spawn). Maybe that is causing an issue not sure. My base is somewhat close to them. Also most of the hitches are like .5 to 1 second like you mention. It is just every 30-60 minutes I get one of the long ones like the game is about to crash.
  3. So if it is taking my 5950x/64GB RAM/3090 3-5 seconds sometimes, even slower comps are longer? That must be pretty bad for them because the long hitches make me feel like the game is about to crash and I even get that windows hourglass indicator like the window is frozen.
  4. Oh I've got lots of suggestions but I don't know much about the existing code base, so sorry TFP But the biggest suggestion is to reduce the amount of allocations. Given how "large" this GC spike is (if that's what it is) and how regular it is, I am guessing there are tens of thousands to hundreds of thousands of allocations occurring between them. If you can find ways to combine allocations so that the list is smaller it will execute quicker even if it is more memory being consumed. ie Having 10000 objects being collected that consume 10MB of memory will take much longer than 1 object consuming 20MB of memory. Coding practices with C# and object languages in general are usually quite anti-performance in the name of object orientated design. So removing as many "new" as possible in your constructors is a good start. Using data-orientated-design in some places with "managers" is how very efficient game engines work whilst still retaining ease of working on it. So instead of like "var cube = new Cube()" you do something like "var Cube = CubeManager.NewCube()" which has an array internally to bunch similar data together rather than having it all over the place. Moving the memory management to your own code as much as possible in the performance related areas is key. They may have already optimized this a lot and the problems come from Unity, like I said I am ignorant about their code base.
  5. Hmm you are probably correct. They might want to look into a better way of doing it simply because it isn't a good look or feel. IRL flesh and bone hitting a 1" steel plate will never do any real damage to it. Even if you hit it a million times, let alone a couple hundred like in the game that destroy cubes of steel. But that aint very fun, so.
  6. What about the 1-3 second "hitch" when opening inventory sometimes or talking to a shop owner?
  7. There is literally no setting I can change to improve FPS except the "draw distance". 5950x and 3090.
  8. Is there a way to enable "profiling" in 7 days to die so people can log where the slowdowns are occurring ? Would help a lot in regards to optimization over the different hardware perhaps. There is also a "severe" slowdown when opening inventory or talking in shop that happens randomly. I've noticed a couple slowdowns less than 30fps in wasteland cities (5950x / 3090) where FPS is generally over 100, but just figured it was normal, would be nice to see where the issues lay as a programmer.
  9. To remove the "AFK" base situation, where you just go away from your main base and sit on a roof and camp the zombies so that they don't damage your structure, they could just make the zombies attack player structures the same way they target players. They already have "heat maps" they can use for this. Only thing would be keeping those chunks loaded in memory and the higher zombie count would likely affect frame rate and whatnot. I'd suggest using the players "main base" as the dummy 'player' for the zombies to attack rather than any and all player created structures. It would potentially be possible now with a simple mod, the server could just create an invisible "player" character for every valid player on server that is in the middle of the each players main base, then the zombies would want to attack it. With it setup this way you wouldn't want to leave your base unless it was actually setup with turrets or other defenses and the game world would feel a bit more real.
  10. Any "complex" Unity game is usually CPU limited. All multithreading in "old" Unity has to be done manually and is more complex than it should be. I haven't stayed on top of recent Unity but it is likely better in that regard and I think they are upgrading Unity for Alpha 21? TFP could, probably with a lot of work gain significantly using the "new" ECS in Unity. I wouldn't like to be the guy working on that on an existing engine, usually it is best to start off with stuff like that from the start but it is significantly faster for having many "entities" in the world which 7DTD does. So the best gains you will get with 7 Days to Die currently are CPU upgrades. Same applies to Rust, Rimworld, etc, etc. I saw +20% gains in 7DTD going from AMD 3900 to 5950x. One major thing I hope TFP implement is keeping all graphical objects that are drawn centered around 0,0,0 . It is something most commercial engines are now starting to move to (UE5 will supposedly have it) , but without that when you move too far away from 0,0,0 in 7DTD there are precision issues graphically, jerky animations, movement, etc. Unfortunately out of the box most commercial engines are not really designed for procedural games where you would love to have double precision for the game code (0% performance difference) which is then moved to a 32bit float world for the GPU on the fly , it is easy if designed from the start like this and my own engines have been doing it since 2009. It will be good when UE and Unity finally do basic engine things right allowing developers to not have to jerry-rig solutions.
  11. I've played this game so long that I don't like spending 80 hours grinding to get the basic stuff. I like a quality 20-40 hour run through and A20 with my mods has provided that, but I have quality 6 in those things because I allow crafting tier6 items. Ideally I wouldn't have tiers and just random items, but I have included that in my mod too. So I like to grind and get parts to build potentially even better stuff. So even though an AUGER may be level 6, you can craft another one and it will be even better (or worse). With a few more possibilities in modding 7 days to die could be one of those games that just last forever. A20 is the first version since maybe 2014/2015 that feels good enough with my mods to play a lot more hours again. I am quite enjoying it. I also just want to add, that as a coder myself that the 7 days to die crew have added a lot of potential for mods through XML already. Which is great, and since it is C# it is fully extendable even if they quit today (which I don't think they will be).
  12. The point is you can make something PRETTY with the new shapes, but when has PRETTY meant best stability? Never. If you want some strong ugly cube base, which I always build then it is ugly. IF you want to make it pretty at the cost of stability then it is up to you. No way should some tiny piece of metal be as strong as a full block of it. *BUT* if you do want some unrealistic, creative, pretty thing that is somehow as strong as the gates of heaven then maybe just mod the game. It is pretty easy. I prefer the looks of something pretty so I will probably amber my way to that eventually. Which is why I left this lamp in my cube scene since it is so pretty.
  13. Nice, a quick easy bug to fix. So just to confirm the limit is actually 65535 now or 32767 in the next build?
  14. In my own A20 mod I have it so you can create all tier level items, and then there is a random chance it is -10% to 100% better than the base stats. I find that much more enjoyable having to look at every item in the shop to see its stats or not knowing exactly what you are going to get when crafting, makes it more exciting. Makes me want to grind for those gun parts to make a gun that is maxed out. But having it configurable so the user could limit it to how they like would be nice too. I think they should get rid of tiers altogether and just have it so every item has its own unique stats. Then you could pretty easily have some configurable range on percentages allowed beyond base stats. ie a "Crafting Range" and a "Shop Range" and maybe even a "Loot Range"
  15. No it is not a unicode or user error. Switching a value from 20000 to 100000 shouldn't break the game, especially on something that many people would change in mods to different values. It is a simple clamp for whatever range your stack size supports that is done by the XML parsing code. They would already be clamping and checking values when reading from the XML, they must have missed this one, or perhaps they have a 16bit "ReadValue" function that isn't properly designed and should be fixed. You are talking about a different thing in regards to XML changes breaking the game due to removing structures or items that used to exist. It would be like saying for a string value if you used the value "stone" instead of "Stone" the game corrupted itself due to a string parsing error in the XML code. How is one supposed to know that "Stacknumber" is limited to a 16bit range? If there was a way to know that and then a user put in something else than that is user error.
×
×
  • Create New...