Up until fairly recent years, game programmers have consistently used a deep class hierarchy to represent game entities. The tide is beginning to shift from this use of deep hierarchies to a variety of methods that compose a game entity object as an aggregation of components. This article explains what this means, and explores some of the benefits and practical considerations of such an approach. I will describe my personal experience in implementing this system on a large code base, including how to sell the idea to other programmers and management.

You can use PixaTool to get 8bit / Pixel style images or videos, optimize your PixelArt or game assets just adding some cool effects. Works as a PixelArt converter or PixelArt conversion tool. To keep updated: @DavitMasia

In this 2017 GDC session, smArtist's Jon Jones explains what skills and disciplines are necessary to transition from a full-time office worker into someone that works from home, a coffee shop, or the road.

In games we often want to find paths from one location to another. We’re not just trying to find the shortest distance; we also want to take into account travel time. Move the blob (start point) and cross (end point) to see the shortest path.

The problem we’re trying to solve is to get a game object from the starting point to a goal. Pathfinding addresses the problem of finding a good path from the starting point to the goal―avoiding obstacles, avoiding enemies, and minimizing costs (fuel, time, distance, equipment, money, etc.). Movement addresses the problem of taking a path and moving along it. It’s possible to spend your efforts on only one of these. At one extreme, a sophisticated pathfinder coupled with a trivial movement algorithm would find a path when the object begins to move and the object would follow that path, oblivious to everything else. At the other extreme, a movement-only system would not look ahead to find a path (instead, the initial “path” would be a straight line), but instead take one step at a time, considering the local environment at every point. Best results are achieved by using both pathfinding and movement algorithms.

Seven years ago I worked on an terrain generator for a game called Realm of the Mad God. We had started out using Perlin Noise for height maps but found that most of the maps we generated weren't a good fit for the game. I spent the summer trying out ideas for making the maps, and discovered that Voronoi Diagrams could form a good “skeleton” for making maps. The combination of Voronoi polygons and Delaunay triangles gave me places for quests, towns, rivers, and roads. I used Perlin Noise for the coastlines instead of for the height map. The resulting maps were unrealistic and inflexible but they were just what we needed for our game.

On the road from a traditional job in the game industry to full-time independent game development, we have found ourselves in the position of doing contract game development for a period of time. My initial response to the idea of contract development was less than excited. I feared that it was ultimately no more than a change of bosses rather than the life-changing adventure I was looking for. To my surprise contract game development has proven to be closer to independent development than I had expected. Working with the right companies, contract work can offer many of the benefits of independent game development and act as a stepping stone toward full-time work on your own games, while providing some of the benefits of a traditional game development job.

But the problem is, the chances of Joe Indie game developer achieving this are close enough to zero as makes no difference. There are 348 pages of ‘top sellers’ on indie games on steam. Taking the mid point, and looking at the top game (I wont pick on it publicly, so lets not name it). Its an RPG with Zombies in apparently (that shouldn’t narrow it much :D). Steamspy says…. drumroll

I am therefore here to reconnect his datapoints in my own fashion: to imagine history in a different way. Yet make no mistake, dear reader: I am not here to present some ‘secret actual cause of Gamergate’ that is fresh and new and salacious. People like Ryerson explained the causes of Gamergate long ago, and I have remained satisfied with their explanations.

Instead I will ask a series of what I believe to be more relevant questions today. I’m going to talk about the origins and motives of ‘liberalism’. I’m going to talk about the 2016 presidential election, and the Democratic Party’s numerous dismal failings. I’m going to talk a little bit about Karl Marx,
if you will indulge me. And most importantly I’m going to talk about how we can actually improve the world, and at whom we should take a swing when we set out to discuss the history of violent behaviour.