Yeah, I'm gonna start with block picking, and a WAILA (What Am I Looking At) interface to go with it. Now, that's mostly just raycasting, so it shouldn't be too hard, but I haven't done raycasting in a while. Wish me luck! XD
Notices by Angle (angle@anticapitalist.party), page 8
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:19 JST Angle -
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:18 JST Angle Spent all day trying to untangle code and optimize lighting propagation. Drove me up the fucking wall for a bit, but I think I have it sorted out now, at least for the moment. XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:18 JST Angle Well, I have a basic raycasting algorithm implemented, and have started debugging it. I think I screwed up somewhere and aimed it sideways though, not sure. I also added another region, and fixed a bug that was making it draw in the wrong place:
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:17 JST Angle Still working on this, making progress though. Discovered I had north and south backwards, so, ooops? The fix was surprisingly painless for having gotten one of the fundamental axes of the universe backwards, though. XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:17 JST Angle Still works! World generation code needs some work though, and I don't think it works dynamically yet.
Also, maybe I should get an actual blog for this. :/
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:16 JST Angle Currently working on adding tests, and I added a branch of the project that uses Maven, so it should be slightly easier for other people to jump in and work on the thing if they want to. After I have some decent tests, I'm going to go back to working on light propagation, it's mostly decent but it gets funky for chunks past x or z -1, for whatever reason. :/
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:16 JST Angle Yeah I can't dynamically load or unload anything yet, it only works once. Gotta fix that next. Then I think I'm gonna go back and finish working on raycasting for block picking, and implement the UI for that. Then UI in general, I guess? XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:15 JST Angle Alright, I have tests, though they only work on the maven branch. Still working on lighting propagation - it works way better now, but it's still a little laggy, and if I use multiple threads I get issues. :/
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:15 JST Angle Well okay, I can dynamically load stuff if I just redo the whole vertexbuffer. But the game lags when I make it do that, so, vertexstream time I think. XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:14 JST Angle Split the server off into it's own thread - seems to work fine? Gonna move some of the chunk generation there, instead of in dedicated chunk gen threads. Think I can remove the sync problems that way without making anything lag. XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:13 JST Angle Alright, fixed weird synch errors in worldgen. Worldgen is still slower and laggier than I'd like it to be, though, on account of lighting, because I'm effectively trying to do 40+ times as much lighting as minecraft does - I have 5 lighting channels, and I have 8 times as many blocks per volume as minecraft does.
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:13 JST Angle Okay, now using a whole lot of small VertexStreams instead of one big one. Still lags a little on startup, but only a couple seconds. Gonna work on dynamic terrain generation next. Maybe even try and record a video of it. XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:13 JST Angle Alright, switched to using a VertexStream. Still lags though - probably need to load fewer chunks at once, and maybe use more than one VertexStream, lol. XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:12 JST Angle Add to that that my diagonal channels probably take even more compute than vertical ones do, and that the scaling on that 8 times as many blocks per volume is probably even greater due to the greater number of propagations between blocks, and it's no wonder the thing lags. I'm going to clean up the code some and write tests, and then see about getting really good at profiling, optimizing, and the like, and if that isn't enough, maybe I'll ditch the diagonal lighting channels. :/
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:11 JST Angle I should clarify, for the above two posts, I'm talking about sky lighting, not point lighting - I only do about 24+ times as much block lighting as minecraft does. :P
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:11 JST Angle Alright, I have dynamic Region generation working, now I need dynamic chunk generation, and dynamic chunk loading first actually. Hmm. Oh, and I should fix the bug where it generates dirt ceilings. XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:10 JST Angle Been writing tests all day. Already dug out one long standing bug and fixed it, and have been finding all sorts of places where the behavior wasn't quite what I wanted it to be, though not usually in a way that mattered. XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:10 JST Angle Implemented dynamic chunk generation and loading...! Well, almost. :/
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:09 JST Angle Still writing tests, and doing lots of refactoring. Once I have a comprehensive test suite and I'm happy with my smaller refactors, I'm going to work on fully splitting the client and the server, though I'm not going to implement any netcode just yet. Then, back to optimizing world generation, I think. XD
-
Angle (angle@anticapitalist.party)'s status on Friday, 13-Jan-2023 07:30:09 JST Angle Alright, I got dynamic chunk generation and loading working well. Now, I need to do some code cleanup, I think. Looooooots of code cleanup. -_-