For this interview we are fortunate to join Sotalo (he/him) in the Virtual Furry Museum to chat about how he created it for the furry community.
What advice do you have for new worldbuilders?
Oh gosh, what advice don't I have for new worldbuilders!? I mean, there's just so much to learn. Blender, Unity, the pipeline… I would recommend to anyone starting out, don't try to make your biggest, most ambitious, greatest project to be your first world. This is my first world in Unity, but I had made so many other projects in Unreal. I've made games for, you know, aquariums in real life. I have a lot of experience going into it. It was still a very nasty experience for me, and that’s after going to college and learning this stuff, to make the transition over from Unreal to Unity. For your first world, just try to keep it simple and see what you can get in that looks good. And there's a lot of things to have in mind.
I'm curious about the time it took for the museum, in terms of not just building, but also preserving the way you wanted it to look and the way it's intended to look. Could you give us some insight into how long that took and what you ran into along the way?
Oh yeah, so you can actually see in the glass case downstairs and to the left, the very first screenshot ever taken in the museum compared to what it looked like a couple months later. Most of the exhibits were up and finished in that time, but there were some exhibits that were still being worked on, and still being processed. There was still an immense amount of coordinating to do with artists and other things. So the actual end time was six months, and I'd worked on this more than my full-time job in six months of work. That work included minor tweaks to the lighting to get things absolutely right, which unfortunately you don't see the standard lighting now, you're seeing the Halloween lighting. This update took over 20 hours to do, and I spent, I think, a good 10 hours or so after that just trying to optimize the candles, the candle flames.
Within the museum, the verisimilitude was very important! I wanted people to be able to come in and feel like they actually stepped into a real museum. I didn't want visual artifacts breaking that experience.
Yeah, I'm curious about that too, how does the candle flame detail work?
There's just a card of a flame, it's only 64 pixels, it's high quality BC7 compression, and actually for the optimized version, four cards on each candle at 45 degrees, and then when you rotate your head, it wants to show you the card that is closest facing to your eyes. There's some artifacts still that I'm trying to figure out, but this allows all of the candles to be merged together as one object, it allows them to be statically batched. The previous method, which looked a little bit better, was a billboard, but each candle had to be a dynamic object, and there were 470 candles in the museum. The performance improvement in the latest update is like 40% for the whole Halloween update, just for the main view when you first load in the game, you're seeing all the candles going up to steps. Yeah, the new method allows me to have a lot of objects and merge them all together.
That's awesome. There's definitely a lot of decisions to make. Would you say you’ve had to make trade-offs with certain pieces that you wouldn't want to compromise too much with, versus having some areas where you can optimize and you have some room?
Within the museum, the verisimilitude was very important! I wanted people to be able to come in and feel like they actually stepped into a real museum. I didn't want visual artifacts breaking that experience. So you can come close to any texture of any artwork in the museum, and like even on this table, there's bicubic rendering. What bicubic interpolation does, it will smooth out a single pixel to a very round form. The hot spots as well as the dark spots in texture shift around. So they don't all align directly with the grid the way that bilinear textures do. That obscures and obfuscates the size of the texture. This texture is I think it's a 1K texture that tiles over. But you wouldn't really be able to count the pixels or tell. It just looks like a nice smooth surface. The effect is happening on all the art in the museum. You'll never be able to find a pixel in here.
A lot of people absolutely love the lighting in the museum! One of the things that I have in the shader for the art as well as the entire museum is albedo validation. And that means that no texture is too dark. No black is too dark and no white is too bright. If there’s a material surface—and I think this is a number one issue that a lot of amateurs in VR have—they'll make a model where if something's white, it’s 100 percent, #FFFFFF hex code pure white! What that does, what that tells all of the shaders in the game, is that 100 percent of the light that hits it completely bounces off. Like a mirror. Like a perfect mirror. And it's so fluorescent it is physically impossible for that surface to exist. And then same thing is true with black. Same goes for 100 percent of light hitting that black surface, all of it gets absorbed and it becomes a black hole. It sucks all the energy and all the soul out of it. So there's the textures come in normally. If something's black in the texture it stays black when I go to put the texture in to get as much data from the texture as possible.
In the shader I'm controlling the values in so that the blacks aren't too dark and the whites aren't too bright. And together with the lighting you can have a white canvas panel but you'll still see shading in there. You'll still see detail in there. It doesn't get blown out. It looks very natural. Albedo validation for the entire museum looks grayscale. There's nothing red, there's nothing blue. There's nothing too bright or too dark. And there's tons of little nifty cool things that I do. Someone was kind of saying oh you could save memory by removing the color from the light map. And I'm like well actually there's a lot of color in the light map. It's just subtle you can't see it. I actually have a blue skylight coming in here to make it look like there's a lot of blue light filtering through the ceiling. And then if you were here when it's not necessarily the Halloween update you would see that blue light kind of extend down from the ceiling and then mixing together with the ground. It feels more like an outdoors environment, like a big open environment here. But then that room downstairs the first one that we were in it's a lot of white lights hitting warm surfaces and warm columns. It feels a lot warmer, a lot more inviting.
There's subtle differences in the light and in the color that indicates different things. And those just that really careful mixing of things creates a lot of different looks. The auxiliary gallery, that's the one that makes everyone feel uncomfortable. It's a cold concrete room with very bright whites shining in your eyes. It kind of forces you, you don't want to look up, it forces you to look at the art. And there's some art in there that some people don't really like to look at. And it almost mimics fluorescent lighting but I wasn't so one kind as to hinder the colors of the works to make it actually look like fluorescent lighting. I just made it look a little bit less ah, you use light like a paintbrush, paint your world. It's also nice too, especially with just the mood in certain worlds and in town, how much lighting has to deal with that. Oh yeah. And even the music too, it's the world is a work of art in itself. It's meant to make you feel a certain way when you come in different rooms are meant to feel differently. And you use every single tool in your toolbox to sell that. To say exactly what you want to say and communicate that.
The Halloween update is meant to be spooky. And it's also, a lot of people called it the dark theme. The walls are black and it kind of creates a lot of contrast with the art. And it's a little bit more uncomfortable than what the museum normally looks like. But it feels appropriate being night time. And it creates a nice contrast with the very warm candles as well.
Are there any future updates you have planned for the museum, whether that's seasonal or new exhibits. Can you give us a glimpse of the future of that?
There were several things I was thinking of for this world. I wanted to... My original concept for the cafe was to hide tokens around the world and people could use those tokens to buy food. I wanted to give people a reason to come in and explore and go everywhere. That was at a time when I thought it was just going to be pieces of art hanging on the wall and nothing more. When I started adding interactive exhibits, things kind of got a lot more interesting and people didn't need a reason to go all over the museum. They wanted to go all over and see everything. And there were a lot of things to play with and there were a lot of reasons to come back even after they already did everything. You can come back here and you can have fun playing with the blocks. You can take a look at all the games and pick them up. You can have fun with the history stuff and the pieces over there. There's a lot to do even after you've seen almost everything. Any food that I put in the world is going to add a lot of textures and increase the download size tremendously. I'm debating on whether or not I should have that and replace it with perhaps an exhibit.
Other than that, I'm going to add more to the glass case. I had met some of the artists in real life. I also gave the panel at a convention talking about the creation of the museum and all sorts of different things. A picture of that would be nice. And as far as the exhibits go, I have ideas but I don't know because a lot of people really love the art in the museum the way it is. Everyone asks me, they want to see more art and they want to see more changes, but they don't want me to remove anything. A lot of people have said, “So were you going to add another floor? Or what would you do there?” I could expand the museum, and make it bigger because people love a big huge download size, of course~! I think I pretty much hit the limit with what I can do in this world.
Any other ideas I would explore in future museums and future worlds. I'm actually working on a museum dedicated to sci-fi for art in the future. And that world looks really cool! But I'm nowhere close to being able to show it yet. There's not that much art in it. And there's a lot of artists who said yes, they want in. And I still haven't even gotten their works in to show them. There will likely be more museums coming but I'm not the kind of guy who makes one world and shows it off, then makes another world and shows it off, and then makes another world to show off, and so on. I take my time and care and effort on one at a time. I may be able to make one world a year. But you can be on the lookout for hopefully more museums in the future.
A lot of effort and work had to be put in so that this world can run in any sense of the word on your computer and still run properly and well despite having so many, hundreds and hundreds and hundreds of different materials and surfaces and pieces of art and lighting and all doing different things.
Is there ever going to be a possibility to have a Quest-compatible version of the Virtual Furry Museum?
Here's the problem with that. If I removed all the art from the museum, I might be able to get it down to the download size that's appropriate for Quest. This is a rather large world with lighting baked in. There's just no way to reduce that and it still looks decent. And the artwork would never be able to be compressed enough for a Quest version to even make sense. I can't even fathom or imagine how that would be possible. And when I tried to do it, I actually lost this file attempting to make the build. So this entire project is a backup because my main file got corrupted. I don't think I will ever attempt making a Quest version of this world. You can see it on desktop if you don't have a VR headset. If you want to see it in VR, you're going to need a link cable and a PC. Yeah, I'd have to remove the entire world before it comes down to a size that's viewable on Quest. I just can't do that.
This actually brings me up to a related question too about are there any parts of the virtual creation process that you think could be better?
Oh, absolutely. The lack of HLODs means there's no optimization for when you step away from objects. So even though we're very far away from a lot of those pieces back there, each one still renders as a separate draw call and separate object. Unreal Engine and other engines have tools to be able to merge all those objects together and then bake out a simple texture when you step back so that it reduces a number of draw calls. Something like that would have made a Quest version a lot easier to make if the engine just did all the optimization for you. A lot of effort and work had to be put in so that this world can run in any sense of the word on your computer and still run properly and well despite having so many, hundreds and hundreds and hundreds of different materials and surfaces and pieces of art and lighting and all doing different things. It would be nice to have—I said this several times—it would be very nice to have ray tracing in VR! So that the room with the mirrors wouldn't be nearly as complicated as it is right now. If it could take advantage of people's ray tracing cores, it would be able to reflect the entire room properly without needing any fallback systems or a separate render camera. But unfortunately it seems like we're not there yet. I've heard that forward rendering is better for VR. That may be true, but a lot of cards nowadays are really not intended for forward rendering at all. They run a lot better using deferred systems. We don't have that in VRChat's Unity. Amplify thankfully gave me a lot of the shader nodes that I needed to make this world. But that was a tool I had to buy separately along with Bakery. So there's a lot of tools that would be nice to have come in with the engine, with a version of Unity. Unfortunately we don't have that.
There's a lot, man. There's a lot that would have made this easier. I mean it's kind of crazy looking back and thinking about all the work I had to do to get artists in here! All the work I had to do to actually get their art to look good and then light it and then have people coming in and nitpicking little things here and there. I'm already going through the world myself several times and seeing all those issues as well that no one has ever seen. It's just an endless list of issues. Anything to make that process easier would be incredible. But then I guess it wouldn't be game development at that point. This is what game development is.
For our audience, how would you want us to stay in touch or stay updated with your work and your progress?
I highly recommend if you have a Blue Sky account, follow me on Blue Sky. Because I'm in the process of moving off of Twitter and moving off of other platforms to Blue Sky. I have my own art on DeviantArt and I do have an official Discord for the museum but it's not used very often. I try to keep people up to date with the museum there but it seems people are more comfortable with Twitter nowadays. Well, they used to be anyways. So I'll try to send more updates on Blue Sky and then if you're able to meet with me in person, I guess you can just ask me about things. You can join the community meetup and you can always find me there.