Programming:Current tasks

From Post-Apocalyptic RPG wiki

Jump to: navigation, search

Current tasks.png This article is a list of current tasks!

Current tasks articles contain a list of tasks that the developers of a specific department are currently looking into or working on. Please add yourself in alphabetic order if you're contributing in the specific department. These lists are meant as an easy way to let the other developers of the team know who's currently working on what. Inactive developers should move their current tasks to their user talk pages while they're taking a break from the project.

Welcome to the current tasks of the programming department!



The following contributions are slated for Techdemo3.

Dialog editor

  • Write an item model class that wraps Dialog Objects to be shared between the various views
  • Open existing dialog files
  • Save existing/new dialog files
  • Integrate epydoc documentation

Source View

  • Basic syntax and error highlighting
  • Basic auto-complete functionality
  • Link highlighted keywords to documentation

Table View

  • Create an item delegate to allow for items to be color-coded when appropriate
  • Create a tree view to be used in the side pane

Diagram View

The implications surrounding the complexity of not only using but programming such a view have prompted me to reevaluate whether or not it should actually be implemented. As such, it will not be until after the table and source views are created that I revisit the implementation details of the diagram view

New configuration API

  • Load form multiple INI formatted config file
  • Infer the python object type when loading from said config file
  • Develop backwards-compatibility layer for API until migration is complete
  • Allow configuration file to be written to/created
  • Patch current code to work with new API

Build System (Trac Ticket #275)

TODO: Write a proper proposal for this

  • consult with other contributors/developers and agree upon a new scheme for the directory structure
  • write a distutils script to accommodate the new structure
  • test script on Linux, Mac OS X, and Windows
  • <de>create a new configuration module to that removes hard-coded configuration paths</del>


Graphics-Related Scripts

  • XML Definitions Generator
    • Auto-generator (Point and click)
    • API (e.g. Generate just for that action of an agent)
    • GUI Wrapper



Character Stats Prototype (Trac Ticket #306)

  • Look over Character_generation_and_stats and prototype some data structures used to represent primary and secondary character statistics;
  • Prototype a modified character class to which character statistics can be attached;
  • Look over Skill_tree_system and prototype a general data structure used to represent skills;
  • Adjust the modified character class and primary/secondary stats data structures to accommodate character skills;
  • Document the prototyped code;
  • write tests for the prototyped code;

Character Stats Scripting System (Trac Ticket #307)

  • Agree upon a suitable serialization format (e.g. XML, YAML, JSON) XML chosen;
  • Prototype a parser/serializer for reading the character stats scripts;
  • Prototype a scripting subsystem used to attach the character stats from the deserialized scripts;
  • Document the prototyped code;
  • Write tests for the prototyped code;


  • Look over/reorganize the Programming Department wiki
    • Write tutorial for making and applying SVN patches using Eclipse SVN clients;
    • Flesh out guidelines for making and accepting patches (checklist?);
    • Look over Category:Code reference and determine if some information is salvageable and should be reorganized (integrate into Epydoc?);
    • Write a tutorial on how to use git-svn with PARPG;
  • Discuss and write up a proposal for standards defining when to raise exceptions and how to handle them, including a standardized error logging system;
Personal tools