A Pokemon Adventure Bot on Telegram!

in #utopian-io6 years ago (edited)

Repository

https://github.com/Divirad/pokemonadventurebot

a PokemonAdventureBot

on Telegram



What is the project about?Um was geht's?
Are you also nostalgic and dream your way back to the time when you played the first generations of Pokemon (red, blue & yellow) on the Gameboy or Gameboy Color? Then this project is surely something for you! We (Divirad) are currently developing a telegram bot for all nostalgic Pokemon fans, which we will host ourselves. The goal of this project is that in the end we will have a bot with all the old original game mechanics from the games red, blue and yellow. The functions already implemented are listed at "Stage 1" in the roadmap. We were inspired to this project by the Kampung Maifam Bot.Seid ihr auch gerne nostalgisch und träumt euch in die Zeit zurück in der ihr noch am Gameboy oder Gameboy Color die ersten Generationen von Pokemon (Rot, Blau & Gelb) gespielt habt? Dann ist dieses Projekt sicherlich was für euch! Wir (Divirad) entwickeln momentan gerade für alle nostalgischen Pokemon-Fans einen Telegram-Bot, den wir selber Hosten werden. Ziel dieses Projektes ist es, dass wir am Ende einen Bot mit allen alten originalen Spielmechaniken aus den Spielen Rot, Blau und Gelb zusammen gebastelt haben. Die bereits Implementierten Funktionen findest du unter "Stage 1" in der Roadmap. Inspiriert wurden wir zu diesem Projekt von dem Kampung Maifam Bot.


Technology Stack

  • Python 3.6 or higher
  • MySQL 5.7 or higher
  • pip install python-telegram-bot mysqlclient gitpython


RoadmapEntwicklungs-Plan
This project will have 6 stages of development.Dieses Projekt wird 6 Entwicklungsstadien haben.

  • Research
  • Stage 1 - 6

Already completed:

  • Research
  • Stage 1


Research
First we have to research the original game mechanics and algorithms from the Internet. These include how a Pokemon's chance of being caught is calculated, what values a Pokemon has and how these affect the fight. Of course there is a lot on the Internet but "unfortunately" these values are current and new values and logic updates in the algorithms have been added in the new generations. But we want to create a clone to the battle logic of red, blue and yellow.Als erstes müssen wir die originalen Spielmechaniken und Algorithmen aus dem Internet recherchieren. Dazu gehören zB. wie die Fangchance eines Pokemon berechnet wird, welche Werte ein Pokemon hat und wie diese sich auf den Kampf auswirken. Klar gibt es viel dazu im Internet, aber "leider" sind diese Werte aktuell. Es sind in den neuen Generationen neue Werte und "Logikupdates" hinzu gekommen. Wir wollen jedoch einen Klon der Kampflogik von Rot, Blau und gelb erschaffen.


Stage 1
In Stage 1 it will be possible to register via the bot in to the database. The selected Pokemon can also be renamed. We will also use this function later to rename newly caught Pokemon.In Stage 1 wird es möglich sein sich über den Bot in unserer Database Registrieren zu können. Das ausgewählte Pokemon kann man dann auch natürlich umbenennen. Diese Funktion werden wir später auch verwenden um neu gefangene Pokemon umbenennen zu können.
You will also be able to use a fully functional Pokedex, which has a side view, a single view and a search for Pokemon names and Pokemon ID.Man wird auch einen komplett funktionsfähigen Pokedex bedienen können, welcher über einer Seitenansicht, einer Einzelansicht und einer Suche nach Pokemon-Namen und Pokemon-ID verfügt.
It will be possible to generate a text Trainer-Card with the most necessary information to be able to compare with other trainer.Es wird möglich sein sich eine Text-Trainer-Card generieren zu lassen mit den nötigsten Informationen, um sich mit anderen Spielern vergleichen zu können.
It will also be possible to move on a small test map. However, no generated images are sent to the user, this would only slow down the bot and the user would be spammed with images.Zudem wird es auch möglich sein sich auf einer kleinen Test-Karte frei bewegen zu können. Dies wird aber nicht mit generierten Grafiken passieren, das würde den Bot nur zu sehr verlangsamen und der User würde mit Bilder überflutet werden.
Of course you can also check your PokemonTeam and see how much HP each Pokemon still has.Natürlich kann man auch sein PokemonTeam überprüfen und nachschauen wieviel HP jedes Pokemon noch hat.
This Stage 1 will be going live in a few days to give you a small impression of this project.Diese Stage 1 ist erst einmal dafür da euch einen kleinen Eindruck von diesem Projekt zu geben und wird in einigen Tagen live gehen.


Stage 2
In addition to the features already listed, there will be a shop system in Stage 2 with which the player can then buy items such as pokeballs. We will also implement a virtual bag into the menu where you can view and use your items.Zu den bereits aufgelisteten Features kommen dann in der Stage 2 ein Shop-System mit dem sich der Spieler dann Items wie zB Pokebälle kaufen kann. Dazu werden wir auch eine kleine virtuelle Tasche ins Menu einbauen in der man seine Items anschauen und einsetzen kann.
We will also develop a combat system that will stick one to one to the original games.Außerdem werden wir ein Kampfsystem entwickeln das sich eins zu eins an die originalen Spiele halten wird.
Pokemon will be inserted into the testmap which you can find by walking around and then catch after a fight.Auf der Testmap werden Pokemon eingefügt die man durch herumlaufen treffen und dann nach einem Kampf fangen kann.


