RETURN TO VARUNRAMESH.NET

Varun Ramesh's Blog

Archive     Feed

Thermomorph Postmortem

Wednesday, August 22nd 2018


Over the past three months, I created and released three horror games - Proctor, Thermomorph, and Arthur’s Nightmare, the latter of which recently went viral. This post is a postmortem for Thermomorph, the second of those games.


Proctor Postmortem

Sunday, July 1st 2018


Over the past three months, I created and released three horror games - Proctor, Thermomorph, and Arthur’s Nightmare, the latter of which recently went viral. This post is a postmortem for Proctor, the first of those games.


Loop, Autoplay, Muted - Say Goodbye to Animated GIFs

Tuesday, April 17th 2018


Animated GIFs are awesome for showing off projects. Unfortunately, GIFs have significant limitations. For one, they only support 256 colors per frame. This means that some color information is lost, resulting in that classic 90s webpage aesthetic. Futhermore, GIFs are big - they are losslessly compressed. This GIF below of Mario Kart from one of my AI projects is almost 10 MB!

Animated GIF, 15 FPS, 9.4 MB


The Boehm GC Feels Like Cheating

Thursday, March 15th 2018


A while ago, I worked on a simple interpreted Lisp, primarily as a way for me to understand the philosphy and ideas behind Lisp languages.

However, I ran into a problem when trying to integrate garbage collection. Because I didn’t plan garbage collection from the beginning, I shot myself in the foot, due to the fact that I had pointers to Lisp objects (expr*) all over the C stack.


No More Primitives - What Python and Java Get Wrong

Wednesday, March 14th 2018


Many languages such as Java distinguish between primitives and objects. Primitives are stored directly on the stack, and don’t have any callable methods. Objects have callable methods and fields, and are typically allocated on the heap with only a pointer stored on the stack.