Randomizes the warps in a stock pokeemerald repo.

Overview

pokeemerald warp randomizer

Randomizes the warps in a stock pokeemerald repo.

Usage Instructions

  • Install networkx and matplotlib via pip3 or similar.
  • Set POKEEMERALD environment variable to the path to your pokeemerald/ folder
  • Edit rand_idx at the top of the file to the seed to start searching from.
  • Ensure that the repo has not already been randomized, or the script will not work!
  • python3 randomizer.py
  • The script will search for randomized layouts which pass completability tests. This can take anywhere from a couple of minutes to an hour.
    • "Completable" is defined as a series of pathfinding routes from the first gym to the last gym to the Elite 4, including required story events and in-order. As such, it is highly likely that sequence breaks will allow faster completion. The pathfinding routes do not use Cut, Fly nor the bikes.
    • Current average amount of viable generated seeds is about 1 in 20,000.
  • After a seed is found, map JSONs will be modified and pokeemerald can be compiled

Notes

There are no guarantees on softlocking prevention, though several precautions are taken:

  • Littleroot Town is frozen to guarantee the player gets a Pokemon.
  • The Elite 4 are all frozen to enforce gym completion (but may be configurably unfrozen later?).
  • Petalburg Woods is currently frozen, but may be unfrozen later.
  • Mossdeep City Gym is frozen, due to complexity with verifying the puzzle can be completed with warps altered.
  • Petalburg Gym is frozen, due to doors being tied to trainers (high softlock potential).
  • Shoal Cave is frozen due to tides.
  • Trick House is frozen to prevent breakage.
  • Trainer Hill is frozen to prevent breakage.
  • Regi Tombs are frozen due to the Braille wall (but may be unfrozen later?).
  • The Mt. Chimney Cable Car is not randomized and will always travel between stations (the entrances and exits, however, are randomized).

Pathfinding Structure

  • By default, all warps are connected bidirectionally to a central node (ie, MAP_PETALBURG_CITY_WARP0..N will connect to MAP_PETALBURG_CITY)
  • Connections are a bidirectional edge between central map nodes (ie, MAP_PETALBURG_CITY <-> MAP_ROUTE102)
  • For maps with ledges, edges can be cut in either direction.
  • Maps with partitioning generally forgo the central node and connect warps directly to each other.
  • Edges which require HMs or story flags will have an additional attribute requires, and during the completion tests these edges are cut if flags haven't yet been obtained.
Owner
Max Thomas
I do reverse engineering work, vulnerability research, hardware drivers, modding tools and VR tinkering. Currently working at Ultraleap.
Max Thomas
Implements Gradient Centralization and allows it to use as a Python package in TensorFlow

Gradient Centralization TensorFlow This Python package implements Gradient Centralization in TensorFlow, a simple and effective optimization technique

Rishit Dagli 101 Nov 01, 2022
Official Pytorch implementation for Deep Contextual Video Compression, NeurIPS 2021

Introduction Official Pytorch implementation for Deep Contextual Video Compression, NeurIPS 2021 Prerequisites Python 3.8 and conda, get Conda CUDA 11

51 Dec 03, 2022
Code for the paper "Jukebox: A Generative Model for Music"

Status: Archive (code is provided as-is, no updates expected) Jukebox Code for "Jukebox: A Generative Model for Music" Paper Blog Explorer Colab Insta

OpenAI 6k Jan 02, 2023
PyTorch implementation of CVPR'18 - Perturbative Neural Networks

This is an attempt to reproduce results in Perturbative Neural Networks paper. See original repo for details.

Michael Klachko 57 May 14, 2021
Simple helper library to convert a collection of numpy data to tfrecord, and build a tensorflow dataset from the tfrecord.

numpy2tfrecord Simple helper library to convert a collection of numpy data to tfrecord, and build a tensorflow dataset from the tfrecord. Installation

Ryo Yonetani 2 Jan 16, 2022
LightNet++: Boosted Light-weighted Networks for Real-time Semantic Segmentation

LightNet++ !!!New Repo.!!! ⇒ EfficientNet.PyTorch: Concise, Modular, Human-friendly PyTorch implementation of EfficientNet with Pre-trained Weights !!