Stage 3
In Stage 3 we will add a fully functional PokemonCenter. You will be able to heal your Pokemon. To heal a Pokemon will take 5 minutes. It takes 30 minutes to heal a whole team of 6 Pokemon.In Stage 3 werden wir ein voll funktionsfähiges PokemonCenter hinzufügen. Man wird seine Pokemon heilen können. Ein Pokemon zu heilen wird 5 Minuten dauern. Somit muss um ein ganzes Team aus 6 Pokemon heilen zu können 30 min gewartet werden.
It will also support a PokemonComputerSystem where you can manage your Pokemon team. These include: Put Pokemon in the box, take Pokemon out of the box into the team and a menu for more statistics for every Pokemon you've catchedAußerdem werden wir ein PokemonComputerSystem einbauen in dem du dein Pokemon-Team managen kannst. Dazu gehören: Pokemon in die Box legen, Pokemon aus der Box ins Team nehmen und ein Menü für mehr Statistiken zu jedem Pokemon, dass du gefangen hast


Stage 4
Stage 4 will be the great map update! We will create a laaaaarge map where you can explore and catch many Pokemon.Stage 4 wird das große Map Update! Wir werden eine groooße Karte erstellen, die du erkunden kannst und in der du viele Pokemon fangen können wirst!


Stage 5
In Stage 5 we will add gym fights to the bot. You will be able to fight 8 Gymleader!In Stage 5 werden wir Arena Kämpfe in den Bot einfügen. Du wirst gegen 8 Arenaleiter Kämpfen können!


Stage 6
We will develop a fair PokemonTrade system in Stage 6 to make it easier for you to fill your Pokedex!Wir werden in Stage 6 ein faires Tausch-System entwickeln damit es für euch einfacher sein wird, euren Pokedex zu füllen!
There will also be a multiplayer mode that you can use in telegram groups! So you(!) can start your own little Pokemon League!Zudem wird es einen Multiplayer Modus geben den man in Telegram Gruppen benutzen kann! So könnt ihr(!) eure eigene kleine Pokemon Liga starten!


How does it work?


easy, huh? ;)

How to contribute?

Contribute
You can contribute to this project by cloning the project from our Github repository and testing it. Of course you can also post ideas for features or suggestions for improvement either in the repository under Issues or via Utopian.io. You can also contact us via Telegram!Du kannst zu diesem Projekt beisteuern in dem du dir das Script für den Bot aus unserer Github-Repository klonst und es testest. Natürlich kannst du auch Ideen für Features oder Verbesserungsvorschläge entweder in die Repository unter Issues posten oder dies über Utopian.io tun. Du kannst mit uns auch über Telegram Kontakt aufnehmen!
Of course you can also fork the project and if you think you have an improvement in, then you are welcome to do a pull request. If we like it, we will merge it with the project.Natürlich steht es dir auch frei das Projekt zu forken und wenn du denkst du hast eine Verbesserung eingebaut, dann darfst du auch gerne einen Pullrequest machen. Wenn er uns gefällt werden wir ihn dann ins Projekt aufnehmen.



Picture-Source: Deviant-Art and own screenshots

Involved Team:
https://github.com/orgs/Divirad/people

A contribution by the DIVIRAD - Team
(I [ @kurodevs ] weren't working on it alone! Dyrax & Cionco also did a lot of work, i represent divirad with this account ❤️)

GitHub Account

https://github.com/PonySchreck

Sort:  

Hey, you do know that Nintendo/Game Freak are vicious about protecting their IP right? I highly suggest you do some changes so you don't infringe on any copyrighted/trademarked materials. You might wanna read about it.

Thank you! i will read it! but sadly the page is down :/

Hey @kurodevs
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Thanks for the contribution, @kurodevs! Very cool idea - Pokemon will always have a special place in my heart (I even started playing Pokemon Go again recently...).

Is there a reason why all the commits were made 18 hours ago around the same time?

An incredible amount of work must have gone into this, great job on that! For future contributions it would be nice if you could make it clear which commits are relevant to the contribution. I would also recommend using pylint or pep8 to go over your code and clean it up a tiny bit, but other than that everything looks great!

You could also consider checking out the blog category alongside the development category, as I think that could be a very interesting read as well.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Hey! Yeah pokemon is great! We are also very big pokemon fans and we also play pokemon go :3
we developed it first in a private repository on bitbucket and decided after completing stage 1 to go open source on github. Yeah, it was a very big amount of work xD we started the project at 2017-08-30 and we are really proud to publish it today open source! we hope for a lot of positive and negative critique from the community

Thank you for this great tip!! :3

Okaydokay i will add the tag!

Thank you for reviewing our contribution!

It's really great you went open source, I can't wait to see your future updates!

You don't have to add the "blog" tag, I just meant it as a suggestion: you could also consider creating contributions for that category as well, haha.

My trainer code: 1468 2365 8186, add me!

Im glad you like our project! :3

ahh okay haha xDxD

Thank you for this creepy bear! xD i will send you a present when i find one! x3

This post has received a 0.78 % upvote from @drotto thanks to: @patternbot.

Glückwunsch! @PatternBot hat Sie zufällig ausgewählt und unterstützt.
Hier ist Ihr Glückskeks:

Jedermann will einen Freund haben, aber niemand gibt sich die Mühe
einer zu sein.
@PatternBot supportet:

wheeey noch ein Glückskeks! Ich glaub langsam brauch ich eine größere vitrine D: Dankö @drotto ! xD