Updating mapgen2

Back in 2010 when I wrote a procedural map generator based on Voronoi polygons instead of Perlin noise, the goal was to produce volcanic islands with a variety of monsters. I had started with Perlin-based height maps but got too much variety in the maps. I decided to use Perlin noise for deciding land vs water, but use other algorithms for everything else. I wanted the players to start on the beach and walk uphill, meeting other players who started elsewhere on the beach and were also walking uphill. I wanted to always produce islands with mountains in the center, so that the players on any beach would travel the same distance to get to the top. The maps were intentionally unrealistic but they were designed to satisfy the game design constraints. I made a Flash demo to accompany the article.

Labels:

Thinking about writing

I'm looking again at traffic to my site and how I write. A few years ago I realized I had a "ratchet" problem. My first articles were less polished, and I felt good publishing them. When I got better at writing, my newer articles were more polished, but I would hesitate to publish. I didn't want to publish until I got everything just right. And as a result I've been publishing less and less the last few years.

Why didn't I want to publish until I got everything right? I didn't want a traffic spike to occur and for lots of people to see my unpolished page:

Pageviews for my hexagonal grids page

The trouble is that all the metrics shown in the charts make those traffic spikes look very important. But this cumulative sum chart makes those traffic spikes look unimportant:

Cumulative pageviews for my hexagonal grid page

The spikes feel good. HEY I got on reddit! But they don't seem that important in the grand scheme of things. Most of my visitors come from day to day visits, not from the spikes. And that means my trying to make sure everything's polished before I put it up may be unnecessary. A friend of mine says I should treat my pages like wikipedia. The cumulative traffic graph supports that.

A few years ago I gave myself an “out” by having "x" pages that were less polished. They were blog entries. They were “fire and forget” pages that I would publish, unpolished, and not update. It worked. I published a lot more. I really liked publishing every few weeks instead of every few months.

The trouble was that it was too easy of an out. I ended up publishing almost everything as "x" pages the last two years, and I think it took away from my regular pages. In particular, the "x" pages let me get away with not iterating. I didn't update them after I posted. And they didn't get better. And then they got very little traffic.

If my pages are like wikipedia I should be putting up incomplete unpolished pages earlier and then refining them over time.

So this year I want to publish more often but more importantly iterate more after I publish. I can treat the early viewers as beta testers. It's the “launch early” philosophy from startup culture (minimum viable product, etc.). I tell other people to do this but I haven't been practicing what I preached.

Take a look at my Trello page to see the kinds of things I want to work on.

Labels:

What I did in 2017

What did I do in 2017? My plan, from my post a year ago, was:

  1. Help other people make interactive tutorials.
  2. Work on projects that lead to tutorials, instead of starting with the tutorials.

For the first goal:

I'm pretty happy with how that went.

For the second goal:

Although I did work on many small projects, I didn't work on any big projects. I have mixed feelings about this.

Other things:

  • I moved my site to a cheaper, faster web server
  • I converted my site to https, which was quite a bit more complicated than I thought it would be
  • I converted over 500 of my web pages from fixed width layouts to “responsive design”, and wrote an article about how it works ; it was a bit harder for my two column layouts
  • I made incremental improvements to most of my web pages (wording, diagrams, interaction, etc.)
  • I spent way too much time studying the color yellow
  • I made a tool to turn an image into a polygon mesh, originally intended for map generation (you'd paint a map in MS Paint and then turn it into polygons) but more fun as an art tool
  • I occasionally answered questions on stack overflow or reddit with interactive demos like this and this and this
  • I made a creepy procedural animation of a bacterial cell
  • I tracked these things on my trello page

What do I want to do in 2018?

  • I learned a lot from my map experiments this year, and I'd like to produce some useful tutorials and demos from them. Several techniques could be added to the existing map generator.
  • From working with others I was reminded how valuable iteration is. I want to go back to my older tutorials and update them.
  • I want to continue working with game developers on algorithms that could turn into future tutorials.
  • I want to write a tutorial on coordinate systems and cameras. I've tried this before but maybe the third time's the charm?
  • I'd like to write a few more tutorials about writing interactive tutorials.
  • I want to become faster at writing tutorials. Part of this is managing scope but part of it is using better libraries that let me reinvent less each time.