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
Add "Blinds" mod #3180
Add "Blinds" mod #3180
Conversation
this is required for mods such as flashlight which always want to draw objects above hitcircles. If just adding children to a RulesetContainer the hit circles would always be above the added children (no matter the Depth).
I think it's more fun with textures than black and it transports the meaning and the thought behind the mod a lot more clearly. Here is the texture which I made for this: |
}); | ||
|
||
this.skin = skin; | ||
skin.SourceChanged += skinChanged; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
There are now skinnable actual blinds (shoji screen panels) The black overlay is still behind them to avoid cheating with skins The blinds don't open linearly anymore, they are health squared now When easy mod is on, there is always a little gap open
858c753
to
5f3c054
Compare
This is the video how it currently looks (if you add that resource) linked in the comment above both without EZ and with EZ: [9.9 MB] https://wfr.moe/fiBhQw.mp4 |
Continuing the discussion from Discord: perhaps you could make it so HR adds 1 circle's diameter as offset to the blind opening (which gets clamped for drawing), so your health will have to drop to some value below 100% for the blinds to open? Same would go for EZ but in reverse: exactly 1 circle's diameter would be visible at 100% health. This should again add some more depth to the mod and will make the difficulty scale somewhat with CS. As for the current distance scaling algorithm, perhaps a power of 2 is a bit too much for nomod. This very much depends on the current HP algo (which may change in the future), but scaling this power depending on the current mod or OD value could be an idea. Perhaps n^1.5 for EZ, n^1 for HR, n^1.166 for nomod? It'll probably take a bunch of playtesting to get these right and I haven't tried it myself yet, so do take everything I suggest with a grain of salt. |
well if CS is becoming a per circle property instead of a per map property I can't really use it here. OD would be a possibility for the curve. Maybe also include it in the gap calculation, but only with the mods EZ or HR on because they actually change the score multiplier to something more extreme which should actually make it that extreme. |
/// <summary> | ||
/// Black background boxes behind blind panel textures. | ||
/// </summary> | ||
private Box box1, box2; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Width = 512 * 0.4f, | ||
Height = 512 * 0.95f, | ||
RelativePositionAxes = Axes.Y, | ||
X = -512, |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
|
||
private float applyGap(float value) | ||
{ | ||
float ret; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
PanelTexture = skin.GetTexture("Play/osu/blinds-panel"); | ||
} | ||
|
||
private float applyGap(float value) |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
protected override void Update() | ||
{ | ||
Height = Parent?.DrawHeight ?? 0; | ||
if (Height == 0 || Texture is null) |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
osu.Game/Rulesets/Mods/ModBlinds.cs
Outdated
{ | ||
public override string Name => "Blinds"; | ||
public override string ShortenedName => "BL"; | ||
public override FontAwesome Icon => FontAwesome.fa_osu_mod_flashlight; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Really love the added doors! It takes this mod from being pretty lame to being something quite unique. |
should I make a PR to osu-resources to add the blinds texture? |
Don't just yet, we'll do a pass on them (@arflyte may have something to say). |
I suggest changing the wooden part to brown with faint wooden texture. Currently, the paper texture looked like a wallpaper's; suggest changing that to a paper texture with a warmer tint. |
yeah the paper part is currently just white with the normal map of a wallpaper because I don't have any paper/fabric normal maps. I thought something like that would fit because it is basically just noise (as heightmap) in the end. Proper paper textures are kind of hard to generate in comparison. |
@arflyte tried paper texture now, added a new wood texture and used a warmer (in-door) HDR instead of studio lighting: ingame screenshot: https://wfr.moe/frfAy8.png Updated |
Are you able to explain what the fruit catcher is doing in this mod? I don't really understand. |
It is just a random character going in and out. Gameplay wise it reveals parts of the playfield for just a brief period of time if you are doing well (combo-wise) so that it isn't completely memorizing a map. |
Changes how OsuModBlinds passes the playfield and how DrawableOsuBlinds handles the restrictTo parameter.
I have removed the catcher sprite for now |
Was looking at getting this in but having issues making the door resource small enough to include. |
If lossy compression is ok, the image could be compressed to webp with 90% quality being 877 KB with the 1310x2048 resolution. Lossy compression of png with Both look nearly the same and look perfectly fine for ingame usage: |
hmm I tried to compress image software i used was FileOptimizer Lossless Version 3.37 MB |
Let's go with the lossy one for now. We probably need to rethink the texture ing general and the current may not be the final design, so best to get something in for now. |
Not sure if we want this going forward.
We decided that mods shouldn't be interacting with other mods. This can be added once we have the ability to have per-mod settings, as a difficulty setting local to blinds.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
Adds a new mod which is similar to flashlight but is based on the HP. This also adds an Overlays container to RulesetContainer which is always drawn above hit objects. It allows to implement Flashlight more easily in the future.
Basically the mod is 2 blinds which open and close depending on your HP. Maybe actual blinds textures could be added in the future, but it's only black for now. Currently only for standard mode. I could imagine this in Mania (1 vertical blind). CTB and Taiko could probably even use the same.
Old Video [9.8 MiB]: https://wfr.moe/fDEJkH.mp4
Old Video 2 [9.9 MiB]: https://wfr.moe/fiBhQw.mp4
Old Video 3 [9.8 MiB]: https://wfr.moe/fiQlYa.mp4
Current Video [9.9 MiB]: https://wfr.moe/fiJPrG.mp4