Posts : 3076 Join date : 2012-01-17 Location : Hahahaha.
Subject: Re: Wow. Fri Jul 20, 2012 11:05 am
Holy bleep. How does it do that? Because they got the blocks highlighting and everything. That's incredible. I can't even describe how awesome that could be. We need to see if we can use the code.
hyperlite Captain
Posts : 1529 Join date : 2012-01-18
Subject: Re: Wow. Fri Jul 20, 2012 11:16 am
I like that second video of the house leaning, do that for ships and things in atmosphere. That is good stuff.
Holy bleep. How does it do that? Because they got the blocks highlighting and everything. That's incredible. I can't even describe how awesome that could be. We need to see if we can use the code.
I can message him later, what should I say/ask?
Iv121 General
Posts : 2396 Join date : 2012-02-05 Location : -> HERE ! <-
Subject: Re: Wow. Fri Jul 20, 2012 11:39 am
"Throw everything you do and make us moving ships " . I guess Frostbyte will tell you .
hyperlite Captain
Posts : 1529 Join date : 2012-01-18
Subject: Re: Wow. Fri Jul 20, 2012 11:46 am
I got it and capsized many little boats I made. It renders blocks as entities as far as I understand.
Edit: But the more and more boats I made, the laggier my game got, think of what is gonna happen to servers, maybe if frost were to make it so it won't lag as bad, with his fast culling magical stuff, we could make it work, but you know people are still going to have a bunch of stuff on servers.
fr0stbyte124 Super Developrator
Posts : 1835 Join date : 2011-10-13
Subject: Re: Wow. Fri Jul 20, 2012 11:54 am
Ask if I can shake his hand. This is hella impressive work.
I'm at work so I can't play with it until tonight, but here are my impressions from the video: Looks like he's using one entity per 16^3 render chunk and transferring physics to it. I think the physics themselves are custom (though the rope behavior looks awfully familiar). The overlay is probably a custom job, and I suspect rendering is handled with a secondary world space.
Overall, this is rather close to what the Copernicus framework was intended to be before Futurecraft, and I'm quite pleased to see that not only did someone else have the same idea, but seems to have nearly pulled it off!
I'll have to look at it in further detail sometime in the future to see how much we can actually learn from it. I also wouldn't mind sharing our terrain collision algorithm with the guy if he wants. I suspect that with just about everything else this mod does, he's ahead of us.
@hyperlite Lag shouldn't be a problem for us, no. Most of that is coming from the combination of collision detection and entity management overhead (minecraft was designed with well-distributed entities in mind), and we have a rather good system to address both. That's all from around October and November before I switched over to graphics.
*edit* I'm reading the full thread. This guy's ideas are so similar to mine, it's uncanny. I have high hopes for this mod.
hyperlite Captain
Posts : 1529 Join date : 2012-01-18
Subject: Re: Wow. Fri Jul 20, 2012 1:45 pm
I remember a discussion about not being able to transport too much in a small ship, this mod, kind of overdoes that...
Spoiler:
This is a medium sized freighter I made, carrying 27 iron blocks, all on the top of the deck. When I first made it only the very bottom blocks sat in the water, now look how low it sits. 27 iron blocks, for our ships, is nothing, trying to transport iron like this would be a mess. So consider this when making our weight system in ships.
Some other things:
-You cannot climb ladders on a ship.
-Tnt makes good mines in water, but cannot be lit, it disappears.
-Sails are bad, try it.
-Larger ships should be more stable then they are in my opinion.
That is my overview of this mod, and how we can use it.
blockman42 Sergeant
Posts : 938 Join date : 2012-01-30 Location : in my office designing new ships
Subject: Re: Wow. Fri Jul 20, 2012 2:16 pm
hyperlite wrote:
I remember a discussion about not being able to transport too much in a small ship, this mod, kind of overdoes that...
Spoiler:
This is a medium sized freighter I made, carrying 27 iron blocks, all on the top of the deck. When I first made it only the very bottom blocks sat in the water, now look how low it sits. 27 iron blocks, for our ships, is nothing, trying to transport iron like this would be a mess. So consider this when making our weight system in ships.
Some other things:
-You cannot climb ladders on a ship.
-Tnt makes good mines in water, but cannot be lit, it disappears.
-Sails are bad, try it.
-Larger ships should be more stable then they are in my opinion.
That is my overview of this mod, and how we can use it.
Still, that was not my best take at making a ship, making it float the best, how realistic are you execting this to be? And how are you going to make realistic physics for large spaceships that don't exist yet? Nobody wants to have to study the physics of buoyancy, mostly people want to mess around with it for a few minutes and make a decent ship.
I messaged him on the forum, he should stop by here later. Also, and I quote:
"You know it's funny, just yesterday someone was asking me in private chat what my "endgame" for this mod was, among other questions. Here was my reply. You want to read it too:
"My endgame? Ehhhhhhh non-existent. If I had two years to do NOTHING but code this project, they would probably be well-spent.
For example, take the hot air mod. I want that for zeppelins and make-shift engines, sure. But I also want it for explosives, which work by creating bursts of heat and pressure. Once I had that, I would want to create "controlled" explosions. You know, the kind that make rockets work. Once I had THAT, I'd want to set up a system where, if you breached max height of the map in a rocket ship with a certain velocity (the technical term for earth is "escape velocity") you move into a new dimension. Not the Nether, not the SkyWorld, but SPACE. From there you could travel around in weightlessness (already have that. Pretty easy.) Visit asteroids (chunks of minecraft blocks.) visit the moon world. Maybe even visit other planets with their own special exotic dimensions and alien life. Also with the hot air mod, I could easily implement "vacuum" blocks, such that you would have to make sure your ship was air tight.
That's just one direction of the mod. I've got a whole other one as intricate as the space one for the resizing mod. I've got another one for oceans as well.
I could definitely use help reaching the "end goal" for this mod, and I'm definitely grateful for anyone willing to give advice, or chip in for that matter"
I was thinking more exotic worlds to travel too though (also, the Minecraft world would have to be turned into a giant cube, instead of flat.) Although traveling to other SMP worlds sounds awesome. I wonder if the FutureCraft team and I can team up, because I'm only going to become busier in the coming days, and the current state of my mod is, safe to say, only about 10% done. I know everything I want to implement is doable. I just need the time or a team to help me out."
Allright, I can see i made the mistake of quoteing the whole thing, lemme post the relevant part:
I wonder if the FutureCraft team and I can team up
fr0stbyte124 Super Developrator
Posts : 1835 Join date : 2011-10-13
Subject: Re: Wow. Sun Jul 22, 2012 6:59 pm
Yeah, read that. I've been chatting with him for the last few days. We'll see what happens.
Dux Tell31 Recruit
Posts : 379 Join date : 2012-01-05 Location : That is out of the question
Subject: Re: Wow. Sun Jul 22, 2012 9:32 pm
Very, VERY, NICE!
Hierarch Fenway DEV
Posts : 1196 Join date : 2011-10-26 Location : |]||o|{o}-H--X-)|(
Subject: Re: Wow. Wed Jul 25, 2012 9:27 pm
Excellent... Everything is proceeding as planned... *Drums fingers together*
blockman42 Sergeant
Posts : 938 Join date : 2012-01-30 Location : in my office designing new ships
Subject: Re: Wow. Thu Jul 26, 2012 2:12 pm
could this actually mean some progress on the mod????
fr0stbyte124 Super Developrator
Posts : 1835 Join date : 2011-10-13
Subject: Re: Wow. Thu Jul 26, 2012 3:30 pm
What? No, this is some else's mod.
Avenger_7 Sergeant
Posts : 906 Join date : 2012-02-10 Location : Flying my logic bomber.
Subject: Re: Wow. Thu Jul 26, 2012 6:20 pm
fr0stbyte124 wrote:
What? No, this is some else's mod.
You know what he meant
fr0stbyte124 Super Developrator
Posts : 1835 Join date : 2011-10-13
Subject: Re: Wow. Thu Jul 26, 2012 7:07 pm
In that case, yes, I've managed to work on the mod several days this week, and I've been reviewing some of the collision code since I've been talking to the Physicscraft dev. I can make it even faster than it was.
The Schmetterling DEV
Posts : 3123 Join date : 2011-08-31 Location : I'm a butterfly.
Subject: Re: Wow. Fri Jul 27, 2012 7:50 am
fr0stbyte124 wrote:
In that case, yes, I've managed to work on the mod several days this week, and I've been reviewing some of the collision code since I've been talking to the Physicscraft dev. I can make it even faster than it was.
Fr0stbyte, I remember a quote from Sanctuary which might be useful here:
"I'm installing my PlayStation now because if I did it when Henry was around, he would freak and have to go install it with maximum optimizations and I'd still be waiting to play 6 months later."
Essentially, we all respect your abilities, as programmers like you are few and far between, but we would rather have something that works fine than somethings that takes an extra 6 months and works slightly better.
You do what's best, but just take this under advisement.
P.S. How am I going on the constructive criticism? Not too impolite?
fr0stbyte124 Super Developrator
Posts : 1835 Join date : 2011-10-13
Subject: Re: Wow. Fri Jul 27, 2012 9:49 am
Well, lets put it this way then. Have you ever tried to replace the foundation of a building while there was a building sitting on it? Once we start getting tens of thousands of lines of code, all expecting the engine to work in a specific way, it no longer becomes possible to change the engine significantly, which is why it needs to be solid before we proceed. And right now it's not a matter of tweaking, it's a matter of writing part of a game from scratch (a game, I might add, which has never been written with performance as a priority and with practically no literature on how to pull it off.) I know it's been taking a long time, and this should have been done ages ago, but that's me not being able to spend enough time on it, so lets not confuse the two.
hyperlite Captain
Posts : 1529 Join date : 2012-01-18
Subject: Re: Wow. Fri Jul 27, 2012 12:00 pm
How many lines do we have now?
Is there actually going to be tens of thousands or is that just a hyperbole?
fr0stbyte124 Super Developrator
Posts : 1835 Join date : 2011-10-13
Subject: Re: Wow. Fri Jul 27, 2012 12:30 pm
hyperlite wrote:
How many lines do we have now?
Is there actually going to be tens of thousands or is that just a hyperbole?
Omitting abandoned code, there is only a few thousand lines right now, and most of it lies in various experiments outside of Minecraft, which I am doing to make it easier to profile. By the time this project is done, tens of thousands of lines might be on the conservative side.
------------------------------
Okay, in the interest of full disclosure: There are 3 primary aspects to the engine overhaul: world/entity management, graphics, and network. Everything else is built on top of those, including the other parts of the engine.
World/entity management is the part that allows ship physics and seamless transition between arbitrary worlds. We've got a decent framework for it, though it's about half theoretical at this point. I was planning on leaving it for last since it's the one most closely tied to vanilla Minecraft. It will also most likely integrate cubic chunks, which I am now a developer for. Eagle_Orion is willing to help, so that might accelerate things.
Graphics is what I am currently working on. The shaders and drawing techniques are things that can be tweaked, but the underlying data structure is something which can't be so easily. Rather than having a single container for everything, world content is categorized and compressed in different ways relevant to the way they are used and accessed. The main piece is solid surface geometry (blocks which are opaque cubes) and lighting. Each geometry chunk is 32^3 blocks and has a binary occupation table (4kb) which maps out where blocks reside in the chunk, 1 for occupied, 0 for empty or not rendered. Block data (id+meta) for the chunk is sent as a dense stream who's placement can be reconstructed from the occupation table. The stream itself is compressed using statistical information of block distribution in the region (rules for reconstruction are in another layer). Lighting has another occupation table with 1 for light next to a rendered block and 0 otherwise, but with a compression which takes advantage of the linear nature of light changes. Because of the occupancy table in this and the block layer, only the parts of the world required for rendering are ever transmitted from the server, and you can add occlusion culling on top of that to cut down the bandwidth even more (due to the properties maintained by this system, much better culling than what I had before). Other layers include transparent blocks, odd-shaped blocks like fences and signs, water, tile entities, ship data, entities, and extra render information like occlusion portals and low-poly meshes, each of which have their own compression and update methods and can be updated independently of one another. Even the way the chunk is rendered makes each layer independent, so changing the lighting won't trigger all the chunk redraws the old system was choking on. Because of the drastic changes, we shouldn't start adding content which uses it until the system is finalized, though I promise the performance boost will make optifine look like child's play.
The last part is network. I really didn't want to mess with this while Dinnerbone is so rapidly making changes to it. Beside the data layers mentioned above, there has to be additional packets for sending arbitrary data: xml, textures/models, new classes, all of with are related to deployment in the content phase. Plus there are general improvements to the way objects are handled in network, including shifting the whole thing over to UDP, though again, I want to wait until Dinnerbone is done before messing with that.
It's daunting how much is left to do, but it is necessary. If we just wanted Futurecraft to be Minecraft + Ships, it wouldn't be too difficult, and I'm sure that's what much of our audience is expecting, or they hadn't thought about it. But we wanted a mod with planets tens of kilometers across and kilometers deep, which you can see any part of at any distance up to and including space and then proceed to travel to any other planet in the galaxy, all the while maintaining a performance at least comparable to vanilla Minecraft. It's a terribly tall order, and no one has ever come close to making a Minecraft-style engine that could pull it off. We will be the first.
Avenger_7 Sergeant
Posts : 906 Join date : 2012-02-10 Location : Flying my logic bomber.
Subject: Re: Wow. Fri Jul 27, 2012 8:31 pm
fr0stbyte124 wrote:
the performance boost will make optifine look like child's play.
Well optifine on my pc runs at about 3 fps no matter which one I use, so is this going to be even worse?
I'm glad you're optimizing it, because optifine is...difficult.
Ivan2006 General
Posts : 2096 Join date : 2012-05-08 Age : 26 Location : The Dungeon.
Subject: Re: Wow. Sat Jul 28, 2012 5:40 am
Avenger_7 wrote:
fr0stbyte124 wrote:
the performance boost will make optifine look like child's play.
Well optifine on my pc runs at about 3 fps no matter which one I use, so is this going to be even worse?
I'm glad you're optimizing it, because optifine is...difficult.
I think we are expanding the quality in most aspects (like render distance) while keeping or even decreasing the system requirements of the graphics card.