linksense 237 Jan 05, 2023
Sequence-to-Sequence learning using PyTorch

Seq2Seq in PyTorch This is a complete suite for training sequence-to-sequence models in PyTorch. It consists of several models and code to both train

Elad Hoffer 514 Nov 17, 2022
A stock generator that assess a list of stocks and returns the best stocks for investing and money allocations based on users choices of volatility, duration and number of stocks

Stock-Generator Please visit "Stock Generator.ipynb" for a clearer view and "Stock Generator.py" for scripts. The stock generator is designed to allow

jmengnyay 1 Aug 02, 2022
Generating images from caption and vice versa via CLIP-Guided Generative Latent Space Search

CLIP-GLaSS Repository for the paper Generating images from caption and vice versa via CLIP-Guided Generative Latent Space Search An in-browser demo is

Federico Galatolo 172 Dec 22, 2022
This is the official PyTorch implementation of the paper "TransFG: A Transformer Architecture for Fine-grained Recognition" (Ju He, Jie-Neng Chen, Shuai Liu, Adam Kortylewski, Cheng Yang, Yutong Bai, Changhu Wang, Alan Yuille).

TransFG: A Transformer Architecture for Fine-grained Recognition Official PyTorch code for the paper: TransFG: A Transformer Architecture for Fine-gra

Ju He 307 Jan 03, 2023
This repository contains the code for using the H3DS dataset introduced in H3D-Net: Few-Shot High-Fidelity 3D Head Reconstruction

H3DS Dataset This repository contains the code for using the H3DS dataset introduced in H3D-Net: Few-Shot High-Fidelity 3D Head Reconstruction Access

Crisalix 72 Dec 10, 2022
Remote sensing change detection tool based on PaddlePaddle

PdRSCD PdRSCD(PaddlePaddle Remote Sensing Change Detection)是一个基于飞桨PaddlePaddle的遥感变化检测的项目,pypi包名为ppcd。目前0.2版本,最新支持图像列表输入的训练和预测,如多期影像、多源影像甚至多期多源影像。可以快速完

38 Aug 31, 2022
Open & Efficient for Framework for Aspect-based Sentiment Analysis

PyABSA - Open & Efficient for Framework for Aspect-based Sentiment Analysis Fast & Low Memory requirement & Enhanced implementation of Local Context F

YangHeng 567 Jan 07, 2023
This repository contains demos I made with the Transformers library by HuggingFace.

Transformers-Tutorials Hi there! This repository contains demos I made with the Transformers library by 🤗 HuggingFace. Currently, all of them are imp

3.5k Jan 01, 2023
Semiconductor Machine learning project

Wafer Fault Detection Problem Statement: Wafer (In electronics), also called a slice or substrate, is a thin slice of semiconductor, such as a crystal

kunal suryawanshi 1 Jan 15, 2022
A Pytorch implementation of the multi agent deep deterministic policy gradients (MADDPG) algorithm

Multi-Agent-Deep-Deterministic-Policy-Gradients A Pytorch implementation of the multi agent deep deterministic policy gradients(MADDPG) algorithm This

Phil Tabor 159 Dec 28, 2022
GLODISMO: Gradient-Based Learning of Discrete Structured Measurement Operators for Signal Recovery

GLODISMO: Gradient-Based Learning of Discrete Structured Measurement Operators for Signal Recovery This is the code to the paper: Gradient-Based Learn

3 Feb 15, 2022
PyTorch implementation of "Debiased Visual Question Answering from Feature and Sample Perspectives" (NeurIPS 2021)

D-VQA We provide the PyTorch implementation for Debiased Visual Question Answering from Feature and Sample Perspectives (NeurIPS 2021). Dependencies P

Zhiquan Wen 19 Dec 22, 2022
Automatic caption evaluation metric based on typicality analysis.

SeMantic and linguistic UndeRstanding Fusion (SMURF) Automatic caption evaluation metric described in the paper "SMURF: SeMantic and linguistic UndeRs

Joshua Feinglass 6 Jan 09, 2022
DeepStochlog Package For Python

DeepStochLog Installation Installing SWI Prolog DeepStochLog requires SWI Prolog to run. Run the following commands to install: sudo apt-add-repositor

KU Leuven Machine Learning Research Group 17 Dec 23, 2022