Quantcast
Channel: #AltDevBlog » Programming
Browsing all 101 articles
Browse latest View live

A Formal Language for Data Definitions

Lately, I’ve started to think again about the irritating problem that there is no formal language for describing binary data layouts (at least not that I know of). So when people attempt to describe a...

View Article


Image may be NSFW.
Clik here to view.

Four meditations on bad design decisions

I’ve recently been doing a major rewrite of one of our core engine systems, the graph that we use for our visual scripting language Flow. Taking it from something that looks like this: To something...

View Article


Image may be NSFW.
Clik here to view.

C/C++ Low Level Curriculum Part 10: User Defined Types

Hello again peoples of the interweb. It has been quite a while since the last one (probably even longer than the gap between part 8 and part 9) so I thought I ought to pull my finger out and get the...

View Article

Surviving a Game Jam

So this being AltDevBlogADay, I’m sure that a lot of people reading this have done at least one game jam. I’m sure that a good deal of people also haven’t had the pleasure yet, so this little write up...

View Article

Image may be NSFW.
Clik here to view.

Implementing Voxel Cone Tracing

[Updated on 25-2-2013: added a paragraph about lowering the voxel update frequency for faster dynamic update. The demo also added a combo box for choosing the update frequency] Introduction In last...

View Article


Garbage Collection and Memory Allocation Sizes

As a performance conscious programmer in a soft-realtime environment I’ve never been too fond of garbage collection. Incremental garbage collectors (like the one in Lua) make it tolerable (you get rid...

View Article

Why Lua?

A question that I get asked regularly is why we have chosen Lua as our engine scripting language. I guess as opposed to more well-known languages, such as JavaScript or C#. The short answer is that Lua...

View Article

Latency Mitigation Strategies

  Abstract Virtual reality (VR) is one of the most demanding human-in-the-loop applications from a latency standpoint.  The latency between the physical movement of a user’s head and updated photons...

View Article


A Bug in Object Replication and Message Reordering

The Bitsquid network system supports a peer-to-peer model with migration of network objects — i.e., changing the owner of a network object from one peer to another. This recently lead to an rare race...

View Article


Image may be NSFW.
Clik here to view.

What is gimbal lock and why do we still have to worry about it?

If you have ever worked with rotations and Euler angles you are probably at least somewhat familiar with the phrase “gimbal lock”. But like many things concerning rotations, angles and spaces it can be...

View Article

A Fast, Type-safe & Minimal String Formatting Library, miniformat

The inspiration for this came from tinyformat. Unfortunately it relies on the C++ iostream, basically std::cout, which is somewhat slow and definitely not everyone’s favorite. So I bit the bullet and...

View Article

Code Share: Source Censoring, Part 2

A while ago I shared the tool we use for censoring source code in the Bitsquid engine. Quick recap: We need to censor the code in our source distributions because there are parts of the code that are...

View Article

C/C++ Low Level Curriculum Part 11: Inheritance

Hello, and welcome to the 11th part of the C / C++ low level curriculum. About time? Definitely! Last time we looked at the basics of User Defined Types: how structs, classes, and unions are laid out...

View Article


Image may be NSFW.
Clik here to view.

C/C++ Low Level Curriculum Part 12: Multiple Inheritance

Hello, and welcome to the 12th part of the C / C++ low level curriculum. Really soon after part 11! (No, of course part 11 didn’t get too big and need to be split. Why would you ask?) Last time we...

View Article

Strattonian Gambit

After a 1 year hiatus from the site (including a bit of crunch), I thought I’d try to start making videos again.  Hopefully I can also finish a bunch of the almost dones and post them as well. I...

View Article


A project management view on IT vs. games

I come from a background of IT development, where I worked in multiple roles from programmer to system architect. During that time I saw many different project management techniques ranging from the...

View Article

Data-driven design with Unity 3d, Part 1 – Brainstorms, Initial Requirements.

This is a slightly-edited re-post of a series that I’ve been writing in quiet isolation (which you get used to doing indie development) on my blog.  Currently up to part 4 of the series, they have been...

View Article


Image may be NSFW.
Clik here to view.

Gentle introduction to Google Analytics in Flash

Introduction Being able to check out how many players play your game, from what countries, for how long, on which levels they have problems, how much points do they score, even do they ever visit your...

View Article

Accurately Reproducing Game Audio in the Playback Environment

Sound Designers are faced with a difficult proposition. Add sound effects, music and dialogue to a game, set rules that determine how those sounds are panned, attenuated and processed in real-time...

View Article

There’s nothing like a tidy codebase

There you are! You, yes you! Been tasked with a new feature or a change, to the code or a script, to be done by yesterday, haven’t you? Yes, yes, I know your pain. You’ll be wading through oddly named...

View Article
Browsing all 101 articles
Browse latest View live