This week I’ve been finishing off the first set of interiors for the game – religious buildings. I selected these first because I know they’d be quite complex, and I figured this would be a good way to get down a lot of the appropriate infrastructures for interiors and generating/saving/storing/loading them, and then be able to apply those to other simpler buildings rather than simultaneously creating the data structures and the buildings as I went along. Here’s a nice shot of a religious building with the ground floor – the purple symbol is the altar, the blue symbol is a reliquary! – and the second floor, which has some private quarters for the priest (behind the locked door in the middle) and also a staircase leading upwards behind another locked door (on the bottom-left), which leads to who knows where?
Religious buildings have become highly complex and varied in a huge number of ways, but one of these ways which I’ve focused on this week has been in terms of statues within the religious buildings. Originally statues were going to be a binary either/or – either religious buildings had statues of appropriate important figures/deities, or they didn’t. However, I decided it would be much more interesting to add more possible details to this list as a way to both further enhance the variation of religious buildings, and give NPCs and information in the game more to talk about. Therefore: instead of statues, religious buildings may contain ceremonial gongs, vases, and incense stands. Rather than always hearing “The church with the statues that look like X”, you’ll get “The church with the brass gongs”, “The church with the vases that depict two dragons fighting”, and so on and so forth. These are all, naturally, procedurally generated. I’ve created all the graphics for the gongs and also worked on some more graphics for the rest of the ordinary furniture, and my intention is to next work on the vases and the incense stands whilst I move onto programming other building interiors in the coming days.
I’ve also implemented HERESIES. The average game will have between 3 and 6 of these generated in the game world, and they draw upon the data stored for existing religions to propose heretical notions “logical” (as it were) to the religion in question. Religion worships an animal-headed god? Maybe this sect believes that eating animal flesh insults the god. Religion consists of a pantheon of eight gods? Maybe the sect believes there is a ninth. Religion proposes a kind, benevolent god? Maybe the sect believes this god is actually evil, or at least inimical to human well-being. And so on. Just like all the flags and coats of arms and so forth, heresies have their own algorithm for symbol generation (there’s about 40 or so possible, so it’ll be many games until you see them all) and now show up in the Encyclopedia, where you can read a little information about the nature of that heresy, though this will be added to significantly in the future. Each heresy also has one of three statues – it may be TOLERATED by the dominant religion, SHUNNED, or be the subject of an INQUISITION, in which case that belief will be entirely hidden underground. Inquisitions will be worked on later, maybe this release, maybe next. We’ll see. As you can see, the screenshot below is very much an in-progress screenshot (information is not lined up nicely, there’s no leader data, some of the names don’t fit into the window, there’s an unusually large number of heresies in order to make sure they all generate correctly, etc), but you can see how these are coming along. Once I implement the leader information, there will also be a list on the left side of the information screen showing what settlements this heresy has been found in.
Lastly I’ve also fixed a bunch of smaller issues this week – there were some unusual edge cases with entering/leaving buildings I’ve sorted out, and some residual minor problems with coats of arms and a few tiny other things which nobody except me seems to have noticed (since I know what things should look like!), but those have been fixed. This next week might be a lesser coding week – my intention is to submit my PhD no later than the 30th, and probably on the 27th/28th, so I need to devote time to getting it formatted correctly, having it bound, handing it in, blah blah. Either way, whatever coding does happen will be focused on moving interior generation into other buildings (I think I’ll go for something simple like slum housing next after this religious complexity), and adding in the rest of the graphics for the vases, gongs, etc (statues, being highly complex, might have to wait for now). See you all next week! In the mean time, you can keep up to date on my devlog, Facebook page, or Twitter.