Introduction

I used to dabble in amateur game development, and one of the most interesting bits to me was trying to figure out how to make believable, interesting, and alive worlds.

There’re a whole bunch of interesting resources on trying to render large virtual worlds and procedurally generate them–but while the environments are increasingly high-fidelity and cool, the denizens of those environments aren’t really seeming to get more interesting.

Now, I recognize that there have been some really amazing advances in game NPC AI. There was amazing use of STRIPS planners in F.E.A.R., for example. Left 4 Dead made some amazing strides both in ally NPC AI and also in dynamic story-beat/encounter generation.

Brief thoughts on value systems

- 9 mins read

Introduction

A relatively quick little ramble today, inspired by some pre-game chat while eating early dinner and getting ready for the second half of our Delta Green game from last week. One of my friends had been considering asking a person out in spite of their professed interest in chakras, energies, and that sort of thing. Another friend was in favor of bailing on the idea, I was in favor of giving it a shot, and we had gotten into a conversation about value systems. That’s how I ended up doing this today–and I’ll cheerfully warn you ahead of time that this is going to be a ramble without any intent of making a strong point. I’m also going to use all kinds of examples of varying taste–since we’re talking about ethics–so expect things including: sex, violence, politics, child abuse, and so on.

My first Delta Green session!

- 7 mins read

Introduction

Yay!

Last afternoon/night I ran my first Delta Green campaign. I was the Handler (DG equivalent of a Dungeon Master) and three of my buddies were new DG recruits.

I spent a couple of days prepping mostly from the Need to Know starter booklet and the Agent’s Handbook. I think the former was more condensed and useful for the first game, but I have no doubt that if we get to slide into some of the more advanced mechanics we’ll get good mileage out of the latter.

The People's Web: Towards a Khyber Pass Browser

- 11 mins read

Disclaimer

This is all very much a rough idea. There is no spec here, this is the fuzziest of straw-men. As you read this, please keep that in mind.

I want to next publish a spec and reference implementation for both a client and server, just to give people a taste of what’s possible.

This document is not quite enough to do that, but should be enough to make reading that implementation more sensible.

Travel to D.C.

- 4 mins read

So, it looks like I’ll be heading out to D.C. tomorrow for a bit on company business. Sort of a quarterly/semi-yearly team get together and retreat. I’m usually a fan of retreats, though travel itself I don’t really enjoy much anymore. After RC and some miscellaneous adventures last year I suppose I should change my outlook on that, but I can’t quite bring myself to.

On the plus side, I know folks there and it’s only like 3 hours on the plane. On the minus side, there are a bunch of little things to get done and knowing myself I’m going to have trouble getting to bed tonight.

Making your own Bash toolbelt

- 5 mins read

Introduction

I’ve been doing a bit of work lately setting up a new machine for my job, and in the process making some scripts that can ease the process for later developers. The whole thing is written in Bash. Why might you find yourself wanting such a thing?

  • Bash (or some other shell, probably Bash-compatible) is available nearly everywhere, so your tooling won’t need other tooling to bootstrap it
  • Bash is relatively easy to use for stringing together common operations
  • Having a common helper toolbelt with sub-commands (like you’d see with Heroku toolbelt) can save you a tremendous amount of time
  • Encouraging teammates to build out commands for commons tasks insulates you if the precise details for those tasks change (say, switching from one way of tagging builds to another, etc.)

Downsides to this:

Character Sheet for developers, D&D-style

- 5 mins read

Introduction

One of my hobbies and fun things in life is to play tabletop role-playing games. I thought it might be fun to play with that a bit.

The system I’ve probably spent the most time in is Pathfinder 1st ed., though in college we used to play a whole bunch of Dungeons and Dragons 3 and 3.5 editions. These systems are all basically related, and there are some handy online references.

A ramble on large-scale virtual worlds

- 9 mins read

Introduction

Going back to Active Worlds, I’ve always been really fascinated by online virtual worlds. When WoW was just being released and Everquest and Asheron’s Call were the big Western MMORPGs, some friends and I had kicked around the idea of a post-apocalyptic FPSMMORPG. We burned a lot of cycles on it, learning a good deal of programming and art and game design and so forth, but ultimately never really got a product out.

Little projects for programmers

- 6 mins read

Introduction

I keep a list of little neat projects that I think some programmers might find fun to write for themselves, if not actually use all the time. I figure I’ll list out what they are and give maybe quick blurbs about why I think they’re neat projects and some ideas for how to tackle them. I’ll do a few more write-ups with more stuff from that list from time to time.

S1'19 Return Statement

- 8 mins read

I’ve spent the last several months in the Summer 1 2019 batch at the Recurse Center. The whole trip has been a really interesting and occasionally intense experience, but I don’t regret a moment of it.

What I worked on

My main project, spanning about ten of the twelve weeks of the time at RC, was a 3D rigid physics engine written in Elixir. I got as far as collision detection, and then got stuck for the last couple of weeks on the project on convex polyhedra intersection. I’ve written previously about that, and am planning to keep banging on it in the run-up to Elixirconf this year.