Well, it's certainly been a while! This is of course not a unique occurrence for me, really, but alas, I have come back to say hello and share some Handmade news!

The latter half of 2020 of course was a crazy year for everyone. It is often regarded as a time where nearly everything went wrong, but we can't forget to look at the positives as well. For Handmade Network in particular, we had a number of exciting moments...

HMS2020 (link)

...the first of which being the second annual Handmade Seattle conference, Handmade Seattle 2020, hosted by Handmade Network founder Abner Coimbre. This conference started in 2019 with an in-person conference, but Abner worked extremely hard to make a virtual equivalent in 2020 a reality, despite the ongoing circumstances. Abner's efforts were successful, and we were gifted yet another incredible conference.

Many Handmade Network projects, Handmade-adjacent projects, or Handmade Network project owners made their appearance on the HMS2020 stage, like WhiteBox, raylib,
Ginger Bill (creator of Odin), and a number of others. Instead of just duplicating the list for you, though, I highly recommend you check out the conference website which has annotated recordings and resources for all of the presentations.

Thank you for another amazing conference Abner!

New Podcast Episodes (link)

While I am not great at keeping up with news posts, I am slightly less terrible at keeping up with doing podcast episodes. Since the last time I wrote to you all, we've produced another 11 podcast episodes with brilliant people, many of which are also Handmade Network project woners. You may recognize them, you may not, but all of the conversations were extremely interesting for me, and I hope they will be for you too.

A few personal highlights for me were:

1. A fascinating conversation on the fundamental assumptions of our programming tools, with Allen Webster.

2. A discussion of Odin with its creator, Ginger Bill.

3. Digging into Handmade Network projectSilverNode with one of its creators, Martijn Courteaux.

4. Chatting about Handmade project funding that doesn't interfere with quality and vision, with Andrew Kelley (creator of Zig) and returning guest Allen Webster.

The list of course is not exhaustive, but is just a glimpse into a few of the things I got the chance to speak about on the podcast. To get a full look, check out the podcast episodes here.

New Projects

Since I last wrote, we've welcomed a number of new projects to the Network as well. Here's a list:

SilverNode: a RAW image editor delivering high performance, artificial intelligence guided editing, and an elegant workflow.

WhiteBox: a software tool for showing you how your code behaves as you write it. Humans are not good at simulating code in their head. Let the computer do what it does best.

BEdit: Binary files can be a pain to debug. You usually have to create custom tools just to dump it to a structured ASCII format that you can read and inspect. This tool will help you debug, create and edit binary files in a more structured way than a hex editor.

Syzygy: an enigmatic game focused on the ability of morphing at will a square world into triangles and hexagons. Changing shapes to hinder foes or create new paths, the player will explore a nonlinear world of ideas filled with 80+ puzzles, looking for a way out.

Light Tracer Render: Light Tracer Render is the tool to produce photorealistic renderings interactively, in both desktop Web browser and standalone Windows application. Based on a physically-correct unbiased ray tracing engine working on any graphics card, both discrete NVIDIA/AMD GPUs and Intel iGPUs.

DFPSR: David Piuva's Software Renderer is a static C++ library for graphics and user interfaces. You don't need to install OpenGL or any third party media layer. Replace all of that with one static library that calls the system directly and actually works. No more missing drivers, complex extension wranglers, feature flags, awkward legacy limitations, closed proprietary features, driver bugs, blue-screen crashes, shader dialects, random funky colors, failed pixel alignments, incompatible screen resolutions... This library takes the safe route and still gets more than enough performance for most needs.

miniglut: MiniGLUT is a subset of GLUT (or more precisely a subset of FreeGLUT) implemented in a single C source file, without any non-essential dependencies, not even the C library. You can use MiniGLUT by simply dropping two files: miniglut.h and miniglut.c into your project source tree, or by building MiniGLUT as a static library and linking with it.

Cute Asset Pipeline: Cute Asset Pipeline is a tool for transforming raw PSD files into a PNG texture atlas. Cute Asset Pipeline also allows you to manage metadata about your game assets, such as animations and tags. It comes with a GUI for easily managing your assets as well as a CLI program to make exporting inside build steps a breeze.

msf_gif.h: I often found myself wanting to be able to recording gifs straight out of a game or other application, but existing tools and libraries are severly lacking in a number of ways for that use case, so I wrote this library to solve the problem once and for all.

MPlay3 - MP3 Music Player: MPlay3 is a music player that lists and plays all .mp3 files in a given folder. It lists all Genres, Artists, Albums and Songs in four different columns. If one or multiple entries in a column are selected all subsequent columns will be adjusted to only display the entries corresponding to the selected ones.

C3: C3 is a systems language based on C. It tries to be an evolution of C, improving on what C can't easily change for legacy reasons while retaining its syntax and feel.

Pepper Editor: Pepper is an experiment of mine to simplify code editing from the terminal. It’s mission is to be a minimal and fast code editor with an orthogonal set of both editing and navigation features.

Sir Happenlance and the Spear of Density: As an esteemed Knight of the Rotund Table, your trusty lance is the only thing you can, well, trust. Use it to impale your enemies, knock arrows out of the sky, and fling yourself to victory. Fight your friends, or fight alongside them, in online versus or co-op multiplayer.

Meta Assembly Language: Meta assembly language aims to provide the developer flexibility to adjust every step of the compilation process. Tokenization, parsing, type checking, optimizations, instruction generation, and binary output should be accessible and augmentable.

Community Showcase Highlights

As Ben told you last time, the website is now featuring an integration with the #project-showcase server on the Discord server. This is a place where community members can post showcases of their projects and what they've been working on, and Ben and Asaf worked very hard on getting that same content visible on the home page of the website and user profiles, while I stood by and did nothing. What I can do, however, is share a few great highlights that I don't think you should miss.

Community member TheSandvichMaker has not been making sandviches, but he has been making some incredible progress with his ray tracing renderer. Here's a quick preview:

Martijn Courteaux showed off some color modification preset settings in SilverNode. Running in real-time, as always! Check it out here.

Phillip Trudeau gave us a sneak peak into the progress that has been made on Sir Happenlance and the Spear of Density.

Of course, that's not an exhaustive list... There are far too many awesome posts to check out for me to list them all off to you here, those are just a few ones that I liked. To check out all of them, go to handmade.network/showcase!

That's all for now. Talk to you again soon!