Solace Crafting

Solace Crafting
Redefining the Crafting RPG
Showing posts with label Level Development. Show all posts
Showing posts with label Level Development. Show all posts

Wednesday, March 22, 2017

Third Party Goodies

There is a part of us all that wants to do everything from A to Z, write our name on the cover and marvel at our success. In years past this has turned into me working on a feature for weeks and not getting it to half the quality of a 30$ asset on the open market. More recently I've learned that there is a time and a place for doing everything meticulously by hand, and that time is not now.

There is however often some very nice middle ground.


I recently picked up a new weather package to help improve my clouds, sky, and weather, but am not using it as advertised. I already had a weather system that I liked very much, and so have merged the two into a glorious companionship.

I'm using my own cloud maps with more layers than are supported out of the box, spreading the different layers into different short range and long range rendering schemes, some overlapping terrain with others not. I have taken full control of each cloud layers coverage individually, the different layers of rain and their animation sheets, multiple layers of fog, atmospheric scattering colors, and more. It would have taken me months to write all of the helper functions and shaders that I'm using just for the weather.



My budget and free time are non-existent, so it's not easy to pick something and go with, but it certainly beats trying to do everything by hand. Many of the assets available to indie developers such as myself are built by passionate indie developers that spend months or even years perfecting their products... just like me! It's just a different target customer base.

I'm currently hard at work on a promotional video as I finish the last bits of company registration fuss with some help from my family. With Steam's Greenlight getting the axe... I'm not sure how that will all play out, but Kickstarter is getting closer and closer. Stay tuned!

Monday, January 16, 2017

Runtime marketing, er generation

I've spent a fair amount of time over the past few weeks upgrading the real-time (runtime) terrain generation. For starters I switched from using multiples of 10 to using powers of 2. This has solved more than a couple issues I was having because a lot of the base code in Unity and some of the plugins I am using are built to only work with powers of 2. So instead of 1000 meter terrains we now have 1024 meter terrains, but ultimately the end user isn't bothered as a meter is still a meter.

I also doubled the long distance quality which makes for a longer initial load, but it looks a lot better and doesn't affect performance that much.
The way that the runtime generation is setup allows players to easily specify the long distance draw distance from 16km up to 64km, which runs fine on my not-so-awesome computer. The above picture is 48km though and should be more than enough 99/100 cases. Once the rain kicks up you can't see anything anyway ;p

I've also spent a fair amount of time working on my marketing skills. It's not something I personally like to do, but it's widely recognized as perhaps the most important step for a solo no-name dev like myself. If you don't know how to tell anyone about your campaign for awesome, it just flops its arms in the mud.

I plan to spruce up the UI, loading screens, and the opening screen a bit, and then start digging my heels in the dirt as I prepare for the biggest plea for help in my life, Kickstarter! There are of course alternatives I've been studying, so who knows. Ah for the day when I can call such a glorious profession my own! Until them, I'm here on my lunch break working for a completely unrelated company thinking up new angles to approach my remaining gamedev challenges with =]

Best wishes to you and yours in 2017!
It's going to be a wild ride for me!
Stay tuned!

Sunday, November 6, 2016

Skills to make the kills

Last week I got biomes working in my new level system, currently with a snow and a desert biome mixing in with the main ocean/grassland/moutain biome. This way I can spawn biome specific resources, monsters, encounters and more.

I also simplified my cloud system to just do what I need it to right now, and it's working great. Mixed with a little sun and some minor post effects and we're not looking too shabby.


I also put in some of my speedtrees, which do look a lot better than normal unity trees. I'm not spending much time on them yet, but it's easy to make tons of them once you get one set up.

While on vacation the week before I set out to implement the first tier of skills for the four starter classes called Archetypes. These are made up of the Squire, Scout, Apprentice, and Disciple. Each Archetype starts out with six possible skills choices which are primarily attack focused skills to assist in the first few levels of combat and leveling.


