Monday, March 16, 2009

Casting call


You've all seen the lead character, Chris. Debstar, the heckling heroine, is also locked in.


However, the story and all the other roles are still up in the air, and I'm happy to be persuaded in any direction. So, what do you think? I promise to integrate as many stupid ideas as I can.


Bring it!

Sunday, March 8, 2009

The resolution continues!


Refactoring... complete!


But that's not all. Besides improving the health of my code, I've added a bunch of new features. In no particular order, they are:


Moving platforms



Aside from the tile grid, which provides a very simple mechanism for building a level, I can now add arbitrary platforms and obstacles. They can move around, and the player can even wall jump off the side of them.


Friction



Added moving platforms forced me to look closer at my physics engine. In particular, what happens when the player falls straight down onto a platform that is flying past him at a good rate of knots.


The simple answer was that I need to model friction, and I've since applied it to all surfaces in the game. So when the player picks up speed, and jumps onto a block of ice, he will glide halfway across the screen before coming to a stop, whereas he will stop almost instantaneously on any rough surface.


Surface velocity



I was in the area when adding friction to all surfaces, so I took the opportunity to add a surface velocity too. Ryan suggested doing this ages ago, but I shied away from doing it because I was planning to build a very simple game. But the more I add, the more I want to add, and the more my imagination steers my efforts.


I can now add a surface velocity to any surface, and when the player touches that surface their velocity will be influenced by the surface velocity. This will allow me to build conveyor belts and other similar machines.


Multiple tile grids



Whereas previously there was a single tile grid that the player interacted with, an arbitrary number of tile grids can now be added for decoration. Currently, I'm using this to render a simple background, but this will also allow me to render weather effects such as snow and rain later on.


I'm still refining the appearance of the background. I was going to use a photo-realistic background, but was concerned that it might clash too much with the cartoony appearance of the foreground. I quickly browsed the available Paint.NET effects (mental note: check out the PhotoShop ones too), and am experimenting with an oil painting effect. The result is interesting, without distracting from the foreground.






I'd appreciate if you let me know what you think. I've had a couple of positive reviews and one negative so far, and am interested in broader opinions.


Conversations



It isn't fully cooked yet, but the player can now read signs and have conversations with non-playable characters. I have a big list of features to add to this, such as the exchange of items during a conversation and showing different conversations based on context of what the player has and hasn't done in the game, but the foundation is there.






That's all for now. I'll post a video soon.