Go Back   Smogon Community > Contributions & Corrections > Projects
Register FAQ Social Groups Calendar Search Today's Posts Mark Forums Read

Closed Thread
Categories: HTML, Programming, Other
 
Thread Tools
Old Aug 16th, 2011, 6:05:46 AM   #1
Zarel*
>> BEGIN POSTBIT
is a member of the Smogon Site Staffis a Battle Server Administratoris a Super Moderatoris a Programmer
 
Zarel's Avatar
 
Super Moderator
Join Date: Aug 2011
Posts: 1,134
>> END POSTBIT
Post Pokemon Online replay player

Have you ever wanted to watch a Pokemon Online replay instead of just reading it?

I have, and I spent the last week developing an app that does just that:

http://pokemon.aesoft.org/
To-do:
- More sound effects
- Show HP, status, and species of pokemon in pokeballs
- Saving settings
- Pausing idle animations when pausing everything else
- Redesigned start and end screens

Recent updates (earliest to latest):
- Better move animations for punching, biting, and kicking moves
- "Recent replays" list is now newest-to-oldest, and only shows newest 200ish replays (there's a separate "all" button for all of them)
- Move animations for Night Slash, Shadow Claw; placeholder animations for many other moves
- A background
- Perspective "3D-like" effects
- Lots more animated back sprites
- Move animations for Wild Charge, Thunder Fang, Bug Buzz, Sucker Punch
- Color scheme chooser
- Basic background music support
- Support for IE7 and IE8
- Fix for a few crashes on IE9 and some old versions of Firefox
- Aqua Ring is now supported
- Move animations for Safeguard, Seed Flare, Air Slash, Air Cutter
- Redesigned replay footer
- More support for PO's newest replay format
It looks something like this:



It's not completely done yet, but it works perfectly or near-perfectly on around 90% of the replays I've tested it on. It tends to work better on ladder/tournament replays than Challenge Cup replays, since the pool of competitively viable moves is much smaller than the complete pool of moves.

Here's an example replay: http://pokemon.aesoft.org/replay-Eth...ei--2011-08-13

It shows off weather and Bounce animations. It doesn't show off my Substitute animations, but I assure you those are also pretty awesome.

FAQ

Q: Some pokemon don't have animated back-sprites.
A: Only around 80% of pokemon have animated back-sprites at the moment. For the ones that don't, there's nothing I can do about that. Go rip the GIF yourself or something. :/
Q: Pain Split, Wish, Life Orb, Stealth Rock, Leech Seed, Shell Bell, recoil, or draining damage/healing is being calculated incorrectly, and/or, Regenerator and Natural Cure healing aren't working!
A: You're using a replay from an old a buggy version of Pokemon Online, which doesn't contain this information. The replayer tries to guess the best it can, but it can sometimes be off by a bit. Please update to the latest version of Pokemon Online. complain to Pokemon Online about why they haven't fixed it yet.

In particular, if Life Orb isn't showing up or Stealth Rock is being calculated incorrectly, you're using a very, very old version of Pokemon Online and should really upgrade.
Q: Sometimes, when a pokemon uses Roar, Whirlwind, Dragon Tail, or Circle Throw, the sprite for an opposing nicknamed pokemon doesn't appear.
A: You're using a replay from an old version of Pokemon Online, which doesn't contain this information. The replayer tries to guess the best it can, but if the replay doesn't contain this information, there's nothing it can do. Please update to the latest version of Pokemon Online.
Q: I'm getting the error "This does not appear to be a valid Pokemon Online replay". What's wrong?
A: It's not a valid PO replay. Most likely, you're copy-and-pasting a battle log into a file. You can't do that.

You must use a replay file saved using the "save log" feature of PO. Here's a video guide: http://www.youtube.com/watch?v=SITN1X7dNFU
Q: What about Pokemon Showdown replays?
A: That's planned for the future revamp! Stay tuned, but don't hold your breath, since I have a lot of other things I want to do first.
Q: I have a feature request!
A: Cool! If it's not on the list of feature requests I'll never implement, post it to this thread! I might not implement it, but I'll explain why I will and won't. :)

