Have fun learning about Test-Driven Development with JitterTed's TDD Game

The AI Chronicles


A new series of live coding streams, where continue to pair with James Shore. This time around, we’re creating a role-playing game, set on a desolate planet where the player has crashed and finds a civilization made up of evolved robots.

Your spaceship crashes on a remote planet.

You emerge from the wreckage to find a civilization of... intelligent robots?

Can they help you repair your ship?

But first you need to survive—which might require saving their civilization first.

A wrecked spaceship sitting on the mountainous surface of an alien planet, with fires still smoldering under an orange sky.

We’ll be using OpenAI’s API to generate the conversations that take place between you and the robot civilization. The tech stack we’re using is Spring Boot for the back-end, and React for the front-end.

When and Where?

Join us live, on Twitch every Monday from 1:00pm - 4:00pm PDT (20:00 - 0:00 UTC).

Source Code

You can examine the source code here, on GitHub.

Next Episode: #3 - Parse Responses

Now that the JsonHttpClient code can have configured responses for POST, we can start parsing that response in the OpenAiClient code (which uses this Nullable HTTP client).

Join Us

We’ll go live on Twitch on Monday, May 22nd, at 1pm PDT (20:00 UTC).


Episode #2: Fast Front-End Builds & More Nullables

We spent the first part of the session talking about testing libraries for the front-end, where speed and developer “ergonomics” are of primary importance. Unlike the Java world, where pretty much everyone uses JUnit, the JavaScript world has a plethora of testing libraries, but James found them either too slow, or annoying to work with (or both). We looked at what James built and debugged an issue with his build system.

We then dove back into the JsonHttpClient wrapper, where we needed to add support for the POST method to return data. This was something we didn’t need in the Yacht game, so we added the ability to configure responses from POST, in the same way that we had already done for the GET.

See the video and James’s comments here.

Episode #1: Getting Off the Ground

James Shore and I embarked on our experiment on Monday, May 8th. We talked about our goals: use OpenAI (aka ChatGPT) as the generator of conversations between the player (the pilot whose ship crashed on a planet) and the characters in the story (the robots). We clarified that we weren’t using it to generate code (though that’s always an option), but to “tell” the story.

We borrowed the JsonHttpClient Nullable code (and the Output Tracker) from our Yacht TDD project, and started adapting it to use with OpenAI’s API.

Along the way, we discussed Outside-In vs. Inside-Out vs. Middle-In ways of writing code.

See the video and James’s comments here.


Make Your Code More Testable™️

Don't miss out on ways to make your code more testable. Hear about new Refactoring techniques, improving the Test-Driven Development process, Hexagonal Architecture, and much more.

    We respect your privacy. Unsubscribe at any time.