It is currently 16 Apr 2024, 14:09
   
Text Size

Creating a DotP Database

Moderator: CCGHQ Admins

Creating a DotP Database

Postby NEMESiS » 14 Mar 2013, 22:56

I wanted to make this thread to further discuss options that are available for creating a card database for the general modding community. The data base would be used for all of us upload and download created cards. If you have ideas and suggestions on how we can accomplish this please feel free to share.
User avatar
NEMESiS
 
Posts: 460
Joined: 03 Jan 2013, 04:02
Location: Pools of Becoming
Has thanked: 70 times
Been thanked: 21 times

Re: Creating a DotP Database

Postby NEMESiS » 14 Mar 2013, 23:05

RiiakShiNal wrote:
NEMESiS wrote:Ok, well i have decent computer that I do not utilize since I built my "rig". I could rebuild it with a clean Operating System and I assume I just need server 2005/2008 right? I "might" be able to acquire that software. Is this good enough or is a different platform more reliable? If this can be made I would like to help if can.
The main requirement for a decent web server is either a static IP or a stable DNS entry. Dynamic DNS can work but is not recommended for web servers running web applications.

As for the OS, virtually any stable operating system can work. Most companies tend to prefer Unix/Linux for their web servers as Unix/Linux can be very stable and requires low resource usage. Many different versions of Linux can be acquired for free. Windows (either server or desktop versions) can work and is recommended for ASP .Net applications (.Net has not yet been fully ported to Linux), though has higher resource usage. The main requirement for setting up a Windows server is installing IIS (comes as an optional component Windows Professional or higher) or Apache (free and open source). If you are a student (.edu e-mail address) then through Microsoft's DreamSpark website you can get Windows Server 2008/2008 R2/2012 for free (as well as many other Microsoft developer products).

Oh it should also be noted that a web server can be a drain on local internet connections depending on how much utilization it gets and how good the internet connection is. So generally speaking it usually is not good to run a site that is expected to get a lot of traffic from your house. Running a small web server that only gets sporadic traffic is generally fine though.
Ok, I can install either Linux or Windows 7 Pro and I can enable IIS so that's cool. On the other hand my internet is not the best, I get 3.51mbp Upload Speed and 26.10mbps download. Is this reasonable? If not what options do we have? Also, I need to know if anyone is even interested in this project since I cannot do it alone. You know more about software then I do so just tell me what are the best option and I can try to install it on the PC. How much HDD space do we need? If the PC is not a good option what is available for server space that we can get or even rent? If the price is reasonable I would rent a server.
User avatar
NEMESiS
 
Posts: 460
Joined: 03 Jan 2013, 04:02
Location: Pools of Becoming
Has thanked: 70 times
Been thanked: 21 times

Re: Creating a DotP Database

Postby RiiakShiNal » 15 Mar 2013, 00:31

The original idea was just to store card text in a database as that will remain pretty consistent because it is based on the actual text on the cards. I agree with this idea as it will likely help not only us in the DotP community but also those in other MtG communities (like Forge, MAGE, and Magarena). If you stick to this original idea then most of the data being sent back and forth is text and fairly light bandwidth wise. Importers could fairly easily be written to pull the text out of already written DotP 2012 and DotP 2013 cards while ignoring the actual code for the cards. People could act as translators and translate abilities and/or flavour text for the cards without knowing anything about how a card is coded. Developers could query the database to pull the current localized text for a card either using a tool or directly from the system via XML generated by the web application. They could then use the text to build their cards using whatever tool is appropriate for the engine they are building the card for (sort of like pulling text from magiccards.info or Gatherer, but easier as the system would be designed exactly for this).

If you want to store the card coding and/or images as well then the bandwidth usage will jump tremendously as will the number of people wanting to use the system if it is implemented properly. I think this could be very difficult to implement properly because each modder has a tendency to code cards differently and the management would probably become more time consuming. You could also say that this was originally attempted by kevlahnota with the Community DLC SVN. If you build the system to hold the actual card coding then if you build it for DotP 2013 as soon as DotP 2014 or whatever the next version will be then you will either need to make changes to the system or build the system to hold multiple versions of the code. Also it would probably limit which communities could make use of the system a bit more. Also if you store images with the cards then you may need to make the system capable of storing multiple different images for the same card. An exmaple would be a token, the image used for each version of DotP may be different (it was definitely different between DotP 2010 and DotP 2013) also the image format used by other engines may also be different or they may store the image in different ways (Full versus Cropped, specific sizes, etc...).

