By Shamus   Jul 11, 2012   0 comments

Before I become a videogame pundit and novelist, I was a programmer for Activeworlds. Sometimes I begin graphics programming projects and write about them here in a language intended for non-coders.

Project Octant

I set out to make a Minecraft-style world so I can experiment with Octree data. Then everything changes halfway through and I end up making something else entirely.

3:Using Qt
4:The Beautiful Noise
5:The Rainbow Collection
8:The Time-Hole
9:Data Structures
12:Fix All The Things
13:Bug Hunt
14:Moving Goalposts

Project Frontier

I decided to make a procedurally generated world larger than World of Warcraft, with differing climates and topographies, that could be endlessly re-created on the spot. I mostly pulled it off.

1:Getting Started
2:Paging Data
3:Adding Variety
4:Dr. Seuss, Geologist
5:Stitching Time
6:Growing Grass
7:Week 3
8:River Raid
10:Week 4
11:Happy Little Trees
12:More Trees
13:Bug Hunt
14:Character Building Exercise
15:An Animated Topic
16:Import Models
17:Devil of a Problem
19:Feature Dump
20:Particle Man

Pixel City

This project was about making a city using nothing but simple cubes and lighting tricks. It's more an experiment in digital fakery than about raw coding challenge.

2:Building Textures
3:Generating Buildings
4:City Planning
7:The Street-Level Trap
8:Optimization Tests
9:Speeding Things Up
10:More Performance
11:Demonstration Video
12:Finishing Touches
13:"Release" of Program and Source
14:Feedback and Assessment
15:Pixel City, Test

Terrain Project

My first programming project on the site. It was a modest effort, aimed at making simple height-mapped terrain. Very simple by today's standards, but a fun project.

1:Terrain, Part 1
2:Terrain, Part 2
3:Terrain, Part 3
4:Terrain, Part 4
5:Terrain, Part 5
6:Terrain, Part 6
7:Terrain, Part 7
8:Terrain, Part 8
9:Terrain, Part 9
10:Terrain, Part 10
11:Source Code

Comments Off on Programming

From the archives:

This blog is powered by Wordpress and uses the High Roller theme by Shamus Young.