1. Our third apparel sale is live. New design + reprint of the athletic design. Support us and get a shirt!
  2. Watch our World Cup of Pokemon Post-R1 Smogcast with some of Smogon's top players!
  3. Welcome to Smogon Forums! Please take a minute to read the rules.
  4. Click here to ensure that you never miss a new SmogonU video upload!

Programming "Shoddybattle 2" Development

Discussion in 'Technical Projects' started by rory, Mar 31, 2010.

Thread Status:
Not open for further replies.
  1. rory

    rory T^T
    is a Site Staff Alumnusis a Battle Server Moderator Alumnus

    Oct 13, 2007
    Please do not post in this thread if you are not working on the new simulator.

    I'd like to use this thread to discuss anything regarding the development of the new sim.

    This is not a signup thread for working on the simulator; contact someone already on the project in private if you'd like to help out. Really only do that if you have a good amount of programming experience, though...


    The first thing I'd like to bring up is the implementation of new games. They should be called games, not generations, because multiple games can exist for each generation. For example DP, DPPt, HGSS. While moves, abilities, and items are all defined with xml and javascript, other mechanics such as natures and types are defined in the server code which means the source of the engine itself will need to be modified to define other mechanics. My idea was to move even more of the game data to javascript so that everything about a specific game can be put into a tar file (optionally compressed) that can be loaded by the server.

    The problem with this is that the client really needs the ability to load games from a server if it doesn't already have them. For instance when I go to the CAP server and I don't have cap.game I should be able to download it from the server (or be given a url to download it from, but it should all be done behind the scenes).

    This brings another problem: determining if the client has the game. For reasons such as people naming their game the same thing and updates to a game it can't be as simple as seeing if they have x.game. I've thought about the idea of having some sort of checksum for seeing if the game matches but then there's the issue of different languages.

    So this brings me to my tentative final solution. Since each game will have its own set of text, each game will need their own .lang files (for any supported languages). What this also means is we can store the names of all pokemon, abilities, items, etc. in the .lang file and have the XML files be based on any arbitrary language as defined in the lang attribute of the root <shoddybattle lang="en">.

    Someone let me know if I'm thinking way too deeply into this.
Thread Status:
Not open for further replies.

Users Viewing Thread (Users: 0, Guests: 0)