Over the years and with some specialized assets coming available, Unity has become a great tool for building games that require large open worlds. While these games still require careful planning and a lot of optimization, it has become much easier and faster to create the maps themselves. In this post, I want to share some tips and tricks that I have learned over the years.
After recently remodeling my apartment and with some time off over the Christmas holidays I felt like I should add something special to my living space. During this time I saw a post on Reddit of someone who had built a clone of the famous QLOCKTWO LED-clock, which inspired me to follow suit.
Since I had stopped playing around with electronics a long time ago and wasn’t in the mood to go all out and build an LED-matrix myself, I decided to do things differently and use individually addressable RGB-LED-strips. This way I avoided having to either order custom PCBs or having to build the circuits on breadboards since all that was needed on the electronics-side were a raspberry pi, the strips, a power supply and an appropriate connector as well as some wires.
If you want to build a similar clock, you’ll mainly need these parts (plus some tools like a soldering iron, wire strippers, solder, wires, and basic electronics stuff):
In 3d games, a lot of attention by developers is focused on elements of the engine that might hinder the players’ immersion in the game. These can be big projects, like defeating the uncanny valley (see my last post on realistic characters), or little eye-catching bugs or features of a game that drastically differ from how a user expects things to look.
The ugly reality of near clipping
In the world of 3d games, we rarely deal with volumetric objects (objects that have an ‘inside’), but rather most of our assets are hollow on the inside. This saves a lot of performance and usually doesn’t matter for the player unless the game needs it (for example a game where you need to dig into the ground, or a flight simulator with volumetric clouds).
A game’s camera usually has a specific area in which it will render these objects, consisting of a near plane and a far plane. If an object is too close or too far, it simply won’t be rendered by the camera. However, if an object just barely intersects with the near plane, the ugly reality of hollow objects shows itself to the user: Continue reading “Avoiding Ugly Camera Clipping In Unity3D”
Getting characters right is one of the most difficult topics in the 3d realm. While today’s technology allows for companies pushing characters in offline renderings way beyond the uncanny valley, and even into the realm of super-photorealism, games still make it difficult and expensive to achieve believable characters.
We have already witnessed smaller budget games going for incredibly detailed characters, as seen in Hellblade: Senua’s Sacrifice: Continue reading “Cheap And Realistic Characters For Indy Games”
Why ‘hierarchical tasks’ are a bad thing for realism
To get the behavior of the inhabitants in the life simulation part of my game right, meant hours of searching for just the right logical elements at first.
I started off with my beloved tool Behavior Designer, which is a behavior tree addon for Unity. It already offers a lot of the features that are needed to make the AI reason about its surroundings, such as tasks to let it see, hear or even navigate using a* or other means.
This was a great starting point since you can literally implement a basic, walking AI within seconds.
However, all the functionality of actually interacting with the game world did not help me at all, if the AI couldn’t actually decide on what to do in a realistic manner.