background preloader

Architecture

Facebook Twitter

GDC Vault - 'Overwatch' Gameplay Architecture and Netcode. Demystifying Conway's Law. At the time, the Harvard Business Review rejected his original paper based on the fact that he hadn’t proved his hypothesis.

Demystifying Conway's Law

Nonetheless, this observation has become known as Conway’s Law, and the collective experiences of both my colleagues and myself have time and again reinforced the truth of this statement. But you don’t have to take our word for it! In "Exploring the Duality between Product and Organizational Architectures", a study by The Harvard Business School carried out an analysis of different codebases to see if they could prove Conway’s original hypothesis as applied to software systems. In it, they took multiple examples of software created to solve the same purpose (for example word processing, financial management and database software), and compared the code bases created by loosely-coupled open source teams, and those created by tightly-coupled teams.

A Trace in the Sand, Software Architecture Journal by Ruth Malan. November Traces Notes on my Visual Architecting Keynote I began these notes in October (Part I), and while most additions will be under Part II, I've included the earlier sections below, for convenience (and eventually, completeness).

A Trace in the Sand, Software Architecture Journal by Ruth Malan

Those who've already taken a look at this write-up, may have noticed this about the design of the talk: The first major section used Grady Booch's characterization of software architecture as a flywheel, or sorts, giving impetus to the elaboration of our notion of architecture. Hotspot Patterns: The formal definition and automatic detection of architecture smells.

Hotspot Patterns: The formal definition and automatic detection of architecture smells – Mo et al.

Hotspot Patterns: The formal definition and automatic detection of architecture smells

International Conference on Software Architecture, 2015 Yesterday we looked at Design Rule Spaces (DRSpaces) and how some design rule spaces seem to account for large numbers of the error-prone files within a project. Today’s paper brings us up to date with what the authors learned after examining hundreds of error-prone DRSpaces… After examining hundreds of error-prone DRSpaces over dozens open source and commercial projects, we have observed that there are just a few distinct types of architecture issues, and these occur over and over again. We saw these issues in almost every error-prone DRSpace, in both open source and commercial projects. There are five architectural hotspot patterns that are frequently the root causes of high-maintenance costs: Managing technical debt. Tagged / 18f consulting / technical debt / by Chris Cairns and Sarah Allen In the last post, we talked about the potential consequences of having a lot of technical debt.

Managing technical debt

Why Your Idea Might Not Make It Into UE4 – Headcrash Industries. So you’ve had this great idea for a new feature in Unreal Engine.

Why Your Idea Might Not Make It Into UE4 – Headcrash Industries

It makes complete sense, will be useful to so many users (but especially yourself), and shouldn’t be too difficult to get up and running for experienced guys like us. Even your friends on the Forums and AnswerHub like it, and yet there has been absolutely no traction for months. So what is going on? This is a question I am confronted with almost daily, and I often have to cut the answer short. This article attempts to explain in more detail some of the main factors that affect the decision of whether and when a new feature will be implemented in UE4. Opportunity Cost. Game Engine Book - Course Materials.

Selected figures from textFigure 1.11 Runtime game engine architecture Sample materials for a two-semester course series based on Game Engine Architecture Syllabi 3D Math Problems 3D Math Problems (Answer Key) GDC 2014 LectureContext-Aware Character Dialog in The Last of UsPDF Format (243 MB) Click to Play.

Game Engine Book - Course Materials

Optimize for Happiness. A happy programmer is a productive programmer.

Optimize for Happiness

Less Software. You'd think that twice as much code would make your software only twice as complex.

Less Software

But actually, each time you increase the amount of code, your software grows exponentially more complicated. Each minor addition, each change, each interdependency, and each preference has a cascading effect. Keep adding code recklessly and, before you know it, you'll have created the dreaded Big Ball of Mud. The way you fight this complexity is with less software. Less software means less features, less code, less waste.

The key is to restate any hard problem that requires a lot of software into a simple problem that requires much less. Less software means you put away the crystal ball. From the beginning, we've designed our products around the concept of less software. Less software is easier to manage. Which features you choose to include or omit have a lot to do with less software too. Architecture in an Agile world. This Blog is a kick off to for many writings about architecture in an Agile World. We will explore the topic from all the views possible, in order to gain a better understanding about it. By doing so, we hope to create a community of followers, who would also like to contribute or discuss about this topic.

Xebia is helping many organizations in the Netherlands, France, the United States and India with implementing an agile way of system development. In most of the cases the Scrum method is applied and very good results are achieved. Cleaning bad code. Guess what!

Cleaning bad code

Built here? No, thanks. So, there’s has been a recurring issue during my small programming professional experience.

Built here? No, thanks

The funny thing, is that I heard the same explanations, theoretical pros and cons, about it. And today, I’m going to write them down, discuss them, and why it’s a bad decision on those contexts, at least from my point of view. So let’s talk about it :) Stop building your own engine. Sharing code « #AltDevBlogADay. Making it easier to share efficient cross-platform code with others keeps me busy. I continue sharing a few thoughts about build systems, software licenses and code re-usability. Premake Last time I spoke about meta build systems, and following some suggestions I decided to finally give premake a try. I’m happy to report that it is doing a great job so far. Even though I had never used premake before, it only took an afternoon to have it auto generate Visual Studio, Mac OSX Xcode projects and Unix Makefiles the way I like it. Premake takes away the suffering from cmake: its project files use relative paths so you can share its generated project files with others. Physics Effects is a low level collision detection and rigid body dynamics library, optimized by Sony for the PlayStation 3 SPUs and for their new PSP2 ARM handheld.

Open source licenses In order to share code with game developers and film studios, you need to pick the right software license. How To Design A Good API and Why it Matters.