This site works best with javascript enabled.

Loxx: Implementing Bob Nystrom's Lox in C++14

Last autumn I discovered Crafting Interpreters, a book by Bob Nystrom that gives readers a comprehensive guide to writing interpreters for a toy programming language, Lox. To me the world of compilers and interpreters has always been a total mystery. Okay, so I know what a syntax tree is, and I've occassionally even been brave enough to look at the assembly output for a program I've written. Also doesn't parsing need to happen at some point? Anyway, I was pretty intrigued, so in I dived.

Bob's book is divided into two parts. The first details how ... Read more

Posted by Matt Spraggs at 22:24, 29 May 2018

Edited at 21:49, 22 October 2018

Labels: C++; Compilers

LEGO and Arduino: This Is the Droid You're Looking For

Like any self-respecting geek, as soon as I heard about the Arduino, I wanted one. Admittedly I was pretty late to the party, way past what could pass for fashionably late, as I only found out about it a year and a half ago. But anyway, no sooner had I heard about it than I was adding an Arduino Uno to my basket and checking out on Amazon.

I diligently worked my way through the first few projects in the book that came with the Uno, which provides a nice and gentle introduction to electronic circuits. Inevitably I started dreaming ... Read more

Posted by Matt Spraggs at 21:15, 8 June 2015

Edited at 13:12, 14 February 2017

Labels: C++; Web Development; HTML; Arduino

Global Game Jam 2015 (Part II)

Click here for part I.

Much of Saturday was spent laying down the game code. I worked on some of the game backend, creating an object-orientated interface to the game world and levels. The world would be split into several rooms, and each room would contain a series of blocks, some of which the player could interact with. Inspired by Spelunky, we decided to store our level layouts in ASCII files to simplify level editing.

At 6pm on Saturday a mini-showcase was held. This was supposed to be an intermediate deadline to work towards to try and get something playable ... Read more

Posted by Matt Spraggs at 23:01, 7 February 2015

Edited at 08:13, 19 March 2015

Labels: C++; Gaming; SDL; Global Game Jam

Global Game Jam 2015 (Part I)

It's 10pm on Friday night and I'm sat in the computer lab in ECS at the University of Southampton. My mind is racing, full of what needs to be done and what I have to do; it's hard not to feel a little overwhelmed. No, this isn't some desperate slog in the last chance saloon to make a university assignment deadline. Earlier this year I signed up to take part in the Global Game Jam 2015.

I'd never written a computer game before, and the opportunity to get stuck in and work with others to ... Read more

Posted by Matt Spraggs at 00:27, 31 January 2015

Edited at 08:12, 19 March 2015

Labels: C++; Gaming; SDL