Wsl Blog
C

Zach Wilder - 16 Feb 2024

Way back in 2022 I started reading about using terminal escape codes to do away with depending on NCurses for all the terminal drawing and keyboard handling for terminal applications. If I recall correctly, my original motivation was because I wanted to use fancy unicode characters with the Goblin Caves project, and NCurses was not playing nicely. Of course, I couldn’t just dive right into swapping over the entirety of Goblin Caves to using terminal codes directly without testing them on something - and the first thing I thought of was why not make a simulation of a deck of cards? I messed around, designed a way overbuilt deck of cards, and even started working on implementing a Cribbage game (ambitious!). I ran into a weird problem with Cribbage, couldn’t figure it out, and shelved the project. Some screenshots of the original project: Well, when I recently started working on Goblin Caves again I remembered my efforts to write some simple drawing and event handling code, brought that code over to the Goblin Caves project, buffed it up, and it worked great.
[Read more]


Zach Wilder - 27 Nov 2023

The holidays are always a great time to slack off and work on fun projects - while eating too much pie and wearing sweatpants for multiple days, of course. Over the past week or so I’ve made a few neat things and more importantly tied the Markov chain word generator into the Goblin Caves project. The first little thing I made is a procedural mushroom generator.
[Read more]


Zach Wilder - 17 Nov 2023

The first screen the player sees in Goblin Caves is a black screen with a question and a prompt. This “new player” screen was originally made as a “quick and dirty” sort of thing, with the intention of replacing it with something fancier - or at least more flashy. It’s really grown on me since I originally wrote it, and I don’t think I’m going to change it. What does still bother me though, is that if you just hit enter without putting down something a little message box pops up, asking you to “Please try again.” That’s kinda lame, and directly above the code that does that error checking (was) a comment I wrote to myself: “It would be super cool if this was replaced with a call to a random name generator…” Well I came across that comment while rewriting all the drawing and input handling code, and decided that was going to be my next project.
[Read more]


Zach Wilder - 4 Nov 2023

As a kid, I wanted to learn how to program to make computer games. That was the original goal, anyways. I’ve always felt there is a weird sort of magic being able to type structured sentences into a text file, ram it through a compiler (sometimes with fun, cryptic looking incantations typed into the terminal), and seeing something come to life on the other end. Programming has always been an on again/off again sort of hobby. I think it’s more the act of making something from nothing that draws me to it then actually making something. A few years ago (actually closer to a decade, somehow) I found the Complete Roguelike Tutorial using Python and libtcod. I didn’t know Python when I started the tutorial, but the end result of that project was amazing - I had a mostly complete game. I tweaked and customized, modified and played around with that project for a while. Eventually hit a wall, probably due to my lack of knowledge with Python.
[Read more]

[Click Anywhere To Close]