TextRPG

HomePage: http://1w6.org/programme

Author: Arne Babenhauserheide

Download: https://pypi.python.org/packages/source/T/TextRPG/TextRPG-0.4.8.tar.gz

        Information: http://rpg-1d6.sf.net 


Usage: 
    - ministory_helper.py 
    Test the ministory (a testcase for the textrpg module)
    - textrpg.py 
    Start the internal test story of the textrpg. 

Plans: 
    - Simple to use functions in easy to read scriptfiles in the style of the ministory file. 
    - char.compete(other, skill_name) -> See who wins and by how much. 
    - a basic implementation as minimal api reference for anyrpg plugins.
    - Add the basic scripting function "python_interpreter(startup_data)", which shows an interactive python interpreter with the startup data already entered and interpreted. 


Ideas: 
    - Lazy loading modules, to be able to print stuff at once without having to print before the imports.


Basic design principles for the scripting language: 
    
    - The action is character centered wherever possible and useful. 
       -> char.say(text) instead of dialog(char, text)
    
    - Anything which affects only one character or any interaction between only a few characters which is initiated by one of them gets called from the character via char.action(). 
       -> char.compete_skill(char2, skill_name) instead of competition_skill(char1, char2, skill_name)
    
    - Anything which affects the whole scene, or a whole group of not necessarily interacting characters gets called as basic function via action() or as class in its own right via class.action(). 
       -> save([char1, char2]) instead of char1.save() char2.save()
    
    - The seperate class way should only be chosen, if the class can feel like a character in its own right and needs seperate states which may or may not be persistent over subsequent runs. 
       -> For example AI.choose_the_way(players_answer) or music.action()
    
    - Data should be stored inside the chars wherever possible. If a script gets started with the same character again, the situation should resemble the previous one as much as possible, except where dictated otherwise by the story_helper. 
       -> char.save() instead of 'on quit' store_char_data(char) + 'on start' load_char_data(char)
    
    - Actions should be written as verb_noun or simply verb. 
       -> char.say() and char.compete_skill() instead of char.text() and char.skill_compete()
    
    - In the story function, an action is a parameter of the story. 
       -> story(switch_background_image="bg_image.png")

The code for the TextRPG can be found at U{http://freehg.org/ArneBab/textrpg}



Changes:

textrpg 0.4.8 (2008-10-24)

- FIX: char.say() now uses autoscrolling, too. 

textrpg 0.4.6 (2008-10-23)

- Improved shell output by using sys.stdout.write() instead of print (thanks to AKF).
- German tutorial: Character creation chapter added.
- Added scrolling text (char by char). 

- FIX: textrpg example code now uses story() instead of the low level diag() function to output text. 

textrpg 0.4.4 (2008-09-28)

- Added docstrings to the basic textrpg functions (they were missing after the last large refactoring). 

textrpg 0.4.2 (2008-07-21)

- Added a simple_ story.py (originally written for a german python forum)
- yaml is now distributed with TextRPG. 
- FIX: Textlines were getting joined if the user pressed enter multiple times
in a short time.

textrpg 0.4.1 (2008-07-09)

- Added a branching story, walking through darker woods. 

textrpg 0.4 (2008-07-09)

- FIX: Installed versions didn't find the modules in rpg_lib. 
- Added german tutorial chapter 1 and 2: "telling and testing" and "asking users and distributing stories". 
- Moved the basic modules into the rpg_lib directory. 
- Raise Exception in anyrpg, if some helper function gets used which isn't implemented in the specific module
- Turned all basic functions into wrappers for class methods, so a change of them affects every other basic function. 

textrpg 0.3 (2008-07-07)

- FIX: Answering Yes in battle screen didn't work. 
- Now experience is spent incrementally (one point per step).
- Added char.check_skill(name_of_skill).

textrpg 0.2: 

- FIX: Installation required Changelog.txt which isn't distributed. 

textrpg