Suggestions to improve Essentials

Maruno

Pokémon Essentials dev
Essentials Developer
Posts
150
#1
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?
 

PurpleAladdin

Rookie
Member
Posts
1
#2
Hello - nice to see that here!

Currently i got five ideas :blush:


The first idea - about the summary:
Like you said in the old thread - an improvement of the Ribbon page.
mej71 did a nice modify for the Summary Script - maybe you can adapt this code - https://pastebin.com/fk6ZaqCW.

The second idea - about berrys:
The real games got a sparkling animation if the berry is growing up every stage.
I think not many knowing about this and it would be a nice effect :yum

I was testing it by myself on Platinum and ripped the sparkling animation - http://purplealaddin.deviantart.com/art/Pokemon-Essentials-Beeren-funkeln-688080866

The third idea - about options:
The options menu is a very important part.
I would love to see a little bit more ways for options.
Like - an simply option with yes/no to handle a switch.
This is for new players a good way for many great options!

The fourth idea - about translating:
I was reading the wiki about that part.
And i think this needs an improvement.

The created text file is very large.
It should get each section its own file.
Like - event-messages, map-names and each PBS file that can be translated.

And especially for graphics - why not a global definition?
If you choose your main language - all graphics will be normal loaded.
If you choose your second defined language - all graphics with "_1" will be loaded :yum

These ways sounds better and clearer for me!

The fifth idea - about mystery gift:
The online function is very great!
But why should not the developer have the possibility to modify his pokemon?
Like - Name, OT, OT-color, shiny-status, moves *custom moves*, gender, ability *custom ability*, nature, *form*, happiniess, pokérus-status, ball, ribbon, egg-status *custom egg steps*, shadow-status, held item, evolution during obtain?, *custom receive date*, *language* <- If the font supports that

I feel - this is all essential for events.
The custom moves/ability/egg steps/language part is very interesting.


This was all for the moment!
I consider the first, fourth and fifth idea as very important.
This was a little work - I hope it will be recognized.


:innocent:
 

Maruno

Pokémon Essentials dev
Essentials Developer
Posts
150
#3
The first idea - about the summary:
Like you said in the old thread - an improvement of the Ribbon page.
mej71 did a nice modify for the Summary Script - maybe you can adapt this code - https://pastebin.com/fk6ZaqCW.
That's already been done for v17. I don't know how mej's script works, but in Essentials you're able to rearrange ribbons, and have as many as you want because the display scrolls.
The second idea - about berrys:
The real games got a sparkling animation if the berry is growing up every stage.
I think not many knowing about this and it would be a nice effect :yum

I was testing it by myself on Platinum and ripped the sparkling animation - http://purplealaddin.deviantart.com/art/Pokemon-Essentials-Beeren-funkeln-688080866
That link doesn't work. However, plant sparkles already exist in Essentials. It's just unlikely you'll ever see them at the default growth rates.
The third idea - about options:
The options menu is a very important part.
I would love to see a little bit more ways for options.
Like - an simply option with yes/no to handle a switch.
This is for new players a good way for many great options!
You can already do exactly this with the EnumOption class. "Battle Effects" and "Screen Border" are examples of on/off options.
The fourth idea - about translating:
I was reading the wiki about that part.
And i think this needs an improvement.

The created text file is very large.
It should get each section its own file.
Like - event-messages, map-names and each PBS file that can be translated.

And especially for graphics - why not a global definition?
If you choose your main language - all graphics will be normal loaded.
If you choose your second defined language - all graphics with "_1" will be loaded :yum

These ways sounds better and clearer for me!
The translation file is simple to use, because it's only one file.
Images that contain text should also be "translatable", in that their filenames will be in the language file and you can edit them yourself. While it may be a little more effort to translate these lines, it avoids possible confusion that adding a generic "_1" onto the end of a filename could have.
The fifth idea - about mystery gift:
The online function is very great!
But why should not the developer have the possibility to modify his pokemon?
Like - Name, OT, OT-color, shiny-status, moves *custom moves*, gender, ability *custom ability*, nature, *form*, happiniess, pokérus-status, ball, ribbon, egg-status *custom egg steps*, shadow-status, held item, evolution during obtain?, *custom receive date*, *language* <- If the font supports that

I feel - this is all essential for events.
The custom moves/ability/egg steps/language part is very interesting.
You're supposed to create a Mystery Gift Pokémon using debug options before turning it into a Mystery Gift. These debug options already let you define custom movesets, and choose the ability and form (at least for species that don't choose their own form).
Customising the egg steps I suppose is as simple as walking around, if you wanted to bother with that. Obtaining a Mystery Gift isn't a trade, so trade evolutions should happen as a result of it (it's also a bit weird to be given a free Pokémon only for it to immediately evolve). When you receive the Pokémon as a gift, the obtain time is set to that time (because that's when you obtain it), so it's pointless to customise it.
I'll be adding a few Pokémon debug options in v17, one of which will probably be setting the Pokémon's language.
 

Hematite

Elite Trainer
Member
Posts
103
#4
I actually have something to add about Mystery Gifts in the opposite way. Correct me if I'm wrong, but in my experience, right now, when you upload a Pokémon for a Mystery Gift, everything about the Pokémon is identical to the upload once it's downloaded. (You used the example of walking around to customize the egg steps.) This is inaccurate to the official games, where a fresh Pokémon is generated when the gift is received except for things that are specifically predetermined - for example, people soft reset for IVs and Natures and whatever else and Mystery Gift downloads are generally unique. While it might be one developer's preference for them to be identical or to all have perfect IVs or something, that should be something they pursue on their own; Essentials itself, as a universal starter kit, should be more in line with the official system. May I request that it be made possible for some areas to remain random?

For example, right now, when a new Pokémon is generated, the personality value is random, and from there, Essentials generates nature, Ability and gender, but any of these can be separately overridden after the fact (debug mode, events, et cetera). I think Mystery Gifts should work the same - things like personality value and IVs should be random unless the uploaded gift had an override anyway, to let you, say, have a Mystery Gift always Timid-natured without forcing it to also have the same IVs and Ability as the one you uploaded, or give something a specific Ability but let it be any Nature, or even just make it all random like you had just received a gift Pokémon in-game. Basically, like in the canon games, I think there should really be some way to predetermine only some aspects of Mystery Gifts instead of forcing every distributed Pokémon to be identical in every way.
 

Vendily

Trainer
Member
Posts
59
#5
Ideally, Essentials should be a close approximation of a main series game, though straying features doesn't bother me in the slightest. Like the fishing minigame. The main games just give an exclamation mark, and that's your only warning (I have zoned out so many times and missed that). We get the dots in essentials so I know how long to sit for. So it turns out that the dots was from Gen III, and I've only played Gens IV and V. My point still kind of stands, it's not necessary to follow whatever the main games do blindly.

Speaking of fishing though, I peeked though the scripts and I noticed that doesn't include the Shiny streaking fishing chaining from Gen 6.
Fishing - Bulbapedia said:
Consecutive fishing describes fishing repeatedly without moving from a given spot and repeatedly hooking a Pokémon. Hooking multiple Pokémon in a row increases the chances of hooking a Shiny Pokémon, reaching a maximum chance of approximately 1% for a streak of 20 or more Pokémon. The game increases the chances of finding a Shiny Pokémon by generating extra personality values in an attempt to find one that results in a Shiny Pokémon, with the number of attempts depending on the size of the current streak. For every Pokémon added to the streak up to 20 Pokémon, the game will make two extra attempts to find a Shiny personality value; i.e., the number of attempts at any given point in the streak is 1 + 2 * streak_size, and caps at a maximum of 41 attempts when the streak is at least 20 Pokémon long. This effect stacks with the Shiny Charm's effect.[1]
Fishing near rocks and other impassable spaces (not including spaces occupied by Trainers) will raise the chances of hooking Pokémon. The more sides (north, south, east, or west) around the space where the bobber lands that are blocked by such obstacles, the higher the chances of hooking a Pokémon are. A space of land may also count as an obstacle on one side of the bobber, so long as it is not the only one. If three sides are blocked, every cast will hook a Pokémon.
Honestly wouldn't have noticed if I didn't have to remind myself how fishing works. You don't have to do it, I'd take a crack at it once I'm not sleep deprived, make a tutorial if I get it to work.


Thanks for your hard work, Maruno!

EDIT: The resource is here.
 
Last edited:

Dr. Pikachu PhD

Trust me, I'm a doctor. Technically.
Member
Posts
23
#6
This is just a small thing, but something that stood out enough I noticed it. In the main games when you pick up or receive an item the background music/sounds fade out for a moment while the "Get Item!" or "Get Key Item!" sound effect plays. These sound effects play in essentials too, but the background doesn't fade out. Sometimes this leads to the SE clashing pretty horribly with the BGM/BGS, and other times the sound effect is drowned out completely if the BGM is loud enough.

Another thing is that I dislike the default tone changes caused by the day/night cycle. I think the difference is pretty jarring and the nighttime tone is so dark it completely drowns out the tiles. My recommendation would be to make the nighttime tone a little lighter and have the changes between the times of day a little more subtle. I personally employ this script in my current project because I think it looks more visually appealing, but it's not as technically advanced as the default essentials script. I'd love to see them combined into a new default script that employs a new tone every hour like it currently does but is as visually pleasing as the linked one. I've seen other people on the forum voice the same opinion but ultimately this is a personal preference thing so understandable if you prefer it the way it is now.

Thanks for continuing to try and improve essentials Maruno! ^.^ We all appreciate it!
 
Last edited:

Maruno

Pokémon Essentials dev
Essentials Developer
Posts
150
#7
Another thing is that I dislike the default tone changes caused by the day/night cycle. I think the difference is pretty jarring and the nighttime tone is so dark it completely drowns out the tiles. My recommendation would be to make the nighttime tone a little lighter and have the changes between the times of day a little more subtle. I personally employ this script in my current project because I think it looks more visually appealing, but it's not as technically advanced as the default essentials script. I'd love to see them combined into a new default script that employs a new tone every hour like it currently does but is as visually pleasing as the linked one. I've seen other people on the forum voice the same opinion but ultimately this is a personal preference thing so understandable if you prefer it the way it is now.
I've already altered the time shadings for v17. Have a look at this.

EDIT: Here are the numbers, if anyone wants to use them now:

Code:
HourlyTones = [
   Tone.new(-70, -90, 15, 55), # Midnight
   Tone.new(-70, -90, 15, 55),
   Tone.new(-70, -90, 15, 55),
   Tone.new(-70, -90, 15, 55),
   Tone.new(-60, -70, -5, 50),
   Tone.new(-40, -50, -35, 50),
   Tone.new(-40, -50, -35, 50), # 6AM
   Tone.new(-40, -50, -35, 50),
   Tone.new(-40, -50, -35, 50),
   Tone.new(-20, -25, -15, 20),
   Tone.new( 0, 0, 0, 0),
   Tone.new( 0, 0, 0, 0),
   Tone.new( 0, 0, 0, 0), # Noon
   Tone.new( 0, 0, 0, 0),
   Tone.new( 0, 0, 0, 0),
   Tone.new( 0, 0, 0, 0),
   Tone.new( 0, 0, 0, 0),
   Tone.new( 0, 0, 0, 0),
   Tone.new( 5, -30, -20, 0),
   Tone.new( 15, -60, -50, 0), # 6PM
   Tone.new(-15, -80, -5, 30),
   Tone.new(-70, -90, 15, 55),
   Tone.new(-70, -90, 15, 55),
   Tone.new(-70, -90, 15, 55)
]
 
Last edited:

Dr. Pikachu PhD

Trust me, I'm a doctor. Technically.
Member
Posts
23
#8
I've already altered the time shadings for v17. Have a look at this.
That looks fantastic! I think it will greatly improve the graphical quality at nighttime, especially for games that use custom DS style graphics as tilesets. I don't know why, but it seems the difference night time shading affects these even worse than the GBA style, as you can see in these screenshots from my game. I have no idea why this would be - my DS tileset is just as vibrant as my GBA ones - but I'm sure these new v17 time shadings will make it a non issue. Thanks!

Edit: Thanks for adding the code. It'll be nice to have that in my game for the upcoming Game Jam.
 
Last edited:

leilou

A wild Minun appeared!
Member
Posts
182
#10
This is just a small thing, but something that stood out enough I noticed it. In the main games when you pick up or receive an item the background music/sounds fade out for a moment while the "Get Item!" or "Get Key Item!" sound effect plays. These sound effects play in essentials too, but the background doesn't fade out. Sometimes this leads to the SE clashing pretty horribly with the BGM/BGS, and other times the sound effect is drowned out completely if the BGM is loud enough.
I thought the same so I fixed it like this:
Go to your script section and search the script PField_Field. In this script you search for the functions Kernel.pbReceiveItem and Kernel.pbItemBall and replace all lines that are like this(the word found is varied):

Code:
Kernel.pbMessage(_INTL("\\se["ItemGet"]{1} found some \\c[1]{2}\\c[0]!\\wtnp[30]",$Trainer.name,itemname))
with
Code:
Kernel.pbMessage(_INTL("\\me["ItemGet"]{1} found some \\c[1]{2}\\c[0]!\\wtnp[30]",$Trainer.name,itemname))
ItemGet is the name of your SE. You can change it to match you SE file.

You'll need to do this 4 times in each of these methods,.

Additionally you need to have the SE ItemGet in the ME folder.

Edit: I couldn't underline the letter that needs to be changed ... it's relavitely easy to overlook. So here in words: change "se" to "me"
 
Last edited:

Dr. Pikachu PhD

Trust me, I'm a doctor. Technically.
Member
Posts
23
#11
I thought the same so I fixed it like this:
Go to your script section and search the script PField_Field. In this script you search for the functions Kernel.pbReceiveItem and Kernel.pbItemBall and replace all lines that are like this(the word found is varied):

Code:
Kernel.pbMessage(_INTL("\\se["ItemGet"]{1} found some \\c[1]{2}\\c[0]!\\wtnp[30]",$Trainer.name,itemname))
with
Code:
Kernel.pbMessage(_INTL("\\me["ItemGet"]{1} found some \\c[1]{2}\\c[0]!\\wtnp[30]",$Trainer.name,itemname))
ItemGet is the name of your SE. You can change it to match you SE file.

You'll need to do this 4 times in each of these methods,.

Additionally you need to have the SE ItemGet in the ME folder.

Edit: I couldn't underline the letter that needs to be changed ... it's relavitely easy to overlook. So here in words: change "se" to "me"
Woah, thanks so much! I tried it out and it totally fixed the problem! That was a pretty easy fix too, wish I'd thought to do that :D
 

Munching Blue

Just a new boy in school
Member
Posts
9
#12
Hey maruno I think you should upgrade all the graphics beacuse the ones you use are very old now and you should make scripts for like starter selection screan, new continue screen, new pokegear script, make something to show the pokemon of the player on the top of the screen, the old Title Screen was so simple with just no animation come on no one will use that now, make the whole game touch screen, etc. There are many things that you can upgrade. If you need help then i can make the new graphics pack for your game if you agree. Please don't think that oh am telling these because i need these features but actually i think that these things will be good for every one. If you need any kind of idea for the graphics then you are welcome to ask me for suggestions.
 

Maruno

Pokémon Essentials dev
Essentials Developer
Posts
150
#13
Hey maruno I think you should upgrade all the graphics beacuse the ones you use are very old now and you should make scripts for like starter selection screan, new continue screen, new pokegear script, make something to show the pokemon of the player on the top of the screen, the old Title Screen was so simple with just no animation come on no one will use that now, make the whole game touch screen, etc. There are many things that you can upgrade. If you need help then i can make the new graphics pack for your game if you agree. Please don't think that oh am telling these because i need these features but actually i think that these things will be good for every one. If you need any kind of idea for the graphics then you are welcome to ask me for suggestions.
Show me examples of the new graphics you think Essentials should have.
 

NoodlesButt

Addicted to Jams
Member
Posts
47
#14
Hey maruno I think you should upgrade all the graphics beacuse the ones you use are very old now and you should make scripts for like starter selection screan, new continue screen, new pokegear script, make something to show the pokemon of the player on the top of the screen, the old Title Screen was so simple with just no animation come on no one will use that now, make the whole game touch screen, etc. There are many things that you can upgrade. If you need help then i can make the new graphics pack for your game if you agree. Please don't think that oh am telling these because i need these features but actually i think that these things will be good for every one. If you need any kind of idea for the graphics then you are welcome to ask me for suggestions.
If you want better graphics just put them in yourselves. The tutorial doesn't need better tiles.
 
Last edited:

Sparta

Someone who does something.
Member
Posts
167
#16
It would be cool to have graphic packs tho.
There are already tons of those, though. Just look through DA or the resource sections here or on PokeCommunity. You'll find tons of tiles, sprites, UI graphics all right there.

But, not to stray too far off-topic, I think that Essentials could either do without the Editor, or benefit from an improved one. Personally I just find it slow and inefficient, and at times, buggy (whenever I position sprites, abilities get wiped from the Pokemon.txt PBS). I feel like typing data right into the PBS files is faster, and some people have even made some programs that make it even easier. And since Debug mode shares a lot of the same features, it feels a bit redundant to have an external program do the same things. I don't know if it's a widely-shared opinion, or if it's just me that feels this way, but as it is, I just feel that the Editor is kinda unneeded.

I'm not sure if my thoughts are worded well, or if they're a mess or something. But I just thought I'd throw my opinion in the ring.
 

Marin

( ͡° ͜ʖ ͡°)
Member
Posts
286
#17
I think that Essentials could either do without the Editor, or benefit from an improved one. Personally I just find it slow and inefficient, and at times, buggy (whenever I position sprites, abilities get wiped from the Pokemon.txt PBS). I feel like typing data right into the PBS files is faster, and some people have even made some programs that make it even easier. And since Debug mode shares a lot of the same features, it feels a bit redundant to have an external program do the same things. I don't know if it's a widely-shared opinion, or if it's just me that feels this way, but as it is, I just feel that the Editor is kinda unneeded.
If I'm not mistaken, in v17, the editor is just a part of debug and no longer an external thing.
 

Munching Blue

Just a new boy in school
Member
Posts
9
#18
If you want better graphics just put them in yourselves. The tutorial doesn't need better tiles.
Ok i see what you are telling but come on how use those tiles now.------------------------
Show me examples of the new graphics you think Essentials should have.
I think you should use the bw styled tilesets instead of the normal fire red once and what new scripts would be there? Dont forget the z move script its essential. I think you should make the whole system a touch screen one. This would help all of us to use the touch screen system. You should have the essentials with prebuilded ebs. I think these will be cool to have.------------------------Hey maruno i need a bit of help in some coding. Can you please help me. If you accept then i will PM
you.
 

Aki

Starry eyed
Administrator
Posts
339
#19
Ok i see what you are telling but come on how use those tiles now.------------------------
I think you should use the bw styled tilesets instead of the normal fire red once and what new scripts would be there? Dont forget the z move script its essential. I think you should make the whole system a touch screen one. This would help all of us to use the touch screen system. You should have the essentials with prebuilded ebs. I think these will be cool to have.------------------------Hey maruno i need a bit of help in some coding. Can you please help me. If you accept then i will PM
you.
This thread isn't for personal requests; if you need help we've got a whole section for posting help threads.

Anyway, it looks like these suggestions are for things that already exist. Please keep the thread guidelines in mind:
  • 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?
 

Mr. Gela

Elite Trainer
Member
Posts
140
#20
In my opinion, Essentials doesn't need any fancy graphics given how customizable it is without much knowledge but instead work on existing features such as reflections and dependant events' movement which to my knowledge are both on Maruno's radar.

For a small QoL suggestion, I'd like to see "stairs for dummies", giving sideways stairs a terrain tag (for example) to automate movement behaviour when on top of one. Additionally, sideways and vertical stairs seem to also make the camera behave differently, not sure whether on Gen 3 and or 4 did the trend start and it deserves a little investigation, but for the sake of mimicking the camera behaviour I think it's worth a shot.

This one's me having a crush on Luka's EBS move animations but after making my own, it feels really good to be able to directly script the moves. The debug animations editor makes me feel like I'm fighting against the tool instead of against my own knowledge, and having everything be a small particle engine with randomised values also makes it closer to feeling more modern, while also making it easier to use. It's not for the everyday user, but not everything should be tailored towards them if it's going to limit the power of Essentials.
 
Top