Hackathon: API-Based Multiplayer Mining Game

For a recent hackathon at work, I decided to create an API-based multiplayer game, something along the lines of SpaceTraders or Rubbled. The idea is the entire game is built in a service with a REST API for issuing commands. There is no UI or client provided; players must create their own user interface or automate the commands somehow. I’ve worked on games before, but I haven’t ever created an online multiplayer game, so I thought this would be a fun experiment. My desire was to create the game in Go so I could take advantage of the concurrency primitives it provides and spend some time getting familiar with the new slog package for logging. There wasn’t much time available to work on this project, due to other pressing work issues, but I was still able to get a simple service running with a few basic commands.

Read more →

Hackathon: GPT4-x-Alpaca Part 2: Creating a MUD with Evennia

Hackathon: GPT4-x-Alpaca Part 2: Creating a MUD with Evennia

In part 1 of the hackathon I participated in at work, I set up the GPT4-x-Alpaca LLM with Oobabooga in an AWS EC2 instance. Next up in my hackathon journey was an attempt to make the LLM do something useful and fun. I’ve been casually interested in creating a Multi-User Dungeon or MUD for short. So for part 2 of the hackathon, I dug into the documentation for Evennia, a Python-based MUD game engine.

Read more →

Hackathon: Building a Dungeon Crawler with Godot

Hackathon: Building a Dungeon Crawler with Godot

Earlier this year, there was finally an opportunity for another hackathon at work and this time I decided to try to build a game in a week. I’ve been working a bit with Godot, the open-source game engine that’s been growing in popularity recently. My experience has been that it’s fantastic for the 2D games that I usually fiddle with and it is also more than capable of handling 3D gamedev. For this project, I was aiming for the following:

Read more →

Hackathon: Training a Blackjack AI

Hackathon: Training a Blackjack AI

When I attended AWS re:Invent at the end of 2019, I attended a workshop for using machine learning via Amazon SageMaker to teach an AI how to play blackjack. Seeing as re:Invent was held in Vegas, I decided to take the spirit of Vegas home with me and create my own text-based blackjack game in Go. I added a simple interface so it would be easy to create different AI opponents. I had another hackathon coming up at work and I thought it would be cool to try and train a model to play a better game of blackjack using SageMaker. This would be different from the workshop I attended in that they were mostly focused on recognizing a card’s rank and suit, whereas I wanted to look at dealer/player hand combinations and retrieve predictions on the outcome of various actions.

Read more →

Tiled in Unity using SuperTiled2Unity

Tiled in Unity using SuperTiled2Unity

My brother and I are in the early stages of development and design for a game we are making together. He’s the genius artist and I’m the programmer guy. Everything in-between we share, including map making. There’s an excellent free tool called Tiled that can be used to make 2D maps. It supports layering, automapping, animations, and even collision boundaries. In short, it’s a fantastic tool for creating 2D maps.

Unity is the game engine we are using. It’s very popular, full featured, has an excellent store for assets/plugins, and, most important of all, it’s free for small developers. We wanted to see if we could use Tiled maps in our Unity project and I was completely willing to write a script to load an exported Tiled map into our project. Turns out, there is already a fantastic free tool (you can make a donation to support the author) for doing just this. SuperTiled2Unity is a plugin for Unity that allows you to just drag and drop your Tiled map file and textures into the project assets folder and they get automagically imported.

Read more →

Hackathon: Conway’s Game of Life

Hackathon: Conway's Game of Life

Recently, I had the pleasure of participating in an internal hackathon at work. They gave us two days to create whatever we wanted with whatever group of coworkers. There were no specific guidelines on what the project had to be or what technologies it needed to use, so I decided to go solo and recreate Conway’s Game of Life in Go. I’ve been fascinated with the Game of Life ever since I first heard of it several years back. It’s an exercise in cellular automation that works by simultaneously updating a grid of cells that are either alive or dead according to four rules:

Read more →