Status of Pokemon Competitor, Call for Experienced Python Programmers

Pokemon Competitor started out as a replacement to NetBattle, a defunct RB/GS/RS simulator written in Visual Basic for Windows. We made a lot of progress on it - I wrote a server in C, Articuno64 made work on a client in C, and Surgo/Misty made headway on an extensible engine in C++. Without my guidance, I found that the portions other than the server were completely defunct, so I ended up scrapping that edition of the project.

The current implementation is (almost) entirely my work. We have a server in Python/Twisted, and a client in Python/wxWidgets. Both work cross-platform and have had a lot of work put into them to make them maintainable for the future. However, the person who was working on the engine (again, in Python) had expressed disinterest in continuing his work.

Realizing that I don't have enough time in the day to maintain all 3 parts of Competitor, I gave up Competitor (and Smogon) for months. If you didn't know, I am very overworked. Not only do I have Smogon and Competitor to work on, I have school, work, research, band, and a girlfriend. I have given up my social life completely to devote my life to my projects, and I'm starting to realize I can't do this alone.

The competitive community needs a quality, cross-platform simulator that supports not only DP, but all 4 generations and double battles. We have a great client and server implementation ready. We need a Pokemon engine.

So: I am formally recruiting interested programmers. If you want to secure yourself a place in realizing the greatest simulator the community has seen, please post in this thread. I'll be happy to answer any questions. To apply, you need to have an understanding of Python. You need to have experience programming.

If you want to know more or volunteer your time, please post in this thread and tell me a little about yourself.

Expert Evan

every battle has a smell!
is a Forum Moderator Alumnus
While I have not familiarized myself with Python, I would be interested in volunteering some time as necessary.

At this point, I am now within 2 months from finally completing my master's degree in Computer Science as I've procrastinated for too long in coming up with a project idea but things are finally moving along and I expect to have completed once and for all. Between work and family and some bad habits it hadn't been easy.
I'd be happy to help, but I'm busy with my own project...
Anyway, I suggest you ask poccil; he created a full Advance battle system (including double battles) in Ruby, which should be possible to convert to Python. I myself have added on most of the D/P systems, if you need those (again, in Ruby).
I hope this helps; it's great to see Competitor going again anyway!
I'm interested and can help if needed. I'm not exactly a pro in Python programming but I do have a small amount of knowledge about it. I know about basic C++ functions if that counts any and I do have experience in making programs, although they're simple.


1 to 63 were taken
is a Tournament Director Alumnusis a Site Staff Alumnusis a Battle Server Admin Alumnusis a Programmer Alumnusis a Live Chat Contributor Alumnusis an Administrator Alumnus
I'd highly recommend using Stackless Python for the battle engine. CPython does have greenlets, but they can't be pickled. With Stackless, each battle could have its own serializable microthread, so it would leave open the possibility of saving battles to disk (though it probably wouldn't be difficult to just switch from greenlets to Stackless if it came time to implement this feature). I could go into more detail about why some form of cooperative multithreading is important, but I think chaos already knows.


formerly blackshellbowser
I am very interested in working on the engine!

I am into my third year of Computer Science.

I do have a basic understanding of Python (I have also worked with other languages such as PHP and Ruby) and can learn more.

I do have experience programming. Classwork is a small part of that. I work for a transportation lab for almost a year now and our software was used on Inauguration Day. Most of my work has been in PHP, with a little bit of Javascript here and there.


Trying to get my Smods back D:
is a Site Staff Alumnusis a Smogon Social Media Contributor Alumnusis a Super Moderator Alumnusis a Live Chat Contributor Alumnusis a Researcher Alumnusis a Tiering Contributor Alumnusis a Battle Server Moderator Alumnus
I've used java a bit and can use it comfortably, and have started using python since you suggested that i practice it. I'm also comfortable with programming, although I haven't done it in a while, I can pick it up comfortably
No stackless python, it lags behind cpython and has bugs from what I've heard. If we want to resume battles, all we have to do is serialize the battle state anyway


happiness is such hard work
is a Contributor Alumnusis a Smogon Media Contributor Alumnus
I have interest and some limited experience in programming and am currently in the process of learning Python. I would be more than glad to help in any way possible.
I'm not skilled compared to the people who have been working on Competitor, nor do I know a lot of Python (I'm learning!), but I'd like to volunteer.

My experience with programming:
From the 3 years of high school programming classes (lol), I know the basics and (most?) data structures (trees, heaps, hashtables, etc), but I'm unfamiliar with higher level concepts like serialization and threading. The higher level concepts I'm familiar with are regular expressions and endianness. I also have some experience in game design; I programmed Tetris with a storyline and a XHTML parser in JavaScript. Also programmed a Ruby module that converted binary into a data structure, made a Java applet, and a Shoddy bot.


np: Biffy Clyro - Shock Shock
is a Site Staff Alumnusis a Programmer Alumnusis a Live Chat Contributor Alumnusis a Researcher Alumnusis a CAP Contributor Alumnusis a Tiering Contributor Alumnusis a Top Contributor Alumnusis an Administrator Alumnus
I have quite a lot of experience in programming but, unfortunately, not in Python. However, if you need any (other) help regarding Competitor, I can happily help. Though, like you, I have my fair share of things going on with my own life - besides, of course, Smogon, I have work, my new house (which is almost finished) and the preparations of my marriage (I'm marrying in 2 and a half months) to take care of.

I'll look into the rating system I suggested a few months ago again to see if it can be improved further, for starters.
X-Act , we will probably need you later to supervise the implementation of some of the moves

RB-Golbat, Sarenji, familiarize yourselves with Python, I'm sure I can find stuff for you all to do.
Wichu mentioned conversion... I do understand the desire to be totally original and write it from the ground up but really this would speed things up quite a bit.
Shoddy's D/P/Pt engine is also available to those who download the source, and can be converted to python.
I'm not a programmer(though it's something I want to get into), but even if adaptations and edits have to be made, conversion still seems like an easier path to the finish.
Chipping In

I was actually planning to make my own Pokémon-battle engine within Python! I'll gladly help your endeavor. I've got three years of experience, with a sole focus on game-development. Some hard luck has left me with no computer of my own, so I've been investigating how to sneak Python/Pygame onto computers wherein I have no admnistrative clearance: any help with that is appreciated!

In the next few days, I'll have a rough "sketch" of the basic battle-skeleton; and I'll upload it to my Google-page, here. I'll have my own personal deviation, with my own mechanics; but that won't interfere with Competitor, I promise.
I hope you keep it up Alfonso, despite not getting any encouragement. It would be really cool if you ended up writing the whole thing and got another Pokemon Sim out there on the 'market'.
I shall be glad to help in any way you all need it. I realize I'm new, but I catch on fast and I am taking a programming class in school if that counts for anything.
Breaking Radio-Silence

I hope you keep it up Alfonso, despite not getting any encouragement. It would be really cool if you ended up writing the whole thing and got another Pokemon Sim out there on the 'market'.
I apologize for two months with no reports! I was trying to use the sketches directly, and it didn't work at all. I've got plans to retry an overall battle-plan, tonight (this morning?). I won't be doing it in pseudocode, to be sure! I'll have a scan of my drawing, tomorrow, but I can't guarantee any exact time therein.

What I've figured is that commands are actually fully independent blocks of processes: there's no template whatsoever, outside of basic attacks. Using a “freeform”-design, I've simply got to order executions. With everything that's gone on, personally, I don't clearly know if I'm deviating from my previous approach.

Users Who Are Viewing This Thread (Users: 1, Guests: 0)