Developers' Diary

'Code'

Performants

Monday, July 26th, 2010

As it turns out, OpenGL loves to check for errors after every call. This makes you spend about double the time in OpenGL every frame. We were going kinda crazy trying to figure out what the problem was; I assumed it was my fairly elaborate collision detection. But running the Python profiler exposed the truth, […]

Dungwall

Tuesday, April 13th, 2010

This weekend gone, Fet and I managed to carve out a few precious hours to actually work on Paraplu together in the same room. The progress was substantial. Most of the work we do on Paraplu is conceptual – either I’m making tiles outside of a level, or Fet is tweaking or introducing a new […]

Objectives

Monday, November 30th, 2009

Until today, the only way to finish a level was to kill all of the enemies in it. Of course, with our new infinitely enemy-spewing doorway thingys, there would have to be another way. I set up an objectives system that allows us to define any number of different conditions for beating a level. In […]

mortalGuys

Saturday, November 28th, 2009

Hi! Tonight I implemented a bunch of stuff to add flexibility to our map objects. When an object is added to the map, it checks a dictionary of dictionaries of dictionaries to find out if it should have any special attributes. One of the possible attributes is an “initStep”, which is the name of a […]

Damage

Wednesday, August 19th, 2009

Today I worked on the hit points system for the main character, and the damage and dying mechanisms that that implies. Now the character has a hit point total, can be hurt by enemies and their projectiles, and dies when reaching 0 hp. Pretty basic stuff, but it was taken out for the sake of […]

Equipment

Tuesday, August 18th, 2009

Over the past couple of days, I’ve done a lot of work on the equipment system. It was harder than I expected, but now you can equip various types of items that determine how your attack works. This is the core of the “algorithmic shooter” concept we originally devised together. In Paraplu, your attack is […]

Mirror Match

Wednesday, August 12th, 2009

I have got the mirror system working, basically. This is how you equip weapons, accessories, and costumes. It was remarkably difficult to make a system that simply opens up a menu, then opens up another menu based on the item you chose. Those old NES RPGs full of nested menus must be a lot more […]

Cabinet vs. Wardrobe

Tuesday, June 2nd, 2009

Not a whole lot of work today, but I’m trying to keep some momentum going. I added a wardrobe object (with awful programmer art, of course) to accompany the cabinet object in the atelier. Now, different types of items are stored in the different containers: materials in the cabinet, and costumes in the wardrobe. We’ll […]

K Groove

Sunday, May 31st, 2009

I had a nice time coding in the little food court at Whole Foods today. – After several hours of work, taught our most basic enemy how to avoid obstacles. This is way harder than it seems, and I had to write in a bunch of psychedelic drawing effects to visualize what what happening in […]

A Groove

Saturday, May 30th, 2009

I was determined to get into a Paraplu groove today, because it was the first time in a couple of months that I had a significant chunk of free time to myself. After getting energized by some bass-playing, coffee, pinball, and Ar tonelico music, I sat down to plow through some coding and planning tasks. […]

Item icons in text boxes!

Thursday, April 23rd, 2009

This was surprisingly difficult to keep from clashing with our line-break-insertion system, because item names can contain spaces. But now, like in so many classic games, we can insert item icons into our boxes, inline with the text! This will work for any Interface object, whether it’s a menu, a dialog box, or a speech […]

Maths

Tuesday, April 21st, 2009

My work was canceled this afternoon so that people could go outside and enjoy the first really nice day in Seattle this year, but I only got as far as the lobby. I made an iced soy latte and got to work on improving the main character’s movement in Paraplu. The protagonist (or “Ship”, as […]

Optimization

Wednesday, April 15th, 2009

Well, today I did some serious drawing engine improvement. We now have a new type of Guy called Scenery, which has a strictly limited functionality consisting of sitting there and doing nothing at all. At the moment they can’t even animate, be transparent, or have a tint. We could add those functions in later if […]

1D Inventory

Thursday, April 9th, 2009

Goodness, has it really been 8 months since I posted? We have been very busy with real-life stuff, but the Momo Pax spirit continues. For a while I was working on implementing a 2-dimensional inventory grid like in Diablo, but it turned out to be pretty prohibitively complex. In the *getting something done* spirit that […]

Paraplu: Ordered Layers!

Monday, August 11th, 2008

Whoa, I just completed the ordered layer drawing system. Before, all Guys on a particular layer were drawn in whatever dang order the game pleased. This was fine in Soft Landing, because it had a purely side-on view and it was unlikely to matter which of any given pair of peers on a layer draws […]

Paraplu: Sequential dialog boxes

Sunday, August 3rd, 2008

It was surprisingly tricky to create a system for a series of dialog boxes that appear one after another. Soft Landing’s novel part is based on conversation scripts for doing just that, but in Paraplu’s running-around-shooting-stuff engine, we didn’t really have any way of doing it. Now the game keeps track not just of whether […]

Paraplu: Items

Thursday, July 31st, 2008

Julian and I both love items. One of the aims of Paraplu is to be delightfully item-rich. You should be excited to discover and collect items, admire their cute little icons, read their descriptions, and carefully consider how you’re going to budget them to craft other items. Yesterday I started in on the item system: […]

Event Queue

Monday, June 23rd, 2008

My friend Nathaniel was just watching me code, and he suggested using the event queue to process input instead of polling for every type of input every frame. To be honest I don’t exactly understand how the event queue is any faster than polling (like, at some level there must be some logic checking every […]

Chipping away at level editor

Saturday, June 21st, 2008

I’ve been implementing a level editor feature or two each day. Now we have a little display on screen that tells your current tile coordinates, which paves the way for our status display of health, items collected, and so on. There’s also a neat little blinky cursor that shows exactly where your tile will land […]

Paraplu: Layered Editing

Monday, May 19th, 2008

So Paraplu’s level editor has so far only supported changing the map layer of a level. But there are two other layers in each level: objects and “entities” (meaning enemies or townsfolk). It was surprisingly difficult to adapt the level editor to work on these other layers, because each layer was kind of a special […]