Friday, September 16, 2011

From Bear to Phoenix - release 0.0.2

I released v0.0.2 of From Bear to Phoenix about a week ago. It can be downloaded from its SourceForge project page here. These are the changes since v0.0.1:
  • Added Augmenter, who can cast the following Augment spells:
  • Heart of Buffalo,
  • Skin of Bear,
  • Strength of Bear,
  • Strength of Mouse (intended for use on opponents).
  • Can now have multiple allies, fighting against common opponents.
  • Added an initial screen to choose which allies and opponents for a battle.  There are currently no restrictions on how many allies or opponents to choose (OK, actually there's a limit of 9 for each type of being, and starting with 0 allies may crash the game); if your first choice of combatants makes for a battle that's too easy, try again with more opponents and/or less allies.
  • Added Firebugs and Polar Bears, both available as opponents.
  • Shapeshifters can now change into Wolves and Trees as well as Bears.  Wolves are faster and can be sustained longer; Trees regenerate MP quickly.
  • Added summary of current ally (HP and MP) to the map screen.  (This can help clarify which ally is currently active.)
  • Added a character viewer which shows spells available, cast by and cast on, that mage, if the player clicks on the summary of the current ally on the map screen.
  • Added A* pathfinding algorithm, used by opponents to find the shortest path to the allies.  (This algorithm follows the Wikipedia definition closely.)
 Screenshots of this release:

Choosing sides at the start of the game.

Just before first contact with the enemy - Augmenter hanging back, Shapeshifter (in the form of a Bear) braced.

Augmenter character sheet showing available spells, spells cast so far, and spells cast on this mage.  Note that an Augmenter can cast one spell multiple times on different beings.  Augment spells cost MP to maintain as well as cast.

Again, see the original From Bear to Phoenix post for image credits.

It was 5 months from v0.0.1 to v0.0.2, which felt like too long.  I was too ambitious in what I wanted to fit in before releasing; for the next version, I'm scaling back the list of features to include.  I definitely want to include saving and loading games and new monster types (naturally).  And of course a new type of mage, but I haven't yet decided between Lifegiver (healer) or Architect (stone mage).  Anything after that is a bonus.

From Bear to Phoenix is beginning to feel more like a game now.  It's possible to easily experiment with the number and type of good guys and bad guys, which is necessary for balancing, and the potential of the magic system and the variety of spells and mages is starting to become clear.  With the next release, even more pieces will be added to the puzzle.

Sunday, June 12, 2011

From Bear to Phoenix - On cooperation (part 1)

I want "From Bear to Phoenix" to be not just a game about mages, but a game about mages cooperating. Yes, even about synergy - if we can reclaim that word from management-speak.

It occurred to me that one way to do this would be to introduce more character traits for mages, each of which has a positive effect on nearby allies.

Leadership would improve their (the nearby allies') accuracy, and perhaps their rate of magic point recovery. Companionship would add to their strength, and hence damage dealt. Nurturing (or compassion) would improve their regeneration of hit points.

Some mages would have these traits, though not all. Shapeshifters would have high leadership and medium companionship when in human form. Their other forms would have different traits: Wolf would have high companionship, Bear medium nurturing, Tree perhaps high nurturing. Proximas would also have high companionship, Lifegivers would of course have high nurturing, and Augmenters might have medium levels of all three of these traits.

But there's more. There could also be spells to affect these traits: Augmenters could cast spells to improve them, such as "Heart of Wolf" to increase companionship or "Leaves of Tree" to increase nurturing (as well as the hit point and magic point regeneration of the recipient). And Illusions could cast spells to decrease them, or indeed reverse them entirely: despair as the negative of leadership, mistrust or paranoia as the negative of companionship, hostility or hatred as the opposite of nurturing.

This makes the following scenario possible. An Illusion casts "Hostility" on a mage - perhaps a Shapeshifter or a Proxima in hand-to-hand combat with allies of the Illusion. Illusions are invisible, so perhaps the player of the mage doesn't realise at first that any spell has been cast on the mage.

Damaged from combat, the mage retreats to huddle near a Lifegiver: she's currently too busy healing others to attend to him, but he can still benefit from being near her. Which he does, until suddenly the player realises that the Lifegiver has been losing hit points from the poisonous Hostility of the Illusion's spell.

The tradeoff then becomes, sacrifice the Lifegiver's hit points for the other mage's? And during and after the battle, the (magically) Hostile mage is shunned by allied mages until they can find a way to dispel the Hostility ...

Saturday, April 16, 2011

From Bear to Phoenix - release 0.0.1 (Windows extras)

I recently realised that if you downloaded the Windows executable of From Bear To Phoenix, you may also need to download and run another file. That is, you may need to download and run vcredist_x86.exe from here if MSVCR90.dll is missing: note that the SP1 version should not be used.

See the py2exe tutorial section 5.2.2 for full details.

Yes, I used py2exe to create the Windows executable. I've used pyinstaller for creating Windows executable for Ighalsk, but pyinstaller just could not bundle pygame correctly (I'm sure it's possible, but after wasting 2 or 3 calendar days trying, I gave up). There's a great sample script for using py2exe with pygame here, which I customised slightly but largely worked out of the box. I'm deliberately not bundling the data files inside the executable, since I want it to be possible to edit them and then run From Bear to Phoenix using the new data files. All of which will become more interesting when there are multiple allies :)

EDIT: Forgot to mention that From Bear to Phoenix release 0.0.1 is available here. If the Windows executable still doesn't work or is too large and you have Python installed, the source code is also available from here.

Monday, April 4, 2011

From Bear to Phoenix - release 0.0.1

I've just released From Bear to Phoenix v0.0.1! You can download it from here. As the initial release, this version contains a prototype GUI and basic gameplay. Specifically:


  • You can play as a Shapeshifter, who can change into a Bear. Naturally the plan is to add other forms, including Wolf, Tree and of course Phoenix; see my earlier post for more.

  • Shapeshifters have MP as well as HP. (Do I need to explain HP and MP? Doesn't every CRPG have at least HP and most fantasy RPGs have MP?)

  • Spells (including changing to a different form) cost MP each turn to maintain; when the caster's MP is exhausted, all spells are dispelled.

  • The opponents are GULBs (Giant Undead Lady Bug). Again, there will be more added soon.

  • The screen includes a map, a mini-map (showing all allies and opponents) and a status line (showing messages).

  • You can recentre the map.

  • You can left-click for actions (including casting spells, moving and attacking) and right-click for information (current HP and MP).

  • The map has obstacles which block squares and tiles which don't. (Tiles are there to add atmosphere.)

  • Opponents move around obstacles. (So far, the path-finding algorithm is quite primitive; it will need beefing up to cope with lines of obstacles and dead ends.)



Here's a couple of screenshots:

Screenshot of Star Mage Girl
Shapeshifter at the start of the game.

Screenshot of Bear
Bear form, also showing an information window with current HP and MP.

Again, see the original From Bear to Phoenix post for image credits. (I drew the grass/weeds and rocks.)

Where next? The plan is to add the following features for v0.0.2 (unless there's an intermediate release):

  • Augmenter, who can cast spells that enhance or degrade bodies (maybe not minds just yet);

  • Multiple allies fighting together (defending and helping each other);

  • Being able to choose both the allies and the opponents for a battle;

  • Polar Bears and Firebugs available as opponents;

  • Possibly a character viewer that can show some or all of spells available, spells cast by this character, and spells cast on this character;

  • Hopefully more Forms for Shapeshifters, at least Wolf and Tree.



You have not seen anything yet!

Wednesday, January 12, 2011

From Bear to Phoenix - on being a Rock

Balance is vitally important for making "From Bear to Phoenix" tactically challenging. So the cool ideas that I have for spells, or classes of mage, or whatever, ideally would be carefully reviewed and play-tested in case they would unbalance the game. (I guess there's an alternative - "throw them all in together and see what people think" :)

For example, I would like to give a Shapeshifter one or more "emergency" Forms that they could shift into if a battle was going badly. I thought of two such: Tree and Rock. Of these, a Tree would offer rapid regeneration of HP and MP (due to sap and photosynthesis), but would be vulnerable to most attacks, in particular blade and fire. A Rock would also regenerate HP and MP, both somewhat slower (I claim that a Rock is naturally slower than a Tree), and would be highly resistant to most attacks except blunt attacks (possibly also lightning and a few others). Both would probably cost 0 MP to change to; this is part of the nature of emergency Forms, that they can be selected if the Shapeshifter has low MP. Both would not be able to move or attack. Both might also have some Stealth: for example, opponents would still see a Tree, but might not be able to tell that it is a Shapeshifter in the Form of a Tree rather than a natural tree.

The question is, what if the opponents don't have any blunt weapons or attacks? The Shapeshifter could be unbeatable in such a battle: it could attack, change into a Rock when damaged, regenerate while ignoring attacks, change back into an offensive Form when it has regained HP and MP, and repeat as necessary. Trees don't offer the same problem, since they are vulnerable to most attacks (in fact, it might still be risky to turn into a Tree if you don't have allies nearby to cover for you).

There are a few possible solutions that I've come up with so far: having a non-zero MP cost to becoming or remaining a Rock (a cost per turn would make Rocks much less attractive as emergency Forms), or limited or no (MP?) regeneration while in Rock Form (in which case they'd only be useful for prolonging battles, or perhaps stalling while allies regroup).

Maybe the best approach is just to try out possible solutions: to implement Rocks on an "experimental" branch and play-test them to see how unbalancing they really are before integrating them into the trunk. It would be a shame if a Shapeshifter couldn't turn into a Rock at all ...

From Bear to Phoenix - yo

It's been a long time since the last post, I know. Part of that was due to a 7-week holiday with my family around Europe (Germany was great), and part is due to still working on From Bear to Phoenix and not being ready to release yet.

I can say that the game now has a Shapeshifter, who can swap between Human and Bear forms; that she can attack Greater Undead Ladybugs, though they can't yet attack back; and that it has menus.

I can also say that I'm using Pygame, which I've found easy to learn and use (easier than Tkinter, which I used for Ighalsk), as well as YAML which again is much easier than writing my own code to read in data files, and Nose to run unit tests. Oh, and I am reusing Ighalsk, though more the design than the actual code itself (I think only one module has made it across in the entirety).

More to follow.