Thumbnail for {{ page.title }}

Articles

Articles are single-page pieces that give a whirlwind tour of a specific topic.

They’re different from series, which go very in-depth, taking many detours.

October 2013

And then there were fewer bugs

Intro

This deals with rock internals, so fasten your seatbelts and expect many weird things along the way. I’m not necessarily proud of the state of the implementation, I’m just rolling with it and trying to improve it gradually rather than throw everything away.

An error out of nowhere

While working on my current game, John Q. Adamant, I was looking to extract a class into another module - this is routine refactoring and shouldn’t be too hard.

rock 0.9.7 + new website

This is going to be a short one.

Basically, since February, both shamanas, fredreichbier and I have putting way too much work into the latest iteration of rock, an ooc compiler written in ooc.

I have the pleasure to announce that version 0.9.7, codename pacino is now out, as you can plainly see on the new website: https://ooc-lang.github.io

You can read the release notes to learn what has changed, but basically expect a lot of fixes, some new APIs, and awesome backtraces.

June 2013

Game Design: The Binding of Isaac

In hours, I have played more of The Binding of Isaac than any other game in my Steam library. Edmund McMillen said he wasn’t expecting it to be a hit, and has since proceeded to be proven thoroughly wrong.

It is kind of a big deal among a certain crowd: as I’m writing this, the second season of the Binding of Isaac Racing League, hosted and commented by Crumps, is in full swing - even though the game was certainly not designed for that!

May 2013

The Choice Ep. 1: Debriefing

To the programmers

It’s too easy! Where’s the documentation for the API? I found an injection vulnerability! Global functions from ‘window’ leak! I tried to attack your server then realized nginx was ignoring me!

Keep struggling, my pretties. The game is not meant for you, but you are good guinea pigs nonetheless. Just because the game involved programming, you found yourself so, so terribly wrong about one thing: that you understood at all what was happening.

Damian Sommer on The Yawhg

Damian Sommer did a casual AMA on Reddit recently, about his upcoming game, The Yawhg. I got to ask him a few questions. Here’s what he had to say.

What brought you out of your usual “let’s make fucked up platformers” style?

“I was just kind of tired of them. There’s still one more platformer I really want to finish, (The Clown Who Wanted Everything), but besides that, I’m just extremely bored of them now.”

The iterative nature of art

“Some people don’t understand the iterative nature of art, design and game design.”

“Instead, they try to reach the final version on the first try and get frustrated when it’s not as good as they thought.”

“Aim for the best you can, but know that you will have to iterate, work on it again. Know that it’ll get better on the next step!”

The best way to learn

“The best way to learn is to just go out and make stuff, collaborate with people who are better than you at different things, and experiment.”

“That’s what I’ve found, at least. Just be around people who are awesome and learn off them. Trade ideas around and try stuff.”

“Everything I do, I’ve learned from friends, collaborators, people I look up to, and personal experiments. Just going out and trying stuff.”

oocdoc, Part 4 — sourcepath

In , We’ve built a nagaqueen-based tool that can parse one ooc file, detect class declarations and print its doc strings. Today, we’re making a bit of infrastructure for our app to support more sizable projects.

Source path and lib folders

Parsing a single file was a nice milestone, but it’s not nearly enough. We want to generate documentation for a whole project at a time: and since we’ll want to cross-link the various bits of documentation we generate, we’ll also need to parse the various dependencies (such as the ooc sdk, and any used library) so that we can resolve argument types and link them properly.