Here's a list of feature requests I will never implement:

- Better calculation of Pain Split, recoil, Wish, Stealth Rock, or Leech Seed damage/healing on old Pokemon Online replays, or detection of Regenerator/Natural Cure/Life Orb.
-- I know this can be improved, but the guessing algorithms are pretty good already, and since it works perfectly with the latest version of Pokemon Online, it's a lot of work just to slightly improve support for an outdated replay format.

- Stat boosts in the form of "+3 Atk"
-- There are a lot of people arguing both sides. BlueKirby, coyotte508, and I all think the "2.5x Atk" format is better, so that's the format I'm using for now. Having an option for something this minor really isn't feasible. Sorry. :(
Q: I found a bug, now what?
A: Make sure it's not discussed earlier in the FAQ. If it isn't, report it to this thread, and remember: If you are reporting a bug, please give a link to a relevant replay.

Last edited by Zarel; Jun 3rd, 2012 at 1:40:28 PM.
Zarel is offline  
Old Aug 16th, 2011, 9:44:15 AM   #2
JaySee
 
JaySee's Avatar
 
Join Date: Jun 2010
Posts: 13
Default

It's a cool idea, but the flaws you've pointed out certainly hinder it from being too useful.

Perhaps it could be used as a teaching tool in its current state, showing examples of scouting, prediction, risk & reward, etc etc.

Very cool though! Definitely keep working on it. Maybe you could have Regenerator and Natural Cure be automatic on the pokemon that use them, as the pokemon that do always use them. (No more Own Tempo Slowbro or Serene Grace Blissey running around :P)
JaySee is offline  
Old Aug 16th, 2011, 9:45:29 AM   #3
toshimelonhead
cool dude likes melonade
is a Tiering Contributor
 
toshimelonhead's Avatar
 
Join Date: Nov 2009
Posts: 879
Snowpoint City
Default

I think this is a great tool. The only thing I would like to see is some type of complete status update for the rest of the team. I don't know how easy this is to program but this would make it easier to point out past mistakes instead of looking at a log.
__________________
01[21:11] <@toshimelonhead> nova you are one lucky son of a gun
[21:11] <@Novaray> hahahahaha
[21:11] <@durrr> whys he lucky
[21:12] <@Colchonero> maybe he got a date with jason's cousin
[21:12] <@Novaray> LOL
01[21:12] <@toshimelonhead> rofl
[21:13] <@durrr> HAHAHAHHA gtfo shes mine

Last edited by toshimelonhead; Aug 16th, 2011 at 6:13:51 PM.
toshimelonhead is offline  
Old Aug 16th, 2011, 4:15:43 PM   #4
Crafty Scrafty
Banned deucer.
 
Join Date: Jul 2011
Posts: 53
darumaka so cute :3
Default

Looks great. However, whenever I try one of my logs, it starts out with my opponent sending out both of our leads on their side of the field and then it freezes. Know what the problem might be?

The problem might be that these are Gen 3 games.
Crafty Scrafty is offline  
Old Aug 16th, 2011, 4:47:51 PM   #5
Hawkstar
Are you hanging by a thread or swinging from the rope?
is a Community Contributoris a Contributor to Smogon
 
Hawkstar's Avatar
 
Join Date: May 2010
Posts: 631
Western Pennsylvania
Default

It seems to act weird with weather starters switching in, regardless of if their weather is up or not. Every replay I've uploaded so far craps out around Turn 3, and they all seem to have the weather issue in common. Oddly, I can't fin any other replay that duplicates the problem. Besides that, I really like this thing. I have trouble visualizing stuff when reading logs, so I hope people start using this stuff for warstories.

Edit: I also noticed that if a Pokemon behind a sub faints, it's faded silhouette stays for the remainder of the match.
__________________
Art thread!
[22:11] Helias: FUCK YOU HAWKSTAR THAT'S NOT MY NAME

Last edited by Hawkstar; Aug 16th, 2011 at 5:03:59 PM.
Hawkstar is online now  
Old Aug 16th, 2011, 5:21:38 PM   #6
Chispy
 
Chispy's Avatar
 
