Namek Dev
a developer's log
NamekDev

Iterative version of Ramer-Douglas-Peucker line-simplification algorithm

June 28, 2014

In one of our games we needed to beautify user mouse or touch input. Actually it isn’t simple task since there can be found many criteria due to point reduce. I have tried several solutions like discovering big angle change between segments (built of last given input points), big distance discovering, Catmul-Rom curve approximation and even joining all of those methods.

Later on I have found Ramer-Douglas-Peucker algorithm which helped to reduce unneeded points in a more visually proper way. In the end I’ve been reducing points by small distance and little angle between segments to put less points into the algorithm. Since it had to be done in realtime that wasn’t enough of optimizations. Next optimization was to make the iterative version of Douglas-Peucker algorithm.

→ Continue reading csharp, gamedev, unity3d

Why I hate Unity3D popularity

June 17, 2014

Unity3D is an often recommended game making tool for beginners, the same way, how it was with Game Maker and a few others. I have been stumbling upon Unity3D for 3 months and I do have my strong opinions about that fact.

My thesis is that Unity3D may not be suited for beginners. Some people argue and say that it is a matter of taste. I disagree. In my opinion it’s the matter of skills and facts. I would like to share some of my observations about Unity3D or actually how it can be misused. The following will not be an advanced take on the topic but rather a cover for beginning game developers who want to start with Unity.

I can see three following areas of (lacking) skills which often kill projects in later development:

  1. writing production-ready code - maintainable for a longer time than a month
  2. knowledge of differences between programming paradigms like OOP, GOC or ECS
  3. performance problems awareness - due to target hardwarde, language and architecture

Let me explain.

→ Continue reading Entity Component Systems, gamedev, unity3d

Quick implementation of Network for existing Game

May 15, 2014

There are 2 common choices of architecture for game network implementation:

  1. client-server
  2. peer-to-peer

What I did was some kind of hybrid of those two. I used Remote Procedure Calls (RPCs). In this post I will describe this technique giving some basic examples showing the role of server and actually giving it some tools to do it’s role as a server.

→ Continue reading csharp, gamedev, unity3d

Unity - is this point within a box?

April 19, 2014
I am currently using Unity for two weeks and I have started to implement logic and graphical tweaks into mechanics. It happened that I needed a little math to correct some calculation failures based on user mouse or touch input. A simple check was needed - is a given 3D point contained within a box? I was pretty disappointed that Unity does not have such functions already made. And even more disappointed I couldn’t find ready solution for Unity-specific library code. → Continue reading csharp, gamedev, unity3d