4,628 reputation
1242
bio website blackcompanystudios.co.uk
location Edinburgh, United Kingdom
age 35
visits member for 4 years, 3 months
seen 7 hours ago
Run a games development studio in Edinburgh, specialising in small scale prototypes, outsourced software support, and tools and process improvement.

Oct
15
awarded  Popular Question
Oct
3
revised How do I procedurally animate a cell eating another cell?
added 1041 characters in body
Oct
3
answered How do I procedurally animate a cell eating another cell?
Sep
30
awarded  Explainer
Sep
16
comment C# XNA Rectangle.Contains returns false?
Yes, if an Update function had been listed I would have suggested to put it in there instead. Really though the g_MouseState variable is entirely superfluous.
Sep
16
answered C# XNA Rectangle.Contains returns false?
Sep
8
revised How does interpolation actually work to smooth out an object's movement?
Fixed MovingObject.Update logic, and added timeline
Sep
8
revised How does interpolation actually work to smooth out an object's movement?
added 1 character in body
Sep
8
revised How does interpolation actually work to smooth out an object's movement?
Changed update so that it doesn't assume the state can all be returned as a single standalone object; also noted that the rendering is not changing the objects at all.
Sep
8
comment How does interpolation actually work to smooth out an object's movement?
But it's also possible (but much harder) to architect things so that all the state information needed to represent the current state of the world at time T is held under a single object. Conceptually that's much cleaner when explaining what information is around in the system as you can treat the frame state as something produced by an update step, and keeping the previous frame around is just about retaining one more of those frame state objects. However I might rewrite the answer to be a bit more like you'd actually probably implement it.
Sep
8
comment How does interpolation actually work to smooth out an object's movement?
Yes, effectively. The reason why I put in previousFrame and currentFrame as return values from Update and InitialiseWorldState is because to allow for the rendering to draw the world as it is part-way between two fixed update steps, you need to have not only the current position of every object you want to draw, but also their previous positions. You could have each object save both values internally, which gets unwieldy.
Sep
2
comment Why are gaming graphics not as beautiful as animated movies?
There are many other techniques than raytracing used in offline rendering, when making professional quality cinematics. But as you say, they use expensive rendering, lighting and shading techniques that simply aren't practical for real-time rendering.
Sep
1
comment How does interpolation actually work to smooth out an object's movement?
NB: the pseudocode is weak in two ways. Firstly it doesn't catch the death-spiral case (it takes longer than fixedTimeStep to Update, meaning the simulation falls ever further behind, effectively an infinite loop), secondly the renderInterval never gets shortened again. In practice you want to increase the renderInterval immediately, but then over time shorten it gradually as best you can to within some tolerance of the actual frame time. Otherwise one bad/long update will saddle you with a low framerate forever.
Sep
1
answered How does interpolation actually work to smooth out an object's movement?
Sep
1
comment How does interpolation actually work to smooth out an object's movement?
Okay, so I think there are still things missing from the question, namely: what is the skipTicks value and where is it set / what is it set to?
Sep
1
revised Tiles touching all of same color check
Fixed bug in GatherConnectedTilesOfType (off-by-one check against width/height)
Aug
17
answered How can I generate isometric sprite sheets from 3D animations?
Aug
13
reviewed Close What are some ways of sorting through zero-experience programming candidates?
Aug
13
reviewed Leave Open How do I decompile Minecraft?
Aug
13
reviewed Leave Open How can glass breaking effect from Smash Hit be achieved?