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

Coopong For Kids is online!

Quite a while ago I decided to introduce my daughter to the world of classic video games. Obviously, the best game to start with was the first video game whatsoever, Pong. However, the Pong implementations I found on the Google Play Store all had some design problems. So I started to implement my own version. The result, Coopong For Kids, is now available in the Play Store. The following article takes a closer look at the main game design decisions involved.

Continue reading Coopong For Kids is online!

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

ConquestRelay Server available on GitHub

As promised in my August post I cleaned up the code for my relay server and uploaded a first version to GitHub under the name ConquestRelay. It is meant for hobby game developers prototyping their own online games, but still lacks a lot of functionality found in professional network layers.

Continue reading ConquestRelay Server available on GitHub

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

Unity in batchmode: for Pros only

For a few months now I’ve been fiddling about my own small multiplayer game using Unity. Basic versions of client and server are now in a state where you can play the first games, at least in my home network. But of course the goal is to play the game over the Internet, so I chose to host the server in the cloud of Amazon’s Web Services (AWS). Setting up your own server there is a separate chapter, which I will hopefully be able to tell later. It turned out that Unity and AWS don’t work together for amateurs like me. Continue reading Unity in batchmode: for Pros only