ross.turner









Level 0 King under the Mountain - A fantasy simulation-strategy game « on: June 20, 2016, 05:23:55 AM »





King under the Mountain is a simulation-based strategy/management game where you design, build and run a settlement in a fantasy world. Then, once you're up and running, you can send out groups of adventurers to explore and loot other players' creations, playing out through turn-based tactical combat.



Now in very early Alpha access on Itch.io!

Gameplay is based around high-level management of your settlers to harvest resources, build rooms and furniture, craft items and manage your economy. Your settlers are deeply simulated characters with their own wants, needs, thoughts and emotions who will go about their daily lives carrying out your instructions as well as looking after themselves.







Concept art of a dwarven settlement

You start a game on a randomly-generated area map with a few settlers, tools and other provisions, and slowly grow into a self-sustaining village, town, or eventually, a city. You play as one of several fantasy races each with their own unique gameplay mechanics, though for the first main part of development this is limited to (predictably) Dwarves only.



Inspiration



The main gameplay themes are primarily inspired by Dungeon Keeper, other Bullfrog titles, and particularly Dwarf Fortress (although I'm not going to be recreating anything like the depth of DF). The visuals are in the same style as Prison Architect and Rimworld as these use a simple, no-animation style for characters to let me get up and running quickly (and I'm no artist). Industry and economy has a strong focus, where I'll be using a lot of elements of The Settlers, mostly the first and second Settlers games. Finally, and like a lot of people these days, I'll be drawing from the boardgame-derived turn-based combat of XCOM (the reboot, though I'm a huge fan of the original games too) mixed with Bloodbowl and classic pen and paper RPGs.



Gameplay



The majority of the gameplay runs in realtime as the player designates orders for their settlers to carry out tasks and construct buildings, dig tunnels and so on (very much like the gameplay of Prison Architect andRimworld). I'm currently favouring not having any direct control of settlers but this is going to take some gameplay testing and prototyping to decide on.



My biggest issue as a player of these games (and other games which allow quite a bit of creativity from the player) has been that I can spend a lot of time designing and creating something, only for it to sit languishing on my computer for nobody else to ever see. I plan to turn this on its head by having a central server that keeps mostly up-to-date copies of settlements other players have created, and using these as a place for the player to explore with a group of adventurers. These adventures allow players to attain resources and other items they may be able to acquire otherwise. Most importantly, players will never lose anything from having their settlement "looted" (as it is only really a copy), but I'm planning for their to be gameplay bonuses to having other players explore, and perhaps vote on, the creations of others that they've particularly enjoyed. I'm aware this is quite a large and complicated feature to add, but I've many years of experience in enterprise web development and believe it's quite feasible.



Modding



One of the key goals of development is that every asset and variable is moddable and its progressing well so far. This poses some difficulties as to sharing and uploading game "levels" for adventures, so the plan is to also build a community-managed mod sharing and distribution system alongside the rest of the game (update: almost certainly built on top of mod.io).



Development so far



I'm a sole developer working on the project in my spare time around a day job and family life, like a lot of indie games, so progress is very slow compared to what it would be with a lot more dedicated time. Inching towards that Steam release which hopefully brings in enough funding to really get things moving!



2016 - Initial concept and design

2017 - Pre-alpha prototype developed and exhibited at EGX Rezzed, which was alongside a Kickstarter that failed to meet its funding goal

2018 - Relaunched Kickstarter found success, allowing for full time development for a few months and outsourcing work for graphical assets and sound/music

2019 - First alpha launched on Itch.io with updates throughout the year

2020 - Now progressing towards Alpha 10 which has been chosen as the Steam Early Access launch milestone

Technical Stuff



The game is being written in Java using LibGDX, aimed at desktops, so Windows, Linux and Mac. I'm the sole developer/programmer though I'm outsourcing practically all the artwork, sound and music. Development is a little slow while this is done in my small amount of spare time (like a lot of indie projects!) though the dream is to get it to a playable state and be able to raise enough funds so I can switch over to working on it full time and really get things going! Hope you like it



http://kingunderthemounta.in/

https://twitter.com/RocketJumpTech

is a simulation-based strategy/management game where you design, build and run a settlement in a fantasy world. Then, once you're up and running, you can send out groups of adventurers to explore and loot other players' creations, playing out through turn-based tactical combat.Gameplay is based around high-level management of your settlers to harvest resources, build rooms and furniture, craft items and manage your economy. Your settlers are deeply simulated characters with their own wants, needs, thoughts and emotions who will go about their daily lives carrying out your instructions as well as looking after themselves.You start a game on a randomly-generated area map with a few settlers, tools and other provisions, and slowly grow into a self-sustaining village, town, or eventually, a city. You play as one of several fantasy races each with their own unique gameplay mechanics, though for the first main part of development this is limited to (predictably) Dwarves only.The main gameplay themes are primarily inspired by, other Bullfrog titles, and particularly(although I'm not going to be recreating anything like the depth of DF). The visuals are in the same style asandas these use a simple, no-animation style for characters to let me get up and running quickly (and I'm no artist). Industry and economy has a strong focus, where I'll be using a lot of elements of, mostly the first and secondgames. Finally, and like a lot of people these days, I'll be drawing from the boardgame-derived turn-based combat of(the reboot, though I'm a huge fan of the original games too) mixed withand classic pen and paper RPGs.The majority of the gameplay runs in realtime as the player designates orders for their settlers to carry out tasks and construct buildings, dig tunnels and so on (very much like the gameplay ofand). I'm currently favouring not having any direct control of settlers but this is going to take some gameplay testing and prototyping to decide on.My biggest issue as a player of these games (and other games which allow quite a bit of creativity from the player) has been that I can spend a lot of time designing and creating something, only for it to sit languishing on my computer for nobody else to ever see. I plan to turn this on its head by having a central server that keeps mostly up-to-date copies of settlements other players have created, and using these as a place for the player to explore with a group of adventurers. These adventures allow players to attain resources and other items they may be able to acquire otherwise. Most importantly, players will never lose anything from having their settlement "looted" (as it is only really a copy), but I'm planning for their to be gameplay bonuses to having other players explore, and perhaps vote on, the creations of others that they've particularly enjoyed. I'm aware this is quite a large and complicated feature to add, but I've many years of experience in enterprise web development and believe it's quite feasible.One of the key goals of development is that every asset and variable is moddable and its progressing well so far. This poses some difficulties as to sharing and uploading game "levels" for adventures, so the plan is to also build a community-managed mod sharing and distribution system alongside the rest of the game (update: almost certainly built on top of mod.io).I'm a sole developer working on the project in my spare time around a day job and family life, like a lot of indie games, so progress is very slow compared to what it would be with a lot more dedicated time. Inching towards that Steam release which hopefully brings in enough funding to really get things moving!The game is being written in Java using LibGDX, aimed at desktops, so Windows, Linux and Mac. I'm the sole developer/programmer though I'm outsourcing practically all the artwork, sound and music. Development is a little slow while this is done in my small amount of spare time (like a lot of indie projects!) though the dream is to get it to a playable state and be able to raise enough funds so I can switch over to working on it full time and really get things going! Hope you like it « Last Edit: June 30, 2020, 06:14:59 AM by ross.turner » Logged

King under the Mountain, a fantasy settlement builder inspired by Dwarf Fortress, The Settlers and Prison Architect

ross.turner









Level 0 Re: King under the Mountain - A fantasy simulation-strategy game « Reply #1 on: June 23, 2016, 04:40:56 AM » June Update



This month I've moved on from the lighting system that's been the focus of development in previous months, onto getting characters into the game and moving around. The goal of the first playable prototype is to have dwarves in the game as a playable race, before working on bringing other races in.



I've already listed the first piece of concept art in the initial post. I'd also like to include here some black and white concepts to feed into the final color piece.







Although the game is top-down 2D, these concepts will greatly help to set the look and feel of assets produced for in-game. I'm extremely happy with how the artwork has turned out and can't wait to see what the artist (Anthony Avon) produces next for the game! Don't forget to check out his artstation site at



Before I started work on the AI systems which will drive a lot of the gameplay, I wanted to get some working graphical assets in place for dwarven characters rather than use abstract shapes or placeholder art. After contacting several 2D artists with a brief of requiring a few dwarven characters in a simple vector style (with no legs) I've decided to go with those produced by Dave Rigley shown below. Dave doesn't have an online presence yet but given the quality of his work I hope that he does soon!







Getting the characters into the game was complicated by the fact that I want the skin and hair colors to be dynamically colored (and open to mods) separate to the other parts making up the body. This can be done by separating the characters into different layers, but to complicate matters further, they can end up facing one of several directions which has some further implications for what is drawn when. It took some time but there's now a relatively simple, moddable system for defining parts of a character with the ability to color in different parts independently. I plan to carry this design on into most of the objects used in the game to allow a huge variety of colors and styles without requiring extra artwork to be produced.







With these in place I could finally start work on the AI behaviours of the dwarves in the game which is probably one of the most important parts of the game's implementation. For now, I've really only focused on path-finding and path-following. As ever, the excellent tutorials by



Path-finding is a relatively mature and well-understood problem in game development so I had a wealth of experience to draw from. Although I've ideas for further improvements and refinements, for now the pathfinding is calculated by using good old A*. Despite the surface simplicity of the algorithm, running it over a large map or for a large number of game characters can significantly impact performance/framerate. I've come up with a multi-threaded solution which will use multi-core processing (as all game rendering and most updates tend to run on a single processor), which has allowed me to run the game in its current state with tens of thousands of dwarves without significant slowdown! As the final game will probably have at most dozens or hundreds of dwarves in a single settlement, this should do



Since getting the dwarves able to figure out a path to follow, actually following the path, at the same time as trying to avoid each other and not clip through walls, is another matter! Although still in progress I've got to a point I'm happy with and able to share an example video of it all put together in action











The dwarves in the video have a dynamically-chosen beard color based on one of several shades. The plan is for this and their skin color to be even more randomised for more procedural content. This video does not have lighting applied, shadowing of characters and outdoor lighting is something I hope to get onto in the near future. For now, I'm going to keep working away at the character movement. See you next time! This month I've moved on from the lighting system that's been the focus of development in previous months, onto getting characters into the game and moving around. The goal of the first playable prototype is to have dwarves in the game as a playable race, before working on bringing other races in.I've already listed the first piece of concept art in the initial post. I'd also like to include here some black and white concepts to feed into the final color piece.Although the game is top-down 2D, these concepts will greatly help to set the look and feel of assets produced for in-game. I'm extremely happy with how the artwork has turned out and can't wait to see what the artist (Anthony Avon) produces next for the game! Don't forget to check out his artstation site at https://www.artstation.com/artist/anthonyavon Before I started work on the AI systems which will drive a lot of the gameplay, I wanted to get some working graphical assets in place for dwarven characters rather than use abstract shapes or placeholder art. After contacting several 2D artists with a brief of requiring a few dwarven characters in a simple vector style (with no legs) I've decided to go with those produced by Dave Rigley shown below. Dave doesn't have an online presence yet but given the quality of his work I hope that he does soon!Getting the characters into the game was complicated by the fact that I want the skin and hair colors to be dynamically colored (and open to mods) separate to the other parts making up the body. This can be done by separating the characters into different layers, but to complicate matters further, they can end up facing one of several directions which has some further implications for what is drawn when. It took some time but there's now a relatively simple, moddable system for defining parts of a character with the ability to color in different parts independently. I plan to carry this design on into most of the objects used in the game to allow a huge variety of colors and styles without requiring extra artwork to be produced.With these in place I could finally start work on the AI behaviours of the dwarves in the game which is probably one of the most important parts of the game's implementation. For now, I've really only focused on path-finding and path-following. As ever, the excellent tutorials by Amit Patel of Red Blob Games were a huge help, thanks Amit!Path-finding is a relatively mature and well-understood problem in game development so I had a wealth of experience to draw from. Although I've ideas for further improvements and refinements, for now the pathfinding is calculated by using good old A*. Despite the surface simplicity of the algorithm, running it over a large map or for a large number of game characters can significantly impact performance/framerate. I've come up with a multi-threaded solution which will use multi-core processing (as all game rendering and most updates tend to run on a single processor), which has allowed me to run the game in its current state with tens of thousands of dwarves without significant slowdown! As the final game will probably have at most dozens or hundreds of dwarves in a single settlement, this should doSince getting the dwarves able to figure out a path to follow, actually following the path, at the same time as trying to avoid each other and not clip through walls, is another matter! Although still in progress I've got to a point I'm happy with and able to share an example video of it all put together in actionThe dwarves in the video have a dynamically-chosen beard color based on one of several shades. The plan is for this and their skin color to be even more randomised for more procedural content. This video does not have lighting applied, shadowing of characters and outdoor lighting is something I hope to get onto in the near future. For now, I'm going to keep working away at the character movement. See you next time! Logged

King under the Mountain, a fantasy settlement builder inspired by Dwarf Fortress, The Settlers and Prison Architect

ross.turner









Level 0 Re: King under the Mountain - A fantasy simulation-strategy game « Reply #8 on: July 24, 2016, 12:55:04 PM » July Update - Raising Mountains



After working on getting characters moving around the area map, where the map consisted of a literally random scattering of walls, I thought it was time to make a start on actual maps for use as game areas, and so this has been the focus of July's development effort.



Following on from some work I've done previously with procedural generation, I decided I wanted to use midpoint displacement, aka the diamond square algorithm, to generate some random heightmaps to use as the basis for a 2d representation of the playable area in and around a mountain.





Midpoint displacement of a line



I wanted to use this rather than some noise algorithm like perlin or simplex noise as midpoint displacement is a fractal algorithm, and fractals tend to appear more natural and less random to the human eye, as fractals are everywhere in nature.





Midpoint displacement heightmap



From this heightmap, which must be square due to the algorithm, it is cropped to the desired size and a height is picked at which a certain amount of the map is above, and the rest is below. Currently it's a 50/50 split of mountain and outdoor area, though this will likely end up configurable on game start. Also for the examples on this page, I've used a square map size (although it is smaller than the heightmap generated, so it has been cropped to the middle area).





Heightmap divided into land (green) and mountain (grey) tiles



The trickiest and most interesting step to get right is in generating a set of caves inside the mountain. Not so few that they're all small or too spaced out, but also not so numerous that there's not enough rock left in the mountain for the player to use or so large that the player is constrained into playing within the caves generated rather than carving out their own personal fortress. The algorithm in this step uses a mix of simplex noise combined with the original heightmap to favour larger cave systems deeper inside the mountain (though there's often an entrance to the outside).





Randomly generated cave tiles (dark grey) within mountains



These areas (and the gradient of the outside land in shades of green), so following Michael Cook's article of Cave Generation using Cellular Automata, I used the algorithm described to smooth off the edges of the mountain, caves and outdoor regions.





Areas smoothed using cellular automata algorithms



This gives a much more organic and natural look to the areas produced, compared to what would have appeared to rough and random in-game.



Next I wanted something to place resources such as gold, coal and iron ore in a vein-like layout, and I'm happy with what I came up with after some thought on the subject. Similarly I came up with a few algorithms to place trees within the darkest regions of the outside, and ran a river across the length of the map using A* pathfinding and the original heightmap values. At this stage everything should be treated as a work in progress and open to improvement later but I think it should suffice for now.





Final map generation output (as of July)



In terms of other updates this month, Dave Rigley has done further work on the in-game dwarf characters featured last time as we get a better understanding of how the assets and game engine should work together. We now have a base set of body shapes for both male and female dwarves:





Dwarf character examples



Last but definitely not least, Anthony Avon who created the wonderful dwarven settlement concept art featured last month, has been working on a set of dwarf character designs to fit into the same world.





Dwarf character designs



These represent the different jobs and professions currently planned for dwarves in King under the Mountain (though I'm sure there's a good chance the list will grow in the future!). The focus for the next month is going to be working on a tool or set of tools to help get these characters into the game, and in the future, enable modders to enhance these or add their own creations! After working on getting characters moving around the area map, where the map consisted of a literally random scattering of walls, I thought it was time to make a start on actual maps for use as game areas, and so this has been the focus of July's development effort.Following on from some work I've done previously with procedural generation, I decided I wanted to use midpoint displacement, aka the diamond square algorithm, to generate some random heightmaps to use as the basis for a 2d representation of the playable area in and around a mountain.Midpoint displacement of a lineI wanted to use this rather than some noise algorithm like perlin or simplex noise as midpoint displacement is a fractal algorithm, and fractals tend to appear more natural and less random to the human eye, as fractals are everywhere in nature.Midpoint displacement heightmapFrom this heightmap, which must be square due to the algorithm, it is cropped to the desired size and a height is picked at which a certain amount of the map is above, and the rest is below. Currently it's a 50/50 split of mountain and outdoor area, though this will likely end up configurable on game start. Also for the examples on this page, I've used a square map size (although it is smaller than the heightmap generated, so it has been cropped to the middle area).Heightmap divided into land (green) and mountain (grey) tilesThe trickiest and most interesting step to get right is in generating a set of caves inside the mountain. Not so few that they're all small or too spaced out, but also not so numerous that there's not enough rock left in the mountain for the player to use or so large that the player is constrained into playing within the caves generated rather than carving out their own personal fortress. The algorithm in this step uses a mix of simplex noise combined with the original heightmap to favour larger cave systems deeper inside the mountain (though there's often an entrance to the outside).Randomly generated cave tiles (dark grey) within mountainsThese areas (and the gradient of the outside land in shades of green), so following Michael Cook's article of Cave Generation using Cellular Automata, I used the algorithm described to smooth off the edges of the mountain, caves and outdoor regions.Areas smoothed using cellular automata algorithmsThis gives a much more organic and natural look to the areas produced, compared to what would have appeared to rough and random in-game.Next I wanted something to place resources such as gold, coal and iron ore in a vein-like layout, and I'm happy with what I came up with after some thought on the subject. Similarly I came up with a few algorithms to place trees within the darkest regions of the outside, and ran a river across the length of the map using A* pathfinding and the original heightmap values. At this stage everything should be treated as a work in progress and open to improvement later but I think it should suffice for now.Final map generation output (as of July)In terms of other updates this month, Dave Rigley has done further work on the in-game dwarf characters featured last time as we get a better understanding of how the assets and game engine should work together. We now have a base set of body shapes for both male and female dwarves:Dwarf character examplesLast but definitely not least, Anthony Avon who created the wonderful dwarven settlement concept art featured last month, has been working on a set of dwarf character designs to fit into the same world.Dwarf character designsThese represent the different jobs and professions currently planned for dwarves in King under the Mountain (though I'm sure there's a good chance the list will grow in the future!). The focus for the next month is going to be working on a tool or set of tools to help get these characters into the game, and in the future, enable modders to enhance these or add their own creations! Logged

King under the Mountain, a fantasy settlement builder inspired by Dwarf Fortress, The Settlers and Prison Architect

ross.turner









Level 0 Re: King under the Mountain - A fantasy simulation-strategy game « Reply #11 on: August 08, 2016, 03:16:04 AM »











Not only does the video show the dynamic lighting in action on the dwarves, but it also shows off the diverse range of looks that they can have. This is thanks to our character artist (who's also an animator)



As you might have noticed, the hair and skin colors are also different between dwarves. To help prototype this, as well as ensuring everything looks correct when put together, we built a simple character viewer tool as you can see in action here:











In the video you can see switching choices between different parts of the character, as well as randomly picking colors for the hair and skin. In the bottom half of the tool, we're rendering the corresponding normal map for character which allows us to do the dynamic lighting (see







In short, an off-screen frame buffer has the normal maps rendered to it (top-right), and this is used in a shader to render the lighting information to another buffer (bottom-left), which is then combined with the color/diffuse frame buffer (top-left) to produce the final output (bottom-right). The plan is to have miner dwarves digging away in tunnels while carrying lanterns that give off these light effects, which should make for a much more atmospheric look than simpler lighting techniques.



The other big update is that the map generator featured in



https://www.youtube.com/watch?v=ApMMHZ7iOEM



There's still quite a few features to add - we're currently working on getting trees into the game and the river is probably the biggest feature which will be a bit further off. There's also plans for other greenery and more detail in the outdoor areas - the focus so far has been on the mountainside and its contents. You can try out the map generator directly in your browser (no plugins required) at



One of the design goals of King under the Mountain is that everything is to be data-driven and open to modders. The types of rock and ore that are supplied to the map generator (as well as overall settings like its size) are moddable, and I'm going to cover the basics of this in an article soon.



As a closing note, don't miss out on our download mailing list at If you look back at the development progress so far, you'll see that most of the early updates were on designing and implementing a dynamic lighting system for the game engine. This month, it all comes together as dwarf characters can now be shown in-game with dynamic lighting applied.Not only does the video show the dynamic lighting in action on the dwarves, but it also shows off the diverse range of looks that they can have. This is thanks to our character artist (who's also an animator) Dave Rigley , who produced a range of different body shapes, hairstyles and clothing styles for the dwarves. Better yet, there's a lot more still to come!As you might have noticed, the hair and skin colors are also different between dwarves. To help prototype this, as well as ensuring everything looks correct when put together, we built a simple character viewer tool as you can see in action here:In the video you can see switching choices between different parts of the character, as well as randomly picking colors for the hair and skin. In the bottom half of the tool, we're rendering the corresponding normal map for character which allows us to do the dynamic lighting (see our earlier dev blog for more information on that). Here's an example image showing what's going on:In short, an off-screen frame buffer has the normal maps rendered to it (top-right), and this is used in a shader to render the lighting information to another buffer (bottom-left), which is then combined with the color/diffuse frame buffer (top-left) to produce the final output (bottom-right). The plan is to have miner dwarves digging away in tunnels while carrying lanterns that give off these light effects, which should make for a much more atmospheric look than simpler lighting techniques.The other big update is that the map generator featured in last month's update has been integrated to the main game engine, converting those procedurally generated maps into a map usable by the game engine. Here's a visualization of the transition:There's still quite a few features to add - we're currently working on getting trees into the game and the river is probably the biggest feature which will be a bit further off. There's also plans for other greenery and more detail in the outdoor areas - the focus so far has been on the mountainside and its contents. You can try out the map generator directly in your browser (no plugins required) at mapgen.kingunderthemounta.in One of the design goals ofis that everything is to be data-driven and open to modders. The types of rock and ore that are supplied to the map generator (as well as overall settings like its size) are moddable, and I'm going to cover the basics of this in an article soon.As a closing note, don't miss out on our download mailing list at kingunderthemounta.in/download where we've decided to give the game away free to 1 out of every 10 subscribers. We'll only use this mailing list to let you know how and when you'll be able to get hold of the game (and no other marketing) - we hate spam too! Logged

King under the Mountain, a fantasy settlement builder inspired by Dwarf Fortress, The Settlers and Prison Architect

ross.turner









Level 0 Re: King under the Mountain - A fantasy simulation-strategy game « Reply #14 on: August 08, 2016, 09:48:36 AM » I'm finding that as more of the basic systems are put in place, and the fact it's designed so that everything is data-driven and moddable, adding new content is going a lot quicker.



Next I'll be working on the job system so the dwarves can actually start mining into the mountain and chopping down trees, should be fun. Thanks a lot guysI'm finding that as more of the basic systems are put in place, and the fact it's designed so that everything is data-driven and moddable, adding new content is going a lot quicker.Next I'll be working on the job system so the dwarves can actually start mining into the mountain and chopping down trees, should be fun. Logged

King under the Mountain, a fantasy settlement builder inspired by Dwarf Fortress, The Settlers and Prison Architect

ross.turner









Level 0 Re: King under the Mountain - A fantasy simulation-strategy game « Reply #17 on: August 08, 2016, 03:05:38 PM » Thanks a lot Jordan, I'm really impressed with your music portfolio too.



It's been raised that I not want to change the game's name as this is the last point in time I can feasibly do so. Does anyone here have any thoughts on the name King under the Mountain? Logged

King under the Mountain, a fantasy settlement builder inspired by Dwarf Fortress, The Settlers and Prison Architect