Suggestions to improve Essentials

kmb

dabbling in game design
Member
Posts
60
#41
I've already added a couple of scripts for this to the next version of Essentials. They do what you describe for "Distance", but the x and y ranges are separate values so you can set them separately. "Range" would be the same as "Distance", I think, so long as the event started off in the middle of it (I don't know why you mentioned a triangle).

Events on water can already only move to other water tiles. This was done because of swimmers.


There's this and this, although I agree that the relevant information (and more) should be gathered in a single place for easier reference.
Since you agree that relevant information should be gathered in a single place. Would it be okay if I made a free PDF tutorial to go along with Essentials? I thought it would be appropriate to ask before just getting to work on it, in case you already have someone else doing that.
 

Maruno

Pokémon Essentials dev
Essentials Developer
Posts
228
#42
Why make something new when the wiki exists? By that I mean you could write a guide and put it on the wiki.
 

Mr. Gela

Elite Trainer
Member
#43
Regarding roaming Pokémon (Bulbapedia article):

Main games behavior:
  • The roaming Pokémon is the same at all times. It is only generated once until defeated or caught.
  • Visible "Nest" area in the Pokédex (Generations 2 to 3) / Visible in the player's device Town Map.

Essentials behavior:
  • The Pokémon isn't the same each time it is encountered. It is generated each time the encounter happens meaning even shininess is lost if it is not caught within that encounter.
  • The player cannot check where the Pokémon might be outside of Debug Mode.
I'd like to see Roaming Pokémon reflect their status in Generation 4, where you can just grab the map and check the Pokémon's current positions. If this were the way you'd like to go about it someday, here are the map graphics used for Latios, Latias, Raikou and Entei, ripped from HGSS. These files could simply be named 'mapPokemonXXX', XXX being the species ID of the Pokémon, for example.


I'd settle with the Pokédex display as well, but the former would be much slicker.

As a small "bug" that I'd drop at the Bugs thread, but since it's related to this: While testing, I rerolled a roaming Pokémon's location until it matched mine, then battled it. Afterwards, I check the Roaming Pokémon menu in the Debug Menu (under Battle), and it said it -still- was in that location, but walking didn't make me encounter it again. I can replicate this 100% of the time.
 

Maruno

Pokémon Essentials dev
Essentials Developer
Posts
228
#44
I have been debating whether to put the roamer's current location information in the Pokédex or the Town Map. I still can't decide - it's a location where you can find the Pokémon so the Pokédex makes more sense, but I can easily imagine you setting loose a roamer but you haven't "seen" it yet (in terms of having an entry for it in your Pokédex) so it'd be a complete fluke to encounter it the first time. It's shown in the Town Map only in Gen 4, which is a minus for that side.

A roamer is supposed to be the exact same Pokémon each time, though. I've just tested it and it remembers how much HP it had between encounters, and there's nothing special about HP to make that remembered but nothing else. Are you sure you weren't knocking it out between encounters? That will cause it to re-generate and be different, I think.

A roamer only changes location when you change maps, and you can't encounter it more than once while on the same map. It's not a bug, it's intentional, although I can see that it should immediately go elsewhere if you're able to see its current location.
 

Buttjuice

happy dev
Member
#45
I think it’d be nice to be able to define a pokemon’s form in the wild encounters text file, so for people who do happen to have alolan forms (or even custom ones) they could do 019_1, or something like that. It’d be more user friendly, especially for newer devs. Sorry if that was already suggested or brought up, something I’ve always thought would be much more convenient instead of having to use a switch, variable or editing it in the scripts. ^^
 
Last edited:

Maruno

Pokémon Essentials dev
Essentials Developer
Posts
228
#46
There are many possible ways to decide the form of a wild Pokémon, and "per map" is just one. I wouldn't want to support that but not the other ways (e.g. random choice for Unown, environment for Burmy/Womadam, season for Deerling, random yet consistent for Vivillon, proportionally random for Pumpkaboo), and I think it's excessive to add support for those, not to mention it would tend to exclude new form decision methods such as depending on the weather or time of day just because I didn't think of them to add support for them - and it'd be harder for people to code new methods because there'd be fewer examples.

There are already examples of how to choose the form depending on the map (Shellos, Giratina) and you can just copy that. The choice of form is consistently a script, usually not a complicated one, and I think that's fine and the most flexible and accessible approach.
 

Mr. Gela

Elite Trainer
Member
#47
A roamer is supposed to be the exact same Pokémon each time, though. I've just tested it and it remembers how much HP it had between encounters, and there's nothing special about HP to make that remembered but nothing else. Are you sure you weren't knocking it out between encounters? That will cause it to re-generate and be different, I think.
Weird. Tried again and it does remember HP. I didn't knock it out before so that's weird. I'll assume I made a mistake at some point.

It's not a bug, it's intentional, although I can see that it should immediately go elsewhere if you're able to see its current location.
In the main series it does roam immediately. I'd dare to say it actually skips to a completely new location instead of only moving to a nearby Route, something that also happens randomly even if at a small chance.

If you want my opinion, allow for both Pokédex and Map locations. No harm in giving some options.

Small inconsistency (unrelated to the above but not worth a new post):
pbOptions (PScreen_Summary) has a command to "View Pokédex" on the selected species. However, this method does not take into account the holder's ownership of the Pokédex. Simple to fix, but worth noting down.

A small QoL request:
A setting that allows me to sort Pokémon, items, etc. by their Internal ID if I so wish. To my knowledge, most of the time it's done alphabetically and this can be easily recoded, but I'd appreciate a setting in SETTINGS so that, when browsing the Debug menus, Pokémon and Items can be sorted in the same way consistently. For example, by default, the Sprite Position Editor uses alphabetical order to sort the Pokémon (Abomasnow, Abra...), but the Wild Battle menu sorts them by Internal ID (Bulbasaur, Ivysaur...). I suggest assigning a number to this setting, 0 being by default, 1 being "all alphabetical" and 2 being "all by Internal ID".
 
Last edited:

Maruno

Pokémon Essentials dev
Essentials Developer
Posts
228
#48
A small QoL request:
A setting that allows me to sort Pokémon, items, etc. by their Internal ID if I so wish. To my knowledge, most of the time it's done alphabetically and this can be easily recoded, but I'd appreciate a setting in SETTINGS so that, when browsing the Debug menus, Pokémon and Items can be sorted in the same way consistently. For example, by default, the Sprite Position Editor uses alphabetical order to sort the Pokémon (Abomasnow, Abra...), but the Wild Battle menu sorts them by Internal ID (Bulbasaur, Ivysaur...). I suggest assigning a number to this setting, 0 being by default, 1 being "all alphabetical" and 2 being "all by Internal ID".
Tap Z while in the list. It should toggle between listing alphabetically and listing by ID number. This doesn't work for all lists (because there are several kinds of debug list), but it will for a few.
 

Wiispeed03

Trainer
Member
Posts
53
#49
Would it be possible to make the TM pbs file easier to edit? Especially if a game has fakemon, new TM's, or even just Gen 6 and Gen 7 Pokes, it could be very tedious to edit. Now I know that there's no real easy fix to this, but what I was thinking is have the option to allow "all grass Pokemon" or "all Pokemon" to learn, the latter for moves like toxic, and then maybe to be able to make exceptions after stating that.

I understand this is a more QoL improvement and I don't even know how easy or hard this would be, but it's something that I think a lot of people would like to be improved.
 

MGriffin

Trainer
Member
Posts
95
#50
I was thinking is have the option to allow "all grass Pokemon" or "all Pokemon" to learn, the latter for moves like toxic, and then maybe to be able to make exceptions after stating that.
I wonder if you could build this yourself by having a file where you have a list of all the grass Pokémon (or what have you) and copy and paste onto all the TMs you care about? But I guess it's a bit of a pain to produce that file in the first place...
 

Wiispeed03

Trainer
Member
Posts
53
#51
I wonder if you could build this yourself by having a file where you have a list of all the grass Pokémon (or what have you) and copy and paste onto all the TMs you care about? But I guess it's a bit of a pain to produce that file in the first place...
Actually that's not a bad idea, and something I might do, but yeah, it will be a pain to create them haha. It would still be nice to have some sort of that implemented into essentials, but thanks for the idea nonetheless.
 

ExodusCDrake

Rookie
Member
Posts
3
#52
How about adding this script into essentials? This terrain tag staircase script has been rather kind, it has yet to conflict with anything I've put it with. It's definitely better than using events to move the player all the way up and down a staircase, you have full control going up and down. It's incredibly minor, but I'm surprised it's not an option in essentials already.
https://www.pokecommunity.com/showthread.php?t=398998
 

Marina

Elite Trainer
Member
Posts
116
#53
I wish the "Following Pokémon" script would be added into essentials 18 and a option to turn it off, for those who don't want the script. It would be nice, if it worked properly and in a user friendly way, specially for newer devs. Imo the way how you have to code the event where the Pokémon is inside the ball and then where its outside the ball is a pain, because I read you had to make an event before leaving a house and after leaving a house.
 

ExodusCDrake

Rookie
Member
Posts
3
#54
Would it be possible to code a color editor into the in-game editor? This color editor would be used for basic color changes that would be applied to the battle and overworld event sprites. It would save on file size not having to double up on battle graphics just to have shinies and the likes.
 

thebigguy270

Rookie
Member
Posts
4
#55
A bigger sprite size for Pokemon and trainers in battles could be handy. I remember that Reshiram and Zekrom are much bigger than the other sprites in Black and White.
Also, a featrure where we can fight enemy Pokemon that can't be part of the Pokédex(think Pokéstar Studios) could be nice.
 
Last edited:

ExodusCDrake

Rookie
Member
Posts
3
#56
With the battle system being revamped in mind, would you consider a sort of "move forms" functionality? In other words, let's say I wanted a move(s) to have different animations based on the species and(or) form of a pokemon and if you bred a father with pokemon's egg move down to the child, it would still use the animation of the species the child is from. The potential of every pokemon have their own unique attacking animation would give more creative options and choices for developers.
 
Last edited:

Maruno

Pokémon Essentials dev
Essentials Developer
Posts
228
#57
A bigger sprite size for Pokemon and trainers in battles could be handy. I remember that Reshiram and Zekrom are much bigger than the other sprites in Black and White.
Sprites can be any size. You just need to make sure the space you're putting them in isn't too small for them.

With the battle system being revamped in mind, would you consider a sort of "move forms" functionality? In other words, let's say I wanted a move(s) to have different animations based on the species and(or) form of a pokemon and if you bred a father with pokemon's egg move down to the child, it would still use the animation of the species the child is from. The potential of every pokemon have their own unique attacking animation would give more creative options and choices for developers.
That feature already exists. Techno Blast, Brick Break, Future Sight, any two-turn attack moves with a charging and attacking animation, and a couple of other moves all have multiple animations to choose from. It's up to you to add code which changes the hitnum (the "form") of the animation being used depending on whatever circumstances you want, but it's possible.
 
Posts
1
#58
I know that it's been a long standing problem, but is it possible to find a way to port essentials games into gba or nds format in order to play essentials games using emulators on those platforms? I have always wondered about the possibilities of such a thing. not only would it make games more accessible, it would also allow for gameplay on devices such as android and ios machines. this means users can play on the go, boosting popularity rates in games made with essentials and/or rpg maker. I am not a great coder, but I think with a little work it can be done using ports from the original frlg source code. use that and then patch it all together and you may have a working possibility. just make sure that it still complies with gba/nds format and can run still. think of it as writing a gba/nds game from scratch using different mechanics than those used from the original versions
 

MGriffin

Trainer
Member
Posts
95
#59
I am not a great coder, but I think with a little work it can be done using ports from the original frlg source code.
It would be a lot of work even for a very good coder. Probably close to as much work as trying to write all those games again from scratch as ROM hacks. RMXP is simply built with different limits than the GBA, and this alone would make porting non-trivial.
 

DerxwnaKapsyla

Overseer of the Abyss
Member
Posts
54
#60
I know that it's been a long standing problem, but is it possible to find a way to port essentials games into gba or nds format in order to play essentials games using emulators on those platforms? I have always wondered about the possibilities of such a thing. not only would it make games more accessible, it would also allow for gameplay on devices such as android and ios machines. this means users can play on the go, boosting popularity rates in games made with essentials and/or rpg maker. I am not a great coder, but I think with a little work it can be done using ports from the original frlg source code. use that and then patch it all together and you may have a working possibility. just make sure that it still complies with gba/nds format and can run still. think of it as writing a gba/nds game from scratch using different mechanics than those used from the original versions
It flat out is not possible, the architecture is too different and the things that RPG Maker and Essentials can do would surpass the hard-limits of the GBA hardware. For example, sprites with more than 16 colors? Can't be done. The GBA architecture does not support that at all.

It'd be better off to try and make a functional emulator for RPG Maker games that supports Essentials games, as the existing RMXP emulators for phones don't support Essentials games for various reasons.
 
Top