Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Pokemon RBY Remake

Classic nostalgic goodness, programmed to pass some time · By jamestheprogrammer

Pokemon Red Recreation Tips

A topic by CelestialAmber created Jun 09, 2018 Views: 211 Replies: 7
Viewing posts 1 to 3

I'm also working on a recreation of Pokemon Red in Unity, I was wondering if I could get any suggestions from you on ways to approach implementing parts of the game. I have basic inventory and menu framework done as well as the intro sequence, but not much else. Also, I hope you keep working on this, it's nice to see more people making projects similar to MrSquishy.


As far as loading and updating map portions I found how pokemon rby handles this is by just drawing what in frame and only update the map it's on. I am planning on having a giant map but only updating and drawing 2 blocks surrounding the character so it wont lag or run slow.

I also created a catch formula based off of things I found online and made a function out of it, Id be more than happy to share.

Event triggers are going to be a tough thing, I am still working on the basics and haven't even started pondering different solutions, but I think creating something like an ActionEvent that allows an NPC to move. This might work well if you  create a list that has a queue of many ActionEvents (move, display text, etc), then when talking to an NPC - allow them to either: Battle, display basic text, or execute a ActionEventList trigger...

I also implemented a dynamic text block displaying system that generates the right amount of border to display for a particular situation -- by simply generating 2 for loops width and height, for the size and repeating this throughout -- displaying blank blocks inside.

I'd be happy to share anything possible, the source code is available with every single release I put out.

Now that I have the map editor finished and a bigger chunk of the map done, the framerate is starting to drop,  and was even worse before I made it so animated tiles only animate when they're within a radius of the player. That alone raised it from 12 FPS to 80 FPS. I think that I should just use larger sprites of the maps, cut out any tall grass(as it's a two layer tile with grass on top) and overlay it with the collision data. Do you have any other ideas of how I could optimize it, since I would like to stick to the current system if possible of each tile being an individual GameObject?


I played a little of your game, I'd really like to know the process on displaying text with the typewriter effect and how you were able to replicate the animations!

For the text, I made a script that would essentially display a text letter by letter by just increasing the substring until the full message is displayed. Then I just read the dissassembly to see what functions the game uses for text, which are text line cont and para, and made similar effects, I may make them more accurate as polish, but it's good enough. For the animations, it was painstaking, I watched the intro cutscene frame by frame and copied the positions. For the intro, I learned how state machines could be used, and managed to get good enough to make the intro sequence once I was good enough using Unity's general workflow. I'll probably get better as I implement further events. I also have a basic battle scene, but it just loads the Pokemon onto the screen, and not much else. If you want, I can upload the source code for you to learn from, as I want to learn from your project as it progresses as well. I've been looking for other projects to learn more about how to approach a Pokemon recreation type game. If you want to know anything else, feel free to ask! Also, the dissassembly is a godsend for learning about the game, but I'm sure you're already using it.

(1 edit) (+1)

I uploaded the source code to Github, here is a link if you want to look through:


I guess next things on my list is adding proper scrolling to the inventory, and then making a map editor for creating the entire map. Then all the rest. If you are familiar at all with Unity/C#, I definitely would appreciate critique on my code(there's a lot that can be improved).

Have you made any progress since before, or are you taking a break?