Loren Crain

I'm a generalist software engineer and indie game developer. Founder of bluehexagons, solo developer of Antistatic.

Open for work, freelance, and contract opportunities using a variety of technologies. Proficient in web and software development. Professional experience in financial tech, e-commerce, and games.

Contact
  • LinkedIn
  • GitHub
  • loren@bluehexagons.com
  • SW MO, USA (central time)
Also On
  • Bluesky: @bluehexagons.com
  • itch.io: bluehexagons
  • YouTube: @bluehexagons
  • Second channel: @bluehexagons2
  • Ko-fi: bluehexagons
  • Birdsite: @bluehexagons
  • Twitch: thisTerral
  • Mastodon: @terral@mastodon.gamedev.place
  • Linktree: bluehexagons
Roles
  • Software Engineer
  • Full-Stack
  • Frontend
  • Backend
  • Web Dev
  • Game Dev
  • SysAdmin
Core skills
  • TypeScript
  • Electron
  • React
  • C#
  • Go
  • C/C++
  • SQL
  • Node.js
  • AWS Lambda
  • Godot
Frontend web development
  • TypeScript
  • JavaScript
  • Electron
  • React
  • Web Components
  • Vite
  • HTML
  • CSS
  • Jest
  • Storybook
  • Node-API
  • slate
  • ESLint
Software engineering
  • C#
  • Python
  • Rust
  • git
  • SQL Server
  • PostgreSQL
  • SQLite
  • Auth systems
  • REST APIs
Game development
  • Godot
  • Unreal Engine
  • GDScript
  • TypeScript
  • C#
  • Unity
  • WebGL
  • OpenGL
  • HTML5 Canvas
  • Steam publishing
  • itch.io publishing
  • Game design
  • Controller input
  • Custom engines
  • Internationalization
Systems
  • Bash
  • vim/neovim
  • Linux administration
  • Proxmox VE
  • Networking
  • Hardware
  • VMs/VPS
  • Containers
  • TrueNAS
  • OPNsense
  • PowerShell
Tools and software
  • Linux
  • Windows
  • Mac OS
  • Visual Studio
  • VS Code
  • ffmpeg
  • RDP
  • Trello
  • Bitbucket
  • GitHub
  • Jira
  • Jenkins
Amazon Web Services
  • Lambda
  • Cognito
  • DynamoDB
  • AWS Amplify
  • CloudWatch
  • Route 51
  • IAM
  • Secrets Manager
Other engineering
  • 3D printing
  • Soldering
  • Reverse engineering
  • Electrical engineering
  • Embedded devices
  • Raspberry Pi
Other interests
  • Nature photography
  • Music
  • Languages
  • PC games
  • Speedcubing
  • 2D animation
  • 3D modeling
  • SSBM
  • Mechanical keyboards
  • Distro hopping
  • Manufacturing
More stuff I use
  • Digital Ocean
  • Cloudflare
  • Scoop
  • Debian
  • Fedora
  • Linux Mint
  • Android
  • Steam
  • Steam Deck
  • Duolingo

Antistatic 2012 - Present

A solo-developed uncompromising platform fighting game using a bespoke C/TypeScript engine. Read more at the main Antistatic page.

  • Shaders: GLES
  • Server OS: Ubuntu
  • Graphics: OpenGL
  • Bespoke graphics engine
  • Dynamic sound engine
  • Custom physics engine
  • Uncapped player count
  • Latency-optimized rendering and input processing
  • Font atlassing in C
  • Delay-based P2P UDP netcode
  • Custom build system: Bash, PowerShell
Open-Source Pieces
  • Lobby server: antistatic-server
  • Input state machine: capacitor
  • Color math scripting language: trace
  • Loader: antistatic-loader
  • Animator: antistatic-animator
  • Translations: antistatic-translations
  • Easing library: @bluehexagons/easing

Senior UI Engineer @ Zazzle.com Jun 2019 - Sep 2023

I worked on most parts of the Zazzle.com frontend codebase, and built some internal tools.

Built and maintained frontend UI infrastructure and for public and internal pages. The primary technologies I used were TypeScript, React, Redux/Sagas, and C#.

Application Developer @ Dexter Solutions

Feb 2014 - Jun 2018

For most of the time, I was part of a two-person team responsible for any dev or sysadmin work that came up for the company or clients. Worked on big old systems with a lot of data.

Developed bespoke pages and utilities using Go, SQL Server, and TypeScript. Enhanced legacy PHP, JavaScript, and third-party software. Administered Linux servers.

Lead Programmer @ Air Dash Online

May - Oct 2013

This game scared Wobbles with how fast it was at Evo, and I miss it.

Air Dash Online was a prototype of a fast-paced platform fighting game by JV5 Games. As the programmer, I built its custom platform fighter engine inside of Unity. JV5 Games was a global team; I worked most with the founder, animators, and the graphics lead. We had a playable demo after a few months that we demoed at Evo 2013.

A fun trip down memory lane: CLASH Tournament's vod is still available from when they let Chris stream his modeling work and some gameplay. I've lost all builds of the game, so if anyone has kept one then please let me know so that I don't need to port it off of Unity Script to relive playing.

Custom Tech
  • 2D capsule-based attack collision system based on 3D animations
  • 2D stage collision and management system
  • In-game controller remapping tech
  • Automated detection of some controllers for specific remapping
  • Keyboard, controller, and fight stick support
  • YAML parser
  • Animation sequencing, timing, interpolation system
  • Platform fighter mechanics: air dodging, wave dashing, light/heavy attacks, blocking, recovery, etc

Don't Starve Food Guide

Jan 2013 - Present

The Unofficial Don't Starve Food Guide is a simple static JavaScript-powered app that provides several helpful food-related tools for the Don't Starve series of games.

The open-source Food Guide (on GitHub) was created to simulate the in-game crock pot, which crafts different dishes depending on what four ingredients are chosen. It expanded to include more tools, and has been maintained since Don't Starve was in Early Access.

bluehexagons.com

2015 - Present

You Are Here. And I appreciate you.

This website is hosted on a headless Linux server running nginx, written using modern HTML, CSS, and TypeScript. It's still under construction.