Editor’s Note
Today we sit down for a chat with Grape_Juice, the creator of Grape Juice Isometrics module. He is also responsible for other useful modules like MiniMap and Fantasy Grounds Converter, as well as the soon-to-be-released Material Dice and Random Dungeon Generator modules for Foundry VTT. Stop by his Discord, Github or check out his Patreon for more information!
Isometric maps and tokens take a traditional ‘top-down’ viewpoint and change it to a ‘three-dimensional’ offset view, creating a fantastic and nuanced perspective, as seen here:
Let’s talk with Grape_Juice and see what we can learn!
FHub: What’s your history with RPG’s and VTTs?
GJ: Oh wow, that takes me back to many old school games we all used to play, their distinctive feature was the unique and memorable art in the UI, and of course, isometric view. Games like Fallout, BG and Diablo to name a few. Most of these I played when I was much younger, and I think that’s what set that concept of RPG’s and fantasy for me.
My story with VTT’s started like everybody’s I assume. I used to play with a group of random people I met on the internet on Roll20 and used to DM and play on a table as well. When Covid hit, we tried using Roll20 exclusively, but I really had issues running games and felt there had to be a better way. Long story short I saw Foundry and fell in love.
FHub: What got you into programming with Foundry?
GJ: That’s a funny story. I had a ‘potato’ computer and was running Dungeon of the Mad Mage (DotMM) in its full HUGE map’s glory. I loved the dynamic lighting of Foundry but the performance took a huge hit when running 5,000+ walls and lights. I didn’t want to go back to Roll20 and suddenly developed a burning interest in trying to understand why it worked so slowly (moving a token took around 7 seconds and so did opening doors). I dove into the code for running performance monitoring, which led me into the wall and ray-tracing calculations. I thought of an idea to solve the issue and it worked! It took a couple of sleepless nights of tinkering with Foundry and getting to know Javascript, but that increased the application’s performance and I was ecstatic.
When I saw a lot of people had the same issue, I decided to turn my patches into a module and so the notorious “Haste” module was born1. From there helping people out and creating things that brought joy, mixed with a love for RPG’s really set a fire under me. I created my second module, the MiniMap, which also felt like something I needed to run DotMM, and of course, what old school RPG doesn’t have a cool minimap?
1Editor’s Note: Haste has been deprecated in Foundry Core .7x and newer
Once that was out there, I wanted to bring more people to Foundry, and after seeing how many were on the fence due to their sunken cost in Fantasy Grounds, I decided to pick up the mantle and create the FG_Converter. It took a bit of time to get a working version, but I saw I could really make an impact and help a lot of people move to Foundry. This was a turning point for me since I got enjoyment from making something for other people and not just something for myself.
The Foundry community is something I fell in love with. So many helpful and supportive people, the joys of hacking away at Foundry, and the feeling of making an impact are the things that charmed me.
FHub: Programming modules seems daunting to many of us, but lots of people try their hand at it. Programming for isometric play seems downright unimaginable. How difficult are the problems posed by this type of programming?
GJ: The major issue I had is no other VTT I know of tried to tackle the problem. It felt like uncharted territory. Sure there are many isometric games, and even 3D games, but a VTT? Isometric play must make it easy for a GM to build scenes and for players to play in them. At the same time, it must still work with all the other features the VTT has to offer, such as dynamic lighting and measurement tools, and even use the same tokens and assets.
On one side you have the isometric requirements, on another the player’s experience, a third is the GM’s view, and finally, you have the complexity of trying to adapt a VTT that was not designed with isometric in mind.
The difficulties were mostly related to figuring out matrix transformations, patching parts of Foundry to work in different ways, figuring out how to make rooms work when viewed from inside or outside, some shader work, a sprinkle of geometric algebra, and performance.
The latest feature I added provides an example of what kinds of things need to be done in order to work in isometric view: When playing top-down, most tiles are never going to be placed on top of one another. In the isometric view, tiles are going to be placed and stacked together, whether it’s a room, a hallway with walls, or a door in a door frame. Building scenes is a difficult task because each tile has a ‘bounding box’ around it, which works great for a top-down view, but increases the difficulty of selecting the tile in isometric view. After reviewing feedback from the community, I added a “pixel perfect” hit-area for each tile, which means that the selection of tiles will happen based on which tile appears under the cursor, taking into account transparent areas.
FHub: Why Isometric? What intrigued you about this style of play?
GJ: After I made a few modules and saw that a lot of people liked what I did, I started making things that I thought people wanted and that would be fun and challenging to create, rather than make what I needed for my own games. I wanted to create a random dungeon generator which had both top-down and isometric modes. I built the code for the top-down and suddenly realized making it work in isometric was going to be hard, and there wasn’t an easy way to play in isometric in the first place. Then it hit me, I had to figure out a way to make isometric work in Foundry. Suddenly all those old school games came to mind and I saw some beautiful art in isometric style that captivated me. It made so much more sense than top-down perspective and the problem was difficult and interesting.
I find isometric style to be the perfect middle ground between 3D VTT’s such as Tabletop Simulator (which is hard to create scenes for and you can’t use 2D art) and top-down perspective, which lacks some visual information you want to give to players. It looks beautiful and unique, stands out, and brings back a lot of nostalgia.
FHub: What’s the future of isometric and Foundry? Where do you see it going?
GJ: I want to see isometric view treated as a first-class citizen in VTT’s. I have a lot of features I am working on adding as well. Outline silhouettes allowing you to see tokens behind objects, multiple facing tokens that change based on movement direction, and token changes based on status effects (prone, hiding, flying, etc.) to name a few. I believe as it becomes easier to play in isometric, more artists will create art for it, which is the other issue that holds the whole isometric movement back. I also hope to bring more collaborations with artists to put out map packs that have all the isometric features built-in.
Finally, once everything is working well and Foundry has stabilized a bit more, I can let the module out of early access for everyone to use and enjoy for free!
FHub: How would you recommend Foundry users find resources for isometric play?
GJ: First, check out Azathought‘s website and YouTube Channel.
Amazing Artists in no particular order:
FHub: You have several other modules and a few projects in the works, what can you tell us about those?
GJ: I am extremely excited about “Material Dice”, my next project. It’s a bit ambitious, but I want people to use their real dice when using a VTT! The twist is that it’s going to work automatically.
The idea is this: you can place your phone above your dice tray/table, click a roll in Foundry for an attack or a save and a window will pop out telling you which dice you need to throw onto the dice tray. Once you roll, some AI magic happens and in less than a second, those dice results are used as if Foundry rolled them for you.
I have been training some AI models on around 15,000 images of dice, and a lot of them are from people on my discord. Now you have a use for all the cool dice you bought before COVID!!
A huge THANK YOU to Grape_Juice for taking the time to answer our questions! Consider supporting his efforts to make Isometric play possible, and his other fantastic modules via his Patreon. Come by and chat with him on Discord, suggest ideas and see ongoing updates to his modules.
What are your thoughts on isometric play? Have you ever thought about coding? Have a killer idea for a module? Let’s hear what you have to say!
Can you really NOT be amazed every time Grape_Juice post a gif somewhere?
I would love to see some recording of a real game session using this stuff, I’m curious how it plays with random players.
I love you to see the collaboration between GJ and. ISO worlds. Foundry is an amazing piece of software and GJ is adding a whole new element to it. I have a whole campaign built thanks to GJ.. keep up the great work
All I need is some tasty iso maps, some cool animated effects….and I”m fiiiiiiine.