OpenGL CoffeePot CAD models

OpenGL Coffee Pot Update

Making coffee in OpenGL.

Posted 12-11-2021

I love simple 3D models and coffee, so I decided to create an interactive 3D coffee pot using OpenGL 3. Here's a quick video showing me testing the movement and placement of my 3D models:

A grid of Atari Breakout replica games against a black background.

ML Breakout Training Update

Making progress as we train our neural network.

Posted 11-27-2021

As the school term comes to an end, our Senior Capstone group is working hard to finish our project. We've built our Breakout replica game and trained our ML agent to play it, and now we have a neural network model that can run the game's AI opponent.

Here's a short video showing our reinforcement learning training process is action:

A list of some of the JetBrains IDE products.

JetBrains Is Cool

Taking advantage of IDEs.

Posted 11-11-2021

Building new habits and learning new tools can be really hard and overwhelming, but I've finally forced myself to start taking full advantage of the JetBrains tools I have access to as a student, and I wish I had done this a long time ago.

I've also been taking advantage of JetBrain's docs and tutorials, and I'm finding them super helpful, so I thought I'd share a couple here.

Colorful retro artwork for the Atari Super Breakout video game

Atari Breakout Retro Game Art

Video Computer System™ Game Program™ Video Games

Posted 11-11-2021

Cover art for Atari Breakout and Super Breakout, c. 1976, 1978.

A chart of colors used by the Piet programming language.

Piet, Esoteric Programming Language

Coding with blocks of color.

Posted 11-04-2021

Today I learned about the esoteric programming language Piet, designed by David Morgan-Mar, aka Dangermouse.

Morgan-Mar's website includes Piet's succinct Design Principles, which read: "Program code will be in the form of abstract art" [source]. The language is named after the abstract painter, Piet Mondrian.

A grid of red and green squares with smaller shapes within them against a black background.

Unity ML-Agents — Part III: Training

How to train your gamer bot.

Posted 10-21-2021

This blog post is the third in a series covering getting started with the ML-Agents Unity toolkit. I am following Code Monkey's YouTube tutorial, and these posts roughly follow that video. The ML-Agents GitHub repository also includes example projects and code to help you get started:

3D layers of colorful pink cubes against a black background.


Pretty cubes in pink.

Posted 10-13-2021

In my spare time I've been playing around with MagicaVoxel. Today I was experimenting with using modulo operations to stagger the cells of a model over multiple layers. I originally thought this would be useful for exporting .obj models that could then be imported elsewhere as independent cells. It wasn't! But it was still fun playing with numbers and colorful cubes.

Screenshot of creating a new project from the Unity Hub application.

Unity ML-Agents — Part II: Getting Started

Brand new baby AI agent.

Posted 10-13-2021

This blog post is the second in a series covering getting started with the ML-Agents Unity toolkit. I am following Code Monkey's YouTube tutorial, and these posts roughly follow that video.

For steps on how to set up ML-Agents and resource links, check out my Part I post.

A screenshot of the The Unity ML-Agents toolkit package info in the Unity Package Manager.

Unity ML-Agents — Part I: Set-up

Installation and environment set-up.

Posted 10-07-2021

This blog post will be the first of several as I get started with ML-Agents, a Unity toolkit for adding deep learning technology to your game dev projects. I am following Code Monkey's YouTube tutorial, and these posts will roughly follow that video, with added notes for anything extra I ran into along the way.

The Git and Unity logos.

Resources for using Git with Unity

Making Git and Unity work together ok.

Posted 09-28-2021

I've recently started learning Unity, which has been a ton of fun. I've been following some online guides and tutorials, and I started building a small game as a personal project. I've been enjoying it a lot, and I decided I was interested in building a game as part of the OSU Senior Capstone project. I found a team who in also interested in game dev, and I'm excited to learn some new skills!