XaiJu
solacecrafting
solacecrafting

patreon


Programming smarter

Over the recent weeks, there have been a ton of small improvements, new additions, even new monsters and encounters, but here I want to talk more about the flow of what I've been working on and why.

Modding

First of all, a note on mod support, or user created content. The idea behind modding comes in a lot of different flavors, from small changes like monsters damage, to big changes like entirely new monsters. I know now how to make all of that possible and have been shifting more and more content toward a modding supportive state, while making sure that any new content I work on is modder friendly.

Community involvement is however not the only reason I've been moving everything in that direction. Having worked full-time on Solace Crafting for now one year and two weeks my programming skills have grown immensely. That's not to say I don't have a long way to go, but needless to say I know a lot more about what I'm doing now than when I started. I bring this up because a change in the way that I've been designing the various system of Solace Crafting have both been encouraged by my desire to support open modding, as well as very supportive to it.

Factories

When programming something like an inventory system and interface from scratch there are literally hundreds of ways to go about solving all the little problems that crop up. The me two years ago would generally hard code and manually place everything by hand, making it very difficult to change and reformat. Nowadays I work using what are called factories as much as I can.

A common example is illustrated with sandwiches. You can program a sandwich01 with lettuce and tomatoes, and sandwich02 with pickles and olives, or you can create a sandwich factory, feed it a few variables, and let it make thousands of sandwiches for you in no time at all. I use this approach more and more in Solace Crafting, for everything from settings menu buttons to resource spawning. It's because of these flexible factories that I can now spawn a monster in one or more biomes with a specific frequency and settings using only a single line of code.

Factories are also why it's now possible to import items, crafting recipes, and enchants from outside of the game. There are still a few pieces to the puzzle not set up yet, specifically .fbx (3D model/animation) importing and sprite (icon) importing. Once I'm finished with those two, not only will it be much easier for me to add new content to the game, but anyone will be able to. Once everything is set up properly I will set up a guide going into detail about how to add and manage custom content.

Using these new tools I've added six new monsters and several new items, though there are a couple more systems I want to add in before I really start pumping out new equipment and enchants.

Next up

Already in game we have different sets of armor that can be crafted from recipes dropped in the wild, however, the stats of all sets are the same for similar types. That system was designed that way to ensure that there is no "best" or even "better" equipment, instead letting players choose what to use. There aren't many choices yet honestly, soon to be partially remedied, but we all seem in agreement that it is a lot of fun to have recipes worth working towards either through unlocking via leveling up, or wresting from the claws of dangerous creatures. Today I implemented a wardrobe system that will let you wear one thing while looking like you're wearing something else, which partially clears the path for "better" equipment. But I still believe that weapons and armor should all have the same base statistics. There should instead be a plethora of options to add onto our equipment, via enchants and other means, to make them unique. I think that better enchants, crafting skills, and better tools should be able to make base equipment into "better" gear, but not actually define a Katana as stronger or faster than a Waraxe, or whatever your favorite weapon may be.

After that there are many more functions planned for towns in the works we've been discussing on Discord, but it's rarely a good idea to go into details before things are actually in motion. One idea I feel very strongly about is implementing town buildings based around world encounters, such as an abandoned mine. Once setup, said mine could provide us with otherwise inaccessible ingredients, allowing for more advanced crafting, for example.

Community

Just yesterday I implemented the Steamworks SDK provided by Valve (the owners of Steam) into Solace Crafting as a first step towards integrating Steam Workshop support. That way users will be able to tailor their own game content and easily share it with others. I believe that varied content is key to procedural games like Solace Crafting, and look forward to continuing to add new options both for me to work with, and for others to work with including different dimensions, quests, and abilities.

Needless to say, there is a lot to come with my eye ever fixed on version 1.0. The sooner the better, but I'll choose quality over speed any day!

Comments

There should never be a argument about quality and speed. Thank you for the update. Look like alot to look forward to. I, personally, can't wait.


More Creators