Domhan Outpost: Town Interior
One of the biggest things I worked on in the month of October was the interior of the town for our multiplayer co-op RPG in development, AetherStory. In this blog post I will discuss the process in which the interior was created, including the tileset creation, the mapping process, and the coding challenges that cropped up.
The first step to creating a map is to create a tileset, and creating a tileset requires you to source tiles from existing tilesets or draw new ones. In the case of the interior the majority of the tiles were created from scratch.
The first floor of the Inn, complete with check-in desk, kitchen, piano lounge and bar.
The tileset has so many options that allow the creation of inns, taverns, homes, blacksmiths and shops. Thankfully the interior tileset can be used throughout the game for the majority of the interiors with just wall and floor swaps to fit the new location. So its a great foundation and base to help grow the game rapidly in the long run.
Shop Interior, with a loft bedroom.
Creating this tileset I came up with some rules to help keep a consistent style. First, I made sure that floors were lighter and walls were darker. Any objects that you can't walk through are also darker. This helps you immediately recognize where you can or can't walk. The second thing I considered is making sure details and clutter were not distracting and were aligned to fit into the rooms naturally. For example, you can see that I have boxes and crates all over the place, but they do not distract from the overall room. I also took care to create variations of items and tiles. You can see this on the wood floor, there are different stains and blotches. You can also see variations with the items on tables and counters. This attention to detail will help make our interiors stand out and have a level of quality that I hope all of our maps meet.
The interior of the town also has a cellar and basement areas. The interior tileset I made up to this point was perfect for the above ground structures made of primarily wood. But I needed to create an additional tileset to support the cellars. Another week of the month was spent making the cellar. It turned out great:
An example of a cellar using the new cellar tileset.
The cellar tileset followed the rules I developed for the interior tileset. The moss on the walls have variations, as do the dirt and stone textures. My favorite part of the cellar tileset is how the dirt transitions to the stones and the new complex way the dirt is shaded. I decided to try something new with the dirt tiles on this tileset. I made it so the dirt has a complex dark pattern as a base, but then I used a simpler lighter texture in the well worn areas to break the pattern up.
As the days left in the month were already running short, I just finished creating the tilesets for the interior. That left me only a few days left to actually start mapping. What you may not have realized is that I actually mapped the entire interior on one map! This means that all rooms are actually right next to each other and that allows you to move between rooms instantly, without a load screen (even if our load screens are only two seconds normally).
Domhan Outpost Interior all on one map.
As you can see above the interior of the town was created on the same map. But if you were standing in one room you would see the rooms next to it. This needed to be addressed. And so I came up with an idea of room masking. Basically what this means is that you can only see one room at a time and the other rooms are simply not rendered. This feature made it into the engine and brings us one step closer to having the Alpha demo playable.
The process of mapping each building I decided to study how scale works in existing RPG's that share a similar style to my game. I noticed that in general other games do try to keep a general scale from the interior to the exterior of their buildings. Some games the scale is massive while others its more 1:1. In our case I decided to make the ratio 2:3, or in other words the inside is 150% bigger than the outside. So if a building was 10 tiles wide on the outside, inside it would be 15 tiles wide. It seems all games make the interiors larger than exterior and honestly without me saying anything I doubt anyone would notice.
In conclusion, the interior map turned out great. And the response from the viewers on the Twitch stream were all very favorable. Be sure to join me on the next stream as I stream every step of the creation of the game including all the parts we just discussed in this blog post. If you aren't a Twitch viewer, then you could also always join me on Twitter to follow the progress of our game, AetherStory!
Let me know below what you think of the interior tileset. And be sure to drop me a like!