project-image

Below the Stone - A Pixelart Caving Roguelike about Dwarves

Created by Strollart Studios

A hand-drawn pixel art roguelike about dwarves, mining, and resource gathering.

Latest Updates from Our Project:

100% FUNDED IN 81 HOURS!
over 2 years ago – Wed, Sep 15, 2021 at 08:21:58 AM

To all the amazing people who have supported our camapaign so far: THANK YOU.   


Ever since our first Kickstarter in 2019, where we were only able to make 50% of our goal, we always wanted to come back and give it another try - because our fans believed in what we were making. With everyone joining our community, it shows us we're on the right path with this game, and as we see more and more fans come it to support us, we are going to use this to expand the scope of the game tenfold.


With 100% funding being hit, we are releasing our stretch goals up to $30,000, and more to come as we hit our next goals!  


Thank you so much to all of you who helped us know we have an awesome project we are working on, and that there is a big place for small dwarves like us.   


-Mike @ Strollart; Director of Below the Stone


P.S. Apologies for the fourth update in the space of a day, but we simply could not contain ourselves! 

PAX WEST Day 1 update
over 2 years ago – Wed, Sep 15, 2021 at 08:21:14 AM

Day 1 of PAX West has been a wild ride

After getting up 6:00 in the morning, we left as a group of developers from Apogee to the booth space. We spent the previous two days preparing the booth and ourselves for the wild journey that would come this day. To my surprise the event was packed despite the pandemic - not just packed, but packed with Indie games.

 From start to finish, We managed to only have an empty chair for a maximum of 30 seconds, with players looking forward for more (many of which are reading this after backing us at PAX!)

It was great getting so much constructive criticism, and also loving new fans who will be part of this Below the Stone journey. I hope to see many more of you over the course of the next three days of PAX West!

It was great meeting awesome fans in person for the first time. Surely more pictures to come as the event elapses. Fortunately, no elves decided to go to the booth, but humans seem to find the game appealing!

Day one has been an amazing convention so far, and I can only see it getting better with time, More updates to come as time goes on!


-Feat: Dwarfurious, and many other awesome attendees


-Mike @Strollart; Director of Below the Stone

We just got boosted to 86% !!!!
over 2 years ago – Wed, Sep 15, 2021 at 08:19:38 AM

I don't know who that was right now, or if it was multiple people.


But all of a sudden we just got a healthy boost to 86%

Thank you very much to whomever that was, or if it was multiple people.


I feel like I had to mention that ASAP because that person/people deserve this instantaneous response.

Thank you very much for the boost!


Our kingdom grows stronger! On each and every passing day!

- Andrew

Designing a System for Saving Arbitrary Data
over 2 years ago – Tue, Sep 07, 2021 at 10:53:29 AM

This title sounds like it belongs on a research paper! BUT NO!!!

Today I felt like doing some "code prototyping" for the game. I am writing this code outside of the project because It doesn't really depend on much from my existing code.


I want to design a system that allows for the saving (file saving) of information in an "arbitrary" fashion. Meaning, the data could consist of many different separate/unrelated pieces. But each "piece" will be saved side-by-side in a file with all the other data.

This would largely be used in things like Enemies/Mobs/NPC's but can also be used for other entities that hold "state sensitive information". There could be triggerable hazards in the level, and they may need to hold data about their triggered state. Of course, position data would also be saved as well!

The player would also have its own data that might need to be saved too. But yea, you can see where this is going.


Other games have developed their own solutions, which is why this isn't a research paper :P there's nothing new being said here. The way I will write my code will be based on how others have built their systems. So our system will have similar benefits.


(Technical Jargon Incoming)

One case example that I use WAY TOO MUCH for different game design implementations is, of course, Minecraft. They use a thing called "NBT" (Named Binary Tags). Which basically aims to combine typical binary serialization with "JSON-like" serialization. Where the data in a file is accessed through a string (text) based name, with a "type id" next to it; to tell what the data is supposed to be (float, int, string, array, etc.)

One benefit of NBT's is that the order of the data doesn't matter. Because the data can be read and stored in memory based on the 'string name'. This is very technical, but for those of you who have experience with JSON serialization, you'll know what I mean. File data is read based on its names, not the fact that it's in a certain order. And the data itself is still stored in a "binary format". Meaning the storage is more efficient. And harder to manipulate.

(Jargon Over, for now)


But there are different ways this can be achieved. So I wanted to take a second swing at making a system that is simpler (because I did write some code previously), and straightforward.


This is what I came up with today:

(note, this code is not used AT ALL in the game yet, this was written in a separate project for testing purposes. And there are no guarantees this will be used in the game)

This is essentially the "root" of the system. At which all the saving/loading can happen.

And this is pretty much it, other than there is no option to provide a filename. This system allows for saving groups of data arbitrarily. The only difference here is that there are no "type ids". So each "data element" can comprise many variables, and the order will matter in those places. Unless I decide to make this system work more closely to how NBT's work. Which will mean data ordering will matter even less.

(And people could even design programs that read the file, and gives you a nifty little tree viewer GUI to view the data)

The only other thing that needs to be mentioned here is this:

Which is a C# Interface which allows you to create classes which implement that. And these are what allow you to produce custom "serializers" for specific pieces of data.

This means that the code for serializing "some data" is completely separate from the class which holds that data.

You simply create the class and implement this code to save and load data. (which is order-dependent as you might see)

^ Those last 3 classes are "dummy classes" I made for testing this.


And this is my test code. As you can see, when it comes to saving the data, all you need is a simple dictionary. You do have to produce a list of "saver classes" which are used for saving the various pieces of data, which could be solved by making data more "arbitrary" like NBT tags. Because all data will essentially break down to a certain limited set of types. (int, float, string, etc).

But this is largely proof of concept. And what I end up using in Below the Stone might be slightly different.

But yea, if any of you would like to use this code in your own projects, go ahead. It's very basic and boilerplate. And its only dependency is C# standard libraries.


So anyways, thank you all for tuning in!


- Andrew

Game Progress - Block Break Particles
over 2 years ago – Fri, Sep 03, 2021 at 09:02:16 PM

Today, I decided to make some visual improvements to the game.

Right now, when you break blocks, they just disappear (as they should of course). But I think we can all agree that spicing things up the particle effects can always go a long way.


We did actually have these particles implemented a long time ago, but at some point, I had made changes that broke the effect from spawning, so I had to remove the code that spawned them. Luckily, because of Unity Engine's Prefabs, I didn't lose the effect itself. So I wrote some code to make it so the effect could spawn again. And also made some small changes to the effect as well.

Breaking blocks looks better now!

I might even make some more visual tweaks to the effect to make it look better in the future, but this is pretty good so far!


Right now we are sitting at 72% of our goal. Which is pretty good I'd say!

Thank you to all the new backers. Especially the ones who first discovered us at PAX.


It's been pretty exciting to see people playing this game we've been working on for so long.

(And the code I have been writing all these years)


And I can't wait to see what happens on day 2 of PAX!

Thank you all again, good night.


- Andrew