• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Chit-Chat: ROM Hacking Daily Chit Chat

scotchkorean27

Programmer/Pastry Enthusiast
24
Posts
8
Years
  • Similarly, you would need to make it so that once a choice is chosen, to go to either Viridian (and, by extension, the Viridian Forest or Giovanni's Gym), once the player actually does go in the direction that they originally chose not to, they will be presented a similar challenge as if they'd gone their in the first place (and not simply overpower everything in their path).
    Hmm, I'm kind of inclined to disagree with you there. A good open world game has to avoid linearity, but I don't think making the entire world simultaneously and always accessible is the right choice there. If we scaled levels dynamically to match the player at every step, theyd have no real reason to level or progress. I'll use Skyrim as an example, since that seems to be the poster child for open world games these days. There is a lot of stuff that is available immediately like the Dark Brotherhood, but Skyrim actually enforces a lot of level minimums too. A level 1 player can't just waltz into Solstheim and expect to stand a sliver of a chance, the same applies to the civil war questline and the Daedric quests. While an open world game avoids story and narrative linearity, it's perfectly acceptable and even preferable in some cases to enforce a difficulty curve of some sort. To the second point about overpowering things, I don't really think there's anything fundamentally wrong with overpowering an area. Going back to Skyrim (I dunno, it's the only one I can think of off the top of my head), even though the enemies in that game do scale with player level, all of them have upper and lower bounds. IIRC, bandits cap at level 55, and dragons bottom at level 10. Even narratively speaking, if all beginning trainers start from Pallett Town, then it stands to reason that the trainers around the area are going to be lower leveled, from which they move on to higher leveled areas.

    However, I totally think you're right about grating players function and sanction. =)
     

    machomuu

    Stuck in Hot Girl Summer
    10,507
    Posts
    16
    Years
  • Hmm, I'm kind of inclined to disagree with you there. A good open world game has to avoid linearity, but I don't think making the entire world simultaneously and always accessible is the right choice there. If we scaled levels dynamically to match the player at every step, theyd have no real reason to level or progress. I'll use Skyrim as an example, since that seems to be the poster child for open world games these days. There is a lot of stuff that is available immediately like the Dark Brotherhood, but Skyrim actually enforces a lot of level minimums too. A level 1 player can't just waltz into Solstheim and expect to stand a sliver of a chance, the same applies to the civil war questline and the Daedric quests. While an open world game avoids story and narrative linearity, it's perfectly acceptable and even preferable in some cases to enforce a difficulty curve of some sort. To the second point about overpowering things, I don't really think there's anything fundamentally wrong with overpowering an area. Going back to Skyrim (I dunno, it's the only one I can think of off the top of my head), even though the enemies in that game do scale with player level, all of them have upper and lower bounds. IIRC, bandits cap at level 55, and dragons bottom at level 10. Even narratively speaking, if all beginning trainers start from Pallett Town, then it stands to reason that the trainers around the area are going to be lower leveled, from which they move on to higher leveled areas.
    The main reason I mention scaling is because it's one of the easier ways to facilitate freedom. Not the best, I'd say, but it's kind of a "just add water" type-deal, with very little manual work (which comes with its own cons). But it doesn't have to be added for everyone. It could just be for specific areas of wild Pokemon and, probably more appropriately, trainers (to make the world feel more alive) to help consistently provide the player with a challenge.

    But, going along with my example, that was more just for the early-game. Specifically, you can go in these two directions at the outset of your journey so, unless there's some warning about there being strong trainers on the way to Cinnabar (or in Cinnabar), it should be a viable choice so long as you're capable of going there. And it can make for a bit of illusory choice, with you arriving at Cinnabar only to be told that Blaine is way stronger than you or that the Seafoam islands hold Pokemon too strong for beginners, or going the other way, that the Viridian Forest holds dangerous Pokemon. I don't necessarily think it should be distributed to everyone and everything, but variably to where it would help to aid parts that would benefit.

    That said, I do agree with everything you've said on the matter, and I really do think it's something that should be used sparingly.
     

    scotchkorean27

    Programmer/Pastry Enthusiast
    24
    Posts
    8
    Years
  • Oh, I see what you're saying. If I remember correctly, Emerald had a sort of upward scaling system with trainer rematches that was kind of nice. Earlier trainers got stronger as the game progressed and you could rebattle their stronger teams. It would do a lot to add some flavor to the game.

    Oh, I realized I never offered an actual approach to doing this.

    Personally, I think the easiest way to build an open world system for a level-centric game like pokemon would be to do a sort of radial gradient. Draw a big circle with your beginning area in the middle, and draw a sort of outward pointing graph (if we want to get all mathy, we could conceptualize towns as nodes and routes as edges). The further from the middle any given location is, the higher its level. In that way, players would have a largely linear difficulty curve as they went out, but if they want to move elsewhere but still have a decent challenge, they can move radially around their "band" in the circle so to speak.
     

    Blah

    Free supporter
    1,924
    Posts
    11
    Years
  • Hey guys, I was actually going to make a level scaling routine for Pokemon encountered to tackle the level things. I do intend to make some areas static level, specifically routes at early parts of the game which contain noob Pokemon and places where I intend to become more late game. That being said, I want Pokemon hunting to still be an option. By Pokemon hunting, I mean running to the nearest cave first because you want to capture an Onix, or trying to find a volcano area for Fire Pokemon ect.

    For the late game intended areas, I can just make them far away from the starting zone and hard to find until you trigger an NPC's quest :)
     

    Deokishisu

    Mr. Magius
    990
    Posts
    18
    Years
  • Hey guys, I was actually going to make a level scaling routine for Pokemon encountered to tackle the level things. I do intend to make some areas static level, specifically routes at early parts of the game which contain noob Pokemon and places where I intend to become more late game. That being said, I want Pokemon hunting to still be an option. By Pokemon hunting, I mean running to the nearest cave first because you want to capture an Onix, or trying to find a volcano area for Fire Pokemon ect.

    For the late game intended areas, I can just make them far away from the starting zone and hard to find until you trigger an NPC's quest :)

    I'm generally not a fan of the level scaling idea for more than small pockets of the game because it removes the need for progression. If you gate certain areas until quests are completed to force progression, you'd have to gate so much (in a Pokemon-type of game) that you might as well abandon the open world concept, imo. The best way I see to do this is to go the MMO route and have multiple "zones" at the same general level, giving the player the ability to choose their own "path" that they progress through, without abandoning level curves or static difficulty altogether. In MMOs, the suggested path is normally selected by the player through their choice of race (humans start here, elves start here, and their starting zones are connected to different zones but have the same level monsters and quests). In Pokemon, I suppose if you went with multiple starting zones, you could ask them what town they're from. The town they're from could influence what that professor gives them Pokemon-wise, and what Pokemon are available early on in that area. This would require your region to be big enough to facilitate this, while also giving the player the ability to start at one starting zone, but travel (with some difficultly) to another if they want to. In a way, your big region would sort-of house multiple mini-regions. This gives you a way to add variety and choice for the player early on. Well, maybe one starting town is surrounded by a forest but eventually the forest opens up to a field. The other starting town is an oasis bordered on all sides by a desert. The other sits at the foot of a volcano to the north, but to the south is lush because of the rich volcanic soil. Then, once your player is out of the starting zone's level range, they have a choice of which nearby zone they'd like to do next. With multiple zones per level bracket, the player has a lot of freedom to tailor their experience to what they like (and exploration becomes a thing, which is always fun), while you have the freedom to go crazy with environments, concepts, and characters. The "factions" could be different settlers from other regions that came here to lay a claim for Kanto/Hoenn/Sinnoh/whatever, with unaligned factions doing their own thing.

    The one thing that you'd definitely need to do is find some way to prevent the player from just wandering into a high level zone and throwing Poke Balls at high level Pokemon until they catch one. Since there's always a chance (and save stating is a thing) to catch a Pokemon, the player could go from the starting zone directly to your endgame, catch a Tyranitar or whatever, and then go back to blow the game wide open. Perhaps the game could store the level of the highest ever OT-owned Pokemon (so that boxed Pokemon are considered), and the player's Poke Balls just don't work on Pokemon much higher than that level. That also gives the player another incentive to progress, as they won't be able to catch a wide variety of Pokemon without leveling their own first. Enabling exp upon capture (and maybe there's an experience bonus for catching a Pokemon instead of fainting it), and implementing the XY Exp. Share seems like a good idea for this type of gameplay, because if the player isn't keen on battling but wants to catch 'em all, you ease their leveling significantly for doing their preferred playstyle. Heck, there could be a faction of researchers that reward the player everytime they hit a Pokedex milestone and send them to exclusive and remote areas to catch exclusive Pokemon for them to study.

    Seriously, the possibilities here are endless.
     
    Last edited:

    Danny0317

    Fluorite's back, brah
    1,067
    Posts
    10
    Years
    • Age 24
    • Seen Nov 19, 2023
    Do you guys ever get so lazy that you just

    Spoiler: image contains a curse word
    ROM Hacking Daily Chit Chat
     
    Last edited by a moderator:

    Blah

    Free supporter
    1,924
    Posts
    11
    Years
  • Did you just write a program to generate 15 lines? Wut da hell Danny lol.
    Would've been so much easier to use regular expressions copy paste :C

    Actually, in red alien you can have loops in your scripts. It's got it's own preprocessor kinda thing going on. It interprets your loop and generates code before compiling iirc. I suggest you give it a spin, it's python based and pretty light :)
     

    Danny0317

    Fluorite's back, brah
    1,067
    Posts
    10
    Years
    • Age 24
    • Seen Nov 19, 2023
    you achieved a whole new level of laziness

    yea but like

    Did you just write a program to generate 15 lines? Wut da hell Danny lol.
    Would've been so much easier to use regular expressions copy paste :C

    Actually, in red alien you can have loops in your scripts. It's got it's own preprocessor kinda thing going on. It interprets your loop and generates code before compiling iirc. I suggest you give it a spin, it's python based and pretty light :)

    Is it stable yet? Also, I wouldn't wanna have to use a variable for that, lol
     

    Touched

    Resident ASMAGICIAN
    625
    Posts
    9
    Years
    • Age 122
    • Seen Feb 1, 2018
    yea but like



    Is it stable yet? Also, I wouldn't wanna have to use a variable for that, lol

    Then use a temporary (0x800X) variable. It seems to be pretty stable, and it has the bonus of being usable with any text editor you want.
     
    25
    Posts
    8
    Years
    • Seen Dec 13, 2015
    Do you guys think it's alright if I started helping out on a Hack project, but because I get busy a lot, I won't be able to help on a daily basis? I'll see through it that I do my best till the end though.

    What I want to mainly help out on are the art/spriting jobs.
    Should I give it a go?
     

    Danny0317

    Fluorite's back, brah
    1,067
    Posts
    10
    Years
    • Age 24
    • Seen Nov 19, 2023
    Do you guys think it's alright if I started helping out on a Hack project, but because I get busy a lot, I won't be able to help on a daily basis? I'll see through it that I do my best till the end though.

    What I want to mainly help out on are the art/spriting jobs.
    Should I give it a go?

    A little help is better than no help. Just make sure to tell the person.
     

    Blah

    Free supporter
    1,924
    Posts
    11
    Years
  • Do you guys think it's alright if I started helping out on a Hack project, but because I get busy a lot, I won't be able to help on a daily basis? I'll see through it that I do my best till the end though.

    What I want to mainly help out on are the art/spriting jobs.
    Should I give it a go?

    I'd take you for spriting. Spriting is the MOST needed thing for pretty much every hacker. We love original stuff, but we just don't have the artistic talent you guys have :D
     
    277
    Posts
    9
    Years
  • Thanks!

    I feel more motivated to begin.
    Speaking of spriting, I know that a ton of hackers (including myself, haha) either recolor existing gf sprites, make really bad sprites, or just reuse official characters as an excuse not to sprite, and it doesn't really work. It looks unprofessional and bad, so spriters' work is greatly appreciated.

    I actually played a hack a few weeks ago where no graphics were changed at all, and it tried to assign new characters to old uniedited sprites, and it just didn't really work.
     
    417
    Posts
    9
    Years
    • Seen Nov 20, 2016
    This is something that I have a bit of difficulty with. How does everyone select the mons that (insignificant) enemy trainers use? I'm not referring to obvious factors such as level curve or base stats. What I'm asking is how do you choose whether that youngster has two Zigzagoons, two Lillipups, or perhaps one of each? When you enter a forest, how do you decide which bug catcher has Scatterbugs, which has Wurmples, and how those trainers are organized in terms of the overworld? Do you try to make specific trainer classes have a select few evolutionary lines, or do you make most trainers have mons based on nearby routes and caves? At the moment, I don't have very specific guidelines. All I have to go on is what "feels wrong" when I test. If anyone has a better methodology, I could use some help.
     

    machomuu

    Stuck in Hot Girl Summer
    10,507
    Posts
    16
    Years
  • This is something that I have a bit of difficulty with. How does everyone select the mons that (insignificant) enemy trainers use? I'm not referring to obvious factors such as level curve or base stats. What I'm asking is how do you choose whether that youngster has two Zigzagoons, two Lillipups, or perhaps one of each? When you enter a forest, how do you decide which bug catcher has Scatterbugs, which has Wurmples, and how those trainers are organized in terms of the overworld? Do you try to make specific trainer classes have a select few evolutionary lines, or do you make most trainers have mons based on nearby routes and caves? At the moment, I don't have very specific guidelines. All I have to go on is what "feels wrong" when I test. If anyone has a better methodology, I could use some help.
    For me, it's a mix of things. Early on, there are basically the criteria that I weigh it on: what's in this area, what trainer type are they, and what will the player have up to that point. I'd imagine that the third point is often overlooked or, in cases of "uber hard" hacks, abused, but by weighing all of these things you get a pretty clear idea of who should have what, when. Other things to take note of is how long you want the route to be and how many Pokemon do the other trainers have, as several teams of the same or similar Pokemon can be incredibly monotonous.

    As the game progresses, you can throw out focusing on what the player may have (keep the starters in mind, though, as for most players this is a constant). From here, the trainer's type and the area type become a lot more important and what you should be focusing on is difficulty variance. If you have a cave with five Hikers, don't make them all the same. Their difficulty should be balanced with their position. The way the official games do it, the harder trainers are generally the more optional/avoidable ones or near/at the exits to their locations, while the easier ones are mandatory or close to the entrance. This is a pretty solid way to do it as it gives the player time to prepare without necessarily allowing them to bob and weave through the difficult enemies easily. Generally, it takes thought and timing.

    As for what they should have in those instances, it can be a combination of things. Though not as much as before, what's in the area is still relevant and you should delve into that. These Pokemon may be themed, and because the player will likely be prepared for these, they should be issued mostly to the lower difficulty trainers in said area. This is good, because since these guys are generally mandatory or near the entrance, it gives the player a taste of what they can expect from the wildlife and other trainers (which can be a good motivator). If you have trouble with picking Pokemon, try starting by looking at who the trainer is, where they're positioned, and what you as the designer want out of them. If you want a trainer that's a moderate challenge, why not start them off with a pokemon from that area and then build around that?

    Themes can also be good, and the official games have fun with this. Sometimes, for specific or random trainers, the games will give teams specific themes (all the members of an evolutionary family, Zangoose and Seviper, all of the starters from that region, stuff like that). They're a nice fallback if you're out of ideas and the player will get some appreciation out of them, but they're best used sparsely (assuming they aren't relevant to what's in the area) because the novelty will definitely wear off if used too often.

    And for the endgame the important things to note are trainer type and teams that compliment each other. Here team making must be more efficient because, by this point, moves pack much more of a punch and the player will be using final evolutions and legendaries. This isn't to say that every match should be a challenge- no, the curve should still exist for difficulty, but you need to make teams that are competent enough not to simply be steamrolled by the endgame pacing that the player will bring with them.
     

    JustSomePerson

    Noob Extraordinaire
    6
    Posts
    9
    Years
  • (I'm not entirely sure if I should post this here, but it's the closest thread that matches with what I wanna ask.)

    A couple years ago, I was nuzlocking an FR hack that I can't remember the name of. The main details I can remember are:
    - May as an additional rival, first introduced in Pewter City.
    - All gym leaders have 6 Pokemon; Brock had levels 15-17.
    - In my room, there was a "life-sized doll" that gave me running shoes.
    - A little bit of cursing. Only time I can remember cursing is when I talked with my mom as I was leaving the house.
    - I ran it through a randomizer and got Deino as a starter, so there were some Gen5 Pokemon.

    These are the main details I can remember from the ROM. If anyone knows which ROM this is/a similar ROM, please let me know. Thanks. :)
     
    Last edited:
    277
    Posts
    9
    Years
  • (I'm not entirely sure if I should post this here, but it's the closest thread that matches with what I wanna ask.)

    A couple years ago, I was nuzlocking an FR hack that I can't remember the name of. The main details I can remember are:
    - May as an additional rival, first introduced in Pewter City.
    - All gym leaders have 6 Pokemon; Brock had levels 15-17.
    - In my room, there was a "life-sized doll" that gave me running shoes.
    - A little bit of cursing. Only time I can remember cursing is when I talked with my mom as I was leaving the house.
    - I ran it through a randomizer and got Deino as a starter, so there were some Gen5 Pokemon.

    These are the main details I can remember from the ROM. If anyone knows which ROM this is/a similar ROM, please let me know. Thanks. :)
    Most likely a firered "hard hack" or a reboot. There are so many of each of those, it is extremely difficult to know which one in particular.
     
    Back
    Top