- slightly corrected lighting
- used own particle influencer to place them around the mob.
Not much going on this month…
Still working with Zay-ES, Bullet-Physics and Networking.
For player movement I implemented Client-Side-Prediction and it works pretty well, even with high latency!
On client side I also have a local physics system running but (currently) the system only is interested in static physics bodies. Collisions between dynamic objects is still done on server.
The following video shows you the server and two connected clients walking on a test-scene.
A little old to be considered “WIP” (oh well), and probably not especially interesting… terrain rendered with quadtree LOD. Six quadtrees, one for each side.
Last one is with and without skirting to compensate for differing LOD. Works pretty well and much easier than the alternatives.
Wow, this actually looks very cool! Respect!
I notice some gaps at the edges of your lower image… I mention this only in case you were planning on implementing some complicated stitching or something between LODs. Because it isn’t necessary.
Just drop a skirt straight down from all of your tile edges. Same texture coordinate, normal, etc. top and bottom. It doesn’t sound like it would work but it bridges the gaps perfectly. In the early 2000s I used a terrain rendering library that used this trick (in C++) and I’ve personally done it ever since when I needed variable LOD. It’s simple… especially when compared to the nastiness that is LOD stitching.
Yeah, the bottom is before skirting was added, just to show the difference. The above is the same region after skirts are added, exactly the way you describe.
And yeah, I was skeptical it’d work as well as it does but, there it is! So… full agreement here.
Wow that looks spectacular. What’s it like up close?
Made some missile launchers last weekend:
me ? …
currently running in dev trim: normals disabled, no shadows, no lighting, limited to 2 ‘splat’ textures, ground flora disabled.
So basically what you’re saying is “here’s this really awesome-looking thing I made, but all the really cool stuff is still turned off.”
Yep. Discord doesn’t show who you’re replying to if the post is directly after the one you’re replying to. Drives me nuts.
Playing and working with serverside physics. After upgrading to native bullet 3.2c it became mush faster.
@Domenic any chance you could describe how you implemented client side prediction? I found these http://www.gabrielgambetta.com/fpm1.html articles and will at some point try to implement it in my game as well
Too much discord lately?
I pretty much use the same approach as described in the article. I have a local list which stores the position of the player. It’s filled every frame with the local (predicted) position of the player. When I receive an update for my player I look into my list and check if there is a position very close to the server location. If so, I just delete all position entries up to that point. If I don’t have a position which is close enough to the servers position I correct my local position through interpolation but this happens (almost) never.
Some pretty clouds and stars.
The clouds are based on a noise texture and “morph” into different shapes - Not quite the finished article, but starting to get there. Maybe another layer or something. Not sure yet. It’s all shaders which is nice.
The stars are randomly placed. There are 4 layers. One for each primary color (just a subtle raise on each color) and one for grey. Then the color is slightly shifted each star. Each layer can move at different speeds, which makes for a nice layered effect. Again, all shaders.
The sky looks great, I love it. The stars are an awesome touch - maybe you can vary the brightness/size slightly too? (Well ok, overkill I guess.) I’ll be doing something similar at some point.
I’ve created a demo video for Maud, the new editor for animated 3-D models that I mentioned last month.
In under ten minutes, I introduce Maud and explain her user interface. I show how to re-target an animation from one model to another, perform a simple fixup, and save the augmented model.