Releases: njunius/Puppitor
v1.4.0
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
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
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
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
v1.0.1
v1.0.0
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
, andanimation_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