Build Pong in Your Terminal with Go for Some Reason

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • donut

    Playing with Golang (by onnos)

    I learned some basics of Go in much the same way a few years ago. An implementation of Andy Sloane's (famous?) donut in a terminal: https://github.com/onnos/donut

    And playing with funky patterns using braille characters:

  • rotaterm

    https://github.com/onnos/rotaterm

    It's not great quality code but it got me started! It's nice to have some immediate output you can play with.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • gx

    A Go->C++transpiler meant for data-oriented gameplay and application programming especially for WebAssembly. Using this mostly in the context of specific personal projects and heavily focusing the feature set on those. Used in my Raylib gamejam project: https://github.com/nikki93/raylib-5k -- also being used to develop a private longer term game project and a note-taking app. (by nikki93)

    Re: perf for hobby gamedev, I basically agree for native builds, but lately I've felt like Wasm support seems key for hobby gamedev (so you can have more people play your game / without downloading it / it works directly on mobile too without dealing with app or play store). And Go perf in Wasm unfortunately is not so good (I was hitting big GC pauses when trying to make a game with Ebiten and large images).

    I ended up writing a Go -> C++ compiler. The games I've done with it don't use the GC at all but also don't manually manage memory -- they use an ECS api which helps. https://github.com/nikki93/gx -- the README links to development workflow video and complete example game code.

  • bubbletea

    A powerful little TUI framework 🏗

    Fantastic game! Have you considered using the Bubble Tea [1] library?

    I recently used Bubble Tea to write a Flappy Bird-like game [2] and it was incredibly fun. It splits your app up into a Model (state), a View function (that uses the model to return a string), and an Update function (that updates the model), like Elm. Plus the other Charm libraries are great for styling terminal output, spring physics, etc.

    [1] https://github.com/charmbracelet/bubbletea

  • flapioca

    A Flappy Bird-inspired terminal game written in Go.

  • golang-experiments

    Just messing around trying to learn golang

    Love the other "this is how I learned , too" comments. I'll add mine into the mix :) note this was implemented in 2014: https://github.com/mrryanjohnston/golang-experiments/tree/ma...

    I think videogames are a great way to showcase channels in Go.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts