Diary Entries — Threads of Fate by Richard

Saturday 31 January, 2009

[richard @ 23:13 ] I got a lot done, but it's not finished

Sadly I got sidetracked by other things and couldn't put the final polish on the game before the deadline. A lot of the user interface has seen significant improvements. The AI is much better. The code internally is much nicer in many places.

This final release moves forward in a few areas: the AI is again improved and there's the very nice new user action interface which mostly just uses left-mouse clicks (the action menu is only needed in rare situations).

Unfortunately I also changed the way the tile mapping is done in preparation of using a new tile set ... which didn't end up making it into the game. I'd still like to put a new tile-set in.

Thursday 22 January, 2009

[richard @ 00:02 ] Small update

I've not forgotten about this project ;)

I've been hard at work cleaning up another project: Bruce, the Presentation Tool.

I am holding off releasing the final pyggy version of Threads because I really want to re-do all the tile art. I'm not sure I'll actually get that done, but I'm hopeful. We'll see...

Saturday 27 December, 2008

[richard @ 02:19 ] New release soon...

I've still been working on the game. I've added the much-requested simple command control. When you hover over an enemy a potential attack type is highlighted over them (eg. sword, bow or energy bolt). If you left-click at this point your character will attempt that attack. Speeds things up considerably.

Tuesday 25 November, 2008

[richard @ 02:18 ] More improvements

Download here: threads-of-fate-2.2.zip. The list of changes since 2.1 follows.
Note: the game still hasn't been tested beyond the first dungeon following all these changes :)

  • Add command-line ability to grant party XP and coin.
  • Add some testing of combat outcomes. This includes some balancing and tweaking of the combat algorithms.
  • Add zooming of display using scroll wheel.
  • Add drag-grabbing to scroll map around.
  • Add grab-hand feedback in generic UI.
  • Visually indicate when an attack misses.
  • Characters now informed when an attack on them misses.
  • Spells are able to alter difficulty based on circumstance.
  • NPCs now communicate and use their memory of PC locations.
  • Optimisations in NPC path generation.
  • Use GL_NEAREST when scaling up weapon sprites.
  • Fix menu styling across board, including scaling.
  • Fix bug introduced into assigning experience.
  • Fix broken bashing action.
  • Fix save/load of abilities.
  • Some additional code cleanup removing out-of-date dags.

Monday 17 November, 2008

[richard @ 03:04 ] First post-PyWeek public release

Download here: threads-of-fate-2.1.zip. The complete list of changes follows. The big stuff is bolded.
Note: the game hasn't been tested beyond the first dungeon following all these changes :)

  • Add in light mapping - currently characters have the only light sources.
  • Use lighting in attack chance calculations.
  • Fix display sorting of player info background image.
  • Line Of Sight remembers an "obscurity" amount used in combat and lighting.
  • Fix Line Of Sight in certain cases (around corners, through walls).
  • Better feedback during battle displaying amount of damage dealt/received (or healed).
  • Scaling of interface fonts to fit smaller/larger screens.
  • Fixed the visual offset sometimes seen when rendering attack animations.
  • Add clicking of character in map to activate.
  • Add a simple first-run help message when entering the tactical game.
  • Fix blocking check for adjacent actions.
  • Allow diagonal movement and adjacent actions.
  • Add green box highlighting currently-active character.
  • Clean up the cobble tiles a little.
  • Lots of graphical glitches removed.
  • NPC turn feedback.
  • NPC brains sped up considerably.
  • Make NPCs remember what they were doing at a basic level (ie. who they were attacking and where the target was) so they don't get lost along the way.
  • Some game balancing with the NPCs so they're not such a walkover now.
  • Better NPC turn handling so their animations play completely, giving the player better feedback.
  • Added initial code to detect off-screen NPCs. Not used.
  • Grant all characters some basic level of brawling skill.
  • Add character abilities including the first one - Super Strike.
  • Added character traits - first one is LowLightVision (not actually granted yet).
  • Add a whole new (generic) user interface implementation:
    • Includes vertical / horizontal layouts
    • Labels and Buttons (both with text and/or image)
    • Text Input (including focusing)
    • Styling controls, including "skinning"
    • Drag-n-drop support
    • Has some tests
    • UI elements may be animated using Cocos actions (color, position, etc.)
    • Re-implemented all game user interfaces to use the new code.
  • New font for inventory and shopping screens.
  • New font for title menu.
  • Add in better command-line option handling.
  • Refactor out the music player to a single point to detect ability and also command-line --nomusic override.
  • Add command-line control over fullscreen / window sizing.
  • Fix resource snafu with finding save game files.
  • Allow immediate selection of arbitrary levels from command-line for testing.
  • Fixed a bunch of other bugs.
Lots more to do :)

Tuesday 11 November, 2008

[richard @ 05:18 ] Nicer lighting

Added some code to smooth out the lighting. Nicer now :)

[richard @ 01:21 ] Development continues (part 3)

Still hacking away. Took a bit of a break for a while there but am back into it now.
Stuff I've achieved:

  • Added a new nice font to the inventory/shopping screens.
  • Sped up NPC code considerably and made them plan a little.
  • Fixed some bugs in the Line Of Sight code (seeing through walls).
  • Return more information from Line Of Sight test (obscurity, distance).
  • Added some initial code to detect visible off-screen NPCs.
    • Some more UI code work:
    • Added text input widget, including concept of focus.
    • Pass all details of mouse click to on_click handlers.
    • Worked on styling, including fixing the rect rendering.
    • Added some more tests.
  • Added character abilities, including the first one "Super Strike".
  • Added light mapping (needs optimisation).