Shoddy Battle 2 (the future of Shoddy Battle)

Status
Not open for further replies.

Cathy

Banned deucer.
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.

Logistics

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.
 
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.
 
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.
 
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.
 
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).
 
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.
 
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.
 
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.
 
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.

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.

  • 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.

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).
 
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.
 
What features would you like to see in Shoddy Battle 2? A little cup ladder. The ability to find a match unrated.
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?
 
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.
 
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.
 
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).
 
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?
 
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?
 
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...
 
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.
 
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.
 
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?
 
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."

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.

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.
 
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.

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.

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.

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


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.

It's already there, I'm sure.

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.

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.
 
Status
Not open for further replies.
Back
Top