Sabbatical Log: November 25th

This blog series is running about a week behind my actual work, giving me time to clean things up.  The date the actual work was done is in the title, horizontal lines indicate when I stopped writing and started coding.

Time to get to work on stairs.

First step is to actually make the entities and get the exit logic working.


I’ve managed to get all the actual loading parts of stairs working, and have reworked system enabling/disabling so animations can play during any exit transition.

Actually building the stairs animations is rather error prone, at the moment I’ve got the first half of going up stairs working alright. The rest will have to wait for later.

I also need to make some changes to rendering to make sure multi-level entities (like the door frames) render appropriately.


Now all animations for stairs are working.

Some interesting things that had to be solved:

  • Stairs are necessarily wider than the player, so positioning pre- and post-transition isn’t trivial
  • The transition time (that controls the fade in/out) has to be synced to both the player’s animations and their position
  • Player’s have to be nudged out of doors so their first post-transition move doesn’t immediately trigger the stairs again
  • Subsets of the player control and animation systems have to be enabled during a transition

I’m not in love with the code I’ve written, but it will do for now. There’s one more exit type – pits – I want to tackle, but I need a break from fiddling with sprites and animations. I’m going to detour into component reuse / object pools for a bit, and come back to the final exit type.

Continue onto November 26th



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.