Is Tk a given? It is ok, but doesn't (last time I checked) run natively on a Mac. Wx works well on Macs, windows and Linux. I'm not sure about other options, but there has been lots of talk around here about choosing a GUI library. Whatever GUI you decide on, make sure you are not tightly coupled to it. You may learn to hate your choice. If your design relies on it, you will be stuck with it.

When designing your data structures, I would pick at least two very different games (GURPs vs 1st Edition AD&D) as test cases. If the abstractions can handle very different systems easily, then you know you are on the right track.

For data persistence, look at DBD::SQLite and DBM::Deep. YAML::XS is very nice for quick storage and retrieval of data structures.

If you decide to go OOP with your software, you will either want to drink to Kool-Aid and use Moose, or use classical perl hash-based objects. Pick one. In any case, if you choose OOP, remember that 9 out of 10 times composition is a better strategy than inheritance.

This sounds like a big project. Break it into tiny pieces with usable deliverables. That way you can start benefiting from it quickly, and you will stay interested. Plus you will be more likely to get others interested as well.

From the start, plan on using something like PAR::Packer to make bundled executables for the Perl challenged. You will increase your chances of getting users.

Most important: have fun.


TGI says moo


In reply to Re: RFC: RPG ;-) by TGI
in thread RFC: RPG ;-) by pobocks

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.