• 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.

[Game Idea] On which Essentials project should I focus?

Which game should I focus on?

  • Pokémon Dogghe

    Votes: 7 38.9%
  • Pokémon Silph

    Votes: 2 11.1%
  • Pokémon Old

    Votes: 3 16.7%
  • Pokémon Procedurally Generated

    Votes: 11 61.1%

  • Total voters
    18
  • 13
    Posts
    4
    Years
    I've been using Essentials for a while and I have a bunch of projects on the back burner. That said, I want to focus on one over the Christmas break, maybe finally get a demo done, who knows. There are four projects that I could unshelf, but I can't really choose and I'd like some community input. Therefore, here's a summary and a poll! Thanks in advance!

    Project 1: Pokémon Dogghe
    Quite the standard pokémon game, with the major difference that it's meant to not be linear. Set in the Dogghe region, based on the Netherlands, which was submerged into the ocean by awakening a legendary pokémon long ago and completely rebuilt by the people living there. I believe the most interesting setting of the four. Also the most worked-on game.
    Status: Pokédex+region basically done, most of the story done sketching out, there's a bunch of different parts of the game lying around but there's a lot of assembly necessary.

    Project 2: Pokémon Silph
    A shorter, story-focused game. You're a young trainer in the distant Ponaya-Tunguska region (based on Siberia) who recently got hired at the Silph HQ. You make some discoveries about what exactly Silph Co. is doing there and why they have a Siberian branch at all, and can either decide to battle your way out to bring the world that information, or fight your way to the top to become the new Chief.
    Status: Most of the setting is done, the story is sketched out but unimplemented.

    Project 3: Pokémon Old
    More of a full-fledged game, although this is certainly the one least far into development. Set in the age of myths, you set out with your trusty Golett or Baltoy to have a pokémon adventure in a pre-industrial world without potions, a pokémon storage system or any poké balls not based on apricorns. Your task is to find and seal away the many legendary pokémon roaming the land, wreaking destruction. The exact setting of the game is not clear yet, although Mesopotamia and Italy are major candidates.
    Status: Mostly just an idea.

    Project 4: Pokémon Procedurally Generated
    Not really a game as much as a programming exercise to see how much of a region I could conceivably have the computer generate by itself, creating a world that's both different every time and still makes sense as an engaging game, plus at times changes to adapt to the player. So far, most of the dungeons, the habitats of pokémon, and what pokémon trainers have can be procedurally generated, although the code is often shaky. I'm not quite sure what I want the real-world model for the setting to be yet, or if I want one at all.
    Status: there's certainly code, though not always very good code.

    Please tell me which one you think I should focus on!
     
  • 1,403
    Posts
    10
    Years
    • Seen Apr 29, 2024
    I am unhealthily into procedural generation. Like so much so that's it's good you put it last, otherwise I'd have skipped over your other ideas.
     
  • 13
    Posts
    4
    Years
    I am unhealthily into procedural generation. Like so much so that's it's good you put it last, otherwise I'd have skipped over your other ideas.

    It's in a way the most interesting among the bunch. I guess if I did this one, the big challenge this time would be seeing if I could implement the existing wild pokemon and trainer algorithms in such a way that they'll properly override the regular files and whether I can design an algorithm to procedurally generate the region itself, beyond individual dungeon maps.
     
  • 1,403
    Posts
    10
    Years
    • Seen Apr 29, 2024
    Yeah, procedural generation certainly sticks out as a thing that hasn't been explored much by the fan game community. I also voted for your non-linear option, for the same reason :)

    As for the implementation of encounter overrides, I think there's some resources around here that do things like balance the levels of encounters that you might be able to adapt so that you can do all that stuff in code rather than via PBS files.
     
  • 13
    Posts
    4
    Years
    I'm already using that code section for that particular project. That's actually a really good suggestion, I was thinking too difficult because I was thinking about how to change it to keep the Pokédex area functionality from malfunctioning too badly, but I guess that since evolution already messes with it I won't have to bother.
     
  • 22
    Posts
    5
    Years
    • Seen Sep 8, 2023
    There was a guy (Kingcoin I think) on the Pokemon Reborn site who was going to make a Procedurally Generated Pokemon Game and got pretty far into it but idk if he's still working on it. You could talk to him about that because maybe you guys can collaborate.
     
  • 13
    Posts
    4
    Years
    I checked it out, it's really impressive but we have different approaches I think. Theirs seems to be built from the ground up, mine is based on exploiting Essentials for all it's worth. There are some advantages to that approach though, mainly because I have to circumvent really weird things that seem to be hardcoded in Essentials due to the properties of RPG maker like the number of maps and their names.

    I am really impressed with their generation of routes and towns though. The last update I could find was from over a year ago from a run of about two years so idk if the project is still alive.
     
  • 13
    Posts
    4
    Years
    OK, so as it stands I believe that there's currently multiple people working on and off on what is essentially the same procedural generation Pokémon game project. I've had a good look at my code and I now believe that programming the encounters, trainers, all that, isn't much of a challenge. The challenge is the part that people seem to be working most on: the generation of maps. That, however, seems to be entirely doable even though tiles and I aren't always the best of friends.

    The biggest challenge with the whole procedurally generated Pokémon game project appears to be a more general one: the game can't completely rely on the procedurally generated world, since procedural generation tends to become boring and sameish very quickly. While generating routes and towns is certainly necessary, I don't think that should be my focus if I decide to do the procedurally generated project. Rather, I'd need to find a way to create a storyline that either branches out in interesting ways or that is randomly different each time to ensure replay value. Also, I'm not sure what such a branching storyline would look like beyond the obvious opportunity to join the villainous team or the Pokémon the team wants to awaken being random.

    Of course, all those things except the procedural generation of the region and the Pokémon that live there can be done in Pokémon Dogghe. I want certain individual areas to be generated procedurally (such as an early area with shifting floating farms). I don't really want to allow for randomized Pokémon to appear, because only a subset really fits with the specific setting. The question is, therefore, what would be a better fit for this project: a static, but handcrafted region with a fixed number of Pokémon, or the relative novelty of a region that's different on every playthrough, where any of the currently existing Pokémon can appear.
     
  • 1,403
    Posts
    10
    Years
    • Seen Apr 29, 2024
    I'd be really interested in seeing a devblog about your approach to procedural story generation. I've done a tiny bit of work on that topic, mostly with pen-and-paper, so there's not much to show for it, but the three ideas at the top of my notepad are:
    1. Make the villainous team and other major NPCs actual actors in the world that are controlled by individual planning AIs. (Very basic) demo.
    2. Model motivations as a multidimensional vector so that there's a mathematical basis for deciding whether NPCs should cooperate, oppose, or be neutral towards each other and you. Demo with unscientific magic numbers for weights, and over-the-top factions/motivations.
    3. Take inspiration from how internationalization/localization/translation works to generate text for particular NPCs, e.g. write all dialogue in plain English such as "Give me <item>!" and have various "languages" to translate each word/phrase/sentence into, so "pompous" might use "I shall be relieving you of your <item>.".

    Anyway, don't feel like you have to comment on my ideas, I just wrote them down in case they spark some inspiration for you. But please do keep us updated!
     
    Last edited:
  • 13
    Posts
    4
    Years
    I've thought about it, and as far as Pokémon specifically goes, the big disadvantage of procedural story generation is that AIs suck at creating coherent overarching storylines, but the advantage is that all Pokémon games follow roughly the same overall story beats. You meet an antagonist several times throughout the story, they awaken a legendary Pokémon sometime before the last gym and beat the champion who is someone you've met before (there are notable minor exceptions to some of those beats, such as gens 1 and 5 but overall it's close). The middle level of storytelling always takes the same form: a bunch of opponents hang out in a dungeon and a story requirement is fulfilled if you defeat them and get to the end. This means that throwing a number of minions and a miniboss in a dungeon should be a reasonably close approximation. The micro level of individual battles and interactions is difficult again, and I doubt I could generate these with my resources without using a lot of canned dialogue and such.

    Another aspect of Pokémon storytelling is that the story only advances in response to the player. Sure, you could diverge from that and allow a villain to fulfill their plot without the player ever meeting them, but I don't think that would be particularly fun. So I think that reducing the plot to a search problem as in the example you gave isn't the best approach here.

    My first rough proposal would be to use a combination of randomised initial settings and a number of variables that are affected by the player's actions to determine the exact filled-in version of the story skeleton; mainly who wakes up the legendary Pokémon and why, and who is the game's champion. Random initial settings that occur to me are how ideological the evil team is (think Rocket vs. Galactic) or how effective they are (think Skull vs. any other team) or how much of a jerk your rival is. The player's actions determine which characters rise to the forefront, with variables such as their relationship, their story relevance (who actually has a motivation to awake the legendary) and the battle strength of other characters to determine the champion. This could indeed be done in a similar vector implementation, to allow the variables to somehow interact with each other.
     
  • 1,403
    Posts
    10
    Years
    • Seen Apr 29, 2024
    Oh, I forgot to link in my last post, but also there's James Ryan's thesis Curating Simulated Storyworlds which is probably a good introduction to the field of story generation, if (like me) you're not acquainted with the research. I don't know if it's the best thing to read, and I'm only 270 pages in so far, but I've enjoyed it and there's lots of interesting things to think about.

    Having said that, I don't think you'll need anything even close to those techniques to do what you're proposing, and done-but-simple is always better than complex-but-unfinished :D
     
    Last edited:
  • 13
    Posts
    4
    Years
    That looks really interesting!

    Yeah, I technically should be able to make something really complex and sophisticated, but I don't feel that's what this project needs. I don't really need the generated story to be completely novel or to go off the rails in unexpected ways. Very slightly more sophisticated branching storylines are already a reasonable goal. Also done-but-simple is really the ideal here, since it's always possible to add complexity further down the line.
     

    Flowerchild

    fleeting assembly
  • 8,709
    Posts
    14
    Years
    I'd be really interested in seeing a devblog about your approach to procedural story generation. I've done a tiny bit of work on that topic, mostly with pen-and-paper, so there's not much to show for it, but the three ideas at the top of my notepad are:
    1. Make the villainous team and other major NPCs actual actors in the world that are controlled by individual planning AIs. (Very basic) demo.
    2. Model motivations as a multidimensional vector so that there's a mathematical basis for deciding whether NPCs should cooperate, oppose, or be neutral towards each other and you. Demo with unscientific magic numbers for weights, and over-the-top factions/motivations.
    3. Take inspiration from how internationalization/localization/translation works to generate text for particular NPCs, e.g. write all dialogue in plain English such as "Give me <item>!" and have various "languages" to translate each word/phrase/sentence into, so "pompous" might use "I shall be relieving you of your <item>.".

    Anyway, don't feel like you have to comment on my ideas, I just wrote them down in case they spark some inspiration for you. But please do keep us updated!

    wow i love this post so much
     
  • 139
    Posts
    8
    Years
    Just thought I would chime in that I've been working on some procedural generation stuff too. It started out in my own Java engine, but I sort of changed my mind and have it jerry-rigged to generate maps that can be exported to RMXP (so, not run-time generation). I haven't really explored any procedural storytelling yet although I've done some reading about it!

    You mentioned assigning pokemon spawns not "totally randomly" but according to what makes sense in the setting - the way I handle this at the moment is by having "biomes" for certain routes, and the species that can appear is chosen from a pool that are allowed both in that specific biome and at that level range (so, evolved forms start appearing at higher levels, and stone evolutions or 3rd stages usually don't appear, following main series conventions). I have more of it laid out than actually implemented, but I do have a simple version working with just 5 biomes and 1st gen pokemon.

    I also had the idea that certain terrain attributes might get a spawn slot or two no matter what the biome is, adding some variety. For example if there's a beach, maybe Wingull or Krabby can appear regardless of biome. So you could have modifiers like "Coastal Forest" or "Mountain Desert" instead of just fixed biome types, adding a little more variety and unpredictability without being nonsensical.
     
    Back
    Top