A simple, useless but also pretty script written in Go that prints random Pokemon across your terminal every time you login (or every time you want!)

  • By Francisco Carrasco Varela
  • Last update: Nov 12, 2022
  • Comments: 0

Contributors Forks Stargazers Issues MIT License LinkedIn



A simple, useless but also pretty script written in Go that prints random Pokemon across your terminal every time you login (or every time you want!) Logo
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Prerequisites
  3. Installation
  4. Usage
  5. Coming Soon...
  6. License
  7. Contact
  8. Acknowledgments

About The Project

      _.----.        ____         ,'  _\   ___    ___     ____
  _,-'       `.     |    |  /`.   \,-'    |   \  /   |   |    \  |`.
  \      __    \    '-.  | /   `.  ___    |    \/    |   '-.   \ |  |
   \.    \ \   |  __  |  |/    ,','_  `.  |          | __  |    \|  |
     \    \/   /,' _`.|      ,' / / / /   |          ,' _`.|     |  |
      \     ,-'/  /   \    ,'   | \/ / ,`.|         /  /   \  |     |
       \    \ |   \_/  |   `-.  \    `'  /|  |    ||   \_/  | |\    |
        \    \ \      /       `-.`.___,-' |  |\  /| \      /  | |   |
         \    \ `.__,'|  |`-._    `|      |__| \/ |  `.__,'|  | |   |
          \_.-'       |__|    `-._ |              '-.|     '-.| |   |
                                  `'                            '-._|
                                ASCII LOGIN

Do you love Pokemon and you also use terminal a lot as I do? Well, I thought a simple pretty message every time you log in (or every time you want) with some random Pokemon on it would be nice. And that is exactly what I did!

Nice, useless and simple!

There was a time where I used Pokemon Terminal (a great project, by the way, check it out!). However, changing the background of my terminal was a little bit too much for me, since the background color of some Pokemon that I liked just did not fit with the colors of my font I was used to use. So I decided to write a simpler idea, based on that project, but less 'intrusive'. The solution? A simple, but pretty message.

(back to top)


Since it is written in Go, here I provide an executable binary. So you do not need to install Go or any other dependencies on your machine. Enjoy!

Alternative: You just need Go on your machine and build the project with go build command.

(back to top)


See Installation guide to check how to install it on your machine!

(back to top)


Since it is a simple executable you just can type in your terminal:


will show you something like

Simple terminal example

However, since I tried to create it as a 'login', I recommend to add this executable to your "resource file" .rc for more fun!

If the program is capable of reading the number of columns in your terminal, Pokemon printed will be centered. Otherwise they will just be printed at left side (just as a normal print).

(back to top)

Configuration / Customization

In your PokeASCIILogin directory you have just cloned, you will find another directory called data and within it a JSON file called config.json. Changing values in data/config.json file will configure Pokemon that will be printed. You can set the following parameters to 'customize' Pokemon printed as follows:

  • gen: Value can be set from 0 to 8. This is Pokemon gen number you want to print. For example, setting this value to "gen": 1 will only print Pokemon from 1st gen. Default value is 0, where 0 basically means "any gen".

  • color: Color for every Pokemon to be printed. Default value is default, which means every Pokemon will be printed with a color related with its primary type as provided by PokeApi. Others values accepted are random which will select a completely random color for every Pokemon or you just can type a color, e.g., "color": "red" will print all Pokemon in red color.

  • style: This one is my favorite. Typical terminals have 2 styles allowed: blink and reverse. Changing style to one of these options will look like the following:

    • blink Simple blink example
    • reverse Simple reverse example

    Default style is none.

  • group: I decided to group Pokemon is some groups, which are starter, legendary, pseudolegendary, favorite and none. Where none are simply Pokemon that do not belong to the first 4 groups mentioned. Default is random, which is any group.

    P.S.: If you really love some Pokemon and you always want it on your screen, a 'hack' tip is editing data/config.json file to the Pokemon you wish, and change its group to favorite.

(back to top)

Coming Soon...

Depending on the support this simple thing has, I will try to add the following features

  • Be able to select completely custom Pokemon just by their name or ID
  • Order Pokemon by different criterias such as ID, weight, height, etc

See the open issues for a full list of proposed features (and known issues).

(back to top)


Distributed under the GNU General Public License v3.0. See LICENSE for more information.

(back to top)


p4nchit0z - [email protected]

Project Link: https://github.com/p4nchit0z/PokeASCIILogin

(back to top)


Built With

(back to top)