Let's Code Text Adventure #7-9 (end)

Here are the final episodes of Let's Code Text Adventure, where the code is refactored to be what the code wants its design to be. I clean up some primitive obsession smells and move some functionality to where it belongs.

Source Code: github.com/orfjackal/text-adventure

Download as MP4: Ep 7, Ep 8, Ep 9

Episode Archive



Let's Code Dimdwarf #21: Ambiguity Paid Off

The ambiguity left remaining in episode 16 has now been cleared. This ends the current undertaking and in the next episode will begin the work on supporting more than one client.

Download as MP4

Episode Archive


Let's Code Text Adventure #1-6

Here is a mini series of developing a new application. It's a text adventure game based on a homework assignment near the end of one introductory programming course.

The homework assignment said that from the students it usually takes 10-15 hours to make this application - and even then a framework for the UI, input handling and game loop was already provided (which I didn't have nor want). I was at that level 10 years ago, back in 2000, and I think that by now I have learned programming. ;)

During these first six episodes (in 2½ hours) I manage to implement the needed functionality, but it will still take a couple more episodes to clean up the code to meet my quality standards. I will post those episodes later.

Though there is some overhead in using TDD, it will pay itself back quite soon when the development progresses. I'm guessing the flipping point to be around 2 hours, so roughly the size of this application, but it would be interesting to hear some research on that.

Source Code: github.com/orfjackal/text-adventure

Download as MP4: Ep 1, Ep 2, Ep 3, Ep 4, Ep 5, Ep 6

Episode Archive

Project Setup & End-to-End Test

Domain Logic

Text UI

Next episodes


Let's Code Dimdwarf #19: Close of the Split

Coding with backspace is fun. The last half of splitting NetworkSpec requires mostly just removing the excess parts.

Download as MP4

Episode Archive


Let's Code Dimdwarf #18: Revenge of the Hack

When you take shortcuts in implementing things, it's important to always remember them (not realistic) or at least make them fail fast, so that you would be reminded about them when they bite you. My IoHandler was not fail-fast; it had a pointless null check.

Download as MP4

Episode Archive


Let's Code Dimdwarf #15: Matcher Mismatch

Before removing the duplication between two classes or methods, they should be made as similar as possible. There is a small mismatch in what the ByteSink and EventSink matchers match.

Download as MP4

Episode Archive


Let's Code Dimdwarf #14: Covering All Corners

When I go through things which I'm about to commit, often I find out that I'm not yet ready to commit.

P.S. After a couple of productive evenings, I've piled up unedited recordings up to episode 30. So at least for now I'll speed up my release pace to reduce the WIP.

Download as MP4

Episode Archive