Hardcore gamemode #177

Open
opened 2018-06-22 08:27:15 +02:00 by Wuzzy · 19 comments
Member

Author: @WSDguy2014 Posted at: 08.04.2017 11:42

Previously, there is no hardcore mode in this subgame to do a challenge.
How to do that:

There is no way to create new world with hardcore mode enabled. Create new world, enable only damage, disable creative mode, join new world for first time, will get a first message box if you want to enable hardcore mode:screenshot_20170408_134221
It does not appear this message box for only first time, not second time nor third time, if you are: disabled damage & enabled creative mode, enable damage & enable creative mode, disabled damage & disabled creative mode. Only can enable damage, to make appear this message box for only first time.
If you choose "No", will play normally. Same thing by pressing Esc button to play normally.
If you choose "Yes", will appear another second message box to confirm: "Are you sure?" with 2 buttons "Yes" and "No".
If you choose "No", will go back to previous message box. Same thing by pressing Esc button.
If you choose "Yes", will enable hardcore mode.
Note: 1st and 2nd message box must be paused the game in singleplayer.
If you trying to switch in hardcore mode enable for example: disabled damage & enabled creative mode, enable damage & enable creative mode, disabled damage & disabled creative mode, and then re join world that has hardcore mode enabled, will get an error message: "This world has hardcore mode enabled. Please, enable damage and disable creative mode only, to play this world". I don't know if its possible to enable/disable creative mode and enable/disable damage in-game.
Don't grant yourself in singleplayer or other players something like that to fly, fast, noclip or all privileges, it will get error message: "Stop cheating in this world with hardcore mode enabled!", automatically revokes it and kicked out to main menu.
If you die in singleplayer, it's game over, you can respawn as spectator mode per player to get automatically grant fly, noclip and fast privileges and revokes interact and shout (optional, i don't know) privileges, to look around the world as long as you can. If you go back to main menu, it will automatically deletes world that has hardcore mode enabled (I don't know, i didn't test it in Minecraft).
If you die in multiplayer server, same thing as singleplayer mode, but if you disconnect the server or getting time out if you are on spectator mode, you will get banned per account or IP ban (i don't know what i choose ban type) forever. Only admin can die multiple times without playing on spectator mode/getting banned himself/herself. Maybe only admin can grant to other players new privilege "multideath" (multideath allow player die multiple times without playing on spectator mode/getting banned himself/herself if it has a privilege).

In multiplayer server should add server file code hardcore_mode for false by default.
doing hardcore_mode:false will activate normally.
doing hardcore_mode:true will activate hardcore mode.

P.S. - I forgot about changing health bar texture look to make different, while playing on hardcore mode.

Author: @WSDguy2014 Posted at: 08.04.2017 11:42 Previously, there is no hardcore mode in this subgame to do a challenge. How to do that: There is no way to create new world with hardcore mode enabled. Create new world, enable only damage, disable creative mode, join new world for first time, will get a first message box if you want to enable hardcore mode:![screenshot_20170408_134221](https://cloud.githubusercontent.com/assets/13905392/24828349/8f4f1044-1c63-11e7-8fdb-1ee495199343.png) It does not appear this message box for only first time, not second time nor third time, if you are: disabled damage & enabled creative mode, enable damage & enable creative mode, disabled damage & disabled creative mode. Only can enable damage, to make appear this message box for only first time. If you choose "No", will play normally. Same thing by pressing Esc button to play normally. If you choose "Yes", will appear another second message box to confirm: "Are you sure?" with 2 buttons "Yes" and "No". If you choose "No", will go back to previous message box. Same thing by pressing Esc button. If you choose "Yes", will enable hardcore mode. Note: 1st and 2nd message box must be paused the game in singleplayer. If you trying to switch in hardcore mode enable for example: disabled damage & enabled creative mode, enable damage & enable creative mode, disabled damage & disabled creative mode, and then re join world that has hardcore mode enabled, will get an error message: "This world has hardcore mode enabled. Please, enable damage and disable creative mode only, to play this world". I don't know if its possible to enable/disable creative mode and enable/disable damage in-game. Don't grant yourself in singleplayer or other players something like that to fly, fast, noclip or all privileges, it will get error message: "Stop cheating in this world with hardcore mode enabled!", automatically revokes it and kicked out to main menu. If you die in singleplayer, it's game over, you can respawn as spectator mode per player to get automatically grant fly, noclip and fast privileges and revokes interact and shout (optional, i don't know) privileges, to look around the world as long as you can. If you go back to main menu, it will automatically deletes world that has hardcore mode enabled (I don't know, i didn't test it in Minecraft). If you die in multiplayer server, same thing as singleplayer mode, but if you disconnect the server or getting time out if you are on spectator mode, you will get banned per account or IP ban (i don't know what i choose ban type) forever. Only admin can die multiple times without playing on spectator mode/getting banned himself/herself. Maybe only admin can grant to other players new privilege "multideath" (multideath allow player die multiple times without playing on spectator mode/getting banned himself/herself if it has a privilege). In multiplayer server should add server file code `hardcore_mode` for `false` by default. doing `hardcore_mode:false` will activate normally. doing `hardcore_mode:true` will activate hardcore mode. P.S. - I forgot about changing health bar texture look to make different, while playing on hardcore mode.
Wuzzy added the
missing feature
gameplay
needs engine change
labels 2018-06-22 08:27:15 +02:00
Author
Member

Author: @Wuzzy2 Posted at: 23.05.2017 01:58

The most important aspect of Hardcore Mode is that you can not respawn, once you're dead. You only got one life. It is also correct that MC wants to delete the world afterwards.

These are the main reasons why this feature is not going to be added anytime soon. This requires some serious work on the engine first before I can get anywhere. Obviously implementing the Hardcore Mode is a must, but it would be way to hacky if I would implement it in a way like you suggest.
I don't like how you described the dialog boxes, it's a bit messy in my opinion. Especially since these dialog boxes pop up after you technically already started the game by creating the world.
I think it is better if the engine / main menu has support for more pre-world creation options, defined by subgame. This would be a much cleaner solution in the long run.

Note that the normal difficulty settings don't require special engine support and I am much more optimistic for those. But this is currently way down on my endless TODO list. xD First I want to get the basic gameplay right, and MCL2 is still far from that.

Author: @Wuzzy2 Posted at: 23.05.2017 01:58 The most important aspect of Hardcore Mode is that you can not respawn, once you're dead. You only got one life. It is also correct that MC wants to delete the world afterwards. These are the main reasons why this feature is not going to be added anytime soon. This requires some serious work on the engine first before I can get anywhere. Obviously implementing the Hardcore Mode is a must, but it would be way to hacky if I would implement it in a way like you suggest. I don't like how you described the dialog boxes, it's a bit messy in my opinion. Especially since these dialog boxes pop up *after* you technically already started the game by creating the world. I think it is better if the engine / main menu has support for more pre-world creation options, defined by subgame. This would be a much cleaner solution in the long run. Note that the normal difficulty settings don't require special engine support and I am much more optimistic for those. But this is currently way down on my endless TODO list. xD First I want to get the basic gameplay right, and MCL2 is still far from that.
LizzyFleckenstein03 added this to the 0.72.0 milestone 2021-02-23 09:02:45 +01:00
Member

In mc, even in hardcore mode, you are able to continue playing the world after death. (just type /gamemode hardcore after spectating the world)
I don't support a message box.
This will mess the /gamemod command.
In an ideal world, mt would allow games to define initials possible gamemodes to show in the game menu.

In mc, even in hardcore mode, you are able to continue playing the world after death. (just type /gamemode hardcore after spectating the world) I don't support a message box. This will mess the /gamemod command. In an ideal world, mt would allow games to define initials possible gamemodes to show in the game menu.
cora removed this from the 0.72.0 milestone 2022-02-15 04:32:03 +01:00
Member

Hey, so I've been toying around with implementing a basic implementation of hardcore_mode.
I think it's in an okay state to finally demo, at least: https://git.minetest.land/MineClone2/MineClone2/src/branch/hardcore_mode_test

It's based off of Sofar's YOLO mod: https://github.com/minetest-mods/yolo

And, then I reworked it a bit to add a basic spectator mode after death; instead of kicking the player like the original mod.
Since, MC no longer deletes worlds automatically, but gives you a choice to spectate or return to the menu.

I haven't done any change to damage values to make the game harder, yet. As I said above; right now it's mostly just a demo to see what's possible. Even, if it is kinda hacky.

Hardcore mode wiki source: https://minecraft.fandom.com/wiki/Hardcore
Spectator mode wiki source: https://minecraft.fandom.com/wiki/Spectator


As for trying it out.

Definitely do so on a separate, and new test world to be safe.

But, it's enabled or disabled via game settings; since hardcore mode is supposed to be a world setting, instead of per player.
However, the spectator aspect of this is added as a game mode; so it can be used even without hardcore_mode enabled.


Anyway, I've been craving a hardcore_mode recently, and wanted to see what it might take to implement. Hence, the test branch.

So, maybe this can get the discussion going again. or inspire a better take on this.

Hey, so I've been toying around with implementing a basic implementation of hardcore_mode. I think it's in an okay state to finally demo, at least: https://git.minetest.land/MineClone2/MineClone2/src/branch/hardcore_mode_test It's based off of Sofar's YOLO mod: https://github.com/minetest-mods/yolo And, then I reworked it a bit to add a basic spectator mode after death; instead of kicking the player like the original mod. Since, MC no longer deletes worlds automatically, but gives you a choice to spectate or return to the menu. I haven't done any change to damage values to make the game harder, yet. As I said above; right now it's mostly just a demo to see what's possible. Even, if it is kinda hacky. Hardcore mode wiki source: https://minecraft.fandom.com/wiki/Hardcore Spectator mode wiki source: https://minecraft.fandom.com/wiki/Spectator --- As for trying it out. **Definitely do so on a separate, and new test world to be safe.** But, it's enabled or disabled via game settings; since hardcore mode is supposed to be a world setting, instead of per player. However, the spectator aspect of this is added as a game mode; so it can be used even without hardcore_mode enabled. --- Anyway, I've been craving a hardcore_mode recently, and wanted to see what it might take to implement. Hence, the test branch. So, maybe this can get the discussion going again. or inspire a better take on this.
Contributor

Nice. We might wanna add something that saves the "died" state for the world and forces all other playernames that might join into spectator too that way there's at least no in game way to play the world again (at least none i can see).

Nice. We might wanna add something that saves the "died" state for the world and forces all other playernames that might join into spectator too that way there's at least no in game way to play the world again (at least none i can see).
Member

Nice. We might wanna add something that saves the "died" state for the world and forces all other playernames that might join into spectator too that way there's at least no in game way to play the world again (at least none i can see).

Thanks, ooh yea that's a good idea.

I know there's a few ways to save the world. At least via singleplayer; by opening to lan & enabling cheats or through 3rd party tools to edit the map.

So, not sure how strict we want to be. But, yea, something to think about further.

> Nice. We might wanna add something that saves the "died" state for the world and forces all other playernames that might join into spectator too that way there's at least no in game way to play the world again (at least none i can see). Thanks, ooh yea that's a good idea. I know there's a few ways to save the world. At least via singleplayer; by opening to lan & enabling cheats or through 3rd party tools to edit the map. So, not sure how strict we want to be. But, yea, something to think about further.
Contributor

well short of deleting the map.sqlite there will always be ways to get the world back.

My thinking was to at least make it necessary to manually edit something in the world directory (ultimately we can't prevent that anyways).

well short of deleting the map.sqlite there will always be ways to get the world back. My thinking was to at least make it necessary to manually edit something in the world directory (ultimately we can't prevent that anyways).
Contributor

The way it is now you can /gamemode survival and you're back too ^^ - ofc you'd have to /grantme server first but due to the nature of singleplayer you can of course do that.

The way it is now you can /gamemode survival and you're back too ^^ - ofc you'd have to /grantme server first but due to the nature of singleplayer you can of course do that.
Member

well short of deleting the map.sqlite there will always be ways to get the world back.

My thinking was to at least make it necessary to manually edit something in the world directory (ultimately we can't prevent that anyways).

Ah okay.
I was a little confused about your first part; about forcing all playernames who might join a 'dead' world; to be spectator.

That seems a bit confusing/hard to implement with regards to multiplayer.

Would we hypothetically have a set player limit on server start?
And, assume any other players joining after are trying to bypass spectator mode or something else?

For now though, I'll look into a world_flag to make it harder to disable the hardcore_mode.

> well short of deleting the map.sqlite there will always be ways to get the world back. > > My thinking was to at least make it necessary to manually edit something in the world directory (ultimately we can't prevent that anyways). Ah okay. I was a little confused about your first part; about forcing all playernames who might join a 'dead' world; to be spectator. That seems a bit confusing/hard to implement with regards to multiplayer. Would we hypothetically have a set player limit on server start? And, assume any other players joining after are trying to bypass spectator mode or something else? For now though, I'll look into a world_flag to make it harder to disable the hardcore_mode.
Contributor

For now though, I'll look into a world_flag to make it harder to disable the hardcore_mode.

Flags in sqlite databases or text files are easily removed/turned off. :) It's not worth wasting time on that.

> For now though, I'll look into a world_flag to make it harder to disable the hardcore_mode. Flags in sqlite databases or text files are easily removed/turned off. :) It's not worth wasting time on that.
Contributor

With that reasoning the whole hardcore mode is not worth wasting time on. As is it's trivially circumvented by ingame means (you don't even have to restart the game).

I mean if you're that honest with yourself you can just stop playing when you died.

It's quite a step more to manually edit stuff in your world directory vs. picking a different playername or running /gamemode.

With that reasoning the whole hardcore mode is not worth wasting time on. As is it's trivially circumvented by *ingame* means (you don't even have to restart the game). I mean if you're that honest with yourself you can just stop playing when you died. It's quite a step more to manually edit stuff in your world directory vs. picking a different playername or running /gamemode.
Contributor

I added context.

I added context.
Contributor

Ok. point still stands.

I think we should make it ideally impossible to revert this from within the game.

The point of hardcore mode is that if you die you stay dead. Now if you're 100% honest with yourself as a player you do not need this as a technical solution - you can just quit if you die.

If we provide a technical solution I think it should make sure it isn't trivial to circumvent it (particularly with methods we provide out of the box).

Obviously with enough "criminal energy" you could always circumvent it as we can never prevent editing files in the world directory but doing so people would know they are trying to "cheat".

Ok. point still stands. I think we should make it ideally impossible to revert this from within the game. The point of hardcore mode is that if you die you stay dead. Now if you're 100% honest with yourself as a player you do not need this as a technical solution - you can just quit if you die. If we provide a technical solution I think it should make sure it isn't *trivial* to circumvent it (particularly with methods we provide out of the box). Obviously with enough "criminal energy" you could always circumvent it as we can never prevent editing files in the world directory but doing so people would know they are trying to "cheat".
Contributor

If we don't do anything to prevent this let's at least be honest and offer a "/cheatyrespawn" command when you died in hardcore mode that lets you respawn anyways.

If we don't do anything to prevent this let's at least be honest and offer a "/cheatyrespawn" command when you died in hardcore mode that lets you respawn anyways.
Contributor

But if we go that route why a forced spectator mode at all? Why not just display a message "you died in hardcore mode, please do not keep playing in this world".

But if we go that route why a forced spectator mode at all? Why not just display a message "you died in hardcore mode, please do not keep playing in this world".
Contributor

@cora commented 19 hours ago

well short of deleting the map.sqlite there will always be ways to get the world back.

My thinking was to at least make it necessary to manually edit something in the world directory (ultimately we can't prevent that anyways).

We talked about the same thing. Why even argue?

> @cora commented 19 hours ago > > well short of deleting the map.sqlite there will always be ways to get the world back. > > My thinking was to at least make it necessary to manually edit something in the world directory (ultimately we can't prevent that anyways). We talked about the same thing. Why even argue?
Contributor

I say we should at least prevent what we can (easily) prevent. Which specifically means putting some kind of flag in the world data that marks the world as "player died in hardcore" and then the game will not allow you to play in said world again - unless you manually edit files in the world directory.

You say we shouldn't do that because manually editing would make that possible anyways

Flags in sqlite databases or text files are easily removed/turned off. :) It's not worth wasting time on that.

I say we should at least prevent what we can (easily) prevent. Which specifically means putting some kind of flag in the world data that marks the world as "player died in hardcore" and then the game will not allow you to play in said world again - unless you manually edit files in the world directory. You say we shouldn't do that because manually editing would make that possible anyways > Flags in sqlite databases or text files are easily removed/turned off. :) It's not worth wasting time on that.
Contributor

To which i said why have hardcore mode at all if it's essentially a "please respect this" situation a chat message would suffice.

To which i said why have hardcore mode at all if it's essentially a "please respect this" situation a chat message would suffice.
Contributor

You're right, and I didn't properly read his last statement. I thought he was looking into something complicated to store in the DB, but now I see he literally meant a flag, which is fine.

You're right, and I didn't properly read his last statement. I thought he was looking into something complicated to store in the DB, but now I see he literally meant a flag, which is fine.
Member

Okay, yea.

Added a flag via a text file in the world folder; to hardcore worlds on creation.
That way they'll remember their hardcore mode status even if you disable 'hardcore mode' in the menu.

Though, only on new worlds; on first startup.
I don't want to override someone's old world if they accidentally left the menu setting on.

To disable HC worlds with the flag:
This will require disabling the menu setting.
Removing the "hardcore_mode.txt" file from the world folder.
And, lastly the user will need the privs to remove themselves from 'spectator mode'; if they had died.

Okay, yea. Added a flag via a text file in the world folder; to hardcore worlds on creation. That way they'll remember their hardcore mode status even if you disable 'hardcore mode' in the menu. Though, only on new worlds; on first startup. I don't want to override someone's old world if they accidentally left the menu setting on. **To disable HC worlds with the flag:** This will require disabling the menu setting. Removing the "hardcore_mode.txt" file from the world folder. And, lastly the user will need the privs to remove themselves from 'spectator mode'; if they had died.
MysticTempest added the
contribution inside
needs discussion
labels 2022-07-21 21:06:33 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: VoxeLibre/VoxeLibre#177
No description provided.