Posts

Showing posts from November, 2019

New logo for WestSloth Games

Image
The original logo of WestSloth Games was created by me for several years ago. Basically, it was a hanging sloth that was built using voxels. I guess MagicaVoxel was the tool used to create it. In the beginning logo looked pretty ok. But over time it started to look confusing and not so good anymore. So there was a clear need to draw a new logo. But what kind of a logo is good one? Some views can be found for example from this  article concerning logo design : " A good logo is distinctive, appropriate, practical, graphic and simple in form, and it conveys the owner’s intended message.   " So yes, logo must be at least appropriate, practical and simple. Those were the words I thought I understood.  Additionally, there was also a short list of characteristics of good logo: 1. Simple 2. Memorable 3. Timeless 4. Versatile 5. Appropriate So, I tried to follow these guidelines and started drawing with Inkscape. After 30 minutes of fiddling logo looked like this: ...

Unity3D LWRP Shader Graph demo (rolling checker board)

Image
I started getting familiar with Unity render pipeline usage, because I had plans to utilize that in my upcoming game project. As a by-product I recorded a short video how to create a rolling material (or texture) using Unity3D shader graph. Shader graph is a way to build shaders visually by creating and connecting different nodes. I would think it is simple enough even for beginners after you understand how to setup and use it. My shader graph demo recording is available on WestSloth's Youtube channel . There is no speech included, but I hope it gives at least some idea how Unity3D shader graphs can be utilized. I was using Unity 2019.2.13f1 and created a new project with LWRP template, that automatically brings in required packages needed in this demo. Edit:  I added  another Unity3D shader graph video to Youtube . -Jussi.

Unity3D events, delegates and Action

Image
Delegates and events are very powerful features of C#. With them you can write clean and efficient code also in Unity. However, I have found delegates bit confusing to understand. Most of the examples I have seen are not so easy to understand, especially if you are a self-taught coder like me. :) Most of the examples I have found are using both delegate and event definitions. Something like this: public delegate void PlayerHit(int damage);  public event PlayerHit onPlayerHit;  But personally, I like using Action<> type instead. It allows you to replace two lines with one and it will make your C# code simpler. It also removes some confusing buzz around delegate definition. Here's an example: public static event Action<int> PlayerHit; So, at least for me this looks more understandable. Please find below two very simple code snippets from my GitHub repository  to see a real life example using Action in defining delegate. In this example event passe...