This is a proposal for what I call sculpted geometry - the ability to have non-square blocks.
I have done my best to make this proposal complete and comprehensive, and present it clearly.
All examples were mocked up in SketchUp.
TL;DR:
I wanted to provide an outline here so the reader can get an idea of the gameplay that will
result without reading the whole thing. However, I encourage you to carry on further down, for
pretty pictures and diagrams await you, as well as detailed descriptions of the mechanics involved,
and some of the reasons why I think this feature is valuable to the game experience.
How it works:
- This proposal uses a "sculpting" based system to modify the blocks in the world, as opposed to a "crafting" based system where each type of block is made on a crafting bench and then placed.
- Sculpting works by removing single vertices from blocks in the world until the desired shape is obtained.
- The proposal is structured so that all existing gameplay mechanics are intact, such that if the player never uses the sculpting tool, the sculpting system doesn't interfere or change thier game in any way.
- The proposal includes an addition to the world-gen process which creates new shapes of block on the surface of the new world as a smoothing process - it should be stressed that this too is optional.
Pros:
- More natural and varied surface terrain, less jumping up hillsides etc
- Vastly more freedom and creativity for building things
- Implementation compatible with feel of current game
- Smooth diagonal walls, better approximation of circles, etc for building
- Completely optional if you like your blocks blocky
Cons:
- Increase in rendered geometry impacts performance
- Size of world save-files increases (possibly drastically)
Why it's cool:
- Organic surface terrain
I think it would be very cool to have a more organic modulation of the surface blocks.
Also, I get really sick of having to jump a whole bunch just to get around outside. It's a minor
complaint, as jumping on things doesn't really impact your over-land speed, but the thought of
just being able to walk to the top of a hill is extremely appealing to me.
- Creative freedom
Like most Minecraft players, I get most of my enjoyment from the game by designing and building
various kinds of structures. Towers, fortresses, some players are making whole cities and I think
there's more than one project to do an entire country. The value of Minecraft (for me) comes in the
freedom to explore and create things, and more freedom equals more fun! The possibilities for this
geometry in a building context are many:
- Smooth diagonal walls
- Archways
- Better approximation of curves
- Decorative sculptures and statues
- Smooth roofs
- Better use of confined spaces
Enabling greater creativity for players will result in some amazing buildings and contraptions.
Some simple example structures in SketchUp, using the block types detailed later on:
Archway for a fortress entrance:
Compact 3x3x3 sphere using 27 cobblestone:
Smooth diagonal wall:
And, just to be a cool cool guy, an archway IN a diagonal wall!
Ha.
Implementation:
How not to implement it:
My first thought was that each type of block geometry would be a craftable template, but it was
quickly apparent that this was a terrible idea. For one, plain diagonal templates already exist
for wood and stone, for making stairs, and it's clearly impractical to have a template for every
material, which one would need if world-gen already makes them out of sand and dirt and gravel.
The solution I found was to create a specialised tool which sculpts the blocks while they exist
as part of the world: The chisel. Details further on.
World-gen:
An optional switch in the world-gen process runs a smoothing process on the sun-lit blocks in the
world, and runs the edges of the terrain into each other where possible (and appropriate).
Internally, the world is still raw cubes. For these examples, I have recreated a 10x10 generated
block of land from one of my saved worlds.
World-gen creates the world as raw blocks, just like it does now:
- If the switch is enabled (keep it optional so fans of proper squares can still create new worlds)
the smoothing system runs over all exposed blocks and stitches them into a smooth surface
(as I did this by hand, I kept some some vertical surfaces for more interesting results):
For grass growth, grass should simply grow normally on all surfaces that are at all slanted. That is,
grass will ONLY not grow on totally vertical faces. To compare, here is the same terrain, but coloured
as though the player has just sculpted it themselves instead of it being smoothed and grass-ed by
the generator. This is what the player would see when they were just done sculpting, and no grass
has grown back yet:
The Chisel
In order to use the sculpting system, the player first creates a chisel:
The template above doesn't have to be final, but I recommend this one as it comforms to the
expected system of handle + material = tool, and works for all normal crafting materials
(wood stone iron gold diamond) without conflicting with any existing templates, including the
switch (which is the other way around).
Using the chisel:
When the chisel is equipped, a little marker appears on the currently selected block in a similar
fashion to the way the black outline appears around the selected block, but for the closest vertex:
and moves when the viewport settles on a new location.
In my example, I have used a little red dot, but hopefully it can be made into something less garish and
obtrusive. The marker settles on the vertex of the block which is the nearest match to the crosshair on
the screen.
When the chisel is used with the mouse button, the highlighted vertex is removed, and the geometry of
the block changes to the appropriate shape:
This can be repeated on any of the remaining vertices to make a different shape:
Considerations for use of the chisel:
- If the player chisels until the remaining shape would become a flat plane, the block pops out
and becomes a pick-up item, like it had been mined normally with a pick or spade.
- The chisel may or may not have a "speed", in the way that other tools do, as defined by the
quality of the tool and the material being mined. It may be tiresome or clunky for the chisel
to have speed, and may be better off just being instant. However if it does require a speed, or
having a speed feels natural, the speed should be such that removing all the vertices of a block
until it becomes mined takes longer than the equivalent operation with the appropriate tool of the
same material. IE: 5 operations with stone chisel on soil > 1 operation with stone shovel on soil.
Block Types
Each block type has 8 variations, one for each corner of the cube. Each of these need not have it's own
model, but can be considered an orientation of the same shape. This information will need to be stored as
part of the level data. Each block type must also define it's interaction with the player, and other creatures:
each type can be classed as either a BLOCK type, that you can't walk onto and must jump to get on top of
like a regular block, or a STAIR type which will allow you to walk onto it if you're approaching from the
correct direction(s). The number of each block type corresponds to the number of vertices that must be removed
from the original cube to create the shape.
- 0: Cube
This is the good ol' cube. This is still the default block type wherever the player is digging into
new blocks and is the block to appear when the player placed materials in the world. Nothing need
change about the cube.
- 1:
The only possible 7-vertex shape. Works like stairs if approached from the corner.
STAIR clipping
- 2:
There are 2 subtypes of type-2 blocks, which have different properties.
- 2a:
BLOCK clipping
This can be used to create smooth walls at 45 degrees to the normal game grid.
Note that while there are techincally 8 orientations of this block, each is the same as it's
upside-down self, so realistically, there are only 4 orientations.
Also note that while these have a BLOCK clipping behaviour, ideally, the collision would be slightly
modified to allow the player to get close to the wall and experience it as smooth, instead of a series
of invisible zig-zags.
- 2b:
STAIR clipping
These are used to create smooth terrain, beaches etc and to make ramps, roofs, tunnels and archways.
- 3:
STAIR clipping, although it can realistically be approached from multiple angles and still work as stairs.
- 4:
STAIR clipping, but multi-directional similarly to type-3
Going beyond these will result in a shape that would be a flat plane, as a solid needs at least 4 vertices
to exist. At this point, if the chisel is used again, the block is 'mined', disappears, and gives you an item.
Anomalous blocks: - "Leaning" type-2
Removing two diagonally opposite vertices from a cube gives you this rather bizarre shape:
(I took pictures from a bunch of angles cos it's actually quite hard to convey this shape).
It may turn out to be problematic in terms of collision, but if it can be supported, it should be
included; there's no point needlessly restricting the freedom of the player to create stuff, and
I'm sure many players will come up with clever uses for it.
- "Skewed" Type-4
I've taken a picture with some terrain context to give a better idea of the shape, as it's kind of
hard to depict:
Again there are potential collision issues here - its the diagonal wall issue combined with the
multi-directional stairs issue. It also doesn't appear to be particularly useful on the face of it,
but again, if it can be done, it should.
Considerations:
Savefile Size:
Unless I missed any, overall there are 8 types of blocks including cubes, and counting both 2a and 2b
as seperate blocks, which they may need to be for collision reasons. In turn, each of these shapes has
8 orientations. If this information is encoded seperately (ie: there are not 64 types of block for every
material), this adds 6 bits of additional information to every block on the map. This results in a rather
significant hike in the amount of space the files take up.
Alternatively, the address space of blocks could be expanded so that each orientation of each shape of each
material has it's own block code. This conserves the player's disk space, although may still result in
a (lesser) inflation of file sizes if the new address space required for the blocks goes beyond what is
currently allocated (I have no idea what it is). This also means that for every new type of material that
Notch wants to introduce, 64 new block codes are needed instead of one.
Collisions:
Blocks can either be created using the rules currently implemented for stairs, or with a slight tweak to
those rules, OR can be replaced with a completely new system, which does generic collision detection without
having to check the terrain or block type (maybe Minecraft has this already? I don't actually know). In any
case, if the collision detection system needs to be revamped, that will probably the most technical part of it.
Material harvesting:
The player should receive a unit of material for every block mined, even if the shape of the block appears
to be less than half the volume of a whole cube. This balances the fact that, if the player wants to create
any shape, even a small one, they must place a while block of material first, and then sculpt it into the
desired shape. It follows then, that if the player wanted it back again, they are entitled to it.
World-gen Smoothing:
As an extension of the previous point, it follows that the smoothing system employed by the modified
world gen should work by generating the terrain in the standard way as raw cubes, and then shaping the
existing blocks to connect them as smooth surfaces, as opposed to adding sloped blocks on top of the
cubes to join them. This conserves the amount of materials the player expects to have access to for any
terrain or biome type without having to tweak the balance of the game.
Unwilling Participants:
I recognise that many players very much enjoy the blockiness that Minecraft offers, and I have tried
hard to make sure that my proposal leaves the game intact for these players as much as possible. As it stands,
one should be able to play the game while happily ignoring the sculpting system, simply by never using
it. The smoothing process of the world-gen should be optional at creation time, or even perhaps a menu
option to be triggered after the world has been established. Playing in an unsmoothed world is
indistinguishable from the pre-sculpting Minecraft game, in all it's right-angled glory. By never making
or using the chisel tool, fans of the pure cube style never have to even see a non-square block.
Fluids:
Fluids will also need rules for flowing over and around non-square blocks. They will also need a 64-part
system for mapping inverted shapes into the the body of water in order to appear correct visually.
Comments please
Thanks for reading this far. I feel that this system will add a richness and variety to the overall gameplay and greater level of freedom to every player, and I'd really like your feedback. Is this is something you would enjoy using? If not, would you mind putting up with a slight hike in your savefile size so that others can enjoy it? Can you see any technical problems? I look forward to your critique!
Like you said, not everyone will be into this, as Minecraft has a cubism charm to it - but some people will love it, because it allows for much more elaborate structures. However like you said you can always make it optional on whether the world generator employs it or not - and you can bypass it by never actually doing it (though you may want to make it a disable-able option in Multiplayer, so someone else doesn't go and round out your buildings for you).
I know the idea of "corner blocks" and "corner stairs" and other items have been suggested time and time again, but this thread actually lays out a good foundation for it.
I think the system should be changed to not allow for some of the leaning Anomalous blocks you mentioned - but thats just my 2 cents.
Very good points raised: particularly redstone. I think the redstone programming will still work, except possibly the situation where a block interrupts a redstone path crawling over the side of a block - on diagonal blocks, this should work (but won't without modification).
Torches are easy though: vertical surfaces are vertical, and the torch behaves normally, everything else is horizontal and the torch will stand upright.
Sculpted glass sounds awesome. Totally keep that.
i can't say for sure, but this sounds like it would cause some pretty massive bloat when hitbox detection is added to the mix, to make anything collidable in a game developers draw a simple, or sometimes complex box around it (the black outline you mention in this case) and when two intersect a "hit" is counted.
i'm only guessing, but i think it's a pretty fair assumption to make that simple cubes are for the most part the only type present in minecraft because it's less memory overhead that way.
i kind of do and don't like this idea at once:
for one, it would allow more freedom for PCs altering bricks and even probably let you do sculptures.
on the other hand, it's a fairly cosmetic thing to add and other than sculpting serves no real purpose.
on the other hand, it's a fairly cosmetic thing to add and other than sculpting serves no real purpose.
Well, Minecraft serves no real purpose if not to 'sculpt' the landscape as you see fit.
I think the bigger issues you and other people have mentioned mentioned like hitbox, redstone programming, and placing torches on diagonals are bigger issues. Well, I mean the easy solution is to simply not allow redstone or torches on those sculpted surfaces - that way you have your cake and you can eat it too, but then it won't be long before people are complaining that you can't do those things.
hitboxes aren't even close to only for redstone or torches, everything from swinging an axe at it (and it breaking as a result) to standing on any given brick uses a hitbox to tell if it was collided.
actually... the axes may not, but i'm nearly positive they do as well.
i used to have a really interesting video where some developer make a really super simple racing game to explain what these are and are for and stuff like that, can't find it now that i look though.
it is, to a point though, safe to assume that a hitbox is nessecary for most actions where one item, or player/etc directly affects anything else in the game world, the game engine needs to know that the objects collided or touched so the engine knows which two touched and does the right thing that should happen.
hitboxes aren't even close to only for redstone or torches, everything from swinging an axe at it (and it breaking as a result) to standing on any given brick uses a hitbox to tell if it was collided.
actually... the axes may not, but i'm nearly positive they do as well.
i used to have a really interesting video where some developer make a really super simple racing game to explain what these are and are for and stuff like that, can't find it now that i look though.
it is, to a point though, safe to assume that a hitbox is nessecary for most actions where one item, or player/etc directly affects anything else in the game world, the game engine needs to know that the objects collided or touched so the engine knows which two touched and does the right thing that should happen.
I'm pretty sure its just done with simple distances from your occupied block to the block you are targetting (I've never had an issue where I couldn't hit the far side of a block, but I could hit the closer side of a block, nor have I had it so that getting HALF a block closer means I can hit it, I usually have to move to the next block) so there isn't much of an issue with trying to reach diagonal surfaces: If you can reach the square it would be occupying, hit test success. Complete.
For the player walking: They have already implemented steps, so the diagonal player walking hittest works fine.
Things like Arrows are more of my concern with hit-tests, you'll probably end up with them floating in the air above where the slope is.
First of all I'd like to say, those pictures were very descriptive.
I was thinking of stuff along the lines of this idea, but i never posted a thread.
I was thinking that Normal Clay Blocks, could be "used" with right click in the inventory. (Or maybe put in the players crafting box that goes into a editor.) and in the editor you could rotate and chip off tiny cubes (32x32) from it, then place it, making multiple clay things could be placed as a statue, provided you made they meet up properly.
This would not create much slowdown seeing as Clay is so rare.
This idea would make MAJOR changes to Minecraft.
It could cause some people to get angry that the "feel" of Minecraft had died. Although I myself have no problem with this idea, (I think it's awesome personally,) I believe, In the end, it might add more problems, than enjoyment.
You have my full, but cautious support.
Rollback Post to RevisionRollBack
Quote from boxturtle »
The hole the Creeper left in the earth is nothing compared to the hole it left in my heart.
I thought of something like this too when I was jumping up mountains! However I never could have summed it up so nicely and elaborately, and I never really thought about all its systematic implications.
I pull my hat off to you; good sir, in hope that one day our dreams become a reality.
Thanks to everyone for their replies. So far it looks like, although possibly problematic to implement, most people are on board for idea. Truthfully, I don't know anything about the internal workings of Minecraft, so it may turn out not to be that bad after all, or that Notch was planning to overhaul the system anyway, who knows.
While it's true that the modification is mainly aesthetic, most of the gameplay (for me, and the players I know) is aesthetic in nature, designing and building things simply for the joy of seeing them exist, and I know that I would value this kind of fundamental increase in design freedom a lot.
I didn't think of doing a poll - how do I do a poll?
EDIT: Poll now up. Let me know if there should be more options.
Although this system seems great there would be some irritation if it was an option especially on the smp servers whereas you have one player who just can walk up a hill and another who has to jump up the blocky surface. Another problem would be if you have 2 diagonal blocks and you try to place something in between them obviously it wont be placed because there are already blocks occupying the space. although I do like this system and it would be fun to make more spherical spheres or a diagonal house.
For multiplayer, the server would either be in square mode or in sculpted mode, it wouldn't be up to the client. The sculpted block types are actually blocks in their own right, so it's not just a case of rendering them differently.
Although this system seems great there would be some irritation if it was an option especially on the smp servers whereas you have one player who just can walk up a hill and another who has to jump up the blocky surface. Another problem would be if you have 2 diagonal blocks and you try to place something in between them obviously it wont be placed because there are already blocks occupying the space. although I do like this system and it would be fun to make more spherical spheres or a diagonal house.
It would edit the blocks server side, in the map data, not in the players RAM. Also, the blocks wouldn't go across more than one block.
This is a proposal for what I call sculpted geometry - the ability to have non-square blocks.
I have done my best to make this proposal complete and comprehensive, and present it clearly.
All examples were mocked up in SketchUp.
TL;DR:
I wanted to provide an outline here so the reader can get an idea of the gameplay that will
result without reading the whole thing. However, I encourage you to carry on further down, for
pretty pictures and diagrams await you, as well as detailed descriptions of the mechanics involved,
and some of the reasons why I think this feature is valuable to the game experience.
How it works:
- This proposal uses a "sculpting" based system to modify the blocks in the world, as opposed to a "crafting" based system where each type of block is made on a crafting bench and then placed.
- Sculpting works by removing single vertices from blocks in the world until the desired shape is obtained.
- The proposal is structured so that all existing gameplay mechanics are intact, such that if the player never uses the sculpting tool, the sculpting system doesn't interfere or change thier game in any way.
- The proposal includes an addition to the world-gen process which creates new shapes of block on the surface of the new world as a smoothing process - it should be stressed that this too is optional.
Pros:
- More natural and varied surface terrain, less jumping up hillsides etc
- Vastly more freedom and creativity for building things
- Implementation compatible with feel of current game
- Smooth diagonal walls, better approximation of circles, etc for building
- Completely optional if you like your blocks blocky
Cons:
- Increase in rendered geometry impacts performance
- Size of world save-files increases (possibly drastically)
Why it's cool:
- Organic surface terrain
I think it would be very cool to have a more organic modulation of the surface blocks.
Also, I get really sick of having to jump a whole bunch just to get around outside. It's a minor
complaint, as jumping on things doesn't really impact your over-land speed, but the thought of
just being able to walk to the top of a hill is extremely appealing to me.
- Creative freedom
Like most Minecraft players, I get most of my enjoyment from the game by designing and building
various kinds of structures. Towers, fortresses, some players are making whole cities and I think
there's more than one project to do an entire country. The value of Minecraft (for me) comes in the
freedom to explore and create things, and more freedom equals more fun! The possibilities for this
geometry in a building context are many:
- Smooth diagonal walls
- Archways
- Better approximation of curves
- Decorative sculptures and statues
- Smooth roofs
- Better use of confined spaces
Enabling greater creativity for players will result in some amazing buildings and contraptions.
Some simple example structures in SketchUp, using the block types detailed later on:
Archway for a fortress entrance:
Compact 3x3x3 sphere using 27 cobblestone:
Smooth diagonal wall:
And, just to be a cool cool guy, an archway IN a diagonal wall!
Ha.
Implementation:
How not to implement it:
My first thought was that each type of block geometry would be a craftable template, but it was
quickly apparent that this was a terrible idea. For one, plain diagonal templates already exist
for wood and stone, for making stairs, and it's clearly impractical to have a template for every
material, which one would need if world-gen already makes them out of sand and dirt and gravel.
The solution I found was to create a specialised tool which sculpts the blocks while they exist
as part of the world: The chisel. Details further on.
World-gen:
An optional switch in the world-gen process runs a smoothing process on the sun-lit blocks in the
world, and runs the edges of the terrain into each other where possible (and appropriate).
Internally, the world is still raw cubes. For these examples, I have recreated a 10x10 generated
block of land from one of my saved worlds.
World-gen creates the world as raw blocks, just like it does now:
- If the switch is enabled (keep it optional so fans of proper squares can still create new worlds)
the smoothing system runs over all exposed blocks and stitches them into a smooth surface
(as I did this by hand, I kept some some vertical surfaces for more interesting results):
For grass growth, grass should simply grow normally on all surfaces that are at all slanted. That is,
grass will ONLY not grow on totally vertical faces. To compare, here is the same terrain, but coloured
as though the player has just sculpted it themselves instead of it being smoothed and grass-ed by
the generator. This is what the player would see when they were just done sculpting, and no grass
has grown back yet:
The Chisel
In order to use the sculpting system, the player first creates a chisel:
The template above doesn't have to be final, but I recommend this one as it comforms to the
expected system of handle + material = tool, and works for all normal crafting materials
(wood stone iron gold diamond) without conflicting with any existing templates, including the
switch (which is the other way around).
Using the chisel:
When the chisel is equipped, a little marker appears on the currently selected block in a similar
fashion to the way the black outline appears around the selected block, but for the closest vertex:
and moves when the viewport settles on a new location.
In my example, I have used a little red dot, but hopefully it can be made into something less garish and
obtrusive. The marker settles on the vertex of the block which is the nearest match to the crosshair on
the screen.
When the chisel is used with the mouse button, the highlighted vertex is removed, and the geometry of
the block changes to the appropriate shape:
This can be repeated on any of the remaining vertices to make a different shape:
Considerations for use of the chisel:
- If the player chisels until the remaining shape would become a flat plane, the block pops out
and becomes a pick-up item, like it had been mined normally with a pick or spade.
- The chisel may or may not have a "speed", in the way that other tools do, as defined by the
quality of the tool and the material being mined. It may be tiresome or clunky for the chisel
to have speed, and may be better off just being instant. However if it does require a speed, or
having a speed feels natural, the speed should be such that removing all the vertices of a block
until it becomes mined takes longer than the equivalent operation with the appropriate tool of the
same material. IE: 5 operations with stone chisel on soil > 1 operation with stone shovel on soil.
Block Types
Each block type has 8 variations, one for each corner of the cube. Each of these need not have it's own
model, but can be considered an orientation of the same shape. This information will need to be stored as
part of the level data. Each block type must also define it's interaction with the player, and other creatures:
each type can be classed as either a BLOCK type, that you can't walk onto and must jump to get on top of
like a regular block, or a STAIR type which will allow you to walk onto it if you're approaching from the
correct direction(s). The number of each block type corresponds to the number of vertices that must be removed
from the original cube to create the shape.
- 0: Cube
This is the good ol' cube. This is still the default block type wherever the player is digging into
new blocks and is the block to appear when the player placed materials in the world. Nothing need
change about the cube.
- 1:
The only possible 7-vertex shape. Works like stairs if approached from the corner.
STAIR clipping
- 2:
There are 2 subtypes of type-2 blocks, which have different properties.
- 2a:
BLOCK clipping
This can be used to create smooth walls at 45 degrees to the normal game grid.
Note that while there are techincally 8 orientations of this block, each is the same as it's
upside-down self, so realistically, there are only 4 orientations.
Also note that while these have a BLOCK clipping behaviour, ideally, the collision would be slightly
modified to allow the player to get close to the wall and experience it as smooth, instead of a series
of invisible zig-zags.
- 2b:
STAIR clipping
These are used to create smooth terrain, beaches etc and to make ramps, roofs, tunnels and archways.
- 3:
STAIR clipping, although it can realistically be approached from multiple angles and still work as stairs.
- 4:
STAIR clipping, but multi-directional similarly to type-3
Going beyond these will result in a shape that would be a flat plane, as a solid needs at least 4 vertices
to exist. At this point, if the chisel is used again, the block is 'mined', disappears, and gives you an item.
Anomalous blocks:
- "Leaning" type-2
Removing two diagonally opposite vertices from a cube gives you this rather bizarre shape:
(I took pictures from a bunch of angles cos it's actually quite hard to convey this shape).
It may turn out to be problematic in terms of collision, but if it can be supported, it should be
included; there's no point needlessly restricting the freedom of the player to create stuff, and
I'm sure many players will come up with clever uses for it.
- "Skewed" Type-4
I've taken a picture with some terrain context to give a better idea of the shape, as it's kind of
hard to depict:
Again there are potential collision issues here - its the diagonal wall issue combined with the
multi-directional stairs issue. It also doesn't appear to be particularly useful on the face of it,
but again, if it can be done, it should.
Considerations:
Savefile Size:
Unless I missed any, overall there are 8 types of blocks including cubes, and counting both 2a and 2b
as seperate blocks, which they may need to be for collision reasons. In turn, each of these shapes has
8 orientations. If this information is encoded seperately (ie: there are not 64 types of block for every
material), this adds 6 bits of additional information to every block on the map. This results in a rather
significant hike in the amount of space the files take up.
Alternatively, the address space of blocks could be expanded so that each orientation of each shape of each
material has it's own block code. This conserves the player's disk space, although may still result in
a (lesser) inflation of file sizes if the new address space required for the blocks goes beyond what is
currently allocated (I have no idea what it is). This also means that for every new type of material that
Notch wants to introduce, 64 new block codes are needed instead of one.
Collisions:
Blocks can either be created using the rules currently implemented for stairs, or with a slight tweak to
those rules, OR can be replaced with a completely new system, which does generic collision detection without
having to check the terrain or block type (maybe Minecraft has this already? I don't actually know). In any
case, if the collision detection system needs to be revamped, that will probably the most technical part of it.
Material harvesting:
The player should receive a unit of material for every block mined, even if the shape of the block appears
to be less than half the volume of a whole cube. This balances the fact that, if the player wants to create
any shape, even a small one, they must place a while block of material first, and then sculpt it into the
desired shape. It follows then, that if the player wanted it back again, they are entitled to it.
World-gen Smoothing:
As an extension of the previous point, it follows that the smoothing system employed by the modified
world gen should work by generating the terrain in the standard way as raw cubes, and then shaping the
existing blocks to connect them as smooth surfaces, as opposed to adding sloped blocks on top of the
cubes to join them. This conserves the amount of materials the player expects to have access to for any
terrain or biome type without having to tweak the balance of the game.
Unwilling Participants:
I recognise that many players very much enjoy the blockiness that Minecraft offers, and I have tried
hard to make sure that my proposal leaves the game intact for these players as much as possible. As it stands,
one should be able to play the game while happily ignoring the sculpting system, simply by never using
it. The smoothing process of the world-gen should be optional at creation time, or even perhaps a menu
option to be triggered after the world has been established. Playing in an unsmoothed world is
indistinguishable from the pre-sculpting Minecraft game, in all it's right-angled glory. By never making
or using the chisel tool, fans of the pure cube style never have to even see a non-square block.
Fluids:
Fluids will also need rules for flowing over and around non-square blocks. They will also need a 64-part
system for mapping inverted shapes into the the body of water in order to appear correct visually.
Comments please
Thanks for reading this far. I feel that this system will add a richness and variety to the overall gameplay and greater level of freedom to every player, and I'd really like your feedback. Is this is something you would enjoy using? If not, would you mind putting up with a slight hike in your savefile size so that others can enjoy it? Can you see any technical problems? I look forward to your critique!
Lak
Like you said, not everyone will be into this, as Minecraft has a cubism charm to it - but some people will love it, because it allows for much more elaborate structures. However like you said you can always make it optional on whether the world generator employs it or not - and you can bypass it by never actually doing it (though you may want to make it a disable-able option in Multiplayer, so someone else doesn't go and round out your buildings for you).
I know the idea of "corner blocks" and "corner stairs" and other items have been suggested time and time again, but this thread actually lays out a good foundation for it.
I think the system should be changed to not allow for some of the leaning Anomalous blocks you mentioned - but thats just my 2 cents.
Torches are easy though: vertical surfaces are vertical, and the torch behaves normally, everything else is horizontal and the torch will stand upright.
Sculpted glass sounds awesome. Totally keep that.
i'm only guessing, but i think it's a pretty fair assumption to make that simple cubes are for the most part the only type present in minecraft because it's less memory overhead that way.
i kind of do and don't like this idea at once:
for one, it would allow more freedom for PCs altering bricks and even probably let you do sculptures.
on the other hand, it's a fairly cosmetic thing to add and other than sculpting serves no real purpose.
Well, Minecraft serves no real purpose if not to 'sculpt' the landscape as you see fit.
I think the bigger issues you and other people have mentioned mentioned like hitbox, redstone programming, and placing torches on diagonals are bigger issues. Well, I mean the easy solution is to simply not allow redstone or torches on those sculpted surfaces - that way you have your cake and you can eat it too, but then it won't be long before people are complaining that you can't do those things.
actually... the axes may not, but i'm nearly positive they do as well.
i used to have a really interesting video where some developer make a really super simple racing game to explain what these are and are for and stuff like that, can't find it now that i look though.
it is, to a point though, safe to assume that a hitbox is nessecary for most actions where one item, or player/etc directly affects anything else in the game world, the game engine needs to know that the objects collided or touched so the engine knows which two touched and does the right thing that should happen.
I'm pretty sure its just done with simple distances from your occupied block to the block you are targetting (I've never had an issue where I couldn't hit the far side of a block, but I could hit the closer side of a block, nor have I had it so that getting HALF a block closer means I can hit it, I usually have to move to the next block) so there isn't much of an issue with trying to reach diagonal surfaces: If you can reach the square it would be occupying, hit test success. Complete.
For the player walking: They have already implemented steps, so the diagonal player walking hittest works fine.
Things like Arrows are more of my concern with hit-tests, you'll probably end up with them floating in the air above where the slope is.
I was thinking of stuff along the lines of this idea, but i never posted a thread.
I was thinking that Normal Clay Blocks, could be "used" with right click in the inventory. (Or maybe put in the players crafting box that goes into a editor.) and in the editor you could rotate and chip off tiny cubes (32x32) from it, then place it, making multiple clay things could be placed as a statue, provided you made they meet up properly.
This would not create much slowdown seeing as Clay is so rare.
This idea would make MAJOR changes to Minecraft.
It could cause some people to get angry that the "feel" of Minecraft had died. Although I myself have no problem with this idea, (I think it's awesome personally,) I believe, In the end, it might add more problems, than enjoyment.
You have my full, but cautious support.
*Yes steps into a cloning booth*
*1000 more yeses step out*
iapprove
I thought of something like this too when I was jumping up mountains! However I never could have summed it up so nicely and elaborately, and I never really thought about all its systematic implications.
I pull my hat off to you; good sir, in hope that one day our dreams become a reality.
I dig straight down.
While it's true that the modification is mainly aesthetic, most of the gameplay (for me, and the players I know) is aesthetic in nature, designing and building things simply for the joy of seeing them exist, and I know that I would value this kind of fundamental increase in design freedom a lot.
I didn't think of doing a poll - how do I do a poll?
EDIT: Poll now up. Let me know if there should be more options.
I would like it, but It will take a tons of coding and testing to do.
It would edit the blocks server side, in the map data, not in the players RAM. Also, the blocks wouldn't go across more than one block.
Plus the images
I approve
Use for different variety of food
Now check out others suggestions
Climbing your @$$ off in minecraft
epic
epic