1. Welcome to Smogon Forums! Please take a minute to read the rules.
  2. Click here to ensure that you never miss a new SmogonU video upload!

Shoddy Battle 2 (the future of Shoddy Battle)

Discussion in 'Shoddy Battle and Pokémon Lab' started by Cathy, Apr 27, 2009.

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

    Cathy Banned deucer.

    Jul 11, 2007
    For the past couple of weeks, bearzly and I have been working on Shoddy Battle 2. This is the next version of Shoddy Battle and it is a complete rewrite. The estimated release date is 4-5 months from now (so September at the earliest), but this is not a hard promise.

    For screenshots of the client, see here.

    Background information

    When bearzly and I started Shoddy Battle 1, not much was known about Diamond & Pearl, and as such, some things in the engine are not as well done as they could have been. Hence, Shoddy Battle 2 is a chance to implement the engine in a much more correct way, hopefully with radically fewer mechanics issues than Shoddy Battle 1--the goal is 100% compliance with the observable mechanics of Pokemon DPP.

    Planned architecture & feature set

    As mentioned above, we hope to have a much more faithful implementation of game mechanics than Shoddy Battle 1. There are dozens of outstanding issues on the bug tracker for Shoddy Battle 1, mostly related to mechanics issues; we hope to have this number be far smaller in Shoddy Battle 2.

    The server is a cross-platform C++ application. The network protocol is much simpler than Shoddy Battle 1's, uses a lot less bandwidth, and overall should make the program much faster (Shoddy Battle 1's protocol is very bloated).

    Shoddy Battle 2 supports both singles and doubles battles, as well as a more general mode that is not technically pokemon where you can have any number of pokemon out at one time (up to six). For example, you could play triples.

    Database files (moves and species), as well as team files, are stored as xml, and will be human editable by hand. Shoddy Battle 1 team files will be loadable as well.

    The program is internationalisable (there will be a file containing string literals that can be modified to translate the program).

    Game logic (moves, abilities, and items) is written in JavaScript, so a compiler is not required to modify the game engine; it should be easily accomplished by anybody with a text editor.

    The chat will be similar to IRC in terms of user and channel modes.

    There will be more options for each battle, such as customising the timer settings.

    The client will be revised in some respects to make it more user-friendly. For example, you will be able to see the stat changes of pokemon in the battle window, and it will be possible to inspect your idle pokemon in battle, including in a random battle.

    The server listing will be done through http so essentially it will not go down ever.

    There are also some minor issues that we know everybody hates about Shoddy Battle 1 that will be fixed in Shoddy Battle 2, such as: the chat will not scroll down when somebody says something, and the ladder match making will not give you the same person repeatedly. These minor issues are trivial, but I am stating that we have addressed them so that you know you do not need to post them.

    What will not be in the initial release

    There are no plans to implement generations prior to DPP at this point. We know this is a somewhat popular feature, but it is not going to be part of the initial release of Shoddy Battle 2.


    At this point, it is not clear how we can best split up the remaining work, so it is not a good idea to start writing code without talking to us; we will contact people as needed.

    It is unlikely that bearzly or I will fix any bugs in Shoddy Battle 1 anymore, since Shoddy Battle 2 is an entirely new codebase; however, we will still accept work by other people on the Shoddy Battle 1 tree if anybody submits anything.

    Like Shoddy Battle 1, Shoddy Battle 2 is free software (i.e. "open source") and the source tree is being worked on in the public Mercurial repository.

    Purpose of this topic

    What features would you like to see in Shoddy Battle 2? What are your biggest complaints with Shoddy Battle 1? What did you like most about Shoddy Battle 1 and would like to remain in Shoddy Battle 2? This thread is for general Shoddy Battle 2 discussion, but please do not repeat or ask things that can be found in the first post.
  2. Pokemonexperte-Martin


    Jun 13, 2008
  3. Cathy

    Cathy Banned deucer.

    Jul 11, 2007
    I appreciate that you are trying to be helpful Martin but I do not approve of you making a screenshot with a user who claims to be me ("Colin") or bearzly ("Ben") when we were not involved at all. Don't impersonate us again please. [Edit: This has now been changed.]

    Also the description of "Official Server" in that screenshot is a joke; there is not going to be an Official Server in Shoddy Battle 2.

    Also I should say that the interface elements are subject to change.
  4. foibles


    Sep 6, 2008
    exactly what mechanics are "not observable"
  5. Cathy

    Cathy Banned deucer.

    Jul 11, 2007
    There are a million ways that arbitrary mechanics could be implemented in the actual cartridge, but the goal isn't to mimic the implementation (which would require reverse engineering), but only what can be observed through testing.
  6. Erazor

    Erazor ✓ Just Doug It
    is a Smogon Media Contributor Alumnus

    Oct 27, 2008
    Will mechanics like the Platinum weather glitch be implemented?

    Also, just a minor issue, if you cancel a search for a ladder match, shoddy battle 1 requires you to reload your team next time. Can you remove this please? It's irritating.
  7. Cathy

    Cathy Banned deucer.

    Jul 11, 2007
    I do plan to implement the correct Platinum weather mechanics, but there will most likely be a "Fake Platinum" generation option which will be the same as Platinum except the weather mechanics will be wrong (i.e. they will not have the glitch).
  8. X-Act

    X-Act np: Biffy Clyro - Shock Shock
    is a Site Staff Alumnusis a Programmer Alumnusis a Smogon IRC SOp Alumnusis a Researcher Alumnusis a CAP Contributor Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnusis an Administrator Alumnus

    Feb 17, 2006
    First of all, thanks for allowing us to state our likes, dislikes and wants.

    I have a few suggestions:
    • Two players playing an unrated battle should be allowed the option to play against each other willingly, and not just be provided a random opponent by the program, as currently happens in Shoddybattle1. This should aid testing teams against players willing to test with you.
    • Related to the above, players currently create an alternate account to test teams with, and they tend to test their team on the ladder directly. However, the ladder should be a place where serious battles unfold and not tests. Because of this, a much more limited number of alternate accounts should be allowed for each player. I would actually support having no alternate accounts whatsoever except in most unusual cases; however, limiting them to 2 or 3 might be a better idea.
    • The Conservative Rating Estimate to rank players on the ladder should be changed to a better one, for instance to this one.
    • EDIT: A 'Disallow Spectators' option as an extra option for a player's battle would be cherished by many players.
  9. Terminator


    Dec 2, 2008
    Thank you Colin for all your hard work.

    I'm just posting here to add: I do not believe the weather Glitch was actually intended...That's why they call it a Glitch.
  10. Caelum

    Caelum qibz official stalker
    is a Site Staff Alumnusis a Smogon IRC AOp Alumnusis a Forum Moderator Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus

    Apr 5, 2008
    Well, the discussion of whether intention of the game-designer even matters has been debated countless times in PR (and it should be obvious where Colin stands on that). Anyway, not what this thread is for.

    This is minor and shouldn't be a priority; but, if possible, it would be nice to be able to "reset" your ladder rating back to the default when you desired it too. As though you were starting a fresh account.

    Thanks for hard work colin.
  11. cim

    cim happiness is such hard work
    is a Smogon Media Contributor Alumnus

    Jun 3, 2007
    Currently the only way to play an unrated battle is to find someone willing to test with you. I'm confused as to what you're asking for. Are you asking for an unrated battle finder? That would be kinda neat.

    This if implemented I imagine would be a server issue that a server operator could change (personally I don't see the harm in having a million alts so I would want it off on my test server).
  12. auramaster


    Dec 17, 2008
    What features would you like to see in Shoddy Battle 2? A little cup ladder. The ability to find a match unrated.

    What are your biggest complaints with Shoddy Battle 1? Doesn't say what Hidden Power type you have. After closing out of it, it reverts back to your default team, which isn't helpful if you have multiple teams for different tiers.

    What did you like most about Shoddy Battle 1 and would like to remain in Shoddy Battle 2? The unrated option.
  13. eric the espeon

    eric the espeon maybe I just misunderstood
    is a Forum Moderator Alumnusis a Researcher Alumnusis a CAP Contributor Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnus

    Aug 7, 2007
    Just so you know, it is possible to have a LC ladder on the current shoddy. In fact the CaP server already has one.

    Agreeing that an unrated ladder would be a nice addition. Good for testing teams without challenging loads of people and getting rejected. Possibly you could input which clauses/tiers you wanted to play by, and it matches you against others with the same set?
  14. LonelyNess

    LonelyNess Makin' PK Love
    is a Tournament Director Alumnusis a Forum Moderator Alumnusis a Tiering Contributor Alumnusis a Smogon Media Contributor Alumnusis a Battle Server Moderator Alumnus

    Mar 23, 2007
    As far as team builder interface goes, I would enjoy if the typable EVs / IVs remained intact in Shoddybattle 2 (as opposed to the horrible slide bar that Netbattle employs).

    In fact, I pretty much adore the entire team builder that is currently being used, with the exception of the move list. The ability to type in a move manually would be much appreciated (this is stolen from Netbattle's team builder).

    Also, not sure how hard this would be to do, but a damage calculator built into the program would be really nice for those of us who currently have to use multiple windows to do quick in battle damage calculations.

    I would also like an "ignore user" feature.

    An "unrated ladder" would be nice. It would also cut down on the number of alternate accounts created because you could do all of your testing and competitive laddering on the same account, rather than having to create an alt to preserve your ladder rating.

    After canceling an attempt to find a match on the ladder, it actually unloads your team to where you have to re-open a team to find another match. I'd like if this was removed in shoddybattle 2.

    I know there's more I want, but I can't think of it right now.
  15. gec

    gec i've been crawling through the falling
    is a Forum Moderator Alumnus

    Jul 29, 2007
    Does the fact that the team files are now in XML mean that:

    -We can use Pokesav Action Replay files as teams on Shoddy Battle? For example, if I made a team on Pokesav for my D/P/Pt game on my DS, would it be able to be used on Shoddy Battle as well since both the team files and Pokesav AR files are XML?
    -Vice Versa. If I make a team on Shoddy BAttle which I wish to transfer to my DS, would I be able to put that XML file onto my AR Codelist for my Nintendo DS?

    This seems like a great project, especially the double battles part. Kudos ;D.
  16. Kevin Garrett

    Kevin Garrett is a competitor
    is a Tutor Alumnusis a Tournament Director Alumnusis a Site Staff Alumnusis an Artist Alumnusis a Super Moderator Alumnusis a Tiering Contributor Alumnusis a Smogon Media Contributor Alumnusis a Battle Server Moderator Alumnusis the Smogon Tour Season 12 Championis a defending SPL Champion

    Jan 5, 2008
    I would like to see a feature, similar to NetBattle's, where when a player gets disconnected, they have a certain amount of time to regain their connection and finish the battle. Everything else I would like to see has already been mentioned (chat that doesn't scroll down, unrated ladder, reset rating feature).
  17. iKitsune


    Jul 8, 2008
    There should be an unrated pool like social in Halo games. This would be really great for testing and would reduce the amount of accounts needed which has really gotten out of hand.

    I think there should be a strong ban system too. Where people who consitently break the rules will get banned for good. This ban would not be bypassed by a variable ip. In order to help this there would be a Bot who would pick up on things said and you would recieve infractions for say flaming or talking in another language.

    Many good suggestions have already been made and i really look forward to Shoddy Battle 2.

    BTW. WHy is it called Shoddy Battle?
  18. Erazor

    Erazor ✓ Just Doug It
    is a Smogon Media Contributor Alumnus

    Oct 27, 2008
    I would like to suggest the reworking of Freeze and Sleep clauses. They are currently enforced in an incorrect state, such that they alter game mechanics. Can they be implemented in such a way that if you use a sleep move again, you lose, or however it was meant to be?
  19. Wichu

    Wichu Kittens
    is a Researcher Alumnus

    May 30, 2007
    Sleep clause and freeze clause are available in PBR, as far as I know (the way they're implemented in Shoddy now). But true, they are incompatible with new forms and 60% Hypnosis...
  20. Philip7086

    Philip7086 Myuu
    is a Tutor Alumnusis a Tournament Director Alumnusis a Site Staff Alumnusis a Team Rater Alumnusis a Battle Server Admin Alumnusis a Smogon IRC SOp Alumnusis a Researcher Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnusis a Smogon Media Contributor Alumnusis an Administrator Alumnusis a Past SPL and WCoP Championdefeated the Smogon Frontier

    Jun 23, 2008
    Sounds great! I can't wait!

    I guess as far as suggestions go, maybe add an option for private battling? Though this would probably piss off a lot of potential spectators, myself included.
  21. petrie911


    Aug 27, 2005
    A few things I think would be welcome improvements.

    I've noticed that Shoddy does not seems to display field effects correctly. If you hover your cursor over your pokemon, it should display all the current things affecting your side of the field, such as Light Screen or Spikes. However, Shoddy's display is often simply wrong, displaying effects that are actually on your opponent's field, or that are no longer in effect.

    Going along with the above, their should be some way to check current stat levels of pokemon on the field. After a drawn-out CM stalling session, I'd really like to know whether I'm at +5 or +6 before I click CM again.

    There should be a way to see your pokemon's moveset even if it is not currently out. This is important in random battles, but can also help if you've been running similar teams, and aren't sure what one you currently have.

    Speaking of random battles, if you have certain clauses checked, such as the item or evasion clauses, the teams should be generated to conform to those clauses.

    Your own Pokemon's HP should always be displayed in whole numbers. Having 25% HP left doesn't tell you whether your Salamence can switch into SR one last time. Having 84/331 HP does. Since you would have this information in cartridge play, there's no reason not to include it.

    Lastly, it would be nice if your Hidden Power's type and power are displayed. It's unbelieveably annoying, for example, to discover your Blaziken has HP Electric and not Grass when you try to KO your opponent's Gastrodon.
  22. Objection


    Sep 27, 2008
    This is especially true of entry hazards.
  23. Surgo

    Surgo goes to eleven
    is a Site Staff Alumnusis a Smogon IRC AOp Alumnusis a Programmer Alumnusis a Contributor Alumnusis an Administrator Alumnus

    Jul 10, 2006
    I only have one suggestion.

    It is not Pokemon related.

    If it fits in with your planned way to handle challenging people...bring back the Netbattle-style user info windows!

    I mean, where would Smogon be without that great "Archive of Humorous NetBattle User Info Screenshots" thread?
  24. Binabik


    Apr 5, 2007
    First of all I have to thank you for still working on Shoddy Battle and not saying "It's finished, let's do something else."

    This would be amazing, because sometimes there are disconnects for about 40 seconds and you don't have any chances to continue the battle...

    Another feature would be a + beside the fields for the EVs, because there are so much Pokemon which just need a simple 4/252/252 split.
    If you press the +, the EV points simply get 252 or the EVs left over.
  25. Lemmiwinks MkII

    Lemmiwinks MkII

    Jun 14, 2007
    Is this on the cartridges? Because I don't recall it being, and we shouldn't add more stuff that isn't possible in link battles IMO.

    Agreed, as this is possible in link battles, as well as the ability to see your raw stats.

    It's already there, I'm sure.

    Again, not available information in-game. You should know what Hidden Power your own Pokemon has anyway, and it's your own fault if you forget.
Thread Status:
Not open for further replies.

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