Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Download links are located near the bottom of this README.

FUTURE: Look into GitHub releases now that Java 12 is being used.

Table of Contents
Pokémon Walking Algorithm
Level Editor
Scripting Editor

System Requirements:

  • OpenJDK 14.0.2 or newer
  • Visual Studio Code v1.58.0 or newer
  • Java Extension Pack
  • Gradle 6.7 or newer
  • JUnit Jupiter 5.4.2 or newer




Pokémon Walking Algorithm (Working Title)



Implements the walking algorithm used in classic Pokémon G/S/C games. Also includes a level editor to create your own game areas.

MILESTONE HAS REACHED, ALL PRIORITIES ARE SHIFTED TO LOW! That means I won't be working on this as active as I used to be, but it is still in development. Note that it does not mimic the walking algorithm used in Pokémon R/B/Y games (1st generation games). I also no longer put new releases here at GitHub, due to the lack of showing downloads count. For more information, please scroll to the bottom.

NEW UPDATE: School life has now taken up 90% of my entire free time. As far as I know, my courses are time-consuming, I feared I can no longer update this project as I wanted. Sucks though, because this is a wonderful project I couldn't just put it down. Apparently, Java 2D isn't popular and welcomed at my school, so it's now disheartening for me to sponsor this and let everyone else know. But, I'll do my best to continue efforts on completing it. /UPDATE


How to Build:

  1. Navigate to PokemonWalking/ directory after cloning the repository.
  2. Run gradle clean jar.
    • On Windows, replace gradle with .\gradlew.bat.
  3. To run the game, run the command: java -jar game/build/libs/game.jar
  4. To run the level editor, run the command: java -jar levelEditor/build/libs/editor.jar



This is a project I am currently working on while I'm doing conscription service. The aim of this project is to port the walking algorithm used in the 2nd generation games of the official Pokémon game series. At the moment, I'm leaving out the 1st generation walking algorithm, as the 2nd generation games introduced "turning on the spot".

If all bodes well, it's possible that this will become a Java port of the Pokémon 2nd generation games. Highly likely, but I don't want to get my hopes up too soon.

It's still in very early stages of development. Possibly even earlier than "alpha". Everything is done from scratch/by hand. Only the character design is mostly mimicked from the original Pokémon games.



Showcases the possibilities:






  • Use WASD keys or the arrow keys to navigate around. Tapping the keys will "turn on the spot".

  • Just walk into the water to surf around.

  • Use Z, X to interact. / and . can also be used. ZX and arrow keys are for right hand users, WASD and ./ are for left hand users.

  • Press Enter to open start menu.


  • To save your game, use the in-game menu option called "Save".

  • To load your game, just start up the game. Loading is done automatically upon start up.

  • To delete your saved data, just delete the "data.sav" file that was generated when you save your game.



Level Editor



A level editor used to create custom maps that can be loaded into the game by anyone.



This level editor is designed with the intention of easily create maps and allow better focus on development. Since the game loads the area maps from PNG bitmap files, I thought that it would be much nicer if there's a program that allows me to draw area maps more quicker and easier.

It used to be painstakingly laborious to draw area maps. I had to open up Paint.NET, a graphics editor that I used, and follow the rules of drawing tiles set forth by the documentations that I wrote for this game, and have to use an Eyedropper tool to look up the pixel colors in Paint.NET to check for consistencies and errors. And once that was done, I would had to redo everything if the area map loaded up by the game turns out to be wrong or a tile was drawn incorrectly. Everything about it was just tedious to begin with.

With this level editor, I was able to speed up development, and easily draw out test areas for debugging new game mechanics. Just fire up this program, quickly draw something, save it, let the game load it up, and then finally test everything out. It's quick, simple, and gets the job done.

This level editor is released to the public to allow players to create their own custom areas and play them from the game.


Demo and Usage:

How to use the Level Editor, part 1:

How to use the Level Editor, part 2:

How to use the Level Editor, part 3:

You Should Know when starting the game:

Adding your Custom Maps:

Loading your Custom Maps:



Script Editor



A script editor. Users can create custom scripts that controls the aspects in a map.



This script editor is part of the level editor that comes with the game.

Its purposes is used for simple script creations, allowing the users to create custom scripts for players to interact in their custom maps. The user can save, load, and create custom scripts with the help of its graphical user interface. The interface is designed intuitively for users to quickly create scripts.

Scripts are what will become Triggers and Events that the game will have in the maps. Currently, Triggers and Events are not yet completed. Stay tuned.

Automation Script Guide

DESCRIPTION: Entities that can walk, or run, must be required to have movements for the game to feel lively.

FUTURE: More commands to come.

_    : Whitespaces.
@    : Trigger name.
^    : [Direction, Steps]. Can be chained for delaying scripted movements.
$    : Start of script. Always appear at beginning of script.
%    : Script delimiter. Always appear at end of script.
#    : Speech Dialogue.
/    : Comments. Gets ignored.
?    : Question Dialogue.
+    : Affirmative dialogue.
-    : Negative dialogue
[    : Affirmative Action
]    : Negative Action
;    : Repeat Flag. If contains ';', it means it's enabled by default.




In development Beta (Close to completion) Complete
Script Editor Dialogues All Movements*
Level Editor Ledges
Triggers/Events Area Transitions
Stairs / Doors
Cliff Jumping
Wall Collisions
Tile Animations
Entity Interactions
Inventory / Items
NPC Collisions
Obstacles Scripting
NPC Scripting

*All movements: Walking, Facing/Turning, Surfing, Bicycling, Jumping, NPC collisions, Obstacle collisions, etc.


Known Issues:

  • There may be issues with the tiles-to-tiles interaction, causing unwanted bugs.
  • There may be hidden issues I haven't seen/know of yet.
  • All items will exit out of inventory.
  • I may not have enough time to put time and effort on this project.



  • Implement all walking situations from the original games. Walking, surfing, jumping over ledges, riding bicycle, etc. (MAIN GOAL) (MILESTONE COMPLETE!)
  • Create a game completely different from Pokémon games. (Extended Plan, low priority, low activity, won't guarantee completion.)


Downloads Old Stable Version Link
Walking v20 (6/18/2015)
Editor v6 (6/18/2015)

New releases are now filed under GitHub Releases, and uses the standard Semantic Versioning (X.Y.Z).

Extract the JAR file from the ZIP file after you have downloaded it. Then double-click on it to run.


Wanna chat?

You may head over to The Helper Forums, or to post your feedback and/or comments. Much appreciated.

Discussion Site Link to Discussion Thread (Including latest release info)
The Helper Forums


Implementing the walking algorithm used in classic Pokémon G/S/C games.







No packages published