Even before I started writing any code I knew I would need a very flexible system as skills in Solace Crafting are numerous and extremely varied, include player buffs, direct attacks, timed spells, passive abilities, and so on. My system is also a bit unique in that every skill has unlimited levels and needs to be able to scale and blend with other complimentary skills. I more or less had built similar systems before, but it's always great having a chance to start over and really know what you're going into.

The main obstacle is how to initiate skills that are not instant. The Scout has a tier one skill called Double Shot for example that fires two ranged attacks in quick succession. The second arrow has to launch shortly after the first arrow meaning we can't just call single function in one frame. Using coroutines and their yeild capabilities we can create loops for damage over time spells, wait for casting times to finish for complex spells like Meteor, or do a series of completely different things over time like teleport, attack, and warp back.

I have gained a ton of inspiration from League of Legends and their massive array of over five hundred skills, as well as from the classics like Dungeon and Dragons, Everquest, and many others. I plan to build a wide array of skills over time aiming to grant players the ability to be unique and interesting, rather than just cookie cut.

I'm starting now to work on two videos for Steam Greenlight and Kickstarter! Fun times! I will be signing up to IndieDB and more things as I build these two and other screenshots over the next couple weeks.

Saturday, October 8, 2016

Tiny but lots of steps

Ever since taking on my minimalist stance of just getting everything working no matter how bad it works, I've been making great progress! This has probably turned out to be my most important lesson over the years. I could fuss on making the sunset perfect for months if I wanted to, but that's no way to go about developing a fun game.

This week I got basic saving and loading in, a simple starter screen, monster spawning, resource generation (requires some tricks for terrain based trees), weapon damage, some crafting features, encounter spawning(towers), and a simple recall spell in. I did spend a little too much time messing with biomes and terrain generation, but I learned some lessons.


This isn't the best screenshot... but I don't like posting without at least one picture. Pretty much everything you can see in this shot in unfinished, but the basic programming is all in and working. I have a speedtree license, and hope to use all original trees, but for now have some basic Unity Trees spawning in.

Dimension crystals, like the one in the screenshot, are the basis of long range travel, respawn points, and several other features. That's mostly what I hope to be working on next week. I have a 2d minimap I was using to show crystal locations throughout a world, but I might change that to an easier to use list.

The towers in the screenshot are far away, but you can absolutely run straight to them and climb up them. They don't spawn their own monsters and loot yet, but that's their main purpose and we'll get there soon enough. Eventually I plan to have different towers for each biome such as pyramids for desert, and endless mineshafts in the mountains (which might be hard to see from far away).

The biggest problems looming on the horizon at this point are monster movement/combat AI and pathfinding. I'm pretty confident in the rest of what I'm doing, I might be looking into some third party tools to cover those that area up rather than take up a bunch of my time at this point in development.

Lots of tiny steps, but all necessary, and adding up towards the big picture!

Sunday, September 25, 2016

On the shoulders of giants

Minecraft spawned a huge wave of voxel based games, some of which were very poorly received as mere "clones," but it's important to understand that big titles like that change the gaming world permanently. Once a sound idea or a better way of doing something has been proven to work it would be wrong to not take that knowledge into account when designing something new.

Along those lines I have dozens of pages of ideas for improving different systems from many games I've played over the years. I'd love to incorporate all of those system into Solace Crafting with a magic wand, but two of the biggest skills an indie designer must never forget are prioritizing and time management. Understanding how important something is to your game and at what stage it should be implemented is difficult at first. Sometimes realizing that something doesn't fit with your game at all can come after hundreds of hours of trying to force it in.

I am often asked what kind of game Solace Crafting is and I have the long winded genre title: open-world, procedural, crafting based, survival, role-playing game; but those could mean any of a whole array of different sub-genres, and I like instead to point out several of the giant titles whose systems I'm incorporating and expanding on.

1. Diablo 2
The Diablo 2 skill selection trees offered a level of freedom that could both make and break your character. Over the years people built unorthodox characters that proved to work great in different situations. From this freedom the developers gave to players, original content was allowed to grow. I hope to expand on this system heavily in Solace Crafting with a very flexible class system and the ability to master any of a large number of skills, for better or for worse.

2. Rust
My favorite aspect of Rust is their method of player buildings. Their system was the foundation for the current building system in Solace Crafting, though it has been changed in more than a few ways, and still has a lot of implementations on the drawing boards that differ from the path Rust seems to be following. The ability to construct outposts, home bases, and connect everything across distant locations is one of my highest priorities for Solace Crafting.

3. Minecraft
Some of my favorite experiences playing Minecraft are from finding strange landscapes, like jagged mountains and deep caverns. Then of course not only finding them, but building stuff on and around them. Bridges, tunnels, towers, castles, you name it, I built it. The biggest problem for me was always not being able to see far enough away. That was the inspiration for my distance engine which in the latest screenshot I uploaded is showing a 60km range, or 120kmx120km landscape letting players set their eyes on a mountain or desert from very far away rather than just wandering aimlessly to see what shows up. Currently the starter world, Khora, is a rather "normal" fantasy landscape and doesn't have at all as much strangeness as I hope to include in it over time, but rest assured there will be magma.

I reworked a lot of the crafting and code based item generation this week to be much simpler rather than plan for everything I have ever wanted to create all at once. It has been a real challenge for me to keep things simple rather than trying to account for every possible upgrade that could come about over time. This weekend and next week I'll be working on collision detection for the building system, and teleportation between dimension crystals.

Saturday, September 17, 2016

New tools, simplification



So I bought an old house with my wife and that ate up a lot of time/money over the past few months. Still have so much to do with it too, like, ten years worth XD

I worked for a while on a side project with a friend, and it really showed me how finicky I'd been with Solace Crafting. Paying attention to things that don't yet matter, working too hard to perfect tiny details etc. The end result being there are things not yet implemented that are core to the game mechanics. In otherwords, it's not yet playable, and that should really be goal one.

I've also ditched some tools that just really weren't updating in the ways/schedule that I was hoping they would, and have picked up a new tool instead:
[​IMG]
I just bought this generator a few days ago, and made this scene this morning in about four hours. Most of that time was just trying to get my distance engine, and RTP to work properly with it, but it more or less works now, so on to more important things. The barely visible mountains on the horizon are 60km out in this picture.

I'm going through and simplifying things, for example I've ditched animations/custom armor for right now. Crafting and building and harvesting and what not work fine, but they're all lacking in a layer or two of content. Mobs are in as well, but they are not yet procedurally leveling up like they need to, and their spawning mechanics are pretty lackluster. Once I get those four systems working at their most basic levels (harvesting, crafting, building, monsters) I will get back to implementing Dimension Crystals (vital for storage and travel), and towers (vital for loot/crafting upgrades).

One those systems are in we'll at least have a fully playable system. Then it's content. And LAST is polish. I've played plenty games with horrible animations/models, because they are FUN. I'd love to have AAA animations and a million custom armor sets, but that's just not realistic at this point and time.

Monday, June 27, 2016

Biomes in biomes in biomes!

I'm sorry it's been so long since my last post!
My wife and I bought a house, and I've been testing TerrainComposer2 which is now out in beta!

TerrainComposer was already my go to tool for terrain creation with a lot more power than any other tool out there for my specific needs. Usually several artists will hand paint levels to look good as players move through them. In Solace Crafting the game world(s) is(are) 100% procedural. This means that I can't fine tune a mountain, or reposition a tree by hand, everything is different every time!

With TerrainComposer2 I've now got the tools to add biomes within biomes within biomes for extreme control of the near infinite worlds I'm designing. I'm working directly with the develop to get some extra features in that will make my life much easier, though we're still a week or two away from getting the bugs fixed and really being able to plug version 2 into Solace Crafting's engine.

In the meantime I've made big improvements to the building system. I'll have to go more into depth on this with a post of it's own when I'm finished with it, but you build big and fast with this really easy to grasp building system. The buttons rotate with you as you move and switch between keyboard controls and back to movement simply by holding the right-mouse button down (used for look in most RPGs anyway)
Once I get upgrades in and add stone and metal I'll post a video showing just how easy it is to get things moving.

Hope everyone is enjoying the nice weather!