Pokémon Battle Game


Hello Guys, This is my game for GameJam.
I just started learning python and thought I should participate in this event too. :)
This was all I could do in the given time and oh thanks to the school for giving me such free time, I had more plans but nevermind. It's still a lot better than before.

About the game

Main Goal
The idea is to defeat the gym leaders, collect the badges, win the pokemon championship league and rise.
The game has a difficulty level set for each level. The enemy Pokémon now appear based on the gym leader. For example, Misty only has a water type pokemon. This may seem easy in the beginning but the game gets pretty hard as you level up. This game is not just about the moves, it's pretty much about the tactics too. The damage done by each move is not defined and hence the user has to choose the most suitable move for that time.
Each pokemon comes with different evolution and with each evolution gets a power boost. The user also earns coins per fight. After reaching a certain evolution and having enough coins, the user can purchase attacks from the shop.
You can also purchase Pokémon from the store though purchasing a pokemon can be expensive. :p

  • Attack Damage depends upon the type of Pokémon. This is included with the help file


There are 3 modes in this game

Story Mode

This will follow the main goal.
You fight trainers, get items and progress in the game.

Free Roam

Now, this mode is created only for the purpose of earning extra money.
In free roam mode, you will encounter 2 type of enemies, team rocket or random trainers. You will get 50 Poké per match.
There is a surprise after you beat Cerulean City Gym Trainer. :D

Random Trainers:

  • You will encounter random players, their pokemon level will be based on your pokemon level.

Team Rocket:

  • Their Pokemon are exclusive to them, they are not made available for purchase.

Survival Mode

  • Play to see it for yourself. :p


Almost Everything is available for purchase here, from pokemon to their health and even their attacks

I spent most of the time here so please do check all items.


Today is the day you are going to get your first pokemon but wait, ARE YOU SLEEPING ?!
You woke up late on the day you were going to get your first pokemon and now you are left with only 3 choices.

  • Pichu(Yes not even Pikachu. )
  • Charmander
  • Squirtle
    You choose one pokemon and embark on your journey to become the best Pokémon trainer. You fight gym leaders in order to acquire 'Gym Badges'. These gym badges are required to enter Pokémon Championship League.


Images used in the post, belong to their respective owners.
Thanks to Amelia Blackwell and leon332157 for the amazing json store library idea.

If you guys find any bugs please comment down below.
Also, if you like the game, don't forget to upvote it. :)
I recommend playing in a new tab as this game use ascii art
Click Here to Play

You are viewing a single comment. View All

I tried to play and this happened

Traceback (most recent call last):
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 421, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 416, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.8/http/client.py", line 1322, in getresponse
File "/usr/local/lib/python3.8/http/client.py", line 303, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.8/http/client.py", line 264, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.8/socket.py", line 669, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.8/ssl.py", line 1241, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python3.8/ssl.py", line 1099, in read
return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 719, in urlopen
retries = retries.increment(
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/urllib3/util/retry.py", line 400, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/urllib3/packages/six.py", line 735, in reraise
raise value
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 665, in urlopen
httplib_response = self._make_request(
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 423, in _make_request
self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 330, in _raise_timeout
raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='www.jsonstore.io', port=443): Read timed out. (read timeout=5)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main.py", line 27, in <module>
from mechanism import *
File "/home/runner/4e1itqtbyqm/mechanism.py", line 829, in <module>
File "/home/runner/4e1itqtbyqm/mechanism.py", line 343, in userinfo
data = client.retrieve(username)
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/json_store_client/init.py", line 68, in retrieve
resp = self.session.get(url, timeout=timeout)
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/requests/sessions.py", line 546, in get
return self.request('GET', url, kwargs)
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep,
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/home/runner/.local/share/virtualenvs/python3/lib/python3.8/site-packages/requests/adapters.py", line 529, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='www.jsonstore.io', port=443): Read timed out. (read timeout=5)


@BobTheTomatoPie jsonstore.io server error, I'm trying to reach the developer of this server but I'll try looking at other alternatives.
Thanks for showing your interest in this game. :D