4HeadTiger, are you still gonna release some sort of Alpha, or Beta soon? Or have you run into more problems?
"Problems" don't really exist, just setbacks and distractions
Basically, matter how many issues I solve, or bits of code I clean up, or features that I add/fix, I always find something else that needs to be done. I was planning to release an alpha the other day, but I got completely distracted with rewriting the wide-range equalizer, and I was distracted from that by some bizarre scheduling bugs (which don't break the system so much as look really ugly).
*Solemnly vows to make no more promises, knowing full well that I will probably be making promises again by the end of the day :)*
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Still just plodding away at general stuff; more work on the equalizer, some refactoring and redesigning to make the code easier to work with, a little bit of work on pumps and pipes, etc. I'm a full time student in the middle of a masters degree and semester just started up again, so life is getting a bit busier. That's not to say that there is no release on the horizon, just that I don't have as much time as I did over the last 2-3 weeks
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
This looks VERY interesting, but can we expect to see a sistem to implement rivers and waterfalls?
Unfortunately it is pretty difficult to make a system like this in Minecraft, since we can't accommodate for water in unloaded chunks without actually loading said chunks. If your computer could deal with a render distance of ~100 chunks then perhaps it could be made to work, but even then it would be pretty hacky.
I am thinking about having rain refill oceans and rivers though.
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Update: Not much to add... A bit more code cleaning and some minor optimizations. Currently I'm looking into ways of reducing some of the work the client has to do re-rendering blocks, and as usual; still trying to think of better equalization methods.
I've also started thinking more about wider scale hydrology, but it's a pretty difficult area within the constraints of the MC engine, so I don't know how far I will be able to get, but w/e. Rain actually now refills oceans and rivers that are not 100% full (I played with this before, but deleted it when I changed how everything worked), and I've also added a really primitive evaporation system to go with it. The mechanics need a lot of refining and rethinking and so on before they are ready to go in the main release, but it's a decent start nonetheless.
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I'm not sure. I want to release something for everyone to play with as soon as I can, but at the same time I don't want to release a half-finished product. I originally wanted to get something out before I went back to Uni, but I missed the deadline (oops o____o ), so yeah... Expect something within the next 2-3 weeks, but I can't be more exact than this D:
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I hope, one day it will be in Vanilla. When the people see it can work, they won't say things like it would lag or it's impossible. For the others, the suggestion can be found here.
(though it's not really the mod for the suggestion, just that the mod and suggestion have the same premise :D)
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
How does the mod know/determine if something is 100% "full"? I'm guessing it just knows/stores whatever vanilla would have expected it to be and remembers that. But that seems to be a massive performance thing, isn't it?
I'm sure it'd be possible for another mod (or even this mod, if you wanted) to have a custom "block" (or multiblock) that can allow the function of a water tower that collects rain, yeah? That'd be very cool. (a rudimentary pipe system) could also work great with this rain-collection mechanic, especially if you were to have mud and water generating anywhere these drains could act as gutters - if that's a worthy consideration. or am I getting this mixed up with the other water mod I've been perusing....
About performance, maybe off topic - but would something like this benefit from faster CPU? Or is the Minecraft engine/Java itself a far higher bottleneck?
I am considering what my next upgrade should be - a new GPU or CPU. I've a Core i5 4570 and 650GT BOOST; GPU would be good for shaders (and Dolphin emulation heh) but CPU is important for other stuff.
i've paid attention to pretty much every mod of this sort, hopefully, finally this will be the one.
good luck!
Rollback Post to RevisionRollBack
24 hours gone again, wasted in futility, welcome to minecraft modding, that is (unfortunately) our community.
(an ode to minecraft modding)
i keep making the same mistake, i think "oh, i've given them a few months, surely it'll be fixed by now" THAT is why i seem to ALWAYS be angry to some of you, my advice is to get the lead out.
there were nice things here, until the mod author threw a tantrum.
How does the mod know/determine if something is 100% "full"? I'm guessing it just knows/stores whatever vanilla would have expected it to be and remembers that. But that seems to be a massive performance thing, isn't it?
I'm sure it'd be possible for another mod (or even this mod, if you wanted) to have a custom "block" (or multiblock) that can allow the function of a water tower that collects rain, yeah? That'd be very cool. (a rudimentary pipe system) could also work great with this rain-collection mechanic, especially if you were to have mud and water generating anywhere these drains could act as gutters - if that's a worthy consideration. or am I getting this mixed up with the other water mod I've been perusing....
About performance, maybe off topic - but would something like this benefit from faster CPU? Or is the Minecraft engine/Java itself a far higher bottleneck?
I am considering what my next upgrade should be - a new GPU or CPU. I've a Core i5 4570 and 650GT BOOST; GPU would be good for shaders (and Dolphin emulation heh) but CPU is important for other stuff.
I'm using a fairly modest i5-3210m (4gb RAM) for the majority of development and not really seeing any problems. That said, I haven't had a chance to test things on a high end computer, and I'm not familiar with using Java for high performance applications, so I have no idea if or where bottlenecks will emerge.
Fluid calculations are threaded, and so more cores should benefit performance quite a lot (or at least; a single core system will get shat all over by a quad core system). But whatever. Remember that view AREA increases geometrically with view DISTANCE; doubling the radius of a circle quadruples the area.
The mud stuff was probably from discussions I had on that "better liquid physics" suggestion thread (afaik this is the only actively developed "proper" finite water mod atm)... But yeah, I'm already thinking of allowing rain to collect only on certain blocks and/or in certain conditions. The problem is that if rain just goes and falls "anywhere", the world could flood or water could end up in places it might not necessarily belong. I really just need to get around to doing this stuff, though the weekend starts today, so here's to hoping I can get some of it done
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Yeah, the thing with Minecraft is that performance is perfect... until you play with a few other people and have a massive base with automation all over the place Damn those tile entities (or rather, damn the accumulation of too much crazy stuff going on).
Forge 1.7.10's asynchronous chunk loading is definitely a huge plus for your work though. Seriously, I know I've gone on about it a few times now, but it's just so beautiful to see my CPU actually getting a workout on all four cores! So that's great to hear that you've got threading down on this beast.
Yeah it was better liquid physics that I was stalking you on, ah so that's not active anymore? Fair enough. Yeah good point about the water accumulation/distribution issue. To work around that you'd have to simulate some kind of water-table mechanic I guess :\
Maybe forget the mud and global accumulation idea but have a config for specific blocks that allow it to be accumulated? Maybe, whitelists/blacklists are always tedious and a bit of a cheap way to do things... still, that's effective enough to allow building rain collection things
That reminds me, now that we have no block ID's I wonder how such a thing would even be done in mod config...
...yeah I need to get off my thumbs, stop thinking/debating, and start doing too
Yeah, the thing with Minecraft is that performance is perfect... until you play with a few other people and have a massive base with automation all over the place Damn those tile entities (or rather, damn the accumulation of too much crazy stuff going on).
Forge 1.7.10's asynchronous chunk loading is definitely a huge plus for your work though. Seriously, I know I've gone on about it a few times now, but it's just so beautiful to see my CPU actually getting a workout on all four cores! So that's great to hear that you've got threading down on this beast.
@Tile entities Imma still trying to figure out how to do efficient pipes without TE's. I think I can manage it (currently thinking 3 blocks => pipes which rotate kind of like logs, then joints for when pipes go round corners, and pumps for moving fluid), but it's really tricky because I have no idea what I'm doing when it comes to "convenient user interaction" and stuff like that
@Multhreading, I'm not really sure how much of a benefit the multicore chunk loading is to my mod... It probably makes the game smoother in general, but the thread resources could do nothing but subtract from the resources available to my fluid threads (theivery!), though faster and smoother world gen should benefit every part of the game in some way or another.
The fluid process itself is totally non-linear at the chunk level. That is... it doesn't matter when a chunk gets updated relative to other chunks (in fact, it probably also doesn't matter whether a chunk is loaded synchronously, asynchronously, or not at all). Of course it looks better when all chunks get updated at the same time at a regular rate, but this is not really essential. I also use boolean arrays for update flagging (rather than maps or sets), just to be extra safe.
Anyway, what it means is that I can update individual chunks on any number of threads without needing to give a damn about most of the typical problems that face many multithreaded applications. Unfortunately maths suggests that there is an SSP peak performance from about 20-24 cores, but wgaf; It's not like many people have access to 40 core workstations for playing Minecraft.
Yeah it was better liquid physics that I was stalking you on, ah so that's not active anymore? Fair enough. Yeah good point about the water accumulation/distribution issue. To work around that you'd have to simulate some kind of water-table mechanic I guess :\
Afaik it was never actually a mod, but a suggestion (like how Cubic Chunks has a huge suggestion thread, and then one dude who is doing a mod pretty much completely independently from it)...
If you've been stalking that thread, you probably know by know that I am also considering making the block storage changes that I mentioned in that thread (using bit flags for fluids, then storing the fluid content as a block ID)
UNRELATED:
I threw caution to the wind and am about to see what it's like using 1 billion fluid levels per block
EDIT2 : It actually looks pretty damn good... I might scale it down a little, maybe 16 mil, just to not overflow while tallying up fluid for stuff...
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Hmm I dont understand at all about the linear thing you said, way beyond me lol but basically you're saying the chunk loading has no bearing on the this new liquid stuff? Fair enough. But it's threaded already as you said, so yay All I know is that I love seeing my client get 300+ chunk updates, draw distance of 10 (slightly over far) and still draw over 100fps! Something awesome like that anyway, way better than 1.6.x ever was.
Oh, Cubic Chunks isn't actually a working mod yet? I never even bothered to look into it in detail lol, I was objecting to having Minecraft Empires depend on an experimental mod for no reason But nah, as we said in there - there's no real need at all for Empires to even need cubic chunks. Water and rain collection though, that's a different story Providing I can get [an opensource mod that has cool and big water wheels for basic power/machine use] working with it, and with finite water and a requirement of flowing water (e.g. from a water tower/reservoir) to power it, that just sounds very cool. Not just for Empires mind you, but for all mod users who want more realism, some immersion, and less OP-ness.
I do recall that bit flag for fluids thing, but I don't think I understood it. Again, over my head Or I'm just forgetting the implications, if you mentioned it there.
Noticed you edited. Before I actually reply to those edits, off-topic to the thread sorry but while we mentioned it...
I remember another reason why I did consider Cubic Chunks actually, and now I'm interested in it again haha - at least for the future. Consider the future of Empires and it's encouragement of PvP warfare; underwater bases. And also, not just specific to Empires, much cooler underwater exploration/dungeons due to much larger depth. Anyway...
How would one even do pipes without TE's? Block updates are too lazy. Oh wait, you were working on your own coremod for block updating scheduling yeah? Well even so, how would you determine the fluid being pipes when you're only limited to metadata?
Yeah I reckon the multithreaded chunk loading will free up the main thread for other single-threaded tasks at the very least. It's good for dedicated servers too I think, what with many players exploring all over the place. Multithreaded tile entity ticking would've been far nicer though, unless that already exists and I didn't know. Maybe we'll see that for 1.8.
Fair enough about the linear stuff, makes some sense now - pretty cool. You're a smart guy, maybe one day in future you can give me/us a hand with the topologic profiler (as of this moment, that entire concept of a mod generating "location aware structures/features/decorations during game time" is scrapped since the data collection and parsing of multi-chunk features like oceans, dense forests or mountains is a monumental task). But yeah that's just a thought, by all means focus on what you want of course - this finite water work is brilliant.
"Problems" don't really exist, just setbacks and distractions
Basically, matter how many issues I solve, or bits of code I clean up, or features that I add/fix, I always find something else that needs to be done. I was planning to release an alpha the other day, but I got completely distracted with rewriting the wide-range equalizer, and I was distracted from that by some bizarre scheduling bugs (which don't break the system so much as look really ugly).
*Solemnly vows to make no more promises, knowing full well that I will probably be making promises again by the end of the day :)*
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Taking up Chuchaz's mentality I see
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Unfortunately it is pretty difficult to make a system like this in Minecraft, since we can't accommodate for water in unloaded chunks without actually loading said chunks. If your computer could deal with a render distance of ~100 chunks then perhaps it could be made to work, but even then it would be pretty hacky.
I am thinking about having rain refill oceans and rivers though.
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Weekend has started 37 minutes ago, so I should have some time to work on stuff (and finally commit some of the changes I've been working on :D)
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I've also started thinking more about wider scale hydrology, but it's a pretty difficult area within the constraints of the MC engine, so I don't know how far I will be able to get, but w/e. Rain actually now refills oceans and rivers that are not 100% full (I played with this before, but deleted it when I changed how everything worked), and I've also added a really primitive evaporation system to go with it. The mechanics need a lot of refining and rethinking and so on before they are ready to go in the main release, but it's a decent start nonetheless.
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I'm not sure. I want to release something for everyone to play with as soon as I can, but at the same time I don't want to release a half-finished product. I originally wanted to get something out before I went back to Uni, but I missed the deadline (oops o____o ), so yeah... Expect something within the next 2-3 weeks, but I can't be more exact than this D:
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
(though it's not really the mod for the suggestion, just that the mod and suggestion have the same premise :D)
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
How does the mod know/determine if something is 100% "full"? I'm guessing it just knows/stores whatever vanilla would have expected it to be and remembers that. But that seems to be a massive performance thing, isn't it?
I'm sure it'd be possible for another mod (or even this mod, if you wanted) to have a custom "block" (or multiblock) that can allow the function of a water tower that collects rain, yeah? That'd be very cool. (a rudimentary pipe system) could also work great with this rain-collection mechanic, especially if you were to have mud and water generating anywhere these drains could act as gutters - if that's a worthy consideration. or am I getting this mixed up with the other water mod I've been perusing....
About performance, maybe off topic - but would something like this benefit from faster CPU? Or is the Minecraft engine/Java itself a far higher bottleneck?
I am considering what my next upgrade should be - a new GPU or CPU. I've a Core i5 4570 and 650GT BOOST; GPU would be good for shaders (and Dolphin emulation heh) but CPU is important for other stuff.
good luck!
24 hours gone again, wasted in futility, welcome to minecraft modding, that is (unfortunately) our community.
(an ode to minecraft modding)
i keep making the same mistake, i think "oh, i've given them a few months, surely it'll be fixed by now" THAT is why i seem to ALWAYS be angry to some of you, my advice is to get the lead out.
there were nice things here, until the mod author threw a tantrum.
I'm using a fairly modest i5-3210m (4gb RAM) for the majority of development and not really seeing any problems. That said, I haven't had a chance to test things on a high end computer, and I'm not familiar with using Java for high performance applications, so I have no idea if or where bottlenecks will emerge.
Fluid calculations are threaded, and so more cores should benefit performance quite a lot (or at least; a single core system will get shat all over by a quad core system). But whatever. Remember that view AREA increases geometrically with view DISTANCE; doubling the radius of a circle quadruples the area.
The mud stuff was probably from discussions I had on that "better liquid physics" suggestion thread (afaik this is the only actively developed "proper" finite water mod atm)... But yeah, I'm already thinking of allowing rain to collect only on certain blocks and/or in certain conditions. The problem is that if rain just goes and falls "anywhere", the world could flood or water could end up in places it might not necessarily belong. I really just need to get around to doing this stuff, though the weekend starts today, so here's to hoping I can get some of it done
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Forge 1.7.10's asynchronous chunk loading is definitely a huge plus for your work though. Seriously, I know I've gone on about it a few times now, but it's just so beautiful to see my CPU actually getting a workout on all four cores! So that's great to hear that you've got threading down on this beast.
Yeah it was better liquid physics that I was stalking you on, ah so that's not active anymore? Fair enough. Yeah good point about the water accumulation/distribution issue. To work around that you'd have to simulate some kind of water-table mechanic I guess :\
Maybe forget the mud and global accumulation idea but have a config for specific blocks that allow it to be accumulated? Maybe, whitelists/blacklists are always tedious and a bit of a cheap way to do things... still, that's effective enough to allow building rain collection things
That reminds me, now that we have no block ID's I wonder how such a thing would even be done in mod config...
...yeah I need to get off my thumbs, stop thinking/debating, and start doing too
@Tile entities Imma still trying to figure out how to do efficient pipes without TE's. I think I can manage it (currently thinking 3 blocks => pipes which rotate kind of like logs, then joints for when pipes go round corners, and pumps for moving fluid), but it's really tricky because I have no idea what I'm doing when it comes to "convenient user interaction" and stuff like that
@Multhreading, I'm not really sure how much of a benefit the multicore chunk loading is to my mod... It probably makes the game smoother in general, but the thread resources could do nothing but subtract from the resources available to my fluid threads (theivery!), though faster and smoother world gen should benefit every part of the game in some way or another.
The fluid process itself is totally non-linear at the chunk level. That is... it doesn't matter when a chunk gets updated relative to other chunks (in fact, it probably also doesn't matter whether a chunk is loaded synchronously, asynchronously, or not at all). Of course it looks better when all chunks get updated at the same time at a regular rate, but this is not really essential. I also use boolean arrays for update flagging (rather than maps or sets), just to be extra safe.
Anyway, what it means is that I can update individual chunks on any number of threads without needing to give a damn about most of the typical problems that face many multithreaded applications. Unfortunately maths suggests that there is an SSP peak performance from about 20-24 cores, but wgaf; It's not like many people have access to 40 core workstations for playing Minecraft.
Afaik it was never actually a mod, but a suggestion (like how Cubic Chunks has a huge suggestion thread, and then one dude who is doing a mod pretty much completely independently from it)...
If you've been stalking that thread, you probably know by know that I am also considering making the block storage changes that I mentioned in that thread (using bit flags for fluids, then storing the fluid content as a block ID)
UNRELATED:
I threw caution to the wind and am about to see what it's like using 1 billion fluid levels per block
EDIT2 : It actually looks pretty damn good... I might scale it down a little, maybe 16 mil, just to not overflow while tallying up fluid for stuff...
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Oh, Cubic Chunks isn't actually a working mod yet? I never even bothered to look into it in detail lol, I was objecting to having Minecraft Empires depend on an experimental mod for no reason
I do recall that bit flag for fluids thing, but I don't think I understood it. Again, over my head
I remember another reason why I did consider Cubic Chunks actually, and now I'm interested in it again haha - at least for the future. Consider the future of Empires and it's encouragement of PvP warfare; underwater bases. And also, not just specific to Empires, much cooler underwater exploration/dungeons due to much larger depth. Anyway...
How would one even do pipes without TE's? Block updates are too lazy. Oh wait, you were working on your own coremod for block updating scheduling yeah? Well even so, how would you determine the fluid being pipes when you're only limited to metadata?
Yeah I reckon the multithreaded chunk loading will free up the main thread for other single-threaded tasks at the very least. It's good for dedicated servers too I think, what with many players exploring all over the place. Multithreaded tile entity ticking would've been far nicer though, unless that already exists and I didn't know. Maybe we'll see that for 1.8.
Fair enough about the linear stuff, makes some sense now - pretty cool. You're a smart guy, maybe one day in future you can give me/us a hand with the topologic profiler