I wanted to end the year with a bigger project, so made this three part video creating a basic clone of the popular team battle game worms! This includes a physics engine, state machines for sequencing and artificial intelligence!
I got a request in the summer to do a video about augmented reality. Being a console programmer, I had to think about this but then remembered that I have a PhD in this sort of stuff! So I decided to revisit the webcam video but modify it to implement an optic flow algorithm, which estimates a velocity vector for each pixel in the image.
I dislike flappy bird, mainly because it’s such a simple concept and was wildly popular. In this video I create a clone of flappy bird in the command prompt. Its the shortest code-it-yourself video yet.
A tricky video this one, as after I filmed the video, I realised it’s not exactly Perlin noise, but I didn’t have time to reshoot.
Sometimes, we want to randomly generate things, but pseudo random number generators are just too random! Perlin developed an algorithm which adds local coherence to noise at different spatial scales, creating clumping and patterned noise. This is considerably more natural in appearance than just white noise, and has many desirable properties such as tesselation, and level of detailing.
One of my earliest videos was a simple raytracing engine that ran in the command prompt. In fact, here it is:
I felt it was time to give this project a bit more attention, and introduced textures and sprites into the engine. The end result has transformed the look of the engine, and you would be hard pressed to realise this was still done in a regular windows command prompt.
In many applications, you need to route something from one place to another, be it an NPC in games, or scenery, or graphing applications. The default algorithm for new programmers seems to be the A* algorithm. I created an interactive demonstration video that shows how the A* algorithm works.
I’ve often though the command line is underrated as a graphical tool, after all I’ve built a youtube channel around this. In this video I try to really push the boundaries and its moderately successful, but mostly unpleasant.
Well, my special “Programming The Matrix” video for celebrating 511 subscribers went really well. I was quite nervous at first, but there were viewers, and there were questions. At one point I had 33 concurrent viewers, so thanks to the actual 6 of you, and the 27 spam bots that were keen on learning how to re-program the matrix, for obvious reasons. By a strange coincidence, and just as I went live, one of my videos got dropped on Reddit, twice. This fortunate and pleasing event has provoked quite a jump in my subscriber count, which is already at 812 right now.
I see Reddit as the holy grail for this sort of stuff so long as you don’t post it yourself. Regardless, I don’t consider myself a subscriber chaser, but it’s rewarding to see people seem to be enjoying the videos.
So it won’t be much longer before we’re celebrating 0x3FF subscribers. I hoped I’d have some more time to prepare something. I’ve been hammering the videos this week to give me a bit of a buffer so I can get a couple of weekends off. In case you’re interested I usually spend about 10 hours coding and testing the program during the week, and film and edit it on Sunday, which can be another 10 hours. If I do no face-to-camera work, then I may record a video on a weekday evening. I’m also due to do a silly video, but I’ve not thought about this yet either.
Coding Live was quite a challenge, and in fact I missed a bit from my notes out 🙁 but I’m sure nobody will notice the difference between the video and the source.
Wow, this video is a big one for sure, but it just had so many interesting things to include. I thought Asteroids would be simple, but doing it right means I need to explain matrices, vectors, spatial transformations and trigonometry, then I can explain the programming. I’m unsure how popular this one will be.