Zarel回答

是什么契机让你开始编写Pokemon Showdown程序?

I was 8 years old when Pokémon came out, and it was immediately all my friends would talk about. It took a central point in my life and was always one of my favorite games.

I was around 13 years old when I discovered Smogon, a website about competitive Pokémon strategy. I was always too afraid to play competitively, but I would read strategy articles and admire the amount of thought that went into it.

I started playing competitively on Pokémon Online when I was 20, during the HeartGold and SoulSilver times. My first win was a Ludicolo sweep on a Rain team.

I always thought it would be nice to watch other people's games and show them my games, but after a game in Pokémon Online was over, all I had was the text replay file. So I made a replay animator site, that would convert the text replay into a web page with an animation of the battle.

I showed the replay animator to the Smogon community, and everyone loved it. So I started thinking about what other things I wish I could fix about Pokémon Online, and decided I could just rewrite the entire thing.

是什么让你选择了当前的网页APP模式?(Why node.js based web app?)

My replay animator, which became the animation engine, was already a web app.

I also already had a lot of experience with HTML and JavaScript, which are overall much easier to write than desktop apps are, as well as supporting more platforms (Windows, Mac, phones, etc).

It just happened that earlier the month I started work, a friend of mine told me about Socket.IO, a library for communicating between web pages and servers, which looked really cool and made me want to write a multiplayer game using it.

(Socket.IO ended up being too slow for Pokémon Showdown - I had to switch to SockJS after a few months.)

在PS刚刚起步的时候,你对当时的主流平台Pokemon Online是什么看法?

It was what I used at the time, so I was pretty familiar with it – I liked a lot about it, I disliked a lot about it.

I do think it was a significant improvement over previous simulators, in terms of being easy to use. I respected its general commitment to making things fun – it put a lot more work into making things look nice than previous simulators did.

在PS同时在线人数破万时你的心情是怎样的?

When I started, Pokémon Online had around 900 users at a time. I had Smogon's support, so I expected it wouldn't be too hard to match that, but I never really expected to do much better than that. I had an idea that it might be more, since it's easier to link to web apps and get friends to play, but my idea of "more" was something more like "1,500".

The first time we got over 10,000 users at a time was when it was linked from Reddit, a social news site. That was a few weeks out of private beta! The server couldn't handle it; I had to quickly rewrite a lot of things for increased performance.

A bit over a year later, I started consistently getting over 10,000 users at a time. That was unexpected.

During the early years, I used to be constantly overwhelmed with the number of users. Even by the time we hit 10,000, I used to think "it's not ready yet, there are still so many features I want to add, and the performance isn't fast enough to handle this many users yet!"

Honestly, I still think it's not ready yet. There are so many features I still want to make: Friends, translations, multi battles. That's part of why it still says "BETA".

The performance is fine now, though. :smiley:

在PS的开发过程中,你最有成就感的一个时刻是怎样的?

That's not really something I think about very often. I spend most of my time thinking about what improvements I still want to make, and not much time thinking about how far I've come.

I guess I'm pretty proud of the teambuilder – a lot of work has gone into making the search features as fast and as pleasant as possible. There are a lot of fancy features – did you know you can drag-and-drop teams between the teambuilder and your computer?

在宝可梦对战平台经历了从Netbattle到Pokemon Online再到Pokemon Showdown的进化历程之后,你认为Pokemon Showdown会在下一个十年保持主导地位吗?

People have tried and failed to make a simulator better than Pokémon Showdown.

Showdown is really hard to compete with – a lot of features were refined over years, and can't be duplicated easily. Getting to the current level of quality and performance is really hard; there's a level of attention to detail not found in much other software at all, much less Pokémon simulators. Did you know I spent a lot of time working with blind people to get it to be playable without vision?

Many parts of Pokémon Showdown have been rewritten since the beginning, too – it's not old code, it's a lot of modern code, written with the lessons learned from past mistakes. And I've never stopped improving it.

Maybe one day, a new simulator will rise up to take its place. I don't think it'll happen as long as I'm still at the helm, though.

听说多语言支持一直在PS的todolist上,但实际上还有很长的路要走。你如何看待中国服务器pschina当前使用的基于正则表达式(regex)替换的userscript汉化插件(https://github.com/kirliavc/psscript/blob/master/showdown.user.js)?

Most features left are pending a rewrite of the client in React, and translation is definitely one of those features. I'd estimate that at this point, it's a matter of months, though, before I push through some basic support.

In the meantime, I have no problem with stopgaps like a userscript.

As is known to all, there are a limited number of players, so i often wait a long time for opponents. Even if i find my rival, they usually use the same team, thus lowering my interest. Have you ever considered letting robots compete on the ladder, who have a good command of all kinds of teams?

We already allow bots on the ladder, and several already exist.