Developers' Diary


Paraplu: Text

Thursday, April 24th, 2008

I just transplanted what’s probably the most complicated class in all of Soft Landing, “Interface”, into Paraplu. Along the way I chopped off a ton of messy code that I’m planning on rewriting. This is the class that draws all of our text boxes, menus, health bars, and so on. It’s not gorgeous, but it’s […]

Paraplu: Editor

Friday, April 11th, 2008

I just finished much of the work on the improved Paraplu level editor. It’s a mode you can enter when you start the game, in which the character is replaced by a translucent square cursor. There are buttons for cycling through the various batches of tiles we have, each with 9 tiles in it. Then […]

Paraplu: Collision

Wednesday, April 9th, 2008

Well, Jules and I decided that pixel-level collision is not really going to be necessary. We’re just going to have a kind of rectangular collision mask for each entity and each obstacle, and test against those. Given the tiled nature of the maps, this should work fine. It took about ten or fifteen minutes to […]

Paraplu: Enemies

Monday, April 7th, 2008

So Paraplu is already at the point where we can have enemies running around the map. I got them in the game today, and have them chasing the player with very simplistic behaviors. There’s a terribly primitive collision detector in there, checking whether they’re running into any solid objects, but it’s bad in that it […]


Tuesday, February 12th, 2008

- Tied trust score into what used to be “shields”. Now your capacity for damage, your firepower, and your overall affinity with your support pilot are all represented by one number. – Removed offscreen death effect, leaving your ship on screen when you get hit. – Made ship go really slow when it gets hit. […]

This Morning

Monday, February 11th, 2008

I successfully woke up early, and I like to think it’s partially because I set the Ar tonelico 2 theme as my alarm. I came in, played AT2, and once I was sufficiently inspired, did some work on SL. * Fixed up the player’s speech bubble so the Laurent portrait doesn’t slide around disconcertingly as […]

Soft Landing for Windows, thanks to PyInstaller

Wednesday, July 25th, 2007

As we approach the demo (like Achilles approaches a turtle…) and as we have a new Windows-based audio guy on board, it has become pretty important that we get a standalone version of Soft Landing working on Windows. See, for Jules and me, Soft Landing requires Python, Pygame, PyObjC or Numpy, and PyOpenGL, each at […]


Monday, July 23rd, 2007

Today I dropped Aaron’s noises into the game for the first time. There have been several clues that Aaron is the right guy to make the audio for our game: The very day that Jules asked him about helping on the project, he put together an awesome SL-specific stage music. The next day, without prompting, […]

Fet vs. Windows, round II

Thursday, July 19th, 2007

Well, I don’t know exactly what did it, but for some reason, Soft Landing is running fine on Windows for me now. Once I got it working, I found a weird bug: the guys’ animation frames were all jumbled up, causing enemies to spasm around comically instead of menacingly and smoothly deploying their weapons. I […]

Fet vs. Windows, round I

Thursday, July 19th, 2007

I have now spent three evenings trying to get Soft Landing working on Windows. I know it works, because Jules runs it all the time. I installed XP on my MacBook, set up Subversion, downloaded Python and Pygame and PyOpenGL, checked out Soft Landing… But the game keeps crashing with weird errors, like claiming that […]


Tuesday, June 5th, 2007

I set up the text rendering system, used mainly in the visual-novel segment of the game, to pause longer when printing certain punctuation marks than when printing ordinary letters. So if there is an ellipsis in the middle of someone’s line, or they are listing several items separated by commas, a bit of rhythm makes […]

Animate Me

Thursday, April 19th, 2007

I just wrote some insane mathy code for doing complicated warmup, firing, and cooldown animations for enemies. We needed the ability to force an arbitrary frame based on when the enemy was supposed to be firing. Jules drew a ton of madly detailed little animation frames for a particular enemy, so I felt that I […]

A Softer Landing

Thursday, April 19th, 2007

We have a new title screen, replacing the one we’ve had for years now. I really liked the old handwritten logo, the one you see at the top of this blog, but maybe we can still use that somewhere. We’ve made so much progress with the little details that have been on our list forever: […]


Wednesday, June 21st, 2006

As I’ve mentioned before, SL’s level editor is not a specialized tool; it’s [OmniGraffle]( Rather than implement every feature ourselves, we’re taking advantage of software that’s had years to develop those features. We just build the level as a graffle file, then a special Python script translates that into our level format. I think truly […]


Thursday, April 27th, 2006

There has been a trend in the development of this game: 1. I encounter a problem. 2. It becomes obvious that there are two ways of solving the problem: quickly and messily, or cleanly and with more effort. 3. I solve the problem the easy way. 4. Time passes. 5. It becomes clear that I […]

Vertical Parallax

Tuesday, October 18th, 2005

I just worked for about three hours to arrive at the following line of Python: oneGuy.positionCorner([ oneGuy.screenOrigin[0] – (oneGuy.screenOrigin[0] – (oneGuy.origin[0] – theGame.scrollX)) * oneGuy.z , oneGuy.screenOrigin[1] – (oneGuy.screenOrigin[1] – (oneGuy.origin[1] – theGame.scrollY)) * oneGuy.z ]) This is the heart of the new scrolling system, which makes on-screen scenery position itself much more precisely, and […]


Wednesday, July 27th, 2005

Hi. The game looks pretty good right now. Today we made a list of all the things that need to be done before we can release a demo. It’s a long list, but everything on it is possible. Our goal now is to shrink the list down to nothing, release that demo, and finally let […]


Friday, June 10th, 2005

We put together two different implementations of beam weapons today, and the second one worked out surprisingly well. We now have lovely lasers that fire straight across the screen instantly but terminate when they hit something.

Taking Control

Wednesday, June 8th, 2005

I just played Soft Landing with a PlayStation 2 controller!! :D


Wednesday, June 8th, 2005

The particle system is now more flexible: we can have flat polygons or texture-mapped rects. Even when texture-mapped we can tint them and have the color and opacity fade across the lifetime of the particle. I started exploring the PlayStation-to-USB adapter that Forever-Zero gave me; by this time tomorrow I should be playing Soft Landing […]