Join Date: Jun 2009
Posts: 199
Sinnoh Underground
Default

I think the best way to move it forward, simply, is to post it in the Developer's Den on Pokemon Online forums.

You'll definitely get a lot of help and support there.
Chispy is offline  
Old Aug 16th, 2011, 6:33:14 PM   #7
Zarel*
>> BEGIN POSTBIT
is a member of the Smogon Site Staffis a Battle Server Administratoris a Super Moderatoris a Programmer
 
Zarel's Avatar
 
Super Moderator
Join Date: Aug 2011
Posts: 1,134
>> END POSTBIT
Default

Quote:
Originally Posted by Fat JaySee View Post
It's a cool idea, but the flaws you've pointed out certainly hinder it from being too useful.
Are you sure the flaws are that great? They haven't been a problem in any of the replays I've shown so far.

I've implemented Regenerator for Mienfoo/Mienshao and Natural Cure for Staryu/Starmie; I'll wait for a better detection system before implementing it for other gens.

Quote:
Originally Posted by Fat toshimelonhead View Post
I think this is a great tool. The only thing I would like to see is some type of complete status update for the rest of the team. I don't know how easy this is to program but this would make it easier to point out past mistakes instead of looking at a log.
Could you clarify what you mean by "complete status update"?

Quote:
Originally Posted by Fat toshimelonhead View Post
Edit: Is there also a way of making these secure? ;)
Secure, as in private? Not so far. I'll eventually introduce a private replay option, but as for now I don't have one.

Quote:
Originally Posted by Fat Crafty Scrafty View Post
Looks great. However, whenever I try one of my logs, it starts out with my opponent sending out both of our leads on their side of the field and then it freezes. Know what the problem might be?

The problem might be that these are Gen 3 games.
Gen 3 is supported fine.

PO replays don't tell you who's on which side, so I had to manually write detection code. It turns out my detection code didn't work well with spaces in your name. I've fixed that; your replays work now.

http://aesoft.org/pokemon/replay-Tam...ty--2011-08-13
http://aesoft.org/pokemon/replay-mar...ty--2011-08-13
http://aesoft.org/pokemon/replay-Cra...ge--2011-08-14

Quote:
Originally Posted by Fat Hawkstar View Post
It seems to act weird with weather starters switching in, regardless of if their weather is up or not. Every replay I've uploaded so far craps out around Turn 3, and they all seem to have the weather issue in common. Oddly, I can't fin any other replay that duplicates the problem. Besides that, I really like this thing. I have trouble visualizing stuff when reading logs, so I hope people start using this stuff for warstories.
Was that the naming issue? I accidentally broke nicknamed pokemon while implementing the "number of pokemon left" indicator today.

Are these the replays you're talking about?

http://aesoft.org/pokemon/replay-jrr...rr--2011-08-11
http://aesoft.org/pokemon/replay-ico...ar--2011-05-14

They seem to work fine after all the fixes I did today. Try refreshing it?

Quote:
Originally Posted by Fat Hawkstar View Post
Edit: I also noticed that if a Pokemon behind a sub faints, it's faded silhouette stays for the remainder of the match.
Fixed.

Last edited by Zarel; Aug 16th, 2011 at 6:58:59 PM.
Zarel is offline  
Old Aug 16th, 2011, 7:49:56 PM   #8
AfroThunderRule
I suck.
is a Tiering Contributor
 
AfroThunderRule's Avatar
 
Join Date: May 2009
Posts: 415
New York City
Default

Seems cool, keep up the good work.
AfroThunderRule is offline  
Old Aug 16th, 2011, 8:00:04 PM   #9
Super
This space for rent
is a Battle Server Admin Alumnusis a Programmer Alumnus
 
Super's Avatar
 
Join Date: Jun 2007
Posts: 1,148
Miami, Florida
Default

Dude, this is amazing. Mad props to you. I can tell you worked your ass off on this.

Shame about what it can't do though.
Super is offline  
Old Aug 16th, 2011, 8:43:28 PM   #10
Hawkstar
Are you hanging by a thread or swinging from the rope?
is a Community Contributoris a Contributor to Smogon
 
Hawkstar's Avatar
 
