Skip to content

Releases: njunius/Puppitor

v1.4.0

06 Apr 05:01
Compare
Choose a tag to compare

This is again a tools focused release. rule_file_validator.py has had its functionality dramatically improved. The utility has a new name: Puppitor Rule File Evaluation Utility (prfeu.py) and much more robust command line argument parsing now using the argparse module. This should make for a much more user friendly interface especially thanks to the new -h option to get explanations of arguments. prfeu.py also has new functionality: the ability to switch between the three search algorithms in the secondary directory. These algorithms are: A* search (selected with 0), greedy search (selected with 1), and Monte Carlo Tree Search (selected with 2). This addition should enable significantly more comprehensive testing and better explainability of AI decision making in relation to Puppitor itself.

f7d0efa - renamed validator file, improved CL argument schema and processing
f72f8eb - better commenting
d6f34de - more command line examples
63cd2d1 - MCTS is selectable in the evaluation utility and fixed path printing errors
fb63591 - MCTS has parity with its visual novel implementation and uses the step value argument
fbfefc6 - Greedy Search is included as an option in the evaluation utility

Full Changelog: v1.3.1...v1.4.0

v1.3.1

02 Oct 20:33
169f90a
Compare
Choose a tag to compare

This is primarily a tools update with some A* updates for more general functionality. rule_file_validator.py has overall more useful functionality attached to it and it will give details of every change to prevailing affect, action, and modifier state. A* now has multiple modes for path reconstruction. The default mode is useful when performance is a concern as it will only make a partial reconstruction of the entire path it fount. Analysis mode can be enabled by setting the analysis optional argument in the call to npc_a_star_think() which will return the fully reconstructed path A* traveled including interstitial states and prevailing affects it ignored. rule_file_validator.py has analysis mode enabled by default.

5336077 - A* path length and frontier size printout reformatted
dae5420 - A* now can be switched between performance and analysis mode with the analysis argument
81899c8 - simpler A* edge cost arguments
fea30b8 - A* does full path reconstruction
d631e1c - additional rule_file_validator.py functionality and better csv printouts
8d77a53 - action_key_map module update function renamed
dcc1b14 - rule_file_validator.py module will now print all changes to affects in the csv file
de10b83 - better documentation of change_default()
0760ddf - action_key_map.py can now change the default action and modifier at runtime
d3a5468 - simplified make_affect_vector() function
a2a3f17 - more examples in README
6165b99 - documented new tools in README
16686bd - lets tools modules display affect information

Full Changelog: v1.2.1...v1.3.1

v1.2.1

15 Feb 01:40
da8dda4
Compare
Choose a tag to compare

Added more secondary modules and updated tools. npc_a_star.py has been added to the secondary source code directory and has enabled two rule file and affect vector testing tools with the creation of a_star_unit_test.py and rule_file_validator.py which live inside of tools along with their shared helper functions in test_helper.py

da8dda4 - updated README to reflect new features
17e5282 - more consistent commenting in tools
52891ad - added rule_file_validator.py
20c0a40 - new tools directory
4e01bd7 - minor unit test update
273a656 - cost and heuristic calculation improvements in A*
540cf88 - unit test update
bbc5577 - unit test update
74cb21f - fixed issue with A* queue size detection
b5759a3 - more useful path construction in A*
6c2adfb - more comments and cleaner heuristic function for A*
e46743a - A* adjacency optimization
2e669c5 - added A* implementation
6142aca - added multiplier and offset functionality to affecter
dd42169 - removed extraneous code in npc_uct.py
dd42169 - simplified affecter functions

Full Changelog: v1.2.0...v1.2.1

v1.2.0

19 Oct 21:41
Compare
Choose a tag to compare

Added functionality to affecter and action_key_map, added MCTS implementation as npc_uct.py, refactored affecter

3015fcb - further simplifications to affecter functions and _update_affect_state() now calls get_prevailing_affect()
133a50b - affecter now uses static methods for everything but update_affect()
b613189 - action_key_map now prints moves and get_moves()
03bfa1f - npc_uct is now part of npc_test.py (renamed from npc_greedy_test.py)
2ce82b2 - npc_uct.py added to README
67a72e1 - added MCTS implementation in npc_uct.py
48c1510 - get_possible_affects() uses a list comprehension now
40a1609 - added evaluate_affect_vector() to affecter
ac6e9b5 - added moves and get_moves() to action_key_map
116a4ae - npc_greedy allocates fewer items per think() cycle
50c24d0 - reduced choose_prevailing_affects() memory allocation

Full Changelog: v1.1.0...v1.2.0

v1.1.0

30 May 01:42
Compare
Choose a tag to compare

Primarily adds weighted random functionality to adjacency lists and an associated function for use within affecter.py

9d421c3 - added weighted random function to affecter.py
e8ef982 - added affect weights to rule files

Full Changelog: v1.0.1...v1.1.0

v1.0.1

06 May 05:40
Compare
Choose a tag to compare

Official release of Puppitor v1.0.1:

f849b1f - get_possible_affects() refactor
2e5ceaa - comment clean up and bug fix
ad2e434 - updated README
2b4c084 - updated README
519d4d2 - local variables added to action_key_map

Full Changelog: v1.0.0...v1.0.1

v1.0.0

03 Feb 22:37
Compare
Choose a tag to compare

Official release of Puppitor 1.0.0:

  • 84ed855 - added MIT license
  • 40c8aa7 - new rule file example made
  • cefbab4 - updated README description of library
  • 7a1da48 - updated README with new directory structure
  • 916e497 - test file works with core functionality updates
  • 1c6d9da- greedy search AI added to optional modules
  • ace0e24 - affecter naming update
  • 0a89320 - removed all modules other than affecter.py, action_key_map.py, and animation_structure.py
  • f395a9e - refactored key map
  • baccf01 - refactored scene parser
  • d9fb15f - core modules updated with new functionality
  • e1e65ce - parsers updated and printout tests added
  • 3453fa4 - user defined stage directions character name
  • 179cbf0 - fixed bug with empty line detection
  • eac5998 - fixed incorrect file name in scene parser test
  • 22e74b7 - affecter uses new method of passing opened files
  • 02b7d15 - added dialogue pause and punctuation rules features
  • ff64b06 - added optional variable frame rate to animation structure
  • 7754403 - added test harness for compatibility tests between Python 2 and 3
  • 1b714fb - key map has cadence functionality
  • 634dfb9 - README disclaimer
  • 89b4df3 - initial addition of Puppitor modules
  • bc169a5 - initial commit

Full Changelog: https://github.com/njunius/Puppitor/commits/v1.0.0