WikiGen is tool that will allow Rom Hack creaters/maintainers (or anyone interested) to quickly and easily create user friendly wikis for their Pokemon Rom Hacks. The generated wikis will make it more convenient and pleasant for users to search through a Rom's documentation. No need for any more rich text files or word docs lol.
It allows you to document changes to:
- Pokemon (types, stats, move set, etc)
- Wild Encounters
- Trainer Encounters
- Moves
- ...and more to come
And have those changes immediately reflect in the wiki.
-
Install Python on your system and run
pip install mkdocs mkdocs-material
in a terminal. -
Download and install the application binary for your operating system.
Important
On Mac, when you try to open the app, you might get this popup message. "'WikiGen' cannot be opened because the developer cannot be verified." The app is currently unsigned but I plan on signing it in the future. For now, just follow the below instructions once to get past it.
- Open Finder
- Ctrl + click the app
- Click Open
- You might get one more popup. Click open again.
Creation
-
Start the app and click the three dots to open the Wiki Select Menu and select "Create New Wiki".
-
Fill out the fields as instructed and click the "Create Wiki" button.
Tip
Use your github username to make deployment to github pages easier. However, you can use a different name if you prefer to host it elsewhere
- Click the three dots again and select the new wiki. You'll see new pages for Pokemon, Routes, etc.
Running the Server
Navigate to the Wiki Testing page and follow the instructions to get the local server running.
The app comes preloaded with data for all 1025 Pokemon. As of this release, you can modify a Pokemon's types, abilities, stats, evolution details, and movesets.
Note
The data is currently missing mega-evolutions, regional variants, and some minor forms.
On the Pokemon page, find, edit, and save any entry. Saved changes will be immediately reflected in the wiki. Give it a go!
- Open the "Generation" tab on the Pokemon page
- Select a range (representing the Pokedex number for Pokemon) and click Generate.
- Wiki pages for all Pokemon within that range will be generated.
Open the Game Routes page and create a new route, eg, Nimbasa City, or Route 1. Open the newly created route by clicking its box. All changes to wild encounters and trainer encounters will be reflected in the wiki.
Tip
You'll also see an option to "Modify Encounter Areas." Use this to add all the environments where a player can encounter wild pokemon on a route. Eg. Grass, Tall-Grass, Surfing, Fishing, Cave, etc.
You can add as many as you wish.
Documenting Wild Encounters
- Select the "Wild Encounters" tab. (You should be here by default)
- Fill in the encounter area, Pokemon, and Encounter rate and click save.
- The new route and wild encounter should be reflected in the wiki.
- Do this for all wild pokemon on the route.
Documenting Trainer Encounters
There are quite a few things you can do when documenting trainer encounters.
- Select the "Trainer Encounters" tab
- Add the Trainer Name, one of their Pokemon and its level and click save.
- You should now see the Trainer and their Pokemon.
- Add their other Pokemon, if they have more.
- Hover over one of the Pokemon cards, you should see an edit and a delete icon appear.
- Click the delete icon to delete a Pokemon from the team.
- Deleting all Pokemon will delete the trainer as well.
- Hover over one of the Pokemon cards, you should see an edit and a delete icon appear.
- Click the edit icon and a dialog will open.
- If applicable, give the pokemon a nature, held item, ability, trainer version (will explain later), and moves.
- Repeat for all pokemon on the team as necessary
For some trainers, such as gym leaders, you may want a sprite.
- Click the three horizontal dots beside the trainer name and select Add sprite.
- Type in the name of a sprite, such as blue and click Set Sprite.
Note
All trainer sprites are taken from the Pokemon Showdown Trainer Sprites page. You can peruse this site if you're not sure what sprite name to use.
Also, credit to all of the artists who made these sprites! Wouldn't be able to shout them all out here lol
It's possible for a trainer to have different versions depending on in-game factors. A good example would be your rival's starter, which will depend on the starter you choose.
You can create different versions of trainers to reflect their team based on in-game factors.
- Click the three horizontal dots beside the trainer name and select Modify Trainer Version.
- Type in a version name based on a defining charasteric, eg. "Fire" to represent their team if you pick the grass starter, and click "Create this option"
- Click anywhere outside of the dialog to exit.
- Hover over one of the Pokemon cards and click the edit icon.
- Add the versions of the trainer that the pokemon will belong to.
Simply open the "Generation" tab on the Game Routes page and click "Generate Pages".
I'm writing these intructions under the assumption that you're deploying to github pages.
- Have a Github account
- Create a new repository with the name (code name) of the wiki. Eg. blaze-black, emerald-kaizo, etc.
- Open a terminal and navigate to the wiki's dist folder.
- Run the following git commands:
git init
git add .
git commit -m "__Update_Message__"
git remote add origin [email protected]:AkeemAllen/test-deployment.git
git push -u origin main
- Finally, run the command
mkdocs gh-deploy
to deploy the site to github pages. The command will also spit out a link to your wiki's site. - Visit the link and refresh after a few minutes, the site should be available.
Your Wiki is now deployed and ready to be used by you Rom Hack Enjoyers!!!!
I plan on automating the deployment process in the future.