Join Date: May 2010
Posts: 631
Western Pennsylvania
Default

Quote:
Originally Posted by Fat aeo
Was that the naming issue? I accidentally broke nicknamed pokemon while implementing the "number of pokemon left" indicator today.

Are these the replays you're talking about?

http://aesoft.org/pokemon/replay-jrr...rr--2011-08-11
http://aesoft.org/pokemon/replay-ico...ar--2011-05-14

They seem to work fine after all the fixes I did today. Try refreshing it?
Yep! Works like a charm now. I didn't even pay attention to the fact they were all named as well.

I haven't noticed anything else wrong with those two replays, so it looks really good! No more boring logs.
__________________
Art thread!
[22:11] Helias: FUCK YOU HAWKSTAR THAT'S NOT MY NAME
Hawkstar is online now  
Old Aug 16th, 2011, 8:49:57 PM   #11
Birkal*
We have the technology.
is a member of the Smogon Site Staffis a Battle Server Administratoris an Artistis a Super Moderatoris a Community Contributoris a Contributor to Smogon Media
 
Birkal's Avatar
 
Super Moderator
Join Date: Oct 2010
Posts: 3,017
The
Default

What I could see being quite useful is the ability to speed up / slow down the matches! Then you could watch at your own pace. In the same vein, if you could "search" through different turns, that would be pretty spiffy. Just input that you want to start playing on Turn 20 and work from there.

This is super cool and keep up the good work!
__________________
Birkal is offline  
Old Aug 16th, 2011, 9:07:20 PM   #12
Hipmonlee
is a Contributor to Smogonis a Super Moderator Alumnusis a Smogon IRC AOp Alumnusis a Battle Server Moderator Alumnusis a past World Cup of Pokemon champion
 
Hipmonlee's Avatar
 
Join Date: Dec 2004
Posts: 7,299
Default

Wow..
__________________
Hipmonlee is offline  
Old Aug 16th, 2011, 9:33:13 PM   #13
Pidge
 
Pidge's Avatar
 
Join Date: Aug 2005
Posts: 2,086
Default

This is great. I'll definitely be using this instead of reading a log next time.
Pidge is online now  
Old Aug 16th, 2011, 9:37:51 PM   #14
Pocket
Bakuman ;<
is a Forum Moderatoris a Community Contributoris a Tiering Contributoris a Contributor to Smogonis a Team Rater Alumnus
 
Pocket's Avatar
 
Moderator
Join Date: Dec 2004
Posts: 7,188
Bergenfield
Default

Awesome work, aeo; this is amazing
Pocket is offline  
Old Aug 16th, 2011, 9:56:22 PM   #15
No Luck Involved
 
No Luck Involved's Avatar
 
Join Date: May 2011
Posts: 1,302
Default

This is great stuff, I gave it a spin and I have to say it was really impressive and very fun to watch. Fantastic work!

I put in one of my battles and here are some mistakes I observed:

- Entei took way too much damage on turn 29/30, reducing its health to 0 when it should have been around 40%. I'm not sure what happened here...
- It can't represent Leech Seed recovery very well (it must be nearly impossible to implement)
- Scyther takes normal damage from Stealth Rock.

This is a link to it for your reference: http://aesoft.org/pokemon/replay-MMF...ed--2011-07-30

I hope you will find this useful and I am really looking forward to this getting better and better because it is one of the most exciting things I have seen in a while. Hats off to you aeo!
No Luck Involved is offline  
Old Aug 16th, 2011, 10:01:03 PM   #16
Zarel*
>> BEGIN POSTBIT
is a member of the Smogon Site Staffis a Battle Server Administratoris a Super Moderatoris a Programmer
 
Zarel's Avatar
 
Super Moderator
Join Date: Aug 2011
Posts: 1,134
>> END POSTBIT
Default

Quote:
Originally Posted by Fat aeo View Post
I'll eventually introduce a private replay option, but as for now I don't have one.
I just introduced a checkbox for uploading private replays!

It will make your replays not show up on the replay list, and give the replay a URL that can't be guessed. It's not something ridiculously secure, though, so I wouldn't recommend uploading replays in which you talk about your plans to commit murder or anything like that.

