Early planning

Development of our card database & card dev. tool. Used as the Gatherer & to empower the community to create new cards. Lead dev: Knitter
Locked
User avatar
Ravenchild
developer
Posts: 131
Joined: Sat Sep 04, 2010 19:21
Location: Germany

Early planning

Post by Ravenchild » Sun Sep 05, 2010 18:22

snowdrop wrote: Maybe we should just whip up a webbased database of our own for the cards, one that also keeps tracks of revisions etc? I'm thinking along the lines of PHP + MySQL and also keeping it open source. It would look something like the MtG Gatherer but better. Would you be up for the task? Shouldn't take long to create I think... and the beauty is that it could easily "export"/generate the data into any file format we wanted it, so that it could even create patches for LackeyCCG / OCTGN2 etc if you wanted it to.
I'm working on it. It has been a while since I last coded PHP, but my memory does not fail me :smile:
Besides, are there any other programming languages available on this server? For the moment PHP+MySQL ist fine, but I appreciate to have more possibilities when I comes to different problems.
User avatar
snowdrop
developer
Posts: 794
Joined: Mon Feb 01, 2010 15:25
Location: Sweden
Contact:

Re: Trunk

Post by snowdrop » Mon Sep 06, 2010 19:35

Ravenchild wrote:
snowdrop wrote: Maybe we should just whip up a webbased database of our own for the cards, one that also keeps tracks of revisions etc? I'm thinking along the lines of PHP + MySQL and also keeping it open source. It would look something like the MtG Gatherer but better. Would you be up for the task? Shouldn't take long to create I think... and the beauty is that it could easily "export"/generate the data into any file format we wanted it, so that it could even create patches for LackeyCCG / OCTGN2 etc if you wanted it to.
I'm working on it. It has been a while since I last coded PHP, but my memory does not fail me :smile:
Besides, are there any other programming languages available on this server? For the moment PHP+MySQL ist fine, but I appreciate to have more possibilities when I comes to different problems.
Nice. :)

What features do you have in mind? I have some in my head, maybe I should put them in here as suggestions?

The webserver only supports mysql & php, however, if needed I'll change. I do think however that it should suffice for most things, and them being open source is really also a great plus.
User avatar
Ravenchild
developer
Posts: 131
Joined: Sat Sep 04, 2010 19:21
Location: Germany

Re: Trunk

Post by Ravenchild » Mon Sep 06, 2010 20:41

My current plan is to implement the following:

- card search
- card creation
- card revision (with keeping and linking to the old card)
- login (so you find your own cards again), not required for visitors.
- discussion thread for each card
- different states for cards: draft, discussed, accepted and banned.

Is there something more you would like to include that's absolutely fundamental?

PHP should be indeed be okay for most things. I just wanted to know if there are more possibilities.
User avatar
snowdrop
developer
Posts: 794
Joined: Mon Feb 01, 2010 15:25
Location: Sweden
Contact:

Re: Trunk

Post by snowdrop » Tue Sep 07, 2010 18:42

Ravenchild wrote:My current plan is to implement the following:

- card search
Please make the result (actually, almost everything that has to do with the script) have the relevant variables outputted in the URL itself. Using PHP $_GET Function? That way people can bookmark the URL and instantly reach that specific searchresult, and in the same manner they will be able to bookmark cards, certain revisions of them etc, without having to go through the web interface time and time again if they already have done so once.

- card creation
Nice.

Since you'll release it using GPL2 or later (if that's fine with you - I would prefer it, but in the end you decide yourself.) there could be a point in making it more general/customizable by writing an interface that allows the admins to use the script for virtually any CCG. To do that they would have to edit/add/name fields that are associated with a card. That would be very cool, but, it's not necessary in any way for our use within WT. It would however make the script future and game revision proof. Do as you wish =)

- card revision (with keeping and linking to the old card)
Excellent. Use a simple integer numbering system for the revisions.

Also keep track of the name of who did the revision, date etc when it was done. Maybe also even add a field where the revisor can add some info on why the revision was made and what happened. (I.e. "Card was too cheap compared to x y, thus I made it 1 gold more expensive".)

Lastly, if the card image has changed in the later revisions, showing an old revision of the card should also display it's old associated card image.
- login (so you find your own cards again), not required for visitors.
Hash + configurable salt passwords.

I think all users should be able to do a search for cards created by author x, or for cards rejected (not same as banned - a banned card has been in play but banned later, a rejected card never made it into playtesting even.)


- discussion thread for each card
Sounds cool. Q: What's best - to have one thread for each rev. of the card, or one single thread per card? Maybe actually having one single thread, and then pressing "see only discussion made while on revision x" would show only posts made while a specific rev was around?

Hrm, tricky. You decide. However, maybe we should use re-captcha for anonymous posters? *sees bots crapping all over*

- different states for cards: draft, discussed, accepted and banned.
Add: rejected, playtested

Btw, what's the diff between draft & discussed? When would discussed be used? (Maybe gives the wrong impression here given there's a discussion thread associated with each card. Rename? ; )

Is there something more you would like to include that's absolutely fundamental?
I think a powerful card search is important, so one can really mix all kinds of criteria and use IS or IS NOT combos etc. After all, that's a database main function - to store and find/show the info to the user. So, whatever is in the gatherer should be in ours as well I think. At least that.

Beyond that I think you had the basics covered pretty solid. I envision a way for players to actually build decks online and have them associated with their profile etc, and also an easy way to rate, discuss decks, keep track of revisions of them and so on, and even some kind of breakdown of decks (so called deck analysis, in the MtG world that would be info like 23 lands, 10 creatures, mana curve etc etc)

Also, maybe by pressing a button the players would easily be able to export the decks to deck-text files that can be loaded into i.e. LackeyCGG / OCTGN2 etc. Would also be cool with various top x lists over decks, and stats of most used cards in decks etc.

That is however all beyond the original scope here, and should also have lower priority than the card db itself. That said, it seems natural to add stuff like that once the db is in place, and take it from there.

Oh, while at it: It would be nice if there is a card category called "public suggestion" or somehing. It is just like "draft", but, anyone that is registered (not only admins/mods) can actually suggest a card. Also, there would be a way for anyone registered to actually cast a vote on the card from 1 to 5. That way top lists over the most popular suggestions etc can be generated. :)

PHP should be indeed be okay for most things. I just wanted to know if there are more possibilities.
If needed, I'll get any server you want as long as it's not über-expensive ;) and it's called for.
Locked