The amount of disk space required will also vary depending on what you store and how the system is built. Just storing text may only take a couple of hundred MB (or more if you build change history into the system), but if you decide to store images as well and multiple versions of code it could easily get up to a few GB or more.

As for the people who will be interested in using the system, if you go with the original idea of just storing card text then most of the users will probably be either developers or translators as they will be about the only people who will care. If you store card coding and/or images then you will also get brand new users who will want to download all of the cards to put into their game (will increase bandwidth required tremendously) or they will want to grab all the images so they can build cards at their leisure.

Whether a home server would be suitable for the system depends on which system you would be building same with the price for a server. If we just want to build the localized text system then my existing server would probably work fine (and it would be easier than trying to teach someone how to setup and run a webserver with a SQL database, not to mention I already have a couple of domain names and can set up all the databases I want). If you want to set up the system to store card images and/or coding then a home server likely wouldn't cut it (transfer times would be slower due to limited bandwidth depending of course on the actual number of users) also server cost to support a system of this capacity would also be higher.

I'm all for creating a system for the localized card text, if it later grows into a system that can store cards/images or even create card templates for multiple engines (DotP, Forge, MAGE, Magarena, etc...) then fine. If this is to be successful I think we should start relatively small then if the system works and people like it then improve it later. If no one will use then system then there is no point in building a very complex system, a simple system can be justified (even if it turns out it is not used) as a project to promote learning programming, for gaining experience, and/or improving your own knowledge.

Edit: Sorry, I had originally intended for this to be a short post, not a wall of text.
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 496 times

Re: Creating a DotP Database

Postby NEMESiS » 15 Mar 2013, 02:54

The hope of my idea was for the DotP community specifically to be able to upload created cards (minus the image) and download them for personal use. It not had occurred to me to simply update the text for everyone's use, I figured that is what thefiremind was sort of trying to accomplish and that is another fine idea. Both ideas would be fine but I would rather first stick to my initial point. The logistical issue would be, like you mentioned, that some of us have different ways of coding cards and the fact that functions sometimes get stored on separate files which would need to be referenced. My thinking behind this is that while we all create our cards we seem to be a little disconnected as to what we as group have accomplished. the best we can do right now is download all the mods or simply ask and see if someone replies back with an answer.

This could also be beneficial If a modder can create a card that another person needs but then that person notices that that card has an issue then they can just go back and update it for the next person to use. It would also make deck building a lot more easy for new modders as they can just use the database to search for cards and add them instantly rather then having to battle making duplicate cards. I personally have a open WAD of every DLC I have found and do a search for a card before attempting to make it and this has helped me tons, even for finding cards that may have similar functions to what I am attempting to make. As you mentioned, a separate databases would need to be created for dotp14 but I think having the system in place now (or at least tested) for the new release would be immense, that way we don't all waste our collective time making the same card any number of different times on different mods.

With that said, what do you think would be the most appropriate approach to get something like this implemented? So an actual server would be more practical?
User avatar
NEMESiS
 
Posts: 460
Joined: 03 Jan 2013, 04:02
Location: Pools of Becoming
Has thanked: 70 times
Been thanked: 21 times

Re: Creating a DotP Database

Postby RiiakShiNal » 15 Mar 2013, 03:50

