DevBlog: Responsive Design with Unity

Designing a user interface with Unity is done quickly, and the results may even look very appealing. But things become ugly as soon as you change the aspect ratio of your screen, testing your design on different smartphones or tablets. Fortunately, Unity includes a few tools to help you implementing a so-called Responsive Design. Here are three tips from my experiences with my current project, Network Traders.

Continue reading DevBlog: Responsive Design with Unity

DevBlog: Avoiding Unity Netcode

When I started Network Traders a year ago, I was intrigued by Unity’s new networking layer, which was then still the MLAPI. After some testing, I realised that it was just not the right tool for my application. So when does it make sense to use Netcode and what might be an alternative for your project if it doesn’t?

Continue reading DevBlog: Avoiding Unity Netcode

DevBlog: Trying out Unity Localization

Almost exactly a year ago I published a quick survey about free localization tools, comparing those available in the asset store. In the meantime, the guys at Unity have developed and finally published version 1.0 of their own Localization package in September this year. I have decided to give it a try for Network Traders. So here comes an update to my last year’s survey.

Continue reading DevBlog: Trying out Unity Localization

DevBlog: A Bluetooth Novice’s Tale

Once upon a time not so long ago there was a not-so-young programmer. He thought, “let’s make a game where people connect their smartphones via Bluetooth to trade with each other”. And so he went on a perilous adventure with many loops and turns where in the end, the simplest solution won out.

Continue reading DevBlog: A Bluetooth Novice’s Tale

A quick Survey of free Localization Tools

Even a small game project such as my Coopong for Kids needs to be translated into different languages if you want to reach more players. If you want to keep your budget low while having the least amount of hassle with localization, the following (incomprehensive) list of free localization tools for Unity might help.

(Update: also have a look at my article about the Unity Localization package, which was published later.)

Continue reading A quick Survey of free Localization Tools

Android Bluescreen

Recently I reached an important milestone for my game: I asked two friends to play it with me. As usual in this case I tried to fix as many of the remaining bugs I knew so that the app would run reasonably stable. And as it always happens when time is running out, I ran into a problem that totally puzzled me. All of a sudden my app showed a bluescreen (!) on two out of three Android devices – sometimes. Wasn’t that a Windows thing? Continue reading Android Bluescreen

No Behaviour for Incoming RPC (UNet Pitfalls #2)

Some problems are so intractable that you almost despair on them, like the one with the RPC error message that haunted me for two months. It was even more stubborn than the one I wrote about in my last post. Imagine you are working happily on your multiplayer game and out of nowhere you get an error that says “Found no behaviour for incoming ClientRPC …”. In this case, I really did not change anything in that part of the code and the error just popped up. Continue reading No Behaviour for Incoming RPC (UNet Pitfalls #2)

UNet Pitfalls: OnStartClient Execution Order

Unity’s UNet multiplayer networking layer is easy to use and a good solution for any project without special demands in this regard. However, doing my second project now with UNet, I repeatedly find some pitfalls which temporarily take the fun out of programming. This time, I wondered about some SyncVars not synchronizing correctly, until I found out that my problems had nothing to do with them. Instead, I discovered that the OnStartClient method of NetworkBehaviours is not always called in the same order with other callbacks such as Awake or Start.

Continue reading UNet Pitfalls: OnStartClient Execution Order

Using ProBuilder for 3D Architectural Sketches

Unity is a great tool for writing games, and especially so if you are just prototyping some new idea. However, Unity is not only great for games, but works for many other applications as well. Making plans for a new home, I’ve discovered that Unity, together with ProBuilder, is quite useful for sketching floorplans in 3D. The results are quite presentable and offer a first impression on how your future home might look like with your current plans. Continue reading Using ProBuilder for 3D Architectural Sketches

A Relay Server based on WebSockets for Online Games made with Unity Personal

As described in my previous post Unity makes it pretty hard for hobby developers to develop their own online games. It is impossible to run a game server created with Unity on an Amazon AWS instance due to the missing batchmode option. As a workaround I implemented a relay server for my current project which is based on WebSockets and allows me to run my own server at home, combined with the benefits of a server in the cloud with a fixed IP address.

Continue reading A Relay Server based on WebSockets for Online Games made with Unity Personal