The current incarnation started in October. The time since has mostly been spent in planning and engine experimentation. Just yesterday I hit the half-way point in my Futurecraft theory notebook, where I draft out all my plans and algorithms.
thats 5 months - shouldn't you be almost ready to do an alpha build?
Short answer: it's going to be a bit longer, but we've been busy.
Long answer:
Most of that time has been in engine research, rather than content. Futurecraft is a lot more elaborate than your typical content mod, and I don't just mean in terms of quantity. At least 1/3 of the Minecraft engine is going to end up getting replaced or retrofitted, and 5 months ago I had never touched OpenGL.
There has been plenty of work so far which simply hasn't translated into deliverables.
If you want, you can have my experimental occlusion culling mod. http://www.mediafire.com/?n0m0t77zsndfrqy
The graphics buttons don't update in the 1.1.0 version for some reason, but this was just a prototype so it's not a big deal.
Looks like this:
So there's been tons of stuff like that being developed behind the scenes, and I talk about a lot of it in my dev log on our forums.
My current project, while we're waiting for the engine-side world format modifications in 1.2, is developing a new graphics engine, similar in theory to the Eihort World Viewer, but taken to a more extreme degree. I'll make a detailed post sometime soon, but it's going to be optimized at every level of operation, from mesh construction to culling and pipelining, to drawing with custom shaders and sparse virtual texture memory. I can't say yet just how much of an improvement it will make to game performance or draw distance, but I can say pretty confidently it won't even be in the same ballpark.
im loving the mod guys but will there be a auto installer or a hard installation?
also
is this going to be bigger than minecraft (it probably would be)?
also you DEV guys are so totally
I will save everyone else the trouble of answering you, yes. All the ships will be able to be customized , (except the fighter). Also TNT will be pointless because of all the new ship guns being added. You will be able to use the new lasers and various guns and ship weapons from the control chair. Also you can walk around your ship smoothly, better than zeppelin mod, it won't lag walking around while flying.
oO.. I'm already thinking of your notebook as being similar to the Da Vinci Codex.
btw: Would you mind scribbling "MineCrak" into your notebook somewhere? It can be something bad about me even, so long as my nick is in there somewhere... :wink.gif:
My current project, while we're waiting for the engine-side world format modifications in 1.2, is developing a new graphics engine, similar in theory to the Eihort World Viewer, but taken to a more extreme degree. I'll make a detailed post sometime soon, but it's going to be optimized at every level of operation, from mesh construction to culling and pipelining, to drawing with custom shaders and sparse virtual texture memory. I can't say yet just how much of an improvement it will make to game performance or draw distance, but I can say pretty confidently it won't even be in the same ballpark.
So you decided to pursue that?! Nice. :smile.gif: I look forward to buying your version of Minecraft. :smile.gif:
They're basically breaking down Minecraft and rebuilding it. It's almost a whole new game using the Minecraft client
It was never supposed to get this big, but Mojang keeps giving us things to deal with, because they barely work as-is and completely fail on the scale we will be working with.
For instance, here's a netcode issue I discovered while investigating some griefing on our build server: If there are 2-9 block updates in a single vertical chunk, the server sends a special packet with 4 bytes per block and 11 for overhead. At 10 or more updates in a server tick, which is by no means a difficult task, the server changes tactics and sends a dense set of block data bounding the region around the changed blocks. In this format, each block only takes up 2.5 bytes and the whole thing is compressed. It makes sense if all the block updates are localized, but that's often not the case, particularly so in newly generated chunks and in cases where redstone is involved.
On the griefed ship, falling water and lava and burning wool were constantly triggering block updates all throughout multiple chunks. If anyone strayed too close to the ship, their bandwidth allocation couldn't keep up with the constant chunk updating and they would lag out and get kicked from the server. Lava and fire are pretty obvious griefing tactics, and easy to repair with the right server plugins, but it would be trivial for a greifer to lock down a server with just a handful of strategically buried redstone pulsars.
There are two places the chunk-level updates happen: when 10+ blocks are updated in a chunk, and when a player is traveling to a new area. For bandwidth considerations, the latter case will not send chunk updates when there are 4 or more chunk updates already in queue for that player. The block update scenario sends them regardless. This is really bad, especially in a TCP stream where all data must be sent and do so in-order. Chunk updates are easily the biggest bandwidth eaters, and if your update queue fills faster than you can send out data (because of server bandwidth caps), you will eventually get a buffer overflow error and get kicked from the server, which is exactly what happens.
This whole mess isn't too hard to fix, either. First and easiest thing is don't resend the light values. They don't compress well and the client has to recalculate them anyway.
The second part is, if you are going to do a dense update, isolate the updates into smaller subregions of affected blocks. If two regions border, you can batch them together and get a small compression bonus. Then for each subregion, determine whether the compressed data block will be smaller or larger than its sparse equivalent, and queue all the packets as sub-chunk updates. Then, convert the chunk update queue to a priority queue and score the updates by packet size, proximity to the player, and order (in regards to updates to the same chunk).
A slightly more advanced but much better solution is to add delta encoding to the mix. With this, you calculate the per-byte changes to the chunk structure (by adding unsigned bytes: to go down you just cross the 255->0 border), and then compress that. Just to be safe, you would still compare it against the sparse update packet size before sending it out, but you would only need to send out one packet, and it would contain the absolute minimum amount of data. If the chunk is updated again while the packet is still in queue, you can simply decompress the packet, add the two arrays together, and compress it again. In the case of binary state updates, like what pulsars would produce, you would be able to remove the packet altogether if the updates cancel out.
Now that I think of it, even better would be to have the server try to analyze the redstone as a state machine, and then have the client cache the per-chunk state updates for later referencing. By doing this, your redstone computer could be updated in multiplayer simply by passing a single byte for each affected chunk.
This is just a small part what we will be doing when we start overhauling network protocol, which in turn is just a tiny fraction of all the upgrades we are doing to Minecraft which will hopefully make it run like a normal game, and more importantly, allow it to handle Futurecraft. The network part will probably be a separate mod altogether, with the intention of getting it incorporated directly into vanilla Minecraft.
I will save everyone else the trouble of answering you, yes. All the ships will be able to be customized , (except the fighter). Also TNT will be pointless because of all the new ship guns being added. You will be able to use the new lasers and various guns and ship weapons from the control chair. Also you can walk around your ship smoothly, better than zeppelin mod, it won't lag walking around while flying.
custom ships - whole originals - not customizeable ships, and I wanted to know if the TNT cannons would work, not if they would be obsolete.
I will save everyone else the trouble of answering you, yes. All the ships will be able to be customized , (except the fighter). Also TNT will be pointless because of all the new ship guns being added. You will be able to use the new lasers and various guns and ship weapons from the control chair. Also you can walk around your ship smoothly, better than zeppelin mod, it won't lag walking around while flying.
Fighters will be customizable through a mix-and-match system, which will affect not only appearance but also performance. And regarding the Zeppelin mod, I was able to collaborate a little with Blakmajik and share some of the Copernicus collision system with him. In theory, it should fix most of the major performance issues. Still, Zeppelin probably won't be able to scale past the thousands or maybe tens of thousands of blocks without resorting to tearing up the base engine like Copernicus does.
oO.. I'm already thinking of your notebook as being similar to the Da Vinci Codex.
btw: Would you mind scribbling "MineCrak" into your notebook somewhere? It can be something bad about me even, so long as my nick is in there somewhere... :wink.gif:
I'll tell you what. I'll fill up a whole page with nothing but your name written over and over. Future historians will decide that I was driven mad by your incessant calls for collaboration.
So you decided to pursue that?! Nice. :smile.gif: I look forward to buying your version of Minecraft. :smile.gif:
Futurecraft will be free, of course: copyright and all that. And I have no intention of making a full-fleged minecraft clone, as I'm pretty much not interested in the game outside of the engine. We have entertained the idea of setting up an in-game item store, though, to offset the costs of hosting the top-level galaxy server. How do you feel about hats?
also, just an idea - maybe add randomly spawning aliens throught space that fly around in flying saucers, some would be aggresive, others could be traded with.
also, just an idea - maybe add randomly spawning aliens throught space that fly around in flying saucers, some would be aggresive, others could be traded with.
I think they're trying to avoid adding aliens. They just have no point for a multiplayer mod like this.
Rollback Post to RevisionRollBack
May the Force be with you. Unless you're a troll, in which case, may the farce be with you.
Fighters will be customizable through a mix-and-match system, which will affect not only appearance but also performance. And regarding the Zeppelin mod, I was able to collaborate a little with Blakmajik and share some of the Copernicus collision system with him. In theory, it should fix most of the major performance issues. Still, Zeppelin probably won't be able to scale past the thousands or maybe tens of thousands of blocks without resorting to tearing up the base engine like Copernicus does.
Damn, I do love collaboration. Thank you for helping blakmajik with Zeppelin, all things considered (people considering you guys to be sorta competitors) that was a classy move. And blakmajik is a cool guy; he helped me with my Cart Mod and even added extensive comments into the code he donated, and that with people endlessly bugging him every second about Zeppelin.
I'll tell you what. I'll fill up a whole page with nothing but your name written over and over. Future historians will decide that I was driven mad by your incessant calls for collaboration.
:biggrin.gif: < whispers > thank you... ( I would love to have a scan of that page )
And while you're at it, throw in a few "23"'s on that page to make them think I was a member of the Illuminati. :wink.gif: :biggrin.gif:
Futurecraft will be free, of course: copyright and all that. And I have no intention of making a full-fleged minecraft clone, as I'm pretty much not interested in the game outside of the engine. We have entertained the idea of setting up an in-game item store, though, to offset the costs of hosting the top-level galaxy server. How do you feel about hats?
Do you mean a store where only you sell items, or a store where anyone can sell things but you take a percentage of the profit?
If the later, and you feel like dealing with the liabilities and headaches. Go for it! :smile.gif:
fr0stbyte: daedroug, a regular in the Robinton thread, just posted a video that seems right up both yours and Nocte's alley! I figured you might enjoy this even if it has no effect on your current work.
Non-Euclidean GPU Ray Tracing
I wonder if any of this was used in the Dr Who Mod?
fr0stbyte... you are the only person I can think of that could actually make a Tardis work in Minecraft... I don't know what the Dr Who team is even thinking trying to do that mod without you..
But understand.. I'm not trying to recruit you for it, I've never even talked to them before. I'm just stating something that seems obvious to me.
Rollback Post to RevisionRollBack
- The Cubic Chunks Mod is back! Be a part of it's rebirth and Development.
-- Robinton's Mods: [ Mirror ] for some of his Mods incl Cubic Chunks Mod, due to DropBox broken links.
fr0stbyte... you are the only person I can think of that could actually make a Tardis work in Minecraft... I don't know what the Dr Who team is even thinking trying to do that mod without you..
But understand.. I'm not trying to recruit you for it, I've never even talked to them before. I'm just stating something that seems obvious to me.
From what I understand, that bit has already been solved, though I have yet to actually see it. Until proven otherwise, I am going to assume it will be done with portal rendering and a seamless teleport from one side to the other. That's sort of like concurrent worlds, but it doesn't require the two worlds to be in the same physicality, which should make things a lot simpler.
Also about the GPU Ray tracer. It looks pretty cool and seems to have some interesting applications in the right hands, but there is no way the average person is going to be able to run that. He said he was running a 560M with a low resolution and is still got <30fps. Raytracers are not cheap, even with GPUs. It's the main reason I am starting out with polygons in the graphics project. The fewer pixels you have to trace, the better off you'll be.
custom ships - whole originals - not customizeable ships, and I wanted to know if the TNT cannons would work, not if they would be obsolete.
You build ships block by block, but if frost(sorry if I'm wrong about it being you again) gets his way then (I think) the blocks will be organized into modules with their own health and such, which I think would work well.
The first thing I thought of using that for was warp drives (I may have the wrong name), or engines that fold space. Even though I know warp drives probably won't be added, that seems like an awesime way to travel and maybe even see things that are far away (but within the render distance).
How big is this notebook?
Short answer: it's going to be a bit longer, but we've been busy.
Long answer:
Most of that time has been in engine research, rather than content. Futurecraft is a lot more elaborate than your typical content mod, and I don't just mean in terms of quantity. At least 1/3 of the Minecraft engine is going to end up getting replaced or retrofitted, and 5 months ago I had never touched OpenGL.
There has been plenty of work so far which simply hasn't translated into deliverables.
If you want, you can have my experimental occlusion culling mod.
http://www.mediafire.com/?n0m0t77zsndfrqy
The graphics buttons don't update in the 1.1.0 version for some reason, but this was just a prototype so it's not a big deal.
Looks like this:
So there's been tons of stuff like that being developed behind the scenes, and I talk about a lot of it in my dev log on our forums.
My current project, while we're waiting for the engine-side world format modifications in 1.2, is developing a new graphics engine, similar in theory to the Eihort World Viewer, but taken to a more extreme degree. I'll make a detailed post sometime soon, but it's going to be optimized at every level of operation, from mesh construction to culling and pipelining, to drawing with custom shaders and sparse virtual texture memory. I can't say yet just how much of an improvement it will make to game performance or draw distance, but I can say pretty confidently it won't even be in the same ballpark.
180 pages, but looking back through it about 20 of those pages are non-minecraft related so I guess I'm not quite there yet.
also
is this going to be bigger than minecraft (it probably would be)?
also you DEV guys are so totally
oO.. I'm already thinking of your notebook as being similar to the Da Vinci Codex.
btw: Would you mind scribbling "MineCrak" into your notebook somewhere? It can be something bad about me even, so long as my nick is in there somewhere... :wink.gif:
So you decided to pursue that?! Nice. :smile.gif: I look forward to buying your version of Minecraft. :smile.gif:
- The Cubic Chunks Mod is back! Be a part of it's rebirth and Development.
-- Robinton's Mods: [ Mirror ] for some of his Mods incl Cubic Chunks Mod, due to DropBox broken links.
- Dungeon Generator for the Open Cubic Chunks Mod
- QuickSAVE-QuickLOAD for the Open Cubic Chunks Mod
It was never supposed to get this big, but Mojang keeps giving us things to deal with, because they barely work as-is and completely fail on the scale we will be working with.
For instance, here's a netcode issue I discovered while investigating some griefing on our build server: If there are 2-9 block updates in a single vertical chunk, the server sends a special packet with 4 bytes per block and 11 for overhead. At 10 or more updates in a server tick, which is by no means a difficult task, the server changes tactics and sends a dense set of block data bounding the region around the changed blocks. In this format, each block only takes up 2.5 bytes and the whole thing is compressed. It makes sense if all the block updates are localized, but that's often not the case, particularly so in newly generated chunks and in cases where redstone is involved.
On the griefed ship, falling water and lava and burning wool were constantly triggering block updates all throughout multiple chunks. If anyone strayed too close to the ship, their bandwidth allocation couldn't keep up with the constant chunk updating and they would lag out and get kicked from the server. Lava and fire are pretty obvious griefing tactics, and easy to repair with the right server plugins, but it would be trivial for a greifer to lock down a server with just a handful of strategically buried redstone pulsars.
There are two places the chunk-level updates happen: when 10+ blocks are updated in a chunk, and when a player is traveling to a new area. For bandwidth considerations, the latter case will not send chunk updates when there are 4 or more chunk updates already in queue for that player. The block update scenario sends them regardless. This is really bad, especially in a TCP stream where all data must be sent and do so in-order. Chunk updates are easily the biggest bandwidth eaters, and if your update queue fills faster than you can send out data (because of server bandwidth caps), you will eventually get a buffer overflow error and get kicked from the server, which is exactly what happens.
This whole mess isn't too hard to fix, either. First and easiest thing is don't resend the light values. They don't compress well and the client has to recalculate them anyway.
The second part is, if you are going to do a dense update, isolate the updates into smaller subregions of affected blocks. If two regions border, you can batch them together and get a small compression bonus. Then for each subregion, determine whether the compressed data block will be smaller or larger than its sparse equivalent, and queue all the packets as sub-chunk updates. Then, convert the chunk update queue to a priority queue and score the updates by packet size, proximity to the player, and order (in regards to updates to the same chunk).
A slightly more advanced but much better solution is to add delta encoding to the mix. With this, you calculate the per-byte changes to the chunk structure (by adding unsigned bytes: to go down you just cross the 255->0 border), and then compress that. Just to be safe, you would still compare it against the sparse update packet size before sending it out, but you would only need to send out one packet, and it would contain the absolute minimum amount of data. If the chunk is updated again while the packet is still in queue, you can simply decompress the packet, add the two arrays together, and compress it again. In the case of binary state updates, like what pulsars would produce, you would be able to remove the packet altogether if the updates cancel out.
Now that I think of it, even better would be to have the server try to analyze the redstone as a state machine, and then have the client cache the per-chunk state updates for later referencing. By doing this, your redstone computer could be updated in multiplayer simply by passing a single byte for each affected chunk.
This is just a small part what we will be doing when we start overhauling network protocol, which in turn is just a tiny fraction of all the upgrades we are doing to Minecraft which will hopefully make it run like a normal game, and more importantly, allow it to handle Futurecraft. The network part will probably be a separate mod altogether, with the intention of getting it incorporated directly into vanilla Minecraft.
custom ships - whole originals - not customizeable ships, and I wanted to know if the TNT cannons would work, not if they would be obsolete.
Fighters will be customizable through a mix-and-match system, which will affect not only appearance but also performance. And regarding the Zeppelin mod, I was able to collaborate a little with Blakmajik and share some of the Copernicus collision system with him. In theory, it should fix most of the major performance issues. Still, Zeppelin probably won't be able to scale past the thousands or maybe tens of thousands of blocks without resorting to tearing up the base engine like Copernicus does.
I'll tell you what. I'll fill up a whole page with nothing but your name written over and over. Future historians will decide that I was driven mad by your incessant calls for collaboration.
Futurecraft will be free, of course: copyright and all that. And I have no intention of making a full-fleged minecraft clone, as I'm pretty much not interested in the game outside of the engine. We have entertained the idea of setting up an in-game item store, though, to offset the costs of hosting the top-level galaxy server. How do you feel about hats?
I think they're trying to avoid adding aliens. They just have no point for a multiplayer mod like this.
Damn, I do love collaboration. Thank you for helping blakmajik with Zeppelin, all things considered (people considering you guys to be sorta competitors) that was a classy move. And blakmajik is a cool guy; he helped me with my Cart Mod and even added extensive comments into the code he donated, and that with people endlessly bugging him every second about Zeppelin.
:biggrin.gif: < whispers > thank you... ( I would love to have a scan of that page )
And while you're at it, throw in a few "23"'s on that page to make them think I was a member of the Illuminati. :wink.gif: :biggrin.gif:
Do you mean a store where only you sell items, or a store where anyone can sell things but you take a percentage of the profit?
If the later, and you feel like dealing with the liabilities and headaches. Go for it! :smile.gif:
- The Cubic Chunks Mod is back! Be a part of it's rebirth and Development.
-- Robinton's Mods: [ Mirror ] for some of his Mods incl Cubic Chunks Mod, due to DropBox broken links.
- Dungeon Generator for the Open Cubic Chunks Mod
- QuickSAVE-QuickLOAD for the Open Cubic Chunks Mod
Non-Euclidean GPU Ray Tracing
I wonder if any of this was used in the Dr Who Mod?
- The Cubic Chunks Mod is back! Be a part of it's rebirth and Development.
-- Robinton's Mods: [ Mirror ] for some of his Mods incl Cubic Chunks Mod, due to DropBox broken links.
- Dungeon Generator for the Open Cubic Chunks Mod
- QuickSAVE-QuickLOAD for the Open Cubic Chunks Mod
I don't want to say this...
fr0stbyte... you are the only person I can think of that could actually make a Tardis work in Minecraft... I don't know what the Dr Who team is even thinking trying to do that mod without you..
But understand.. I'm not trying to recruit you for it, I've never even talked to them before. I'm just stating something that seems obvious to me.
- The Cubic Chunks Mod is back! Be a part of it's rebirth and Development.
-- Robinton's Mods: [ Mirror ] for some of his Mods incl Cubic Chunks Mod, due to DropBox broken links.
- Dungeon Generator for the Open Cubic Chunks Mod
- QuickSAVE-QuickLOAD for the Open Cubic Chunks Mod
From what I understand, that bit has already been solved, though I have yet to actually see it. Until proven otherwise, I am going to assume it will be done with portal rendering and a seamless teleport from one side to the other. That's sort of like concurrent worlds, but it doesn't require the two worlds to be in the same physicality, which should make things a lot simpler.
Also about the GPU Ray tracer. It looks pretty cool and seems to have some interesting applications in the right hands, but there is no way the average person is going to be able to run that. He said he was running a 560M with a low resolution and is still got <30fps. Raytracers are not cheap, even with GPUs. It's the main reason I am starting out with polygons in the graphics project. The fewer pixels you have to trace, the better off you'll be.
- The Cubic Chunks Mod is back! Be a part of it's rebirth and Development.
-- Robinton's Mods: [ Mirror ] for some of his Mods incl Cubic Chunks Mod, due to DropBox broken links.
- Dungeon Generator for the Open Cubic Chunks Mod
- QuickSAVE-QuickLOAD for the Open Cubic Chunks Mod
You build ships block by block, but if frost(sorry if I'm wrong about it being you again) gets his way then (I think) the blocks will be organized into modules with their own health and such, which I think would work well.
The first thing I thought of using that for was warp drives (I may have the wrong name), or engines that fold space. Even though I know warp drives probably won't be added, that seems like an awesime way to travel and maybe even see things that are far away (but within the render distance).