Skip to content
View Distortions81's full-sized avatar

Organizations

@M45-Science

Block or report Distortions81

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
Distortions81/readme.md

Carl Otto Header

Typing SVG

Hi, I'm Distortions81 ๐Ÿ‘‹

Welcome to my GitHub profile! I enjoy building tools and prototypes that connect systems programming with game development.

๐ŸŒ Links


๐ŸŒŸ Featured Projects

A selection of repositories that showcase what I like to build.

๐Ÿš€ ChatWire

Language: Go | Complexity: High

A robust bridge between Discord and Factorio servers, manages servers and empowers moderators. A part of M45-Science github organization (Website). Active since 2017.

Lines of Code: ~14k

Highlights:

  • Discord bot development: DiscordGo
  • Custom game-server and game-mod updaters. Download API, Mod API
  • Go concurrency and goroutines
  • Process control and system integration
  • WebSockets and HTTP APIs
  • Live logging and diagnostics

๐Ÿ‘€ ONI-SeedView

Language: Go | Complexity: Medium

Web (web assembly) map seed viewer for the game 'Oxygen Not Included' using Ebiten. Fetches seed data and renders an interactive map with detailed info.

Try it here Lines of Code: ~4.6k

Highlights:

  • Game data parsing
  • Rendering with Ebiten
  • Interactive seed exploration
  • UI scale can be adjusted
  • Can export high-res printable maps
  • Touch controls for mobile
  • Available as an alternate viewer on MapsNotIncluded.org

๐Ÿ“ฆ goXA

Language: Go | Complexity: Medium-Low

Custom archiving utility with a compact format.

Lines of Code: ~5k

Highlights:

  • Custom archive structure
  • Checksums, many compression types
  • Preserve file permissions, mod times
  • Offers forward error correction
  • Threaded compression options

๐Ÿ› ๏ธ Factorio SoftMod (for M45-Science)

Language: Lua | Complexity: Medium-High

Lines of Code: ~7.5k

Highlights:

  • Localized to several languages
  • Player menu with vote-banish system for player-based moderation.
  • No game mod download needed
  • Can be updated mid-game via careful use of scenario scripting
  • Dynamic GUI generation
  • Permission-based commands
  • Player permissions management
  • Logging of player actions

๐Ÿดโ€โ˜ ๏ธ PixelPirates

Language: Go | Complexity: Medium-Low

Retro sailing and exploration prototype.

Play online Lines of Code: ~5.7k Blog post about this project

Highlights:

  • Custom real time music synthesizer.
  • Use of Perlin Noise for procedural generation of sky.
  • Runs well in-browser using web assembly.
  • Can imort sprite sheets from Aseprite

๐Ÿ•น๏ธ goMMO

Language: Go | Complexity: Medium-Low

Client-side MMO prototype demonstrating basic networking. Implements a small world simulation and WebSocket communication for testing.

Lines of Code: ~3.9k

Highlights:

  • WebSocket networking
  • Custom low-bandwith binary networking protocol
  • Use of linear interpolation for smooth movement and frame-rate, even with base rate of 8 updates per second.
  • Uses hashmap map-chunk system for efficiency
  • Caching of serialized game data to significantly reduce CPU needed in busy areas

Language: Go | Complexity: Medium-Low

Minimal server browser for Factorio with a web interface. Polls servers on a schedule, caches results, and serves a simple index page.

Live Demo Lines of Code: ~1.3k

Highlights:

  • RESTful HTTP handling
  • Server polling and caching
  • Front-end/back-end integration
  • Uses matchmaking API

๐Ÿšซ FactBanSync

Language: Go | Complexity: Medium

Synchronizes ban lists across multiple Factorio servers. Contains a CLI merge tool and lightweight web API for centralized management.

Web Interface Lines of Code: ~1.6k

Highlights:

  • Data synchronization
  • CLI tool design
  • JSON processing
  • Lightweight web server

Language: Go | Complexity: Medium Attempts to recover blurred or pixelated text using brute-force comparison that is surprisingly effective. Lines of Code: ~330

๐ŸŒ€ golang-frac

Language: Go | Complexity: Medium Fractal visualizer and generator with WebAssembly support.

Lines of Code: ~300

Highlights:

  • Complex number math
  • Ebiten graphics engine
  • WASM build pipeline

๐Ÿ’น goMarketMadness

Language: Go | Complexity: Medium A tribute to a childhood type-in economic sim.

Play it here Lines of Code: ~1.8k

Highlights:

  • Simulates TUI of TI-99/4a
  • Game loop and economic modeling (brownian noise)
  • Event-driven simulation

๐Ÿ’ก Misc Projects

๐Ÿ“ˆ GitHub Stats

Stats

Thanks for visiting!

Pinned Loading

  1. M45-Science/ChatWire M45-Science/ChatWire Public

    Factorio to Discord chat bridge and server manager

    Go 8 3

  2. M45-Science/FactorioServerBrowser M45-Science/FactorioServerBrowser Public

    A web-accessible version of the Factorio server browser with caching

    Go 1

  3. goMMO goMMO Public

    Tiny mmo prototype in golang (client)

    Go

  4. PixelPirates PixelPirates Public

    A concept for a 2D sailing adventure game

    Go

  5. goXA goXA Public

    Go eXpress Archive โ€” lightweight file archiving in Go. Simple, self-contained, and watched over by Xango

    Go 1

  6. ONI-SeedView ONI-SeedView Public

    ONI seed viewer, written in Go w/ Ebiten.

    Go 1