[Legacy] Suggestions to improve Essentials

Status
Not open for further replies.

Maruno

Pokémon Essentials dev
Essentials Developer
Joined
Apr 5, 2017
Posts
548
This thread is a sequel to the "What would make the Essentials engine a better experience?" thread from the old forum, only a bit broader in scope.

In a nutshell: What could be added to or changed in Pokémon Essentials that would make it better?

Like all nutshells, there are caveats:
  • Don't bother with the obvious stuff. Triple/rotation/horde battles, Contests, Pokémon Amie, online play, add Gen 6/7 data, port to a better engine, etc. etc. (This list is not exhaustive.) There's no point mentioning them, because you won't be adding anything new to the discussion - I've obviously already thought about these things.
  • Explain and be specific. "Improve the AI" isn't a valid suggestion, because it provides no clue as to what parts of the AI you're unhappy with, nor does it suggest how to improve it. You can use images and code and anything else to help with your explanation.
  • Remember that Essentials is an engine made for many people to use. It's not going to bother including features that maybe only two games ever would want. This thread is not an opportunity for you to get other people to do your work.
  • State why you think your suggestion would be a good thing to do to Essentials. Since you're making the suggestion, you obviously think it would benefit the engine, so tell us why. Would it improve gameplay, or ease game development, or offer some other bonus?
You can mention things that are from the main games and things that aren't. You can also suggest removing something from Essentials, if somehow you think the removal of a thing that's currently in Essentials would be a good thing.

As a secondary question: How do you feel about making some features stray from how the main games do them, in the name of user-friendliness? How far should they deviate?
 
I'm pretty content with all of the features and what not in Essentials as is, I do have two quality of life suggestions though. I think I suggested these on Discord once, but I'll repeat them here since this is a better area for suggestions.

Suggestion A) Regional Dex Editing

Definitely a quality of life suggestion for devs. Editing regional dexes can be a pain if you're doing it by hand in the pokemon.txt PBS file, and while the regional dex editor is a step up and easier to use, it's still a hassle compared to manually editing other PBS files.

An easier (in my opinion anyways) way would be to let devs enter it manually by Pokemon ID in a PBS file or script. Something like:
Code:
[1]
1,2,3,4,5,6,7,8
[2]
152,153,154,155,156,157,158
Devs have likely organized a spreadsheet or something of the sort when making a regional dex, which means they'd likely have their Pokemon IDs handy.

I can only speak for myself on this, but I can write down Pokemon IDs significantly faster than I can use the regional dex editor to navigate 600+ Pokemon IDs, even with using Page Up & Page Down to get through it quicker. The regional dex definitely has value, and would still have value even if this was in place, but this would be a much faster process I think.

Suggestion B) Town Map Scrolling

Probably more of a pipe dream, but I'll suggest it nonetheless since I firmly believe it would unlock a lot of potential for projects. If you decide to take a look into reworking how region maps work, please consider letting region maps be larger than the screen resolution and having the map scroll to accommodate this.

It could be argued that region maps don't really need to be bigger than the default screen resolution, but I don't see why the possibility shouldn't be there if it's possible. By allowing them to be bigger, devs can come up with more creative region maps and add more detail. Things like the region map from Pokemon Reborn would be more commonplace, just without a size restriction.

Another region map that comes to mind is the one from Pokemon Uranium; it was split into West and East. I think it would have benefited from such an improvement, and squishing the two maps together would have likely had some details lost. It would also be helpful in this scenario since you would ideally be able to use Fly to travel to where ever in the region, versus splitting the region map up and having to come up with some sort of work around for not being able to fly between them.
 

NtM

Rookie
Member
Joined
Jul 13, 2017
Posts
0
Maybe for Essentials v18, set passability for parts of the terrain tags (water etc.) because in BW, maybe even earlier games if you start surfing you start in the middle of the water and not on the cliff kinda sides, and those cliff sides are inpassable, if possible you could like include it in the External Editor, just like multiple terrain tags, I think it would be nice because it would make it look even better because it can look a bit awkward when you surf on the sides of the water.
 

Maruno

Pokémon Essentials dev
Essentials Developer
Joined
Apr 5, 2017
Posts
548
Maybe for Essentials v18, set passability for parts of the terrain tags (water etc.) because in BW, maybe even earlier games if you start surfing you start in the middle of the water and not on the cliff kinda sides, and those cliff sides are inpassable, if possible you could like include it in the External Editor, just like multiple terrain tags, I think it would be nice because it would make it look even better because it can look a bit awkward when you surf on the sides of the water.
Do you mean that the player's surfing graphic overlaps part of the land when you're surfing along a coastline? It does that in Gen 3 (obviously, since Essentials uses FRLG overworld graphics), and that's all Essentials is replicating as far as the overworld 2D tile-based maps go. If you're using your own tiles, and they don't look good, change them. Maybe make the water area a little larger (i.e. put the coastline on the ground's tiles rather than the water's tiles) and make the player's surfing graphic a little smaller.
 

Arma

A Martian Hyena
Member
Joined
Apr 18, 2017
Posts
62
I haven't seen this before, but one thing that's been bothering me is the way that encounters are set up. I think it can be done a lot simpler than having the default amount of entries required.
I don't know how to implement this myself, but it should be possible to make it so that each entry has their own probability, instead of having both probability and and amount of entries locked. Then, the amount of entries would be counted (should be possible, right?) and the individual encounter rate would be divided over the sum of all rates to yield. This would make it a lot easier to edit the PBS files, in my opinion.
Current way encounter rates are distributed
I mean, suppose the two Pokemon from the next image are the only two available as land encounters, though their individual rates are set at 45, the actual rate is 45 / (45+45) = 0.5. adding a third Pokemon would be really easy, just make its individual rate equal to 10, if you want a ten percent encounter, or 45 if you want 1/3 chance of encountering either one. (I suck at explaining, please tell me I did get the message across correctly.)
Arma's crappy example image
 

Dr. Pikachu PhD

Trust me, I'm a doctor. Technically.
Member
Joined
Jun 19, 2017
Posts
21
I don't know how to implement this myself, but it should be possible to make it so that each entry has their own probability, instead of having both probability and and amount of entries locked.

I think most people would agree that the current method of having the amount of entries and each probability locked is less than ideal. I certainly would like to see this overhauled, but I'm sure that the inner workings of this system are complicated so I wouldn't be suprised if it's not possible (or at least more trouble than it's worth).

Then, the amount of entries would be counted (should be possible, right?) and the individual encounter rate would be divided over the sum of all rates to yield.
...their individual rates are set at 45, the actual rate is 45 / (45+45) = 0.5.

If we were to do an overhaul though, I think there would be an easier method than this. The idea of having the values divided by the total works, but it's not immediately intuitive (especially for newer devs, I could see Maruno being bombarded with confusion from them). It would make more sense to me if we are allowed to have as many encounter entries as we wanted, and we are allowed to enter any custom whole number for the probability, as long as these probability values total 100 per area (and the game would error out otherwise). That way, you'd know whatever value you enter in for the encounter rate would be its percentage out of 100%.
 

Arma

A Martian Hyena
Member
Joined
Apr 18, 2017
Posts
62
I think most people would agree that the current method of having the amount of entries and each probability locked is less than ideal. I certainly would like to see this overhauled, but I'm sure that the inner workings of this system are complicated so I wouldn't be suprised if it's not possible (or at least more trouble than it's worth).
I'm 100% sure it is possible, if you look at the current way the pbs file is set up, the only real "difficult" thing here is to make clear when the last encounter entry has been hit. the current way just counts the mandatory X lines for each type.



If we were to do an overhaul though, I think there would be an easier method than this. The idea of having the values divided by the total works, but it's not immediately intuitive (especially for newer devs, I could see Maruno being bombarded with confusion from them). It would make more sense to me if we are allowed to have as many encounter entries as we wanted, and we are allowed to enter any custom whole number for the probability, as long as these probability values total 100 per area (and the game would error out otherwise). That way, you'd know whatever value you enter in for the encounter rate would be its percentage out of 100%.
I think your way is actually more complicated than mine. In my case the encounters still work, even if the total isn't set to 100. The worst thing that could happen is that encounters don't necessarily have the same percentages as the dev has intended. Setting it to a strict total vale of 100% means just ading a limitation to what I suggested. Giving out error messages for this is what I believe will lead to more confusion among newer devs.
 

Dragonite

Have they found the One Piece yet?
Member
Joined
Mar 24, 2017
Posts
267
Dunno if this is a thing yet (I've implemented it myself in both of my projects, anyway) but how about an option to dump map images to a file? I mean something like this in Debug > Other Options

erop3Yr.png

resulting in this

P1khmlq.png

Not hugely groundbreaking but could help a few people.
 

Dark

Rookie
Member
Joined
Apr 24, 2018
Posts
7
as for AI improvements: i really dont like the way AI handles fullrestores and the like

they just waste all on their first mon even when their opponent (you) clearly did 80% with 1 move - not very smart if u ask me ;p

maybe have the ai check in some way if the damage dealt (using the previously used move) on average is higher than 50% to determine whether its worth using a full restore or simply let the mon just die and keep the healing items for other mons instead
 

Ash Ketchum 000

Don't Give up until everything is finished.
Member
Joined
Nov 26, 2017
Posts
0
Here are the things I would like to see in Essentials:

Battle System Modifications:
A New Style of Battles, Somewhat cool and new.
The New styled buttons in battle.
You can check These XY Battle Styles
https://reliccastle.com/resources/201/

New Menu:
The Pause Menu is good, But it doesn't make anything, It's just like the choices bars, Oh come on!
There Need to be some style in it! It's the Pause Menu!
 

Ash2louis

Rookie
Member
Joined
Jun 4, 2018
Posts
0
START BY ADDING A NEW GOOD LOOKING BATTLE UI AND "I KNOW NO GEN 7 STUFF BUT" MAKE YOU OWN Z MOVE SCRIPT AND MAKE IT SO YOU HAVE TO PERFORM THE DANCE LIKE IN SM
 
START BY ADDING A NEW GOOD LOOKING BATTLE UI
Pokemon Essentials is supposed to be just that-the essentials. Graphic additions are often subjective and suit games differently depending on what they're supposed to be like.
AND "I KNOW NO GEN 7 STUFF BUT" MAKE YOU OWN Z MOVE SCRIPT
It's really inconsiderate to say something someone specifically asked you not to say, especially when you're asking them to do something for you.

And, while it's not included with the default essentials, there's actually already a Z-Move script available for public use. https://reliccastle.com/resources/85/
AND MAKE IT SO YOU HAVE TO PERFORM THE DANCE LIKE IN SM
Dancing characters would require extra sprites to be made for it, and since FRLG (where Essentials' graphics are mostly taken from) didn't have any, they'd have to be sprited by somebody.
 

DerxwnaKapsyla

Overseer of the Abyss
Member
Joined
Apr 24, 2017
Posts
162
I haven't heard of it having a lot of bugs, considering a good deal of people have used it. Regardless of that, adding Z-Moves to Essentials isn't really vital, especially since we don't even have Gen 7 in Essentials yet. I'd wager that, if and/or when Gen 7 code gets added, there will be an in-house Z-Moves script to go with it. I'm fairly certain that, when Maruno is ready to tackle Gen 7, Z-Moves will be on the list, as it was a part of the Gen 7 architecture, as were Megas with Gen 6.
 

Caeles

Midnight Melody
Member
Joined
Apr 6, 2017
Posts
3
A way to alter event encounters without using switches, similar to what you can do to modify the Pokémon when you vive it to the Player. Or, at the very least, a way for event encounters to hold a specific item, kinda like leftovers and Snorlax.

Updating the gba sound effects would be nice too.
 

Hollow_Ego

Cooltrainer
Member
Joined
May 19, 2018
Posts
116
A way to alter event encounters without using switches, similar to what you can do to modify the Pokémon when you vive it to the Player. Or, at the very least, a way for event encounters to hold a specific item, kinda like leftovers and Snorlax.

Updating the gba sound effects would be nice too.
That could make things easier. Maybe similar to this https://www.pokecommunity.com/archive/index.php/t-321152.html where you first define a Pokemon with all aspects and then use a script call to start the battle
 

Simeo

Normal-Type Self Proclamed Expert
Member
Joined
Jul 25, 2018
Posts
53
I'd be in love if we could actually use the sub folder's audios in the event. I mean, when you need a pokemon cry in an event you have to duplicate it from your cry folder into the ME folder, which results in a lot of duplicates that takes space if you need various cries in the wild for example.
 

Simeo

Normal-Type Self Proclamed Expert
Member
Joined
Jul 25, 2018
Posts
53
Hey ! Didn't know at all about that, that sounds neat <3
Arigato <3
 
  • Like
Reactions: Aki

Mr. Gela

Discord: theo#7722
Member
Joined
Jul 19, 2015
Posts
201
Move routes based on a certain range/zone/...
Setting an event's move route to random will result in them possibly wandering... quite far off, if given enough time or a player naughty enough to "push them" around. I suggest a script to give them a range through the use of a comment tag or using the event's name (although in my opinion event names are used enough as is), to specify the following aspects:
Distance: A number of tiles from which they can't go beyond. So if the event is placed on X=10 and Y=10 and then you give it a distance value of 2, the event can never go beyond X=8 or 12 and Y=8 or 12.
Tile ID: The event can only walk on these tile ids (for making them only walk on water, or only on flowers, etc.)
Range: A range of map tile #s they can't escape. So if I want an event to only be on X 10 to 20 and Y 6 to 8, I can specify those four numbers to restrict it to that triangle.
Bonus points if they can also be set to mimic another event's and/or be changed at any time with ease.

Some of these features I could -only slightly- make compatible from this ancient piece of RMXP scripting (check the demo which showcases different stuff): https://forum.chaos-project.com/index.php?topic=14986.0
Given it's compatible with Essentials to the point of not crashing immediately, it might be a good base to expand on.
 

Anime Watcher

dabbling in game design
Member
Joined
Jul 7, 2018
Posts
66
This might not be well received, but, in addition to all of the scripting and mechanics changes suggested, perhaps you could take out all of the Pokemon-related graphics and stuff that makes it obviously related to Pokemon and offer that as a separate graphics download / modification so that it doesn't get taken down again? I'm pretty sure this isn't a new suggestion...sorry.

Another suggestion would be making it a bit like the Game Maker script and including a drag-and-drop option for all scripted events found in the actual games. Again, this may not be feasible or may again not be a new suggestion. I apologize in advance if that is the case.

One suggestion that I think is feasible, though, is a tutorial, not an in-game tutorial, because you have to actually run the example game to do it, and, for it to work ideally, you need two windows of RMXP running at the same time--one for your original game with all of the extras and map data deleted and another for the tutorial game. While it's not that tedious, you always have people like me who forget to change the project name and end up deleting important files from both games. Having a text reference to glance at without having to have two game projects to refer to would be nice.

Assuming there's nothing like that already out there and that you are still working on Essentials, I could even help put a text tutorial together for new users if you would accept it as part of the next downloadable Essentials kit. I guess you may think that one is unnecessary, and I agree that this is a pretty basic suggestion, but, again, everyone has to start with the basics; everyone who uses this kit are not seasoned programmers.
 
Last edited:

Maruno

Pokémon Essentials dev
Essentials Developer
Joined
Apr 5, 2017
Posts
548
Move routes based on a certain range/zone/...
Setting an event's move route to random will result in them possibly wandering... quite far off, if given enough time or a player naughty enough to "push them" around. I suggest a script to give them a range through the use of a comment tag or using the event's name (although in my opinion event names are used enough as is), to specify the following aspects:
Distance: A number of tiles from which they can't go beyond. So if the event is placed on X=10 and Y=10 and then you give it a distance value of 2, the event can never go beyond X=8 or 12 and Y=8 or 12.
Tile ID: The event can only walk on these tile ids (for making them only walk on water, or only on flowers, etc.)
Range: A range of map tile #s they can't escape. So if I want an event to only be on X 10 to 20 and Y 6 to 8, I can specify those four numbers to restrict it to that triangle.
Bonus points if they can also be set to mimic another event's and/or be changed at any time with ease.
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.

One suggestion that I think is feasible, though, is a tutorial, not an in-game tutorial, because you have to actually run the example game to do it, and, for it to work ideally, you need two windows of RMXP running at the same time--one for your original game with all of the extras and map data deleted and another for the tutorial game. While it's not that tedious, you always have people like me who forget to change the project name and end up deleting important files from both games. Having a text reference to glance at without having to have two game projects to refer to would be nice.

Assuming there's nothing like that already out there and that you are still working on Essentials, I could even help put a text tutorial together for new users if you would accept it as part of the next downloadable Essentials kit. I guess you may think that one is unnecessary, and I agree that this is a pretty basic suggestion, but, again, everyone has to start with the basics; everyone who uses this kit are not seasoned programmers.
There's this and this, although I agree that the relevant information (and more) should be gathered in a single place for easier reference.
 
Status
Not open for further replies.
Top