Quote:
Originally Posted by Fat Birkal View Post
What I could see being quite useful is the ability to speed up / slow down the matches! Then you could watch at your own pace. In the same vein, if you could "search" through different turns, that would be pretty spiffy. Just input that you want to start playing on Turn 20 and work from there.
Yeah, that's been on the to-do list from the beginning. I'll do it eventually, but I can't promise anything anytime soon. :(
Zarel is offline  
Old Aug 16th, 2011, 10:16:56 PM   #17
Pocket
Bakuman ;<
is a Forum Moderatoris a Community Contributoris a Tiering Contributoris a Contributor to Smogonis a Team Rater Alumnus
 
Pocket's Avatar
 
Moderator
Join Date: Dec 2004
Posts: 7,188
Bergenfield
Default

Yea, I also just uploaded a battle where I embarrassingly lost to a Bulk Up Toxicroak, but Stealth Rock damage did 13% for both Gyarados and Thundurus.

http://aesoft.org/pokemon/replay-Tho...in--2011-08-16

Also, my opponent started out with 5 Pokeballs - is this because I did not saw the 6th monster of his team?

And occasionally when I lose my mons, an extra Pokeball shows up on my side. I ended up with like 9 Pokeballs on my side lol.
Pocket is offline  
Old Aug 16th, 2011, 10:46:42 PM   #18
Zarel*
>> BEGIN POSTBIT
is a member of the Smogon Site Staffis a Battle Server Administratoris a Super Moderatoris a Programmer
 
Zarel's Avatar
 
Super Moderator
Join Date: Aug 2011
Posts: 1,134
>> END POSTBIT
Default

Quote:
Originally Posted by Fat No Luck Involved View Post
- Entei took way too much damage on turn 29/30, reducing its health to 0 when it should have been around 40%. I'm not sure what happened here...
A pokemon's HP is set to 0 at the point the replayer believes is the last time it took damage before fainting - this is to deal with rounding errors.

I forgot to include Flare Blitz recoil and Spikes as possible damage sources - this has been fixed.

