• Register
Post news RSS Devlog #5 - Kelp. Kelp everywhere

In this DevLog I'm going to show you the process I went through in search for the best solution to handling kelp in Rusalka.

Posted by on

Hello everyone! Welcome to the fifth devlog of Rusalka!

I don't have many new things to show you today, unfortunately, BUT I can assure you that the development has been going well and that I've been focusing on more interesting stuff to show you in the next coming weeks.

Today's DevLog is all about Kelp. Yep, that's it

So although it sounds weird, I really wanted some very good looking kelp for my game, unfortunately I don't have much time to invest in some very detailed stuff because this is a project that I'm developing as part of my University course, so I have some very important deadlines coming soon. Nevertheless, I can say that I tried.

The reason why Kelp is so important is the fact that it's an important part of my underwater environments. It would give me the ability to create some kelp forests or to give motion to some spaces that needed a bit more liveliness, as well as to green up the scenes a little bit. I like the idea of the fluidity that kelp represents and also the possibility to shelter the player and some wild life. When giving it a bit of thought the most interesting thing would be to create a sort of rope using Unity physics and then build up on that.

So I roughly created a segmented cylinder with a simple rig and put it in Unity. I applied character joints to the different bones of the cylinder and tried to emulate a rope. Before we get into that, let me try to show you a few examples of what I "kinda" accomplished.

Kelp 1 Optimized

It kinda worked well but now I needed to invert gravity and try to create the feeling of currents and moving water inside the ocean, sadly the rope was not liking movement very much.

I still needed gravity so one of the creative ideas that I had was to get the upper joints attracted to an object that I would later hide. It took me several attempts to tweak both the bones, the rig as a whole, the objects and the script but I guess I managed to get what I wanted…?

KelpTest 3 Optimized

Attempt #2

KelpTest 4 Optimized

Attempt #3

KelpTest 5 Optimized

Attempt #4

I tried adding some animation into it in order to make the movement a bit more unique and interesting but, as I mentioned previously, the extreme joints did not like movement. This is when I stopped working on it. I think I could do it eventually but that's a problem for future me.

In order to avoid staring at my terrain and thinking about how barren it is, I went to photoshop, drew a very simple texture of kelp and added it to the terrain with a few tweaks. It kinda works very well, it's not exactly the behaviour I wanted but it surely does the job.

Kelp TestKelpTest 6 Optimized

I don't like the idea of leaving things like this because - although there's some motion in it - it's not exactly the kind of flow and feeling that I wanted these organisms to transmit. I feel like it's lacking something and it will never be as good. Hopefully I'll find time in the future to work on it a little bit more and I'm sure that the solution will eventually click in my head.

ScreenShots 20

I hope you enjoyed this super interesting documentary about Kelp and Unity Physics Systems. Please look forward to my next DevLog, maybe I'll have something a bit more fun and game related to talk about. I mean we can't go dEePer than this. OhO!

As always, thank you for reading.




The final results looks good. But it could be improved by using multiple slightly different textures. Not all kelp look exactly the same. 3-5 different textures would make it even better.

Reply Good karma Bad karma+2 votes
ALoureiro Author

Thank you so much for the feedback! I'm planning on adding some more flora to the environments so I'll take that in consideration! Cheers!

Reply Good karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.