Giter Club home page Giter Club logo

Comments (24)

schemen avatar schemen commented on May 27, 2024 1

I can confirm that this is now working! :D

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

Hi, I'm not entirely sure if I understand the question right, but I believe that what you want already exists.

So you indeed have the dedicated fow layer, where by default everything drawn is both vision and movement blocking. This can be changed per shape but is quite cumbersome.

So instead there is also the FOW tool, not to be confused with the fow layer.
This tool can be used from any layer, and has a toggle to show or hide a region you select regardless of any dynamic light going on.

Is this what you meant ?

Thanks for trying the tool!

edit: You;re going to need to disable the Line of sight (LOS) based vision toggle in the DM settings for this.

from planarally.

schemen avatar schemen commented on May 27, 2024

Mh lemme try to explain it better :)

I would love to have the FOW layer that is some sort of a mask that I can edit, like in photoshop. Edit the mask directly to what is visible or what isn't. For that, creating objects (squares and circles) to define what is visible and what isn't is a bit hard so I thought that it would be great if we could edit that layer mask directly with a brush.

https://github.com/apclary/dungeon-revealer this project implements something like that, sadly it always requires a refresh hence why I am very excited about this project and :)

Btw, disabling LOS in the DM setting doesn't really chance anything funny enough! Maybe I am doing something wrong though.

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

Did you try the FOW tool though?

It is not a brush, but just a rectangular tool. I think I should be able to implement what you want fairly easy, I should be able to get a simple brush mechanism up and running in a separate branch tomorrow.

Just to be clear. You would like the entire screen to be black for players at the start of your session, and would like to use a brush to show (or later hide) areas in that black field?

from planarally.

schemen avatar schemen commented on May 27, 2024

Very sweet, yes indeed that is what I am looking for :) !

When I use the FOW tool to "hide" things again it gets hidden for the DM as well, by the way! A brush that simply edits the mask instead of creating objects would be really great!

This is a square object created by the FOW tool that has reveal off:
image
It currently doesn't turn the opacity back on but creates a new object that blocks.

Am I understanding this correctly?

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

It's indeed a new object that obscures an area, (a token with a lightsource would pierce through it though).
If it also hides stuff for the DM than that's a bug :D.

The way I would use that tool, if I'm not using the dynamic lighting, is to have the DM option to fill the entire screen with fog on, and then use the reveal part of the fow tool to show things. The downside is that it's only rectangular atm.

That said, I see merit in the masking stuff you propose and will try to implement it today/tomorrow but initially as a special separate mask layer, because combining the shapes and the mask will require a bit more tinkering.

from planarally.

schemen avatar schemen commented on May 27, 2024

Ah alright, sweet - no problem with that :) A simple FOW layer and the dynamic FOW layer

If dynamic light is wanted, you could create "objects" with the brush as well? Like, use the brush to create a bigger object

Btw, I have a setup running on docker swarm fully dockerized. Still have a small issue with logging but I'll see to that.

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

Hi, I was only able to start working on it today, so sorry for the small delay ;).

So I quickly created a very basic prototype which will definitely change in the future to be more polished but should be able to do what you desire.

The brush branch provides an additional 'brush' tool for the dm that will always show or hide stuff on the fow layer, so you can use it from anywhere without having to leave your layer for now. (it probably will change so that it can draw on other layers as well).

The reveal part works pretty straightforward, the hide part is a bit cumbersome but functional.

let me know what you think.

edit: these brush strokes are also selectable in the fow layer, if you want to remove an entire stroke this is better than drawing over it.

from planarally.

schemen avatar schemen commented on May 27, 2024

Heyo! Good work so far! So onto the report :)

  • It seems that the hide function is still creating a object that has no opacity:
    image

  • When you zoom, the size and shape changes of the brushed area, meaning depending on how you zoom you reveal more or less

Enhancement:

  • Any way to see the brush size preview?

Btw, I got it fully dockerized, you can check out a version running on a swarm cluster here: https://dnd.schemen.me
https://github.com/schemen/PlanarAlly/commits/master

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

Hi,

  • It seems that the hide function is still creating a object that has no opacity
    Yes this is for practical reasons regarding synchronization to players. If it is just for yourself I could easily do a simple masking layer as we discussed earlier. The problem arises when you want to synchronize your brush strokes to other players as then you would have to send the current complete canvas image data which is much more data.

    That said, I'm gonna look into other things that I probably overlooked to make things easier, I forgot to adjust the opacity of the hide brush which is the primary reason you noticed this method. If I for the time being fix the opacity, is that ok for you while I look into something better? or if you have suggestions to synchronize canvas brush strokes, feel free to give them.

  • When you zoom, the size and shape changes of the brushed area, meaning depending on how you zoom you reveal more or less
    This is simply an oversight on my end, I'll fix it when I get home in ~1 hour

  • Any way to see the brush size preview?
    I'll see how fast I can add it, but it definitely is a good idea.

Thanks for testing it!

from planarally.

schemen avatar schemen commented on May 27, 2024

Yeah, actually if you could add the added FOW Opacity to FOW objects as well maybe?

Lemme know when I can test more!

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

Ok I fixed the opacity on the brushes and made it so you always have an active brush tip to properly estimate size and effect of the brush.

I've also fixed the opacity on the FOW tool.
I've deliberately not added the opacity to the other fow objects drawn on the fow layer itself, because these are hidden by default if you switch to another layer and I wanted to properly show them on the FOW layer for this reason. I could add some DM setting to finetune it to your needs.

edit: I've managed to screw up the ruler tool though FYI

from planarally.

schemen avatar schemen commented on May 27, 2024

Heh very nice thought. You still want light blocking objects to be visible, that makes sense :)

from planarally.

schemen avatar schemen commented on May 27, 2024

I just tested the latest code and it seems to bug out when you try to mix reveal and hide on the same part of the map, not really sure what to do :D

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

Can you provide a screenshot or something?

from planarally.

schemen avatar schemen commented on May 27, 2024

Here you go:
image
image

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

Hm, Multiple hide layers on top of eachother will add some darkness effect, which I'll look into,
but I don't know how you get those effects, can you provide some easy steps to reproduce it ?

from planarally.

schemen avatar schemen commented on May 27, 2024

Mh, I simply draw over the same place with hiding/revealing brush

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

Do you have the DM setting "Fill entire screen with fog" enabled or not ?

from planarally.

schemen avatar schemen commented on May 27, 2024

This I do, yes

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

Ah I now also have the same problem on another pc, maybe I forgot to commit something, at least I now can recreate it.

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

I fixed the issues, I've update the branch BUT be aware that in its current state it will not synchronize with other players, I'll make it properly sync tomorrow. But if you have time you could already try it out and see if it behaves as you expect.

from planarally.

Kruptein avatar Kruptein commented on May 27, 2024

A bit later as planned, but I updated the brush branch with code that should now correctly work across multiple clients. Note that I've tested this in a clean session, so I advise you to remove any of the shapes drawn with the brush tool earlier before updating your branch.

If you have important save data, be sure to backup before upgrading.

from planarally.

schemen avatar schemen commented on May 27, 2024

Sweet! I will test this out :)

I currently do not have any save-data, I'll just delete the stuff :)

from planarally.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.