The Time Between The Years • The Applied Go Weekly Newsletter 2024-12-29
Your weekly source of Go news, tips, and projects
The Time Between The Years
Hi ,
This issue is a winter pause edition. It's a short one, and the next one will be short, too. The newsletter will be back at full power on January 12th.
⛄️❄️🌨️☀️
Most of Christianity have their Christmas celebrations past them and look forward to the new year and Epiphany on January 6th. In Germany, the time between Christmas and New Year's Day is called "die Zeit zwischen den Jahren" or "the time between the years".
Why is this time of the year called that way? The reason is a mismatch between two calendars. The Gregorian calendar is a solar calendar that measures the length of a year by observing the position of the sun relative to the stars. A lunar calendar, on the other hand, measures the length of a year by observing the phases of the moon. A lunar year is about 11 days shorter than a solar year. This is about the time between Christmas and Epiphany, but nowadays, the "time between the years" is only used for the shorter timespan between Christmas and New Year's Day.
Ancient Egypt also had a "time between the years". Their calendar was set up as 12 months with 30 days each, which was easier to calculate with. The extra 5 days were added to the end of the year.
This time is often used to reflect on the past year, make resolutions for the new year, and spend time with loved ones. It's a time for relaxation, reflection, and rejuvenation.
Speaking of relaxation, how about some games?
I am talking about games written in Go; this is a Go newsletter, after all. So I scanned all the newsletter issues from 2024 for game announcements, and there were indeed quite a few!
Thy them if you like, and maybe feel inspired to write your own game!
Have a great "time between the years"!
– Christoph
Go games of 2024
Feb 18th: Arctic Warfare by rocketnine
Made with Go & Ebitengine. The source code is available here.
Mar 10th: Space
A Go-powered Asteroid-like browser game. Hit W
for thrust, and move the mouse cursor inside the game window to rotate the ship.
The author hasn't released the source code, but in their rl
repository, you can find an example of collision detection with Raylib-go. (No go.mod
file, unfortuntaely, but I was able to run the example by copying the single-file source code and compiling it on macOS with CGO_ENABLED=1
. YMMV.)
Mar 31st: GitHub - nickstambaugh/GOL: An Alternative to Conway's Game of Life, Simulated in Go
The Game of Life simulates cell birth, life, and death governed by a few simple rules. This variant allows you to set custom rules (and see what happens).
Apr 14th: Minesweeper written in Go using Fyne
A desktop UI framework is probably not the first choice for writing a game, but some types of game don't need a full-fledged game engine.
May 12th: GitHub - unklnik/bitty_knight: Source code for the first game I made with Go on Steam
Bitty Knight is a retro-style game made with Raylib. Free to play but requires installing the Steam client.
May 19th: GitHub - Vaniog/Snaker
The classic snake game in the browser, for one or two players.
Jun 6th: GitHub - unklnik/mr_snuggles_dungeon_adventure: Roguelite game made with Go and Raylib - Demo & Game is available on Steam
A 2D, top-down dungeon shooter. Compile it from the sources (raylib needed) or get it on Steam.
Sep 1st: GitHub - willofdaedalus/yummychars
Need to kill time while waiting for a C++ project to compile? Play yummychars
, a TUI game that has no other goal than steering a snake that eats all the characters in your terminal.
Games Completely Unrelated To Go
(Sep 22nd)
If you still think that Go is unsuited for game development, here is the proof that virtually any language, and any sufficiently "programmable" system as well, can be used for implementing a game.
How about a breakout game "implemented" in Google Calendar or Flappy Bird running in macOS' Finder?
Find these games, and more, in this list of totally weird game implementations.
TIL: "The Firefox Address Bar runs Wordle pretty well."
Happy coding! ʕ◔ϖ◔ʔ
Questions or feedback? Drop me a line. I'd love to hear from you.
Best from Munich, Christoph
Not a subscriber yet?
If you read this newsletter issue online, or if someone forwarded the newsletter to you, subscribe for regular updates to get every new issue earlier than the online version, and more reliable than an occasional forwarding.
Find the subscription form at the end of this page.
How I can help
If you're looking for more useful content around Go, here are some ways I can help you become a better Gopher (or a Gopher at all):
On AppliedGo.net, I blog about Go projects, algorithms and data structures in Go, and other fun stuff.
Or visit the AppliedGo.com blog and learn about language specifics, Go updates, and programming-related stuff.
My AppliedGo YouTube channel hosts quick tip and crash course videos that help you get more productive and creative with Go.
Enroll in my Go course for developers that stands out for its intense use of animated graphics for explaining abstract concepts in an intuitive way. Numerous short and concise lectures allow you to schedule your learning flow as you like.
Christoph Berger IT Products and Services
Dachauer Straße 29
Bergkirchen
Germany