If you design the system minus the images then a home server could still work because bandwidth usage would be lower (text is small and if you can find an extension that will allow it you can set pages to be gzip'd automatically) than if you included images. From how you are describing it now it is becoming more of a repository and bug tracking system, which is still possible to make, rather than a data management system. It could still be problematic with distribution of the created cards as you will need to keep a separate table for function files (LOLs) and allow creators to link them to cards. Not to mention the issues that could arise if say modder A finds a card on the system and decides to use it in their mod (7634) so they download it, modder B reports an error with the card which modder C fixes, then modder B downloads the card to put in their mod (3201), end-user D downloads both mods. So which version of the card gets used by the game? More than likely the bugged card in mod 7634 will be used rather than the corrected card in mod 3201 due to the way the game prioritizes files from mods. An SVN system like the Community DLC could solve that problem by having end-users download a "nightly compiled wad" which would contain all cards and having modders only release deck wads with no cards in them and they all depend on the SVN wad which would contain all cards. Though this would in essence require that all modders upload their cards directly to the SVN and not put them in their own wads.

Trying to create a system that will solve all the problems is likely not possible. So you should decide what problems specifically the system should address and which problems that the system will have to live with. Which set of problems are acceptable to keep around and which ones you want to solve will ultimately determine which direction you should head in when designing and building the system. Designing a system is about trade-offs: will a user trade this freedom for that feature, will I trade system security for greater system flexibility, etc....

Some example problems to think about and make a decision on:
  • Do you limit card downloads to simply a compiled DLC of all submitted cards (attempt to eliminate "version hell")?
  • Do you allow single cards to be downloaded (allows "version hell", but also allows developers and users to only grab the cards they want)?
  • Do you trust users (allows for anyone to upload cards, but also potentially allows for database poisoning)?
  • Do you require users create accounts that have to be verified to upload/update cards (possibly prevents poisoning if users are verified properly, but could prevent some users from using the system)?
  • Do you track changes to function files/cards (sacrifice user anonymity)?
  • Do you require users to have an account to report bugs (allows user to be notified when bug is fixed, but again sacrifices anonymity)?
  • Do you link cards to the user that uploads them (allows for user to be contacted when bugs are submitted, but essentially marks that user as the card owner/maintainer)?
  • Do you allow people to track cards such as being notified if a card is updated (requires user account which sacrifices anonymity)?
  • How will you handle duplicate cards?
    • Reject duplicates (may dissuade some users, or the existing one contains a bug and the new one would be bug free)?
    • Allow for storing of multiple versions (which version is more correct and the extra complexity to manage them)?
    • Overwrite existing (what if the existing was bug free and the new one contains a bug)?
    • Require comparison by a person to see which version is more appropriate before deciding what to do (increased system complexity and requires a human to intervene before the system can report a decision to the user, increases time between card submitted and when it will be available)?

All those questions and then some will probably need to be decided before anyone starts building the system. Everyone will have their own opinions on which problems should be addressed and which they can live with. Also you should know problems will crop up during development which may require adjustments and/or compromises which will alter the design some.

If you can't tell I've had to design systems before and it is not necessarily an easy task. I have yet to see a design that was so perfect that it went all the way through development without changing some. So don't think a design needs to be perfect before you start working on it, but the design should answer most of the questions you can come up with (regardless of whether it solves them or lives with them).
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 496 times

Re: Creating a DotP Database

Postby NEMESiS » 15 Mar 2013, 13:42

I completely understand your point about having to sacrifice one option for another. I have been pondering the ability to just do the SVN system that you had mentioned and the more I think of it there is no way that we do not have to include the images. While downloading a core WAD weekly (I think nightly would be a bit excessive) how do we account for which images the end-users utilize? It is possible that 3 different user decide to use 3 different images for the same card. What kind of issues could this create? I am over thinking this? Because I think we would need to supply the image. Also, another option would be something like what thefiremind is doing here:

viewtopic.php?f=102&t=7426

If a card has issues it can be added to a core fix WAD that could be centralized for most mods that are participating in this "repository and bug tracking system." I am thinking that a Core wad might get too massive (if we have to include images) to have to download it frequently. As far as the other questions that you brought up I am going to need multiple answers from other modders on that as this is not for my own convenience but for the community as a whole. I will still answer your points with my own opinions:

  • Do you limit card downloads to simply a compiled DLC of all submitted cards (attempt to eliminate "version hell")?
  • Do you allow single cards to be downloaded (allows "version hell", but also allows developers and users to only grab the cards they want)?
  • Do you trust users (allows for anyone to upload cards, but also potentially allows for database poisoning)?
  • Do you require users create accounts that have to be verified to upload/update cards (possibly prevents poisoning if users are verified properly, but could prevent some users from using the system)?
  • Do you track changes to function files/cards (sacrifice user anonymity)?
  • Do you require users to have an account to report bugs (allows user to be notified when bug is fixed, but again sacrifices anonymity)?
  • Do you link cards to the user that uploads them (allows for user to be contacted when bugs are submitted, but essentially marks that user as the card owner/maintainer)?
  • Do you allow people to track cards such as being notified if a card is updated (requires user account which sacrifices anonymity)?
  • How will you handle duplicate cards?
    • Reject duplicates (may dissuade some users, or the existing one contains a bug and the new one would be bug free)?
    • Allow for storing of multiple versions (which version is more correct and the extra complexity to manage them)?
    • Overwrite existing (what if the existing was bug free and the new one contains a bug)?
    • Require comparison by a person to see which version is more appropriate before deciding what to do (increased system complexity and requires a human to intervene before the system can report a decision to the user, increases time between card submitted and when it will be available)?
At the end of the day I want this to be as simple and as convenient of a process as possible for all of us to use, if this turns out to not be the case then this project won’t work. If downloading a SVN can become too massive or inconvenient then I think version hell would be more appropriate and we can then have a Core Fix Wad as separate download to fix individual card issues. I would also be preferable to have accounts for users that want to upload data but not for those that want to download it (or read only permissions). As for the bug reporting we can have a thread where users can submit their complaints and then we can implement then separately. As far as duplicate submissions, well part of the point of this is to not have us all waste our time making the same card twice. Duplicates will have to be rejected unless the 2nd card can be proven to be better built. We could all add our own signature somewhere in the card to know who made it (if this is something anyone wants to do). Over all, I think it’s just best to allow us all (users with accounts) to just submit or created cards to the system without supervision as it would be too time consuming.

I appreciate your input on this and I don’t necessarily expect it to be a simple process. In fact, I am not even sure if this would even work so I am not getting my hopes high, I am just willing to experiment.
User avatar
NEMESiS
 
Posts: 460
Joined: 03 Jan 2013, 04:02
Location: Pools of Becoming
Has thanked: 70 times
Been thanked: 21 times

Re: Creating a DotP Database

Postby RiiakShiNal » 15 Mar 2013, 15:15

NEMESiS wrote:I completely understand your point about having to sacrifice one option for another. I have been pondering the ability to just do the SVN system that you had mentioned and the more I think of it there is no way that we do not have to include the images. While downloading a core WAD weekly (I think nightly would be a bit excessive) how do we account for which images the end-users utilize? It is possible that 3 different user decide to use 3 different images for the same card. What kind of issues could this create? I am over thinking this? Because I think we would need to supply the image. Also, another option would be something like what thefiremind is doing here:

viewtopic.php?f=102&t=7426
No you are not over thinking anything yet. It would depend more on keying and card versions. Since from the sound of it you will be including images in the system, cards are coded to use specific images as such a card if used is bound to that image. Now using multiple images for the "same" card like Elvish Hunter could be solved simply by keying things to the multiverse id. Elvish Hunter in the Fallen Empires set has 3 images and 3 multiverse ids (1909, 1910, and 1911) as such there would be 3 "different" cards which point to a single image each. The coding of the abilities would be exactly the same as would most of the rest of the XML (except for flavour text which is different for each version). Then deck creators simply use the version (or versions if they want to spice up their deck with different images) they want. Now using multiverse id as the sole key has another problem, new cards that are released before they are put on gatherer (so we don't know the multiverse id yet). This issue could be solved by temporarily using negative multiverse ids for the database (not sure if it would work in the card XML though) or by using an internally defined key (we make up a key and use that for all records, even if we also store the multiverse id).

If you are going to do the SVN route then cleaning up, updating, and making more accessible the Community DLC SVN might be a better choice as it is already set up and that was probably the original intent. A weekly DLC is the same concept as a nightly and about the only difference would be in how frequently a wad is built. On a proper server this can be done by a batch/shell file which moves/copies files to the appropriate place and runs gibbed tools on them cleaning up afterwards, which would be called by a cron job which could easily be set up to run either weekly, nightly, monthly, etc.... You may not be able to do that on the server that the Community DLC is currently on so moving the SVN to another server may be part of updating it.

NEMESiS wrote:If a card has issues it can be added to a core fix WAD that could be centralized for most mods that are participating in this "repository and bug tracking system." I am thinking that a Core wad might get too massive (if we have to include images) to have to download it frequently.
Also since you will be including images and having a compiled WAD download hosting on a home server will probably not be recommended due to bandwidth considerations.

Though there is an option to reduce bandwidth consumption some. You split the compiled DLC into 2 WADs one contains just images for cards (this should only really change when new card images are added or a card image is replaced with a better image) and a second WAD that contains all the cards and functions (this file will probably change frequently, but will be relatively small in comparison).

NEMESiS wrote:As far as the other questions that you brought up I am going to need multiple answers from other modders on that as this is not for my own convenience but for the community as a whole. I will still answer your points with my own opinions:

At the end of the day I want this to be as simple and as convenient of a process as possible for all of us to use, if this turns out to not be the case then this project won’t work. If downloading a SVN can become too massive or inconvenient then I think version hell would be more appropriate and we can then have a Core Fix Wad as separate download to fix individual card issues. I would also be preferable to have accounts for users that want to upload data but not for those that want to download it (or read only permissions). As for the bug reporting we can have a thread where users can submit their complaints and then we can implement then separately. As far as duplicate submissions, well part of the point of this is to not have us all waste our time making the same card twice. Duplicates will have to be rejected unless the 2nd card can be proven to be better built. We could all add our own signature somewhere in the card to know who made it (if this is something anyone wants to do). Over all, I think it’s just best to allow us all (users with accounts) to just submit or created cards to the system without supervision as it would be too time consuming.
If you go the SVN route then about the only people you would actually want downloading the all the data from the SVN itself would be the actual card developers you would want end-users and deck creators downloading the compiled WADs specifically to prevent "version hell". That way when a person downloads a new version of the Card DLC they get all the properly working cards and all the decks created that use those cards will get "updated" automatically without deck creators needing to change their WADs. Much like how thefiremind and myself have our core WADs which change whenever we add or fix cards, but the deck WADs don't really change because they just reference the core. If you separate images and cards as I mentioned earlier then if a card is fixed people would only need to download just the Card WAD not re-download the images (images didn't change). This would make downloading faster for people just getting card fixes.

If you don't do the SVN route then the system could even be built so that when a person with an account uploads a card their username (accountname) is automatically added as an XML comment to the card's XML (relatively easy to do leveraging existing XML objects in various programming languages). Auto rejecting a second (duplicate) card is probably quite difficult to do in an SVN setup, but could be built into a custom system fairly easily. SVN operates by giving write permissions to all those allowed to contribute and basically trusts them to do what is right. A custom system would allow for a more customized approach, but requires that the system be built whereas SVN is already built and has a limited set of functionality that can be customized. More things could be done with a custom system though like renaming images and auto-updated all cards that reference that image, auto-formatting card XML to conform to a desired format (grouping type, subtype, and supertype tags together, ensuring any color tags come after any casting cost tags, proper indention is used for tags, etc...), automatically adding created by comments, being able to tag cards as needing an update (without actually changing the card XML). An ability search could be added to pull up cards that reference a particular function, has a specific trigger, or keyword (flying, haste, cipher, etc....) which could make updating or creating new cards easier, but would also add complexity to the system. For example someone finds a bug in a card that checks if an opponent has taken damage this turn, if the error requires a function to be updated or changed they could do a search for all cards that use that function which would give them a list of cards that could need changing.

So there are lots of things to think on and a bunch of people we would want to get feed back from both on what they would want from such a system and whether they would use the system or not. Feature wish list, gripes about previous attempts at such systems (what caused previous systems to fail), are pledges to use the system when it becomes available are all things that should be examined. If we were a company it would be relatively easy for the person in charge to say "you will use the new system", but since we are a disjointed group of people working for fun, getting a consensus may be difficult.

NEMESiS wrote:I appreciate your input on this and I don’t necessarily expect it to be a simple process. In fact, I am not even sure if this would even work so I am not getting my hopes high, I am just willing to experiment.
Being willing to experiment is a good approach to starting a project. Some projects intially sound like good ideas, but when it comes time to implement fail. Other projects don't necessarily fail, but require considerable adjustment to become practical and work out quite well only requiring minor adjustments. It is also important to have at least one person play "devil's advocate" (criticize the system, but by pointing where the system will fail or make mistakes rather than just dumping on the idea) as they tend to point out problems or important decision points that need to be addressed to make a successful system. A devil's advocate can also be described as a pre-alpha bug tester as they are mentally testing the system looking for faults (the more specific they can be the better).
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 496 times

Re: Creating a DotP Database

Postby NEMESiS » 21 Mar 2013, 12:49

Thank you for your input, I left this open to hear more opinions but I guess nobody is remotely interested?
User avatar
NEMESiS
 
Posts: 460
Joined: 03 Jan 2013, 04:02
Location: Pools of Becoming
Has thanked: 70 times
Been thanked: 21 times

Re: Creating a DotP Database

Postby IceManOnline » 02 Jul 2013, 11:21

I think, this is a pretty good idea and depending on the information to track relatively easy to implement.

If someone could tell me, which information is needed, I can create a quick mockup as a starting point. From there it can evolve to a more and more usable web-app...
IceManOnline
 
Posts: 80
Joined: 12 Dec 2010, 19:00
Has thanked: 0 time
Been thanked: 0 time

Re: Creating a DotP Database

Postby BloodReyvyn » 27 Feb 2014, 13:27

NEMESiS wrote:Thank you for your input, I left this open to hear more opinions but I guess nobody is remotely interested?
I think the vast majority of us are interested, but it has been stated that there is not going to be any easy quick-fix for this. I have been thinking about this for a while, trying to figure out the simplest, most direct method to approach it...

Obviously, I think we are all in agreement that this database would contain cards and functions, but art would need to be saved and downloaded to/from elsewhere (which could be an issue with different versions of the same art from different modders) to save bandwidth.

I think that the database, rather than being packed up daily, should be handled by us modders as a collaborative DLC project (well, it is anyway) with a set release day once a week or every two weeks. Even if you don't make the deadline to finish all cards for a deck one week, it would give you a whole other week to perfect it and iron out any bugs.

I suppose that converted images for cards could all be zipped and a link posted to a separate thread, where once a week someone would have to download all new images uploaded in the last week and compile them into Art wads.

I am really hoping for a more cohesive method to making cards for the next DotP. I've noticed, using Riiak's deck editor that there is a great many cards that have been made by 5 or 6 different people, and that includes art that many times over. :shock: That's 4-5 other cards that could have been made instead... and some of these cards aren't even working or don't function entirely correctly, so there are cards that could have been perfected if another modder came along, needed the same card for a deck, saw it was messed up, and fixed it.

Anyways, not sure if any of that rambling helps anything, but I saw this post as I was poking around and this has been a topic of much thought for me lately since I saw a spoiler of M15 and realized that after the next Theros set, it won't be long before the next DotP comes out. Hopefully we can still mod it then.

On a final note, If we can get some ordered method to releasing one massive community core wad, the last worry modders would have is issues with compatible mods while developing/testing new cards and decks. However, I will probably resort to having a single Development Wad that I can remove and add from the install directory so I would be able to play online with anyone using the current community wad, assuming they are running the same deck wads (a whole other issue lol). The only thought I have had was making a thread where community-made decks could be discussed and voted on to be added to one big community deck mod if generally accepted, but perhaps that would be a whole other discussion.
"There's an experience worse than blindness - it's the certainty that your vision is perfect and the horror that there's no world around you to see."
User avatar
BloodReyvyn
 
Posts: 421
Joined: 19 May 2013, 13:29
Has thanked: 53 times
Been thanked: 40 times

Re: Creating a DotP Database

Postby Xander9009 » 14 Mar 2014, 14:51

I agree, there would be interest if it was created such that the DotP cards could be uploaded when finished and downloaded by users. I'd say the best system as far as versions go is to allow creators (those with accounts) to edit the cards and save them directly to the server so they'll be included in the next compilation. But the previous iterations are saved so that if a worse bug is found than in the previous iteration, then someone can reverse it.

I've also noticed the duplicate cards issue (i'm fairly certain everyone has noticed it). It would be nice to have one card that is coded correctly and that works. I like the idea of the cards being solely reliable on the multiverseid. Not knowing the id shouldn't be too big of an issue.

