Anthroyd
Professor
- 211
- Posts
- 8
- Years
- United States
- Seen Nov 14, 2024
Pokémon Generation III ROM Hacking
Video Series
Welcome!
Hello and welcome to my Pokémon Generation III ROM Hacking tutorial video series thread. These videos as a collection are meant to serve as a saturated hub of third generation hacking concepts and implementation details. Throughout these videos, I will be attempting to cover everything from simply changing where a particular Pokémon can be obtained to graphic overhauls to heavy scripting. If you're looking for material to help you get started with Pokémon ROM hacking but prefer a video approach as opposed to reading print tutorials, this is the place for you.Further questions may be asked in my Discord's #assistance channel. Check my signature for an invitation.
Looking for a specific topic? Push CTRL + F on your keyboard and search for the topic that you want to learn about!
Tutorial 0: Introduction
This introductory video explains some of the reasons behind why I've decided to create this series, what to expect, and some other information.
Tutorial 1: The Basics of Mapping
In this tutorial, we cover some of the basics of mapping, such as editing a map, understanding the most common movement permissions, and an overview of events.
Tutorial 2: Map Diversity
In this tutorial, we exhaust the entire list of movement permissions, learn about elevations, go over how geographical features like mountain ledges and bridges are structured, and understand how map connections work.
Tutorial 3: The Nature of Tiles
In this tutorial, we go over the fine details of how tiles are built from their most primitive form, understand how palettes and tilesets affect our maps, and discover that behavior data can be used to give special properties to specific tiles.
Tutorial 4: Deviating from Vanilla Tiles
In this tutorial, we discuss replacing existing tiles with custom tiles and inserting brand new custom tiles without overwriting anything at all.
Tutorial 5: Bringing Tiles to Life
In this tutorial, we talk about how to properly insert tiles that have animations assigned to them. More specifically, we discuss how to replace old animations and insert entirely new animations to custom tiles.
Tutorial 6: Advice and Errata (1)
In this tutorial, we discuss some of my personal tips for making your maps look more professional as well as some tool efficiency tips to reduce the amount of time you have to spend on graphics hacking. In addition, we go over some of my past mistakes or things that I've gathered more information on.
Tutorial 7: The Basics of Scripting
In this tutorial, we cover the basics of scripting. This includes creating and inserting one of the simplest scripts possible; making a NPC speak to us.
Tutorial 8: Msgbox Exhaustion
In this tutorial, we exhaust the uses of the msgbox command. This includes going over how to add things like paragraphs to our text, how to add color to our text, and how to make an NPC ask us a "yes or no" question.
Tutorial 9: Exchanging Possessions
In this tutorial, we discover how to give the player Pokémon and items. We also go over how to take away items from the player.
Tutorial 10: History Never Repeats Itself
In this tutorial, we thoroughly discuss flags and variables and how they're used to simulate plot progression and checkpoints in the game.
Tutorial 11: Mobility
In this tutorial, we go over how movement works including both person event movement and camera movement.
Tutorial 12: Instant Script Activation
In this tutorial, we discuss how different types of level scripts can be used to achieve particular effects the moment the player enters a map. We also cover how to decompile an already-existing script.
Tutorial 13: Advice and Errata (2)
In this tutorial, we discuss some time efficiency tooltips regarding scripting and clear up some past mistakes I've made. In addition, we go over some additional commands that I may not get a chance to cover in future tutorials.
Tutorial 14: Hasta La Vista, Baby
In this tutorial, we go over the different types of warp commands XSE offers. We also talk about how to open and close door tiles using a script.
Tutorial 15: Trainerbattle Dissection
In this tutorial, we dissect the trainerbattle command and all that it has to offer. We also introduce AdvancedTrainer which allows us to build our own custom trainers along with their respective parties.
Tutorial 16: Dynamic Mapping
In this tutorial, we go over dynamic mapping; that is, how to change the tile structure of a map using a script instead of AdvancedMap. We also cover weather manipulation and randomness.
Tutorial 17: Customer Service
In this tutorial, we discuss PokéMarts and the game's money system.
Tutorial 18: Battle Boom Box
In this tutorial, we go over wild battles. We also cover some of the different kinds of music and sound commands which can heighten the immersiveness of our events. The music editor program, Sappy, is also introduced here.
Tutorial 19: Revamping Our Options
In this tutorial, we cover some rather unrelated topics, such as PokéCenter respawn points, multichoice boxes, and nicknaming a given Pokémon.
Tutorial 20: Advice and Errata (3)
In this tutorial, we cover some additional commands that weren't mentioned in any other videos, two important scripting implementation tips, as well as any past mistakes I've made.
Tutorial 21: Advice and Errata (4)
In this tutorial, we finish covering every single significant command XSE has to offer, an interesting scripting implementation tip, as well as an argument dealing with software dependency.
Update 8/14/16
This is an update video.
Tutorial 22: Hex Maniac
In this tutorial, we discuss the hexadecimal number system, expanding the file size of a ROM, and creating and applying patches.
Tutorial 23: Battle Sprite Replacement
In this tutorial, we go over how to index a sprite, how to replace a trainer battle sprite, and how to replace and update Pokémon battle sprites.
Tutorial 24: Overworld Sprite Management | PART 1
In this part of the tutorial, we go over what an overworld sprite is made up of, how to replace existing overworld sprites, and how to insert new overworld sprites without replacing old ones.
Tutorial 24: Overworld Sprite Management | PART 2
In this part of the tutorial, we discuss the technical details of overworld sprites, their respective palettes, and how their loading system works under-the-hood.
Tutorial 25: Cry Editing
In this tutorial, we cover how to insert new cries.
Tutorial 26: Hexadecimal Palette Manipulation
In this tutorial, we discuss how to edit any palette in the game using VBA's Palette Viewer and some tedious hexadecimal work. We apply this method to creating a revamped battle scene textbox!
Tutorial 27: Custom Music Insertion
In this tutorial, we discuss music hacking and how to insert your own custom midi files into the game!
Update 8/20/18
This is an update video.
This introductory video explains some of the reasons behind why I've decided to create this series, what to expect, and some other information.
Spoiler:
Tutorial 1: The Basics of Mapping
In this tutorial, we cover some of the basics of mapping, such as editing a map, understanding the most common movement permissions, and an overview of events.
Spoiler:
Tutorial 2: Map Diversity
In this tutorial, we exhaust the entire list of movement permissions, learn about elevations, go over how geographical features like mountain ledges and bridges are structured, and understand how map connections work.
Spoiler:
Tutorial 3: The Nature of Tiles
In this tutorial, we go over the fine details of how tiles are built from their most primitive form, understand how palettes and tilesets affect our maps, and discover that behavior data can be used to give special properties to specific tiles.
Spoiler:
Tutorial 4: Deviating from Vanilla Tiles
In this tutorial, we discuss replacing existing tiles with custom tiles and inserting brand new custom tiles without overwriting anything at all.
Spoiler:
Tutorial 5: Bringing Tiles to Life
In this tutorial, we talk about how to properly insert tiles that have animations assigned to them. More specifically, we discuss how to replace old animations and insert entirely new animations to custom tiles.
Spoiler:
Tutorial 6: Advice and Errata (1)
In this tutorial, we discuss some of my personal tips for making your maps look more professional as well as some tool efficiency tips to reduce the amount of time you have to spend on graphics hacking. In addition, we go over some of my past mistakes or things that I've gathered more information on.
Spoiler:
Tutorial 7: The Basics of Scripting
In this tutorial, we cover the basics of scripting. This includes creating and inserting one of the simplest scripts possible; making a NPC speak to us.
Spoiler:
Tutorial 8: Msgbox Exhaustion
In this tutorial, we exhaust the uses of the msgbox command. This includes going over how to add things like paragraphs to our text, how to add color to our text, and how to make an NPC ask us a "yes or no" question.
Spoiler:
Tutorial 9: Exchanging Possessions
In this tutorial, we discover how to give the player Pokémon and items. We also go over how to take away items from the player.
Spoiler:
Tutorial 10: History Never Repeats Itself
In this tutorial, we thoroughly discuss flags and variables and how they're used to simulate plot progression and checkpoints in the game.
Spoiler:
Tutorial 11: Mobility
In this tutorial, we go over how movement works including both person event movement and camera movement.
Spoiler:
Tutorial 12: Instant Script Activation
In this tutorial, we discuss how different types of level scripts can be used to achieve particular effects the moment the player enters a map. We also cover how to decompile an already-existing script.
Spoiler:
Tutorial 13: Advice and Errata (2)
In this tutorial, we discuss some time efficiency tooltips regarding scripting and clear up some past mistakes I've made. In addition, we go over some additional commands that I may not get a chance to cover in future tutorials.
Spoiler:
Tutorial 14: Hasta La Vista, Baby
In this tutorial, we go over the different types of warp commands XSE offers. We also talk about how to open and close door tiles using a script.
Spoiler:
Tutorial 15: Trainerbattle Dissection
In this tutorial, we dissect the trainerbattle command and all that it has to offer. We also introduce AdvancedTrainer which allows us to build our own custom trainers along with their respective parties.
Spoiler:
Tutorial 16: Dynamic Mapping
In this tutorial, we go over dynamic mapping; that is, how to change the tile structure of a map using a script instead of AdvancedMap. We also cover weather manipulation and randomness.
Spoiler:
Tutorial 17: Customer Service
In this tutorial, we discuss PokéMarts and the game's money system.
Spoiler:
Tutorial 18: Battle Boom Box
In this tutorial, we go over wild battles. We also cover some of the different kinds of music and sound commands which can heighten the immersiveness of our events. The music editor program, Sappy, is also introduced here.
Spoiler:
Tutorial 19: Revamping Our Options
In this tutorial, we cover some rather unrelated topics, such as PokéCenter respawn points, multichoice boxes, and nicknaming a given Pokémon.
Spoiler:
Tutorial 20: Advice and Errata (3)
In this tutorial, we cover some additional commands that weren't mentioned in any other videos, two important scripting implementation tips, as well as any past mistakes I've made.
Spoiler:
Tutorial 21: Advice and Errata (4)
In this tutorial, we finish covering every single significant command XSE has to offer, an interesting scripting implementation tip, as well as an argument dealing with software dependency.
Spoiler:
Update 8/14/16
This is an update video.
Spoiler:
Tutorial 22: Hex Maniac
In this tutorial, we discuss the hexadecimal number system, expanding the file size of a ROM, and creating and applying patches.
Spoiler:
Tutorial 23: Battle Sprite Replacement
In this tutorial, we go over how to index a sprite, how to replace a trainer battle sprite, and how to replace and update Pokémon battle sprites.
Spoiler:
Tutorial 24: Overworld Sprite Management | PART 1
In this part of the tutorial, we go over what an overworld sprite is made up of, how to replace existing overworld sprites, and how to insert new overworld sprites without replacing old ones.
Spoiler:
Tutorial 24: Overworld Sprite Management | PART 2
In this part of the tutorial, we discuss the technical details of overworld sprites, their respective palettes, and how their loading system works under-the-hood.
Spoiler:
Tutorial 25: Cry Editing
In this tutorial, we cover how to insert new cries.
Spoiler:
Tutorial 26: Hexadecimal Palette Manipulation
In this tutorial, we discuss how to edit any palette in the game using VBA's Palette Viewer and some tedious hexadecimal work. We apply this method to creating a revamped battle scene textbox!
Spoiler:
Tutorial 27: Custom Music Insertion
In this tutorial, we discuss music hacking and how to insert your own custom midi files into the game!
Spoiler:
Update 8/20/18
This is an update video.
Spoiler:
Thank you so much for being my audience!
Last edited: