Tag Archives: Tutorial

Wow…150 Subscribers

-

Hello!

When I started this blog six months ago, I didn’t really intend it to be a useful or entertaining resource, it was really just for me to record some programming ideas. Some of you may know why I started. During my academic and professional career I’ve mentored many young people, and frankly their coding skills suck. There are lots of reasons for this, but I believe the most important one is the quality of the programming resources available. Programming resources targeted at the aspiring programmer are mostly terrible. Books are boring, tutorials are baffling, videos are patronising and everyone who thinks they can code puts you down at every opportunity. The growing “maker” programming community believes you can get by with drag and drop coding, and cut & paste scripts – these offer a solution, but don’t teach anything.

My videos try to be a bit different, and I try to take the time to explain the algorithms and why they work. I don’t need to present the topics that are not important to this – GUIs, graphics libraries, off-the-shelf game engines. But you still need methods to display and accept input. So it appears I’ve carved a little niche with my “command line” approach. It also happens that this is a really low barrier to entry. I try to keep my programs to <300 lines. This is not some arrogant “look how great I am” thing, rather, it focuses me to produce only relevant, functional and clear code. Also humans can cope with about 300 lines, it’s easy to navigate and remember.

So I’ve been a little overwhelmed recently by the fact the YouTube Channel has just hit 150 subscribers, and I’d like to thank them all for taking an interest. It really does make it all worth while and I hope people are learning from the videos. I know they can be a bit geeky, a little dull, look a bit rough, but I’m made up with it. I’ve been surprised by just how much effort is required to make a good video and I know there are many video creators that can put me to shame, but the late nights, rows, frustration and coders-block have all been worth it, and I’m proud of the results so far.

Jx9

Command Line First Person Shooter Engine

-

Ahh NesMania, you may remember this project from an earlier post. Well it’s over now, and one of the things I’ll miss is the execellent background noise it added to my programming sessions. I liked the beep-boops and swearing, and frequent no mames. The project came to become a bit of a muse, perhaps watching The Mexican Runner grind relentlessly through one terrible and difficult game after another yet never giving up, was inspiring enough (to me at least) to go on and do programming videos.

Anyway, my latest video recreates the a navigable 3D maze in the terminal. No polygons here, but it is inspired by the Wolfenstein 3D game engine. I think the result is quite pleasing, but it makes me ask the question why this was not the norm back in the day when computer graphics where considered a luxury. It is not a computationally challenging algorithm by any means, and surely those machines back then would have been more than capable at updating the screen fast enough. I’m unaware of any games that operated in this way, and thus it makes me think that simply, nobody had had the idea to do a game engine in this way. That demonstrates just how influential and radical early first person shooters were.

So here is a video demonstrating the engine and discussing how it works.

And here is a link to the code on Github: https://github.com/OneLoneCoder/CommandLineFPS

And here is the code itself! Have fun!

Jx9

Code-It-Yourself: Sound Synthesizer #2 – Oscillators & Envelopes

-

Hello!

Part 2 of my “From Scratch” Audio Synthesizer is now ready to be viewed!

Specifically, this video covers more advanced oscillators, and envelopes to control the amplitude of the sound.

All the code is on Github: https://github.com/OneLoneCoder/synth/blob/master/main2.cpp

And also here!

Make some NOISE!!!!

Jx9

8-BITS of Advice For New Programmers (They won’t teach in school)

-

Hello,

I feel a new periodic format coming on! “8-BITS of…” whatever I feel like talking about.

This first one covers 8-BITS of advice for new programmers. If you’re just starting out, programming can look like a never ending mountain to climb. I feel nowadays it’s harder to learn programming as the systems and software have become much more sophisticated, raising the barrier to entry. On the flip-side, the availability of tools and resources makes accessing programming much easier.

To help, here’s my advice:

Jx9

Code-It-Yourself: Sound Synthesizer #1 – The very basics!

-

Hello!

This is the first part of a tutorial series which I am creating as I learn about sound synthesis. The guts of the tutorial can be watched in this video:

I’ve always been fascinated by synthesizers. Sure, they can sound a bit cheesy and old fashioned, but I like it, and they remind me of my childhood, where computer music was considered really cutting edge. As a musician and a programmer, I have no excuses for not having a go at building a synthesizer.

This first tutorial introduces the concept of oscillation, and provides a ready to use file which you can use in your own projects (on Windows only at the moment).

Currently, you are limited to just listening to your mathematically produced waveforms, and playing with a little keyboard emulator.

This is all the code you need to get started:  OneLoneCoder_Synth_Part1.zip

Here is the olcNoiseMaker.h file – see, nothing nasty!

Alternatively, you can download the source files here: OneLoneCoder_Synth_Part1.zip

Jx9