29 ms·
> A game engine that needs to keep track of imported resources (especially when you want automatic imports when the file is saved via a 3rd party tool - e.g. sa
by WorldMaker 6y ago
> A game engine that needs to keep track of imported resources (especially when you want automatic imports when the file is saved via a 3rd party tool - e.g. saving a model on Blender or a texture on Krita causes an automatic reimport/convert to the engine's format)
A game engine isn't likely to do that in a production build. Even if it wanted to though, these sorts of "file ticket" sandboxes still has support for "directory ticket" and "file watchers". Even if storage specifics like "drive" or "path" are opaque to the application, they can still ask the user for permission to an entire directory (either explicitly in an "Open Directory" or implicitly in directories they naturally own such as "app data" and "resources" directories). Figuring out "where" that directory is for the user in Blender or Krita might not be straightforward, but just because those "tickets" are designed to be opaque to applications doesn't mean they have to be opaque to users and the operating system has lots of interesting possibilities to answer user questions about where things are, such as smarter Save File dialogs that are "ticket aware". ("Open Tickets > Game X has an Active File Watcher on this Resource Directory")
Almost all the same applies to other similar tools like file servers, file managers, VCS clients. Opaque/transparent is a "cone" in "ticket" based systems. It probably should be opaque where exactly my "file share" folder is stored, and all of my folders that are not my file share folder to a file server, so long as the contents inside that file share are transparent enough. The hard thing is defining those "cones", but the past default of "everything is transparent" is a problem and the over-correction in some systems to "nothing is transparent" sometimes blinds us to finding better ways to define these visibility cones rather than complain that they exist at all.
(Fwiw, all of the above is possible in the strict UWP Windows sandbox today: you can ask for directory tickets, you can ask for file watchers with those tickets. This isn't entirely theoretical, there have been practical applications, if not enough.)
- badsectoracula 6y ago> A game engine isn't likely to do that in a production build. I actually have worked on two AAA game engines that did exactly that. The entire idea was to make importing stuff easier and minimize the time between the artists editing content in their content editor and having it imported and visible in the engine. > Even if it wanted to though, these sorts of "file ticket" sandboxes still has support for "directory ticket" and "file watchers". How are those given exactly? You'd need to ask for permission for every directory? If you cannot have the program monitor the directories, how would it know that a file changed before asking permission? Or the permissions will be asked at startup (since it is very common to edit existing content instead of only importing new content - the editor remembers the original paths for all content and can start monitoring it at startup). TBH this all sounds like a UX nightmare, especially when the entire goal is to make the process smoother.