Liam Wynn

This is my site. Here, I make neato projects and blog posts.

Blog

Projects

Resume

Home

These are some of the projects I’ve worked on over the past few months. While there are more on my github page, these are my most important ones. To see the rest of my work, go here

raycore

A simple, ray casting based, pseudo-3d game engine. It can handle both indoor and outdoor scenes, including textured floors, ceilings, and walls. In addition, it supports sprite rendering so environments can have props and other objects in them.

In addition to rendering environments, there is an entity system that allows game logic to be included in levels. Now you can actually do things in the game, instead of just walking around.

Finally, I wrote a simple file loader specifically for raycore. This allows you to load levels from an external file without having to recompile the entire project.

For the source code, go here

Figure Figure


An Engine of Ice and Fire

An Engine of Ice and Fire (AEOIAF) is a near fully-functioning tile based 2D top down game engine written in C++. It features an rich actor system, a game state manager, basic texture rendering, AI, and a working weapon system. I developed it over the course of about two years.

Click here to get it.

Figure


Texture Generator

Texture Generator is a machine learning experiment that creates texture images using the variational autoencoder model. Essentially, I give the model a series of images of the kinds of textures I want, and then it will use those to build new samples from normally distrubted noise. The kinds of textures it produces are 64 x 64 pixel grayscale bitmaps.

Click here to get it.

Figure Figure Figure


alexander

alexander is a on-going experiment in realtime AI simulations using flock/boid behaviors, flow fields, and continuum crowds. I want to simulate environments with large groups of agents moving around. This is created with the help of the Unity Engine, so collisions between agents work seamlessly. The best description is a neat little video:

Watch the video (Click to watch video)

Click here to get it.

Multi-User Painting Program

My Multi-User Painting program (informally called MUP) is a simple web application, and experiment in software deployment. Basically, multiple users can connect to the app and work on a shared canvas to paint. The application uses an Express server with Socket.io to do real time networking.

It also uses Docker so you can run the application in a container. This allows you to deploy it in almost any environment with very little overhead. I also was able to deploy it on an AWS EC2 microserver. This is a great exercise in modern software engineering.

Click here to get it.

Blazonry Parser

The Blazonry Parser is an experiment in language theory and functional programming. Essentially, the user supplies a formal description of a blazon of arms, and the system will verify that the description is valid. We are able to do this because blazons actually have a formal grammar that dictate their structure. Although the official grammar is much more in depth, the principle still applies.

Further, the grammar I use describes a regular language. In fact, the number of strings the grammar accepts is six. Thus, this program could easily done with an if-statement. However, I used a recursive function to practice iteration in a functional paradigm.

Click here to get it.

Home