Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Block Damage #803

Open
ikabod-kee opened this issue Dec 1, 2024 · 1 comment
Open

Block Damage #803

ikabod-kee opened this issue Dec 1, 2024 · 1 comment
Labels
design principles Not really a fixable issue, but some game design principles that I plan to follow. engine experimental a feature or idea that will require lots of experimentation gameplay terrain undecided a final decision has not been made whether or how this enhancement should be implemented

Comments

@ikabod-kee
Copy link
Collaborator

ikabod-kee commented Dec 1, 2024

Block damage is a mechanic that I've not seen a single voxel sandbox have, and I think it could mix well with Cubyz.

Basically, every block in Cubyz has 255 health, which means it can be stored as an 8-bit value. Once it hits 0, the block will break. Every block also has a different hardness value, which is referenced from the zig.zon when said block is damaged (think of it as the block's defense.) Blocks can regenerate over time via random ticks (#77), or alternative methods can be used to repair them, such as mortaring or using a magic spell.

Pros of having block damage:

  • Enemies can interact with players in a new way by slowly chipping away at their base's defenses. They can deliberately damage blocks to get to players.
  • Explosions can damage blocks instead of outright destroying them.
  • You don't have to painstakingly hold down your mine button to destroy a block. (Minecraft Obsidian)
  • IDEA: You could potentially mine blocks faster by manually clicking to swing. You can hold down the mouse button to auto-swing, but it will be slightly slower.

Cons of having block damage:

  • Potential performance issues and file bloat.

Related issues:

@ikabod-kee ikabod-kee added experimental a feature or idea that will require lots of experimentation undecided a final decision has not been made whether or how this enhancement should be implemented gameplay engine terrain design principles Not really a fixable issue, but some game design principles that I plan to follow. labels Dec 1, 2024
@ikabod-kee ikabod-kee modified the milestones: Far future, Long-Term Goals Dec 1, 2024
@IntegratedQuantum
Copy link
Member

While this could open up some really interesting possibilities, I'm not sure if it's worth the cost. I fear that this will cause too many mesh updates on the client due to the random tick regeneration.

I think many of the advantages you have here could also be achieved by just storing the health of just one block per entity/player.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design principles Not really a fixable issue, but some game design principles that I plan to follow. engine experimental a feature or idea that will require lots of experimentation gameplay terrain undecided a final decision has not been made whether or how this enhancement should be implemented
Projects
None yet
Development

No branches or pull requests

2 participants