Quote:
Originally Posted by Fat No Luck Involved View Post
- It can't represent Leech Seed recovery very well (it must be nearly impossible to implement)
It currently estimates Leech Seed recovery by assuming both pokemon have the same HP stat. I can see it being off if you seed a Chansey or have Leech Seed lasting for tons of turns. Nothing I can do about that. :(

Quote:
Originally Posted by Fat No Luck Involved View Post
- Scyther takes normal damage from Stealth Rock.
Yeah. The replayer itself currently has no type chart, nor any idea what types pokemon are. Fixing that's on the to-do list, but I don't know if it'll be done anytime soon.

Quote:
Originally Posted by Fat No Luck Involved View Post
I hope you will find this useful and I am really looking forward to this getting better and better because it is one of the most exciting things I have seen in a while. Hats off to you aeo!
^_^

Quote:
Originally Posted by Fat Pocket View Post
Yea, I also just uploaded a battle where I embarrassingly lost to a Bulk Up Toxicroak, but Stealth Rock damage did 13% for both Gyarados and Thundurus.
Yeah, as mentioned, this is on the to-do list (it's been on the to-do list on the first post of this thread ever since it was first posted, incidentally).

Quote:
Originally Posted by Fat Pocket View Post
Also, my opponent started out with 5 Pokeballs - is this because I did not saw the 6th monster of his team?
Yep. And because PO doesn't log any pokemon that doesn't get sent out.

Quote:
Originally Posted by Fat Pocket View Post
And occasionally when I lose my mons, an extra Pokeball shows up on my side. I ended up with like 9 Pokeballs on my side lol.
Yeah, it happens when something happens to your pokemon after they faint:

Oceanborn fainted!
Oceanborn had its energy drained!

The replay viewer assumes it happened to a different still-alive pokemon named Oceanborn, and adds it to your team. I just fixed it.
Zarel is offline  
Old Aug 16th, 2011, 11:35:33 PM   #19
firecape
This is the end...
is a Contributor to Smogonis a Forum Moderator Alumnus
 
firecape's Avatar
 
Join Date: Mar 2010
Posts: 1,048
This storys old, but it goes on and on until we disappear
Default

this is really cool, I can't even imagine all the work you put into it. Hopefully we can reward you with a small token of our gratitude soon enough.

I wonder what this will do to warstories
__________________
I DONT DESERVE YOU

Last edited by firecape; Aug 17th, 2011 at 12:01:30 AM.
firecape is offline  
Old Aug 16th, 2011, 11:54:16 PM   #20
Oglemi*
I crashed my car into the bridge, I don't care
is a member of the Smogon Site Staffis a Super Moderatoris a Contributor to Smogon Mediais a Tiering Contributoris a Contributor to Smogon
 
Oglemi's Avatar
 
Super Moderator
Join Date: Oct 2009
Posts: 5,532
~(^.^)~
Default

fucking brilliant aeo
__________________
<shade> what an intense scrotum

Oglemi is offline  
Old Aug 16th, 2011, 11:58:09 PM   #21
DanLite
 
DanLite's Avatar
 
Join Date: Jul 2007
Posts: 85
Ontario
Default

This is pretty sweet; it's impressive you've even added attack animations (simple yet effective!). They definitely help to visualize the flow of the battle.
DanLite is offline  
Old Aug 17th, 2011, 1:47:29 AM   #22
Pocket
Bakuman ;<
is a Forum Moderatoris a Community Contributoris a Tiering Contributoris a Contributor to Smogonis a Team Rater Alumnus
 
Pocket's Avatar
 
Moderator
Join Date: Dec 2004
Posts: 7,188
Bergenfield
Default

I encountered another problem. After Pursuit-killing Starmie, the replay wont progress any further :0

http://aesoft.org/pokemon/replay-Che...nd--2011-08-17
Pocket is offline  
Old Aug 17th, 2011, 2:16:36 AM   #23
Zarel*
>> BEGIN POSTBIT
is a member of the Smogon Site Staffis a Battle Server Administratoris a Super Moderatoris a Programmer
 
Zarel's Avatar
 
Super Moderator
Join Date: Aug 2011
Posts: 1,134
>> END POSTBIT
Default

Quote:
Originally Posted by Fat Pocket View Post
I encountered another problem. After Pursuit-killing Starmie, the replay wont progress any further :0

http://aesoft.org/pokemon/replay-Che...nd--2011-08-17
Fixed. The replay didn't like Starmie getting called back after it fainted.
Zarel is offline  
Old Aug 17th, 2011, 2:20:13 AM   #24
Darkaxis
 
Darkaxis's Avatar
 
Join Date: Jun 2011
Posts: 696
No I am Stone_Cold
Default

This is fucking awesome you a genious son Can you upload battle to youtube and such? becausethat would be pure epicness
__________________
Quote:
<McGraw> so today i almost helped an amputee with her shopping up some stairs
<McGraw> she had a stump for an arm at the elbow
<+aldaron> lol
<McGraw> but i didn't
<+aldaron> why didnt you actually help her
<McGraw> because i was about to say "do you want a hand?"
<+aldaron> haha
<+Milkis> ouch
<CN> lol
<Gmax> lol
<McGraw> i stopped myself before i said it
Darkaxis is offline  
Old Aug 17th, 2011, 2:28:33 AM   #25
symphonyx64
Strive to be the best you can be everyday of your life
is a Community Contributoris a Contributor to Smogon Mediais a Battle Server Moderator Alumnusis a Smogon World Cup defending champion
 
symphonyx64's Avatar
 
Join Date: Sep 2008
Posts: 1,087
Default

Quote:
Originally Posted by Fat The Doritos Trainer View Post
This is fucking awesome you a genious son Can you upload battle to youtube and such? becausethat would be pure epicness
You can screen record it then upload it to Youtube. Although, I'm sure aeo has an export to video feature planned in the pipeline :P. If you could implement something along those lines, that would be super slick!
symphonyx64 is offline  
Closed Thread Smogon Community > Contributions & Corrections > Projects

« Previous Thread | Next Thread »
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -4. The time now is 10:55:24 PM.