Home
Jan David Nose
Subscribe

Designing an API for a Video Game

I am working on Auto Traffic Control, a video game for programmers. The game is played by writing code that interacts with the game through an API. This post explores the design of the API that connects the player's code, the API layer, and the game simulation.

Mar 2022 • 4 min read

Auto Traffic Control – A Video Game for Programmers

Auto Traffic Control, fittingly abbreviated ATC, will be a video game for programmers about safely routing planes to an airport. It takes inspiration from the old school hit Flight Control, and adapts its game mechanics for programming.

Mar 2022 • 5 min read

Four Weeks of Experiments

At the beginning of 2022, I set the goal to experiment with different project ideas and technologies. I want to learn new things and build something, and after four weeks it is time to pause and reflect on the progress.

Jan 2022 • 11 min read

Day 4 – Adding Tech Debt

Yesterday, I was following along with the book Zero to Production to set up a web server in Rust. Today, I went rogue and added a background job system. All code quality metrics have dropped as a result.

Jan 2022 • 4 min read

Day 3 – Productive Procrastination

After two days of mostly theoretical work, I felt like writing some code today. So I got my copy of the book "Zero to Production" and worked on the app's web server. As a result, the project is built with Rust now...

Jan 2022 • 3 min read

Day 2 – Exploring an Idea

Yesterday, I brainstormed ideas for a project that I can build in a few weeks. Today, I am exploring one of those ideas in more depth. The goal is to develop a better understanding of the product and its constraints.

Jan 2022 • 5 min read

Day 1 – An Empty Source File

The new year is here and I have some time to experiment. It has been a while since I had the opportunity to explore new technologies and build something. I have a few ideas what to do and what to learn, but I still need to figure out the details.

Jan 2022 • 5 min read

godot-logger – A Rust Logger for Godot

While building a game with Rust and Godot, I wanted to see log messages in Godot's editor. Because I could not find an existing solution, I went ahead and created godot-logger, a crate that prints to Godot's output console.

Oct 2021 • 3 min read

Hacktoberfest '21

Hacktoberfest is an annual event that celebrates open source, and I will be working on my video game for programmers this month.

Oct 2021 • 4 min read

This Month in Lunaria – July 2021

Lunaria is now using the Godot engine, updates can be streaming to clients through the gRPC API, and camera controls have been implemented.

Jul 2021 • 3 min read

Fully Automated Dependency Upgrades with Dependabot and GitHub Actions

Dependabot is an app for GitHub that automates dependency upgrades through pull requests. When maintaining many or large projects, manually merging these pull requests can take quite some time. Luckily, the process can be fully automated with the help of one or two GitHub Actions.

Apr 2021 • 5 min read

gRPC

Lunaria is a video game for programmers, in which players write code to interact with the game through an API. This post introduces Lunaria's API that is built using the gRPC framework.

Oct 2020 • 4 min read

Announcing Lunaria

Lunaria is an ambitious open source project to create a video game for programmers. Write code to build a base, launch into space, and explore an infinite universe shared with other players.

Oct 2020 • 6 min read

Turtles All the Way Down

Four weeks ago I wrote a lengthy post about why I want to build a video game for programmers [https://jdno.dev/why-i-want-to-build-a-video-game-

Aug 2020 • 4 min read

Why I Want to Build a Video Game for Programmers

As an avid gamer, I love the structured challenges and feedback loops that video games provide. Especially when there are clear goals, but a lot of flexibility how to achieve

Jul 2020 • 7 min read
© 2026 Jan David Nose · RSS