Gameplay
Cubic Chunks: Reduced lag, infinite height, and more [The #1 Suggestion Thread of all time!][Updated! 6/14]
Poll: Which parts of this system do you like?
Ended May 15, 2014
Poll: Which parts of this system do you NOT like?
Ended May 15, 2014
Poll: Do you support this system's implementation overall? (If yes, if
Ended May 15, 2014
I just had a heart attack. You've killed me. Now my cat is homeless.
As it will be in the future, it was at the birth of Man
There are only four things certain since Social Progress began.
That the Dog returns to his Vomit and the Sow returns to her Mire,
And the burnt Fool's bandaged finger goes wabbling back to the Fire;
And that after this is accomplished, and the brave new world begins
When all men are paid for existing and no man must pay for his sins,
As surely as Water will wet us, as surely as Fire will burn,
The Gods of the Copybook Headings with terror and slaughter return!
-The Gods Of The Copybook Headings, by Rudyard Kipling.
What texture pack are you using and what blocks are those? Chiseled stone bricks? I love it!
Prismarine Bricks, actually. And that's not a screenshot from my gameplay either. I can't run snapshots on my computer, due to their poor performance.
These forums are dumb and break my links. I'm bubbleawsome on steam too.
My criticism is OVER 9000!! Oh, and by the way, ¡llum¡π@t¡ ©oπf¡rmed o3o
Was there a discussion on maybe loading distant chunks like blocks with the color being determined by the chunks predicted contents? Even for solving the issue of the really high unloaded ceiling in mega cave spawns? I figured we could discuss the future possibility of things since, if I'm not mistaken, the issues for standard implementation have been figured out.
It will come in "Infinity years" according to TheMogMiner. A way of saying it never will be implemented.
That problem already exists in Minecraft with horizontal distance, why should increased vertical distance act any differently?
That seems like an excellent idea actually.
While I think a timestamp system is probably the second best suggestion for Minecraft since cubic chunks, I doubt we could talk Mojang into doing it given what its taking to get cubic chunks. His idea should definitely be in a suggestion thread.
Time stamping is so much simpler than Cubic Chunks though. I can't see it having anything but benefits (if done properly)... though I guess it could be problematic if the entire chunk is full of updating blocks... (compact layered farms etc).
Actually... I might turn that into my ~first actual Minecraft mod~... At the very least it will be a good learning experience...
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
-
View User Profile
-
View Posts
-
Send Message
Curse PremiumTimeless Modding is kinda dead but idk what to put here now
I occasionally make textures/models for random people. Contributed to: Tinker's Construct, Growthcraft, and Animals+
PixelQuest 2, my new 1.10 RPG/rougelike-inspired modpack, is coming soon!
you can't go past that point horizontally anyways, 30000000 is the hard limit for generation for minecraft, the world continues to generate beyond that point, but it's ghost chunks, and can't be gotten to, however; i assume y=30000000 is the same thing, you don't need any more than that anyways
Sunlight level and block light level are separate, and the latter never travels more than 15 blocks (if I'm correct).
Blocks above the topmost block (trackable with a heightmap) in a column would have a sunlight level of 15.
So how do sunlight calculations propagate?
Each chunk would have a tag named "ChunkInfo", which is 0 for chunks with no opaque blocks, 2 for chunks whose surface is made of opaque blocks or otherwise has an interior completely blocked from sunlight, and 1 for others. They would also have a tag ("LightUpdated") that determines whether or not their sunlight levels have been calculated precisely since the last light update.
When a lighting update occurs, the lighting levels of the surrounded loaded chunks are updated accordingly, then the chunks that are not loaded but does need lighting updates have their "LightUpdated" tags set to 0.
Correct me if I make any mistakes.
I'm pretty sure block light is min(15, sunlight level + light from torches etc).
Sunlight calculations themselves are fairly straight forward. If a block can see the sky, give it the sunlight level (15 during the day, but 4 or w/e at night). If a block cannot see the sky, but a neighbor can, it gets a little bit less sunlight, and it's neighbors get a little bit less again, and so on. All we need to know is whether a given block can see the sky or not.
Heightmaps are the way to go, and the vanilla chunk system already uses them. The problem is that the Vanilla chunk system can't stack chunks on top of each other, and doesn't know what to when blocks aren't loaded on the vertical axis. Beyond this, the rest of the lighting implementation is the same as it is in Cubic Chunks.
With a heightmap, the engine simply jots down the y value of the topmost opaque block in each column. When checking the sunlight value for a block, the mod can then retrieve where that topmost block is in that column, and immediately determine whether or not the target block is exposed to the sky.
Once you've got a reliable method to determine whether a block can see the sky, the rest of the lighting isn't too much of a problem.
What you're talking about is optimizations? Basically... determining chunks which can or cannot be removed from the lighting calculations (removing chunks that are totally obscured etc)? If so: this is a good optimization, though I think it's already a part of the lighting system (I would have to look at it more to figure this bit out). Cuchaz could probably tell you exactly how the vanilla system works, and explain exactly how his lighting system works.
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
-
View User Profile
-
View Posts
-
Send Message
Curse PremiumI could. Here it is:
http://www.reddit.com/r/Minecraft/comments/27ibll/mogminer_infinity_years_until_cubic_chunks/ci5dqos