Pokemon Team Optimiser

‘Context’ and ‘Tech Stack’ can be found at the bottom

How to use, acronym meanings, etc

Very Quick Intro

The website optimises a teams Base Stat Totals (BST), whilst at the same time minimising weaknesses, within a given set of other constraints.
Using the sliders, you can edit the BST and weaknesses cap, and some of the initial basic constraints.

All will be explained! But if you feel like diving in, I like to think it is fairly intuitive.

Abilities, Megas, Terrastilisation

Not accounted for – yet 😉

Terminology

(av, mx)

Shorthand for Average and Maximum. 
When the constraints are onerous, there will be a bigger discrepancy between the two. What this means:
  – For BSTs – It is maximising the total team BST. For an example team of 2, it might be that the highest total is acheived with 1 very high BST and 1 low/average BST, to balance out the weaknesses. This is multiplied out for a team of 6.
  – For typing – Your team might take neutral damage across most of the board, but there has to be a type (or a joint few) that will hit super effectively. This is the same with attacking, your pokemon will hit super effective STABs on some types more than others. The av & mx allow you to see how disproportionally weak you are.

Offensive Constraints

Team super eff. STAB coverage

From memory, you need something like a minimum of six types to hit all of the other ones super effectively. Forcing these types mean the  This slider 

Team Size

Allows you to optimise for say a 3 pokemon team for the Battle Tower, or a 5 pokemon team if you want designate the 6th as a HM Slave.

Defensive Constraints

Max BST permissable

If we truly maximised the BSTs, we’d end up with a team of mythicals and legendaries. Not everyones cup of tea.
This slider allows you to cap the phenomenon, so a team is created at an appropriate power level.

Playstyle Constraints

Generation

Allows user to decide the pool of Pokemon that the optimiser can select from. Most computationally expensive, it can be prone to lagging and occasionally it is quicker just to reload the page.
Accounts for the addition of Steel, Dark and Fairy typing, and thier associated weaknesses.

Team Size

Allows you to optimise for say a 3 pokemon team for the Battle Tower, or a 5 pokemon team if you want designate the 6th as a HM Slave.

Power Constraints

Max BST permissable

If we truly maximised the BSTs, we’d end up with a team of mythicals and legendaries. Not everyones cup of tea.
This slider allows you to cap the phenomenon, so a team is created at an appropriate power level.

Context

I’ve been learning Python for a while now, but we all know that theories discussed in classrooms can only take you so far. I needed a real-world challenge to test my skills. I did not want my first project to be boring or carry any real gravity with it. I wanted to optimise a game or something silly.

Like many, I grew up playing Pokemon. It’s a childrens game, and therefore can be played and beaten without much thought. It can also be played through the lense of maths, probability and risk managment. There is a huge amount of free, open-source data on the internet, that enables this sort of playthough. I downloaded this, and made a funky little tool to help design teams.

Tech stack

I have a Python backend, that I’ve uploaded to PythonAnywhere.
This receives and sends Java Script Object Notation (JSON) to the React front-end.
This React front-end was built with Plasmic, and is hosted on Vercel.
I’ve set up my Hostinger DNS to point to Vercel, so the site loads through my own url.

You made it to the bottom of the page, perhaps you’ll enjoy one of these…

Similar

Random

Popular


News Letter

Generally speaking, if you read something on my blog, it will be available on other social media. If you’d like more depth and less filter, then the newsletter is for you. They take time to produce and pass QA, so I’ll only send max two emails a year

Contact and bookings

Name

Business & Speaking Enquiries

commercial@elliotcooke.co.uk

PR & PODCAST ENQUIRIES

bookings@elliotcooke.co.uk

Press

press@elliotcooke.co.uk

Events

events@elliotcooke.co.uk