As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/
Options

How to best build this website

ReznikReznik Registered User regular
All right, so basically I am helping set up an online text-based roleplaying game and the system we are using now is really tedious to update.

So I want to build a site that can automate some of the process for us.

It would need to:
- allow for registration of accounts
- each account would have a character sheet tied to it
- when registering the account/character, the site should check the inputted data to make sure it conforms with the game system (stat requirements meet the limits for a particular class, for example)
- have some sort of GM update sceen so they can add quest rewards and etc. to the character sheets
- give the player the option to level up only when their character meets the appropriate xp requirement, and then give the player the chance to boost the stats appropriately
- have a shop system. so the GMs can add items to the shops database easily, and then registered players can purchase the items

...I thiiink that's about it for the basics. There are some more advanced features I would like, but I figure if I can make what I outlined above then I should be able to figure out the other stuff.

Now. What should I be using to build this? PHP/MySQL? or is there a better way?

Do... Re.... Mi... Ti... La...
Do... Re... Mi... So... Fa.... Do... Re.... Do...
Forget it...

Posts

  • Options
    DelzhandDelzhand Hard to miss. Registered User regular
    edited August 2013
    Those are pretty specific requirements, which means you're definitely going to have some custom work involved. I'd build it as a suite of modules for Drupal, and it'd probably take a week or so.

    But the nice thing is that Drupal gives you things like content management and a user registration/login system right out of the box. It also has roles, so it's trivial to make some players GMs and give them access to things like shop editing.

    It might be fun (and a bit leaner code-wise) to try building this as a Symfony2 project, actually, which I've been meaning to pick up since Drupal 8 is going to be using Symfony.

    Edit: Do you have any experience programming for web already?

    Delzhand on
  • Options
    ReznikReznik Registered User regular
    I haven't touched web stuff in a few years. Past HTML/CSS, I did do some dabbling in PHP/MySQL, well enough to tinker with other peoples' code but not enough to build anything overly complicated from scratch. I also did a bit of ActionScript/JavaScript in college but I haven't really touched it since then.

    I'll definitely give Drupal a look. I haven't had a chance to play with it before, so it should be interesting.

    Do... Re.... Mi... Ti... La...
    Do... Re... Mi... So... Fa.... Do... Re.... Do...
    Forget it...
  • Options
    DelzhandDelzhand Hard to miss. Registered User regular
    Here's a general outline of how I'd approach it

    Account Registration - available out of the box

    Character Sheets - You've got a lot of options here, users are fieldable entities so you can probably do a character sheet as user fields, but if you want people to be able to have multiple characters ever, you'll probably want something more robust, like making a Character Sheet content type, but then you'll need some more advanced content permissions so people can only edit their own sheets.

    Game system - this would be a custom validation function for character sheets. I'd definitely look into a module called Clientside Validation for this.

    GM Update Screen - this is a big variable that depends on your game system. Again, this might require some custom access rights, so a GM can only update character sheets for their campaigns.

    Level Up - this is probably the most interesting bit. Leveling up would probably be a custom form that stores data separately from the content sheet. Maybe a custom entity? You could then use a hook to modify the display of the content sheet to include the modifications. That way you'd always have full character history.

    Shop System - I'd probably build shops and shop items both as content types, and each shop item would have an entity reference to the shop. Shops would be attached either to GMs or to campaigns, or maybe even be global depending on your game rules/setting/etc.

    Really, if you're not familiar with Drupal, the hard part is just knowing what hooks to implement where, what can be built with the UI and what's better off as custom code, and what functionality can be obtained from existing modules. I'd be happy to answer any questions!

  • Options
    FeralFeral MEMETICHARIZARD interior crocodile alligator ⇔ ǝɹʇɐǝɥʇ ǝᴉʌoɯ ʇǝloɹʌǝɥɔ ɐ ǝʌᴉɹp ᴉRegistered User regular
    I'm a Drupal fan, so I'm biased, but I would totes use Drupal for this.

    That said, it's not going to be plug and play. You'll need to take some time to get Drupal correctly installed, configured, and modded. You'll almost certainly need to do some template customization. This will require some PHP/CSS/HTML work, but significantly less than building a system from scratch.

    There is a Drupal Way to do things, and it can be daunting for new users. But once it clicks, it really clicks, and you can do a lot of really powerful stuff with it fairly swiftly.

    every person who doesn't like an acquired taste always seems to think everyone who likes it is faking it. it should be an official fallacy.

    the "no true scotch man" fallacy.
  • Options
    ReznikReznik Registered User regular
    All right. I've got Drupal downloaded, so I'll tinker with it when I've got some downtime at work. I will probably have a ton of questions! But now I've got a good outline to work with. So thanks for the help!

    I'll keep this updated as I progress with the project.

    Do... Re.... Mi... Ti... La...
    Do... Re... Mi... So... Fa.... Do... Re.... Do...
    Forget it...
  • Options
    amateurhouramateurhour One day I'll be professionalhour The woods somewhere in TennesseeRegistered User regular
    Is this just a MUD? Have you looked at any old MUD templates lying around on the web that could be customized?

    are YOU on the beer list?
  • Options
    cmsamocmsamo Registered User regular
    Call me crazy but I think you could maybe do this for free/cheap with a simple Wordpress site, with one of the various custom form "addons" that are available. Design your custom registration form, apply the validation rules. Set user/editor permissions so that users can edit their attribute fields (for levelling up) and the GM (ie super user) can edit other fields... It might be possible to throw something together in fairly short order. Wordpress would have the added benefit that you could post game updates as web posts.

    steam_sig.png
  • Options
    nexuscrawlernexuscrawler Registered User regular
    not to mention with Drupal there's a module that you can use database info to build pdfs in real time. You could use Webforms to make your character sheets and hit a button and make a nice printable PDF

Sign In or Register to comment.