Client rewrite β-testing

Announcements about major changes in Haven & Hearth.
User avatar
shubla
Posts: 13041
Joined: Sun Nov 03, 2013 11:26 am
Location: Finland

Re: Client rewrite β-testing

Post by shubla »

Trying to download test client, but .jar files download reaally slowly!
Image
I'm not sure that I have a strong argument against sketch colors - Jorb, November 2019
http://i.imgur.com/CRrirds.png?1
Join the moderated unofficial discord for the game! https://discord.gg/2TAbGj2
Purus Pasta, The Best Client
User avatar
loftar
Posts: 9093
Joined: Fri Apr 03, 2009 7:05 am
Location: Your character database

Re: Client rewrite β-testing

Post by loftar »

As another small status update, the SlotRemoved bug, the "indefinitely waiting for mapdata" bug, the Phong-shading null-pointer bug and a couple of unreported deadlock bugs should be fixed now.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
jordancoles
Posts: 14168
Joined: Sun May 29, 2011 6:50 pm
Location: British Columbia, Canada

Re: Client rewrite β-testing

Post by jordancoles »

loftar wrote:As another small status update, the SlotRemoved bug, the "indefinitely waiting for mapdata" bug, the Phong-shading null-pointer bug and a couple of unreported deadlock bugs should be fixed now.
Nice
Duhhrail wrote:No matter how fast you think you can beat your meat, Jordancoles lies in the shadows and waits to attack his defenseless prey. (tl;dr) Don't afk and jack off. :lol:
Check out my pro-tips thread
Image Image Image
User avatar
MagicManICT
Posts: 18435
Joined: Tue Aug 17, 2010 1:47 am

Re: Client rewrite β-testing

Post by MagicManICT »

loftar wrote:As another small status update, the SlotRemoved bug, the "indefinitely waiting for mapdata" bug, the Phong-shading null-pointer bug and a couple of unreported deadlock bugs should be fixed now.
Good. Getting stuck waiting for map to load and log out and in every time was driving me nuts.
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
shubla
Posts: 13041
Joined: Sun Nov 03, 2013 11:26 am
Location: Finland

Re: Client rewrite β-testing

Post by shubla »

Code: Select all

java.lang.Error: Unexpected non-local exit
	at haven.render.RenderTree$TreeSlot.remove(RenderTree.java:488)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:455)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.AudioSprite$Ambience.added(AudioSprite.java:160)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.ResDrawable.added(ResDrawable.java:58)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.Gob.added(Gob.java:520)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.Gob$Placed.added(Gob.java:757)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.MCache$Grid$Flavobjs$1.added(MCache.java:175)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.MCache$Grid$Flavobjs.added(MCache.java:188)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.MapView$MapRaster$Grid.tick(MapView.java:596)
	at haven.MapView$Terrain.tick(MapView.java:657)
	at haven.MapView.tick(MapView.java:1440)
	at haven.Widget.tick(Widget.java:702)
	at haven.GameUI.tick(GameUI.java:856)
	at haven.Widget.tick(Widget.java:702)
	at haven.UI.tick(UI.java:145)
	at haven.JOGLPanel.run(JOGLPanel.java:362)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: #<Resource sfx/ch-music>
		at haven.Resource$Pool$Queued.get(Resource.java:383)
		at haven.Resource$Pool$Queued.get(Resource.java:355)
		at haven.ClipAmbiance.added(ClipAmbiance.java:246)
		at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
		... 34 more
Caused by: java.lang.NullPointerException
	at haven.ClipAmbiance$Glob.hashCode(ClipAmbiance.java:66)
	at java.util.HashMap.hash(HashMap.java:339)
	at java.util.HashMap.get(HashMap.java:557)
	at haven.ActAudio.intern(ActAudio.java:267)
	at haven.ClipAmbiance.removed(ClipAmbiance.java:254)
	at haven.render.RenderTree$TreeSlot.remove(RenderTree.java:483)
	... 35 more
Logged in and got some lore event or such, UI is partially loaded, but otherwise everything is black. The lore/something window only has title that says "Hey, listen!" and is otherwise empty.
Image
I'm not sure that I have a strong argument against sketch colors - Jorb, November 2019
http://i.imgur.com/CRrirds.png?1
Join the moderated unofficial discord for the game! https://discord.gg/2TAbGj2
Purus Pasta, The Best Client
User avatar
fallout
Posts: 964
Joined: Sun Apr 18, 2010 3:17 am

Re: Client rewrite β-testing

Post by fallout »

Code: Select all

java.lang.RuntimeException: Delayed error in resource gfx/tiles/swamp/flavobjs/bladegrass (v2), from local res source
	at haven.Resource$Pool$Queued.get(Resource.java:386)
	at haven.Resource$Pool$Queued.get(Resource.java:355)
	at haven.ResDrawable.<init>(ResDrawable.java:42)
	at haven.MCache$Grid.makeflavor(MCache.java:222)
	at haven.MCache$Grid.getfo(MCache.java:234)
	at haven.MCache.getfo(MCache.java:535)
	at haven.MapView$Terrain$2.getcut(MapView.java:646)
	at haven.MapView$Terrain$2.getcut(MapView.java:644)
	at haven.MapView$MapRaster$Grid.tick(MapView.java:577)
	at haven.MapView$Terrain.tick(MapView.java:657)
	at haven.MapView.tick(MapView.java:1440)
	at haven.Widget.tick(Widget.java:702)
	at haven.GameUI.tick(GameUI.java:856)
	at haven.Widget.tick(Widget.java:702)
	at haven.UI.tick(UI.java:145)
	at haven.JOGLPanel.run(JOGLPanel.java:362)
	at java.lang.Thread.run(Unknown Source)
Caused by: haven.Resource$LoadException: Load error in resource gfx/tiles/swamp/flavobjs/bladegrass(v2), from local res source
	at haven.Resource$Pool.handle(Resource.java:447)
	at haven.Resource$Pool.access$1100(Resource.java:332)
	at haven.Resource$Pool$Loader.run(Resource.java:583)
	... 1 more
Caused by: java.lang.NullPointerException
	at haven.FastMesh$MeshRes.init(FastMesh.java:262)
	at haven.Resource.load(Resource.java:1402)
	at haven.Resource.access$600(Resource.java:40)
	at haven.Resource$Pool.handle(Resource.java:435)
	... 3 more
Found a nice chunk of my village I cant visit yet with this client.
User avatar
loftar
Posts: 9093
Joined: Fri Apr 03, 2009 7:05 am
Location: Your character database

Re: Client rewrite β-testing

Post by loftar »

As another status update, I do believe I've fixed the vast majority of the outright crash bugs by now, including at least, I believe, all the crash bugs mentioned thus far in this thread, so it would be nice if y'all could test it a bit more and see if you discover any new ones. I've also fixed most of the graphical glitches mentioned in the thread, but there are still a few remaining, I'll update the OP to contain the currently known ones.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
Posts: 9093
Joined: Fri Apr 03, 2009 7:05 am
Location: Your character database

Re: Client rewrite β-testing

Post by loftar »

wonder-ass wrote:the only down side is that i think it didnt do much for the animation lag when there are a lot of players on screen as like 40/50 animals still drops my fps to 30-
I'm curious if there are special circumstances or something that cause that, because I can have over 100 rendered player objects on screen before my FPS starts dropping significantly below 60 (with :par on):
ss.png
I do expect the implementation of GPU-side skinning to also make an impact on this, but I'm still curious. Is continuous movement movement/changing of poses for the involved players important to cause this? Does it happen mostly while also clicking incessantly? Any other factors? Of course, the objects I test this with aren't "real" players, but I can't imagine what different the client would see between these test objects and real players except them not moving around and switching poses. Perhaps they use fewer clothing layers than realistic players, if anything. I'm really quite curious.

For the record, the relevant parts of the hardware that I test on include a Core i5 2400, and a GTX 750.
You do not have the required permissions to view the files attached to this post.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
jordancoles
Posts: 14168
Joined: Sun May 29, 2011 6:50 pm
Location: British Columbia, Canada

Re: Client rewrite β-testing

Post by jordancoles »

That many characters clicking around on screen would likely add more fps loss. I noticed a drop in fps when boating with large groups of people, ie. 4 full rowboats all traveling down the same river together

Also, all animals. Spawn in 100 cows and pigs instead of people and have them derp around on screen
Duhhrail wrote:No matter how fast you think you can beat your meat, Jordancoles lies in the shadows and waits to attack his defenseless prey. (tl;dr) Don't afk and jack off. :lol:
Check out my pro-tips thread
Image Image Image
User avatar
loftar
Posts: 9093
Joined: Fri Apr 03, 2009 7:05 am
Location: Your character database

Re: Client rewrite β-testing

Post by loftar »

jordancoles wrote:I noticed a drop in fps when boating with large groups of people, ie. 4 full rowboats all traveling down the same river together
Was that something you noticed on the stable or on the new client?
jordancoles wrote:Also, all animals. Spawn in 100 cows and pigs instead of people and have them derp around on screen
200 cows, 100 pigs:
ss.png
Also, as another note, a tip on performance is to use the G1 garbage collector, but I'm not sure in exactly what version of Java it was made the default. It could be Java 9, but it's definitely the default in Java 11. It does however not exist at all in Java 8, which I believe is what most people still use. The reason why I haven't recommended it previously is because it makes allocations ~30% slower in my testing, meaning it's not a great match for the current (stable) client, but the new client doesn't have any problems with that, since its allocation-heavy threads generally aren't the bottleneck. The advantage of the G1 GC is that it heavily reduces the need to "stop the world" for garbage collection, which is a significant source of major stutters.
You do not have the required permissions to view the files attached to this post.
"Object-oriented design is the roman numerals of computing." -- Rob Pike

Return to “Announcements”