The way I'm thinking of it, I'd want to make a launcher for the game. The launcher checks to see if your wad is up to date, informs you if it isn't and asks if you want to update, does so if chosen, and then launches the game or the deck builder.

At the absolute least, we could avoid uploading any actual cards/pictures/code and simply have a complete list of all cards that have been made and where to find them, but only if those cards are available in wads without decks (so cards made by TFM, Sumo, or RSN and many others would be listed, but the ones packaged with DrLeg3nd's decks wouldn't be). It wouldn't be as useful, but it would at least help us to not code cards multiple times. I'd much prefer being able to upload the cards and download a single wad, but if that ends up not being done, this much would still be useful. When a bug is found in a listed card, whoever made it would have to fix it or have that card removed from the list, but of course that would mean removing all cards in the wad (only if they can't/won't update it) to avoid having a list that still creates multiple cards, but it be better than how it's currently being done: download all the core wads and have lots of versions of many cards.

For the record, while my experience with creating applications and setting up/maintaining/developing web systems is very limited, I'd be willing to help where I could. And while my own experience is limited, I could still manage some things I otherwise couldn't because my dad would help me with questions I have on that front (he's had a few servers and used to be a a system supervisor {don't know the actual title} for a small company).
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Creating a DotP Database

Postby Xander9009 » 18 Mar 2014, 18:19

I was thinking, share a file using dropbox or google drive. It could be made public so everyone could download it, but only specific people would be able to edit it.

With most of the card wads available, after removing the art_assets folders, it was only 37 MB. What I'm thinking is something like this:
  • Give card creators access to a directory with all the assets needed for a wad except the art assets folder.
  • When someone completes a card, they drop it into the correct folder along with any updated files needed for it.
  • One of us, could be me, but it might be better off being someone else with a more reliable connection, would have a small utility always running and waiting for something in that directory to change.
  • When something changes, the utility automatically runs Gibbed Tools on the folder to pack it into a wad.
  • That wad is shared with anyone with the link.

The result would be that card creators can drop in a card and users will always have an up-to-date wad with all the available cards. Creators could access the source files without needing to unpack the wad so they can easily fix bugs they come across and Google Drive's built-in revisions system would allow us to reverse changes if necessary.

For the artwork, we could use the same system, but in separate wads, of course. Google Drive doesn't have any download bandwidth limits (I just checked, though I didn't check if it was up-to-date) so that wouldn't be an issue. The only issue would be perhaps the speed at which they sync. Because of that, they might need a limit so they aren't packed/updated in real time, but maybe on a daily schedule (if any changes were made). If there were multiple wads for artwork, then only the affected ones would need updated.

Finally, a final small utility for the users that would download the current wad, ask if they want to update any changed artwork wads, and then would either launch the game or the deck builder.

Does any of that sound interesting/doable? I don't see any major issues with it on the surface, though I might have missed something else.

I've already uploaded all the cores I have to a folder after unpacking them into a single directory just to see how long it would take. It's taking a long time to upload that many files, but the actual size is still small, and I don't think downloading would take nearly as long. Of course, downloading would only be done once, and only by those who intended to contribute. The final users that will only use the cards would only need the wad like normal. It wouldn't be the best solution possible, but it would be an easy one to implement.

I've got a list of duplicates that would need addressed.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times


Return to Utilities

Who is online

Users browsing this forum: No registered users and 10 guests


Who is online

In total there are 10 users online :: 0 registered, 0 hidden and 10 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 10 guests

Login Form