G’day Internet. Welcome to Stick Ninjas, DevLog episode 12. My name is Andrew Russell.

Someone has asked me to transcribe these DevLogs, so I’m going to be doing that this week. If it’s useful to you, let me know. Because then I’ll probably do it for future episodes; and I’ll also go back and transcribe my old episodes.

A couple of things to show you today: I’ve been working on my physics engine platforming stuff.

I don’t think I mentioned it last week, but I’ve used Stick Ninjas as an opportunity to upgrade from Farseer 2 to Farseer 3 (the physics engine). And while my overall platforming algorithm still works, there are still a few literal edge-cases to figure out. So I’ve been working on those.

I’ve been making sure everything works when you fall off a polygon. Or when you cross the boundary between two polygons.

I’ve also added wall-sliding and wall jumping – both upwards and outwards.

The other thing that I’ve been working on (in the background), is my line-rendering code.

So here’s my old line-rendering code, and you can already see what’s wrong with it. The head is made up of a pair of line end-points that are quite large. And you can see the same thing if I zoom in on a line – it’s just made up of a bunch of triangles and there’s some fairly crappy blurring for anti-aliasing.

If you look at my new line-rendering technique, it’s extremely smooth no matter what zoom level I go to. And this is going to look really great later on when I want to add some fancy zoom effects to the game.

That’s it for this week. For development news, subscribe to my blog at AndrewRussell.net or follow me on Twitter: @_AndrewRussell. And visit StickNinjas.com to sign up to get a notification when Stick Ninjas is available for playable pre-order.

Thanks for watching reading, and I’ll see you next week.


(Side note about transcription: Obviously I refer to a lot of animated visuals during my videos. I tried making some illustrations for this post, but it took too long and produced some fairly large files. It’s not worth the effort when you can get a better result by just watching the video. But, because you made it this far, here’s a bonus animated gif for you :))


Petr Abdulin

4:10 pm, Tuesday 28 August 2012

Line rendering looks very nice! How it’s implemented?

I’m not sure if transcribing is that necessary. Personally I would rather prefer a longer videos with more details.

Andrew Russell

6:06 pm, Tuesday 28 August 2012

I think this is my shortest video yet – not much to show off this week.

The line rendering is a fairly simple pixel shader that draws an infinite-resolution circle (with nice anti-aliasing), applied to appropriate geometry (a rectangular line, plus two end-caps).

I’d like to get more details into the videos – but there is a trade-off with production time. And some of the more technical topics are tricky to discuss in the format.

But if there’s anything in particular that anyone would like me to go into more detail about – let me know. Maybe I’ll write a blog post, or talk about it in a future video.