Posts


Riemannian Geometry and Hollow Knight Room Rando

Hollow Knight is a popular metroidvania game that features a vast and interconnected world full of secrets and challenges. Some players enjoy adding more variety and difficulty to their exploration by using mods that randomize the items and locations in the game, a popular concept among many similar games. One such mod is the Randomizer 4, which allows players to choose different options for randomizing items, charms, skills, enemies, bosses, and even room transitions. However, one of the most challenging modes of this mod is the “room rando”, which randomizes every door and transition in the game. This mode can create complex and non-intuitive paths that do not follow traditional Euclidean geometry. Instead, they follow more a Riemannian geometry, which is a branch of differential geometry that studies curved spaces where angles and distances vary from point to point. In this article, I will present a piece of software I made that helps map out the game when using the room rando mode. This software can help players keep track of their progress, find new areas, and avoid getting lost or stuck in loops.

Socks: Classes

Classes are the foundation of the engine, allowing for easy object creation and instantiation. With the project, even though I do use more of a procedural programming approach, classes and objects are key for abstracting away and simplifying the develpment process. The entire class file is quite simple, using the power of Lua metatables to streamline the process for the programmer.

LÖVE2D Game Engine: Socks

Since the last game jam, I realised how long it took for me to make something so simple. I thought to myself, wouldn’t it be nice if I made my own engine, so I can create my own shortcuts, and create a system that works with my workflow? Well, that’s exactly what I have begun doing, and it’s slowly taking great shape. At the moment, this is a completely personal project and is not a state to be open source yet.

Randis

At the beginning of 2020, before the event that shall not be named, I started to work on using Discord’s API to create a bot in some servers I had. My initial goal was to make some sort of AI that would chime into conversations, and be able to respond in a way that was relevant to the conversation. My frist thought was to implement some sort of text based neural network trained on some select server chat logs. And so began the journey to create the first (as far as I know) Discord neural network chatbot.

Site MVP

After about 3 months since I started making this website, I finally reached a MVP, and can take the “Website Under Construction” banner away from the homepage. I decided to challenge myself, and write everything from scratch, besides using base Jekyll without a theme, and Bulma for the css frontend. Usually when I start a project like that, I end up scrapping it because I am a perfectionist and things quickly fall out of scope. However, this is the one project I can say I am proud of and actually finished.

It's a Circle

This year I finally did it, I decided to take part in a game jam! This was the first one I ever have done, and was excited to push myself. This post is just going to go into my development and thought process.

DonD: Emulating the Banker

As I was busy doing college stuffs, trying to earn my Computer Science degree, a lot has changed with my family since I was gone. One such thing is my dad’s fascination with the gameshow Deal or no Deal. I decided to humor him and watch a couple episodes with him. In the middle of me wanting to pull my hair out from the poor decisions the contestants made, I wondered what I would do if I was on the game show.

Soon

Over the next few weeks, this site is going to go through a multitude of changes. I want to be able to use this space as a tech blog through my multitude of projects, and talk about the many problems and solutions I face. I would frequently come across peculiar solutions that I do not find anywhere else, and think posting and explaining these would be beneficial to me, and any passer-by that may have the same niche problem.