First post-PyWeek public release
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.
(log in to comment)
Comments
Thanks, fixed.
pymike on
2008/11/17 20:02:
Looks good, gui needs more to it though; Like text gets bigger or something.I get this error when bash attacking someone:
Traceback (most recent call last): File "run_game.py", line 9, in main.main() File "/home/michael/Desktop/threads-of-fate-2.1/gamelib/main.py", line 53, in main director.run(cocos.scene.Scene(MainMenu("Threads of Fate"))) File "/home/michael/Desktop/threads-of-fate-2.1/cocos/director.py", line 296, in run event_loop.run() File "/home/michael/Desktop/threads-of-fate-2.1/pyglet/app/xlib.py", line 83, in run window.dispatch_platform_event(e) File "/home/michael/Desktop/threads-of-fate-2.1/pyglet/window/xlib/__init__.py", line 1169, in dispatch_platform_event event_handler(e) File "/home/michael/Desktop/threads-of-fate-2.1/pyglet/window/xlib/__init__.py", line 1425, in _event_button x, y, button, modifiers) File "/home/michael/Desktop/threads-of-fate-2.1/pyglet/window/__init__.py", line 1217, in dispatch_event EventDispatcher.dispatch_event(self, *args) File "/home/michael/Desktop/threads-of-fate-2.1/pyglet/event.py", line 343, in dispatch_event self._raise_dispatch_exception(event_type, args, handler) File "/home/michael/Desktop/threads-of-fate-2.1/pyglet/event.py", line 340, in dispatch_event if handler(*args): File "/home/michael/Desktop/threads-of-fate-2.1/gamelib/popup_menu.py", line 106, in on_mouse_press self.on_close(selected_option) File "/home/michael/Desktop/threads-of-fate-2.1/gamelib/level.py", line 926, in on_close o.do() File "/home/michael/Desktop/threads-of-fate-2.1/gamelib/actions.py", line 187, in do self.animate(self.do_hit, callback) File "/home/michael/Desktop/threads-of-fate-2.1/gamelib/actions.py", line 193, in animate callback() TypeError: 'NoneType' object is not callable AL lib: ALc.c:1253: exit() 1 device(s) and 1 context(s) NOT deleted AL lib: alSource.c:2291: alcDestroyContext(): 1 Source(s) NOT deleted AL lib: alBuffer.c:1097: exit() 16 Buffer(s) NOT deletedKeep up the good work :-)