was successfully added to your cart.
Repost
August 25, 2016

Change your STUPID code

STUPID code, seriously?¶ This may hurt your feelings, but you have probably written STUPID code already. I have too. But, what does that mean? Singleton Tight Coupling Untestability Premature Optimization Indescriptive Naming Duplication In the following, I will explain the individual points with more details. This is more or less the transcript of my talk. Singleton¶ The Singleton pattern is probably the most well-known design pattern, but also the most misunderstood one. Are you aware of the Singleton syndrome? It is when you think the Singleton pattern is the most appropriate pattern for the current use case you have. In other words, you use it everywhere. That is definitely not cool. Singletons are controversial, and they are often considered anti-patterns.…
Read More
Repost
July 25, 2016

Joots tool for analysing colour schemes.

During the Christmas vacation I read the fantastic book Color and Light: A Guide for the Realist Painter by James Gurney. It contains a number of really interesting ideas about colour schemes, so I was curious how these relate to existing games. I was especially curious about Proun: when creating the art for this game I did not know anything practical about colour theory. I just tweaked the colours until they looked good. Apparently this was successful, since reviewers were extremely positive about Proun's visuals and vibrant colours. How then do the colour schemes in Proun relate to Gurney's colour theories? To analyse this I have developed a simple little tool that visualises the colour scheme in an image. You…
Read More
Repost
July 19, 2016

Inlining Functional Programming – John Carmack

From: John Carmack johnc@idsoftware.com Date: Tue, Mar 13, 2007 at 4:17 PM Subject: inlining code This is going to be an unusual email – I want to talk about coding style. I’m not going to issue any mandates, but I want everyone to seriously consider some of these issues. I’m not talking about petty things like spaces around operators, bracing styles, or pointers by type or variable (although we probably should settle that one), but about larger organization of code. There aren’t any silver bullets, but months can be shaved off of a development project with a few percent improvement in productivity. This email was getting too long, so I am going to follow up with some other thoughts later.…
Read More
Repost
February 29, 2016

Simple easing formulae

Simple tween functions formulae for coders t: Current Time b: Start value c: Change value d: Duration simple linear tweening - no easing, no acceleration Math.linearTween = function (t, b, c, d) { return c*t/d + b; }; // quadratic easing in - accelerating from zero velocity Math.easeInQuad = function (t, b, c, d) { t /= d; return c*t*t + b; }; // quadratic easing out - decelerating to zero velocity Math.easeOutQuad = function (t, b, c, d) { t /= d; return -c * t*(t-2) + b; }; // quadratic easing in/out - acceleration until halfway, then deceleration Math.easeInOutQuad = function (t, b, c, d) { t /= d/2; if (t < 1) return c/2*t*t + b; t--;…
Read More
Repost
February 12, 2016

What is Color Depth in Monitors and How far it can go ?

Color depth, also known as bit depth, is either the number of bits used to indicate the color of a single pixel, in a bitmapped image or video frame buffer, or the number of bits used for each color component of a single pixel. For consumer video standards, such as High Efficiency Video Coding (H.265), the bit depth specifies the number of bits used for each color component 24 bit per pixel and 32 bit per pixel “24 bit” usually means 24 bits total per pixel, with 8 bits per channel for red, green and blue, or 16,777,216 total colours. This is sometimes referred to as 24 bit RGB. “32 bit” also usually means 32 bits total per pixel, and…
Read More
Repost
February 12, 2016

SOLID Principles For Game Developers

The SOLID principles are a set of 5 software development principles coined by “Uncle Bob” (Robert C. Martin).  They are a set of guidelines for Object Oriented Design (OOD), specifically for class design.  They are widely used by agile business programmers however they are generally unknown amongst game developers.  This article describes the principles and frames them in common game development situations. Single Responsibility Principle “There should never be more than one reason for a class to change.” The first principle is the cornerstone of the set and gives the greatest return on investment when followed correctly.  It states that each class should have only a single responsibility and therefore reason to change.  Keeping each class small and tightly focussed…
Read More
Repost
January 31, 2016

Git for Unity Developers

We’ve started using Git for our Unity3D projects and this tutorial describes the best way to set up a Unity3D project to use Git for source control as well as some best practices. In the past we’ve used SVN and Mercurial as well and so far we’ve found Git to be the best option. The main advantages of using Git with Unity are: Support for Unity Cloud Build Distributed development allowing offline work when on the road or otherwise disconnected from the internet A number of GUI clients Cross platform support (more…)
Read More