itch.io is community of indie game creators and players

Devlogs

Gravity & World Distortions, Custom Pathfinding, and more - CINIS V1.4 Preview 2

CINIS - RPG
A downloadable game for Windows

Hey everyone!

Sorry for the wait this time, it took longer than I thought to get to this point, and I have been way busier than I expected recently. But content for the next update is shaping up nicely!

Focus has still been mostly on new environments, features strengthening the core and early game, and especially tools and workflows that will help me better develop the game going forward.

Gravity & World Distortions

Finally, I can show off one of the major important features of CINIS. Gravity Distortions. That's right, certain areas of the game that are more affected by Chaos than others could have weird gravity, among other things.

In this scenario we see twisting from upside up, to upside down:

But this of course doesn't *just* work on the player, it works on enemies too:

This part was what took the longest to make work, as it required a whole new custom pathfinding system. Unreal Engine Nav Meshes can only go on regular floor surfaces, and not walls or ceilings, so I needed my own solution to this problem.

Node Based Movement solution

NPCs can navigate using a network of nodes, which can be placed anywhere.

After having a pathfinding system that worked, it quickly became apparent that a tool to create and edit these networks was needed as well. Using the Scriptable Tools plugin for Unreal helped a lot here, and made it so that I could focus on just coding the functionality of the tool, and not the entire editing mode itself. Here's a look at what it can do!

Been working on this secretly in the background for a good while now, and only reason I kept it secret was simply that I didn't know if it was good enough to stay or not for a long time. 

Open-world WIP

Gonna go in reverse order here, because I wanna show what I find most interesting first!

Height-map generation tests

I've been experimenting with how to most efficiently create the open-world. While it's not a massive world, about 2.5km^2, I knew I could not manage to hand-sculpt the entire world from a landscape. It would simply take too long, and not have any immediate benefits to do it all manually. So I took a preexisting low-poly terrain, and gathered height data from it:

Then I added a hand-drawn texture of rivers and lakes to that geometry data, which gave me the following result:

Then I can easily import the final render made inside of Blender into Unreal Engine as a height map, which creates the following result:

While not a perfect terrain out of the box, it gets me pretty far in the process with fairly little effort put in. The result above was made in just under a day, after having understood the workflow of this process fully. So likely this will be how the terrain is produced for the final open world.

Problems with the current terrain however, is the lack of real mountains. The terrain is at max height by the borders, where it just plateaus. I think I'll simply solve this with some large border / Out of Bounds meshes however, and keep the landscape as mostly the playable surface area of the game. 

Sizing tests

As I mentioned above I already had a low-poly version of the world. This proxy of the world was made in blender, based off of a 2D map of the game:

This model was then imported into unreal to better understand how large the world should be. To assist in the sizing, some assets such as large cliffs and regular trees, were placed around to give a better idea of the distance to all things in the world. You can see the images below:

I'm really glad I did this, because I ended up reducing the size of the world quite a bit, as it then seemed more manageable to navigate, and more fun to navigate. In addition to that, I got a good feeling for how much content could be in the game physically, and after seeing it, I really felt like it was an achievable result.

Misc.

Also created some more nature assets! See them here:

Prisoners & Chaining

New enemy type prisoners are being implemented! These guys are a sub-class of a larger category of enemies. One of their unique features is their dynamic looks, and weapons. So each enemy can have a different skin, as well as a random weapon model. 

They are fairly easy enemies as they are intended for the early game, but they allow me to develop some neat features that'll be seen throughout the entire game, so I'm really enjoying working on these guys.

Chaining

some prisoners are of course also chained up, and in fact, the player can also be chained. A chained enemy has limited movement reach, as they're attached to their post. It's the same for the player really.

I've not yet really decided how to, or if I should, chain up the player, so for now it just remains a technical feasibility.

Prison Level Blockout

What would a prisoner be without a prison? Well, a free man, and we can't have that. So work has also gone into producing the very first "Dungeon" level - The Prison.

When I say Dungeon level, I'm referring to levels in the game, which will be more linear in nature. While most of the game is open-world, there's segments which are linear. Consider in the current prototype how the intro in the Bastille is linear, or the ending in the Castle is also mostly linear. 

Misc.

A few things not specifically highlighted here:

  • More melee combat changes, mostly related to make melee attacks feel better
  • Parry animations - Just a unique animation when an attack is being parried
  • Attack indicators - When an enemy is about to attack, they flash a warning indicator which is highlighted in the UI as well.
  • Stamina, dodging, and even more...

There's many new *experimental* features in work, which I won't highlight too much just yet... while I'm mostly sure they will stay, I am still for the most part prototyping these mechanics heavily, so I'll likely have more to show in the near future!

Ending

Thank you so much for reading, and I apologize for the long wait! I've been busy with many things, many of them not related to CINIS, and the things related to CINIS I hope I have conveyed why it took a while to get them working to showcase...

Things such as the custom gravity for the player worked long time ago, but applying that to the enemies took it's own time, then creating the new navigation system, then making sure enemies can switch between the two, then creating a way to smoothly transition between one surface and another, THEN creating a tool to manage navigation nodes... It's a lot of work, just for "one" feature really.

I attempted to in the background work on more stuff too, but I then ended up spread out too much. Not enough work being made on just one feature or topic of the game, leading me to do world design, level design, enemy design, some soft engine-extension, and it just became a mess. So I've rescoped update 1.4 a bit, and changed the focus of it ever so slightly. I don't think player-facing it would matter *too* much, but *hopefully* it would allow me to get the update out faster. It's a big one this time, so it's taken it's time, but I wanna make it really good...

Thanks for reading and following the project!

(p.s. I had troubles even posting this blog post, due to the amount and size of files lol. Safe to say I've been working!)

Download CINIS - RPG
Leave a comment