PGU 0.12.3

August 16, 2009

I’ve posted another PGU release (v0.12.3) which includes some long-time-coming bug fixes and code cleanup. The idea is for me to eventually use it in Fallen Spire for the various menus, and possibly the in-game GUI. You can download the release from the project page:

http://code.google.com/p/pgu/

The next release will likely focus on more code cleanup. The code includes some functionality that is now standard in pygame (eg sprites). My first step will be to rework the examples, then remove the obsolete code.


A naga something or other

July 30, 2009

Here’s a model I’ve been working on for a while now. I’m very pleased with how it turned out, though I think it’s going to be a pain to animate. I’m trying to stay away from the typical RPG bestiary, so lets say this “naga” was once a mere snake, possessed by a spirit and twisted into a crude imitation of a human form. (why not? the game takes place in the land of the dead anyways)

naga


Some items of interest

July 15, 2009

Here’s a sample of a few item models I’ve worked out so far:

items


A quest to save the world, and collect stuff

July 15, 2009

I’ve gone back and forth on how to handle the game inventory, what kinds of items will be collected, what significance they will hold, etc. At first I was thinking along the lines of “standard RPG fair” in which the character finds and equips various pieces of inventory (clothing, accessories, weapons). This implied an equipment management system along with a means of representing what is equipped. This could be as simple as putting items into named slots (head, body, legs, etc) or as advanced as a “paper doll” style system (see Ultima VII and the like). Of course, the fun in finding and equiping inventory (for me at least) is seeing the change in your character’s appearance (Diablo II did a nice job). A paper doll system I could probably pull off, but an endless variety of character appearances is beyond my skill and/or time right now.

So I’ve decided to simplify things, and put more of an emphasis on collecting and using items. Of course, in accordance with “standard rpg fair”, defeated enemies will occasionally drop items, and some will be found in treasure chests. However, some will be discovered by completing non-obvious puzzles, others will be found by hunting around the screen for a clickable, interactive piece of scenery (eg a loose brick in the wall, or a movable painting). Some items will be decorative (treasure), others will be practical (eg boosting stats). The effects of items will not always be spelt out, but a short descriptive history of the item will provide some clues.

I like the idea of a changable appearance, so maybe I’ll work in a small number of “suits” for the main character to keep things interesting (perhaps enabled as part of the narrative, or by finding and using a particular item).


Standard RPG fair

June 11, 2009

So I’ve decided to move away from bottles, amulets and other magical tokens as a way of representing the player’s stats. The problem is that I plan on having other, similarly shaped objects on the shelf (the blank space at the bottom of the screen) to show what the player is carrying. I want a logical separation between the player’s status and the player’s inventory, and was afraid that similar styles – or ‘kinds’ I guess – would confuse that distinction. Hence me using the rather standard RPG element floating-portrait-with-stat-bars-underneath.

screenshot7

Two stat bars – one for magical defense (aka health) and one for stamina. It looks fine enough for now – I’ll get to tweaking it later. Right now I’m more interesting in the inventory system (aka shelf).


Another bottle

May 28, 2009

Here’s another bottle design. I’ll probably use something like this for the player’s stamina. I like the simple design, but I’m not too keen about the jewel on the top though.

bottle

Quick update with an alternate bottle design:

bottle2


Progress is progress

May 27, 2009

Here’s another screenshot showing the progress so far. I’ve tweaked the graphics a bit, added a neato lightning spell effect, amoungst other things. I’m slowing making progress towards a usable demo, but there’s still much to be done.

screenshot6

The combat system is still un-implemented, so that wraith apparently being hit by a neato lightning bolt isn’t really in any trouble. The bottle in the left-hand corner is your protective talisman while in the underworld. The liquid inside is kind of like your health meter – it is reduced when you are attacked, and fills when you are healed. When it drops to zero, your character dies.

I may add another bottle, next to the magic bottle, to represent the character’s stamina. I’m also playing with the idea of drawing a little symbol showing how your character feels (yawning, slumped shoulders, etc). The rest of the space along the bottom (the shelf) will be used for spell slots and inventory items.


Player FSM

May 8, 2009

So I’ve spent a bit of time redesigning the player character class to more resemble a finite state machine. The original implementation was OK, but involved a lot of hacks that broke the FSM paradigm. Now all player control logic is found in one class called CharMachine (extending a general-purpose StateMachine class), which manipulates the player object (Character class). Each state defines three functions (with the aid of a nice decorator function):

  1. start – called when the FSM enters the state
  2. check – called to determine what state (if any) the FSM should transition to
  3. end – called when the FSM leaves the state (this function is optional)

Below is a graph showing the various character states, and the transitions between them. I’ll probably take the same approach when coding the enemy AI.

player-fsm(click on the image for a larger view)


New look

April 24, 2009

It’s been a while since my last post. I got some cool gifts for my birthday (a wiimote of my PC and a ybox2 microcontroller) which have been distracting my attentions somewhat. But I have been making incremental progress with the game. Checkout the latest screenshot:

screenshot5

The overall color palette still needs some tweaking but so far I’m happy with the results. Now I’m laying the groundwork for the spell and combat system. Something along the lines of point-and-click spell casting with some puzzle solving thrown in. More on that later…


pygapp available for download

March 29, 2009

I’ve spent some time cleaning up the code to my Blender-PyGame converter program (now called pygapp). I’ve also worked up a simple example you can try out, or modify and use in your own project. Download the zip from my google code page:

http://fallenspire.googlecode.com/files/pygapp-0.1.zip