In this post I’m going to explain how walls work in King under the Mountain. Not in the gameplay sense of them blocking movement (and light sources!) but in the technical sense of how the art assets are put together and handled.
First of all, no, this isn’t the monthly dev update to signify that development has kicked back into full swing *just* yet. Instead I’m trying to lay out some groundwork and guidelines to hopefully get some help with the project as well as a sort of technical primer for anyone interested.
It’s no secret that King under the Mountain‘s visuals are heavily inspired by Ryan Sumo’s work on Prison Architect by Introversion. Much like the floor tiles, the walls need to seamlessly tessellate with each other and may end up forming many different shapes, such as differently aligned corners and T-sections of walls.
Today we’re unveiling our plan to launch a Kickstarter in early 2017 to make King under the Mountain a reality. The rest of the development effort for this year is aimed at building a small slice as a proof of concept for the game and to have something concrete and actually playable to back up the crowd funding effort. If successful, this will allow us to massively ramp up development efforts and bring in more talented creators to build the content and gameplay required.
To do this, we’re going to need your help!
Our one-shot mailing list is going to let you know when the Kickstarter launches so you don’t miss out. Subscribe once, and we’ll email you once and no more (no spam from us!). What we really need though, is your help to spread the word to your friends that you think would be interested in this game we’re making. To add a little incentive, everyone who refers a backer to the signup form will be entered with a 1 in 10 chance of winning a free copy of the game! So if you haven’t already, send your friends on over to http://kingunderthemounta.in/download/ and this could be you 🙂
In this article I’m going to talk a bit about the design decisions and goals when it comes to modding in King under the Mountain. Please excuse the poor programmer art!
A bit too long ago when I was studying at university, dreaming of being a game developer, I read the first few entries in the Game Programming Gems series. The very first chapter in the first volume stuck in my mind and stayed there, it was titled “The Magic of Data-Driven Design” by Steve Rabin. Here’s a decent article (from the same time period) by Kyle Wilson on the subject (and here’s a good stack overflow post), but it can be summed up as not having any game-specific data hard-coded into the game engine, instead it is all pulled in from external data files. All the weapons, enemies, levels, AI and anything else is driven by easily modifiable data files so that additions and changes can be made easily without needing a single line of code to be changed. Internally for a team of game developers, this lets artists and designers plug their assets or variables/scripts into the game they’re working on without needing a programmer to make any code changes, speeding up the development process considerably. There’s a potentially even bigger win for game devs however, in that this also opens up your game to the modding community, who often come up with weird and wonderful additions that the original devs wouldn’t (or couldn’t) have managed on their own.
Having as much as possible in the game open to modding is one of the architectural design goals of King under the Mountain. Not only does this make new content easier to add as the game developer, modding communities tend to extend the life and enjoyment factor of a game massively. Despite some complicated algorithms going on under the hood (such as the lighting algorithms and figuring out which wall tiles to draw), I wanted the data-driven side of the game to be as easy and accessible as possible. I decided to use JSON as the data format of choice (here’s an intro for non-programmers by Scott Lowe) because it’s a fairly compact text format, easy for humans to read and edit, and has good support in terms of coding tools and libraries. Next I’ll show you some examples of how this is being used under the hood.
So I thought it was about time I started to build up a web presence for King under the Mountain, and to start a dev blog to keep myself organised and motivated. Although I’m writing this in March 2016, the source code repository was started almost exactly a year ago and early designs for the game came much before that.
I’ve created a page to explain what the game is and how it’s intended to play, so I thought I’d share my inspiration and goals here. Too many years ago (nearly 20!), one of my favourite games of all time was Dungeon Keeper (and later it’s sequel). Not only was it a lot of fun playing “the bad guy” (albeit a slightly cartoonish one), I loved the mechanics of tunnelling your own dungeon out of the rock – creating a dungeon and infesting it with monsters, rather than playing as the goody-goody heroes exploring a dungeon someone else had created. Planning what to build and where in addition to caring for and training minions. I loved the whole thing.