3D Fan Game Development: Tools and Features

What platforms would you like to see fan games on most?

  • iOS/Android

    Votes: 15 34.9%
  • PC/Mac/Linux

    Votes: 19 44.2%
  • PS4

    Votes: 0 0.0%
  • XBOX ONE

    Votes: 0 0.0%
  • Wii U

    Votes: 0 0.0%
  • 3DS

    Votes: 4 9.3%
  • Android TV/Alternate TV Platforms

    Votes: 0 0.0%
  • Switch

    Votes: 4 9.3%
  • Other (Please respond below)

    Votes: 1 2.3%

  • Total voters
    43

Brom

Crobat Appreciator
Member
Posts
17
#1
Ever since the release of Pokémon Diamond and Pearl, many young players clamored to make a 3D Pokémon game of their own with there being little success in completing fan games that look like the games on the DS. However, thanks to recent developments, some groups have come forward with ways to give developers the option to develop a game that looks and feels like the Generation 4 and 5 games.

As of right now, the current frameworks are:
Pokémon Unity, a framework built on the Unity engine, originally by IIcolour, now maintained by SeaPuppy and superusercode
Dittoware, a framework based on the Pokémon Unity framework by Dimbus Maximus. It uses two 256x192 screens to emulate the style of the DS games.
GDWare, also known as Godotware, is a work-in-progress framework by Mvit built on the Godot engine

In order to help move these projects along, what kinds of things would you want as a fan game developer in the engine? What things would be convenient to have easy access to, and what things would you like to see out of the engines?
Noted Suggestions*:

*Please check the list above to see if your idea has already been submitted before suggesting
 

Dragonite

Have they found the One Piece yet
Member
Posts
218
#2
On a personal level I want to see fan games on all of the platforms you listed, but for practical purposes (i.e. avoiding the attention of Nintendo's lawyers and consequential Cease and Desist mayhem) it's of dire importance that fan games stay on the PC. There was a thread on the old Relic about putting fan games on Steam . . . iirc that thread was a dumpster fire, and we probably shouldn't repeat it.

Also, I appreciate the effort that goes into Dittoware but . . . limiting yourself to 256x384? On a PC? Really? :P

(That's all I'm going to say on the matter. I don't want to start anything.)
 

Brom

Crobat Appreciator
Member
Posts
17
#3
Well, to be fair, the resolution can be changed to anything with Unity, and you can upscale the resolution as long as the resolution is at a 4:6 ratio (or two 4:3 screens vertically). Also it's just kind of playing with a low resolution. Also another point, Essentials runs at 512x384 by default, which is only twice the size of the top/bottom screen. Thanks for showing interest though, Dragonite!
 

Aki

Starry eyed
Administrator
#4
As someone who's pretty satisfied with Essentials, and feels skilled enough with that particular engine in to pull off what I want to accomplish, it's gonna be a hard sell to get tme to switch. I'd be waiting untill the tool is established enough to be on par with Essentials honestly, so I'm looking more for things Essentials currently can't do.
  • Easy mapping tools that same time. Essentials isn't difficult, but mapping isn't my favorite because of the time it takes to create and edit good maps.
  • More adaptability for the player. Essentials really only works on PCs, so an engine that could make games playable on Mac, or mobile, or have built-in friendlyness for controllers and other configurations would be a big plus.
  • User friendly editors. Re-writing text files is the most straitforward way I can imagine, but it'd be nice to have an editor that catches misspellings or missing commas as I go, instead of me making changes and then saving and compiling. Like Marin's editors I suppose!
  • Other quality of life things would be less lag and better encryption of course, but those qualities don't affect me much at all
  • Since we're talking 3D, proportional pokemon sprites sounds awesome! Options for either in battle like some of the console games have done, ot including pokemon in the overworld that are proportional
  • Also for 3D functionality, I think there's gotta be some camera options. Moving the camera for cutscenes, having it automatically move to preset angles or movements for certain locations, those are things that 2D can't really do.
At this point though, I'm just waiting to see a 3D engine that has a working battle system; Until that point, I see other engines as cool experiments, but not personally tempting.
 

Grapz

Totally not slacking off
Member
Posts
15
#5
As Aki mentioned:

At this point though, I'm just waiting to see a 3D engine that has a working battle system; Until that point, I see other engines as cool experiments
This is the big dealbreaker for me. Essentials is simply the most complete Fan-Game Engine out there right now. Every engine I've seen has it's ups and downs, but, and this is important, in order to be usable, it needs to be able to actually function as a Pokemon Engine.

For me, this means:
  • Being able to move around and collide with surfaces
  • Being able to talk to NPCs
  • Being able to interact with Events/NPCs/Field HMs
  • Being able to pause, save, and load
  • Having a bag, Pokedex, and Pokemon option on the pause menu
  • Being able to battle, including a comprehensive Levels/EXP system, Different moves, the full type chart, different stats/growth per Pokemon, Evolutions, Battle Items, working Stat Modifiers, working Pokeballs, working status effects, etc. etc.

And that's just the tip of the iceburg.

On top of all this, any new engine needs to have all that completely modifiable, to allow for things like custom HMs, Fakemon, new types or alternative Mega Evolution-esc systems.

It's quite the daunting task.
 

Brom

Crobat Appreciator
Member
Posts
17
#6
As Aki mentioned:



This is the big dealbreaker for me. Essentials is simply the most complete Fan-Game Engine out there right now. Every engine I've seen has it's ups and downs, but, and this is important, in order to be usable, it needs to be able to actually function as a Pokemon Engine.

For me, this means:
  • Being able to move around and collide with surfaces
  • Being able to talk to NPCs
  • Being able to interact with Events/NPCs/Field HMs
  • Being able to pause, save, and load
  • Having a bag, Pokedex, and Pokemon option on the pause menu
  • Being able to battle, including a comprehensive Levels/EXP system, Different moves, the full type chart, different stats/growth per Pokemon, Evolutions, Battle Items, working Stat Modifiers, working Pokeballs, working status effects, etc. etc.

And that's just the tip of the iceburg.

On top of all this, any new engine needs to have all that completely modifiable, to allow for things like custom HMs, Fakemon, new types or alternative Mega Evolution-esc systems.

It's quite the daunting task.
Well, to be fair, most of the requirements you have were already done by the Pokémon Unity engine (PKUnity), most of the things you were looking for were already done. Also, I believe the second and third requirement are one in the same. PKUnity doesn't have the Dex just yet, but it has the other two. The final request is a bit of a tall order to implement all at once, although that probably is a goal in mind. As far as I know though, the Pokédex is being worked on by SeaPuppy, so if those are your bare requirements, you can use Pokémon Unity at least. Also, I believe Dimbus Maximus has been working on a Pokémon builder for Dittoware, so you can make your own and modify 'mons.
 

Alex

Engineering Demigod
Member
Posts
2
#7
As Aki mentioned:

This is the big dealbreaker for me. Essentials is simply the most complete Fan-Game Engine out there right now. Every engine I've seen has it's ups and downs, but, and this is important, in order to be usable, it needs to be able to actually function as a Pokemon Engine.

For me, this means:
  • Being able to move around and collide with surfaces
  • Being able to talk to NPCs
  • Being able to interact with Events/NPCs/Field HMs
  • Being able to pause, save, and load
  • Having a bag, Pokedex, and Pokemon option on the pause menu
  • Being able to battle, including a comprehensive Levels/EXP system, Different moves, the full type chart, different stats/growth per Pokemon, Evolutions, Battle Items, working Stat Modifiers, working Pokeballs, working status effects, etc. etc.

And that's just the tip of the iceburg.

On top of all this, any new engine needs to have all that completely modifiable, to allow for things like custom HMs, Fakemon, new types or alternative Mega Evolution-esc systems.

It's quite the daunting task.
Essentially, a fan game engine needs to be an already functioning video game, in the technical sense. This is the catch-22 of fan game development, and it's why ROM hacking has so much popularity despite its legal shade and immense difficulty in customising... it meets those requirements to a basic extent.

When you develop a video game, you're going to want to be able to program functionality, no matter how much stuff is there already for you. So either you become a programmer on your own, or you find someone who is willing to program things for you in the game. It's pretty much unavoidable that you're going to need someone with the propensity to code in the development process.

But that's where ROM hacks and standard fan games diverge, really. Almost nobody has the capacity to program an already existing ROM for a long-since-dead platform. Perhaps many more people would have the ability to write Python though! Unfortunately, official Pokémon games haven't been written in anything besides assembly, C, and C++ to date, plus they're all compiled and stripped which means they need to be disassembled and decompiled by humans.

It's already quite a lot to ask for a well-made, general-purpose multi-platform game engine - look at the options the industry has right now. Unity and Unreal dominate, and alternatives like phaser.io haven't taken off for the same reason Godot has suffered: poor documentation and sense of direction with their developers. Game developers don't have the time to sift through papers on C++ module development that they're never going to care about, because they're there to make games, not engines. It's far too common to see developers expose their own cognitive biases like that, and the project suffers for it whether they acknowledge it or not. But if you would like to ask for more on top of that, well, I wouldn't get my hopes up unless I knew something most people don't already. It's a tough thing for anyone to justify sinking so much time and effort into.
 

FloofyPanther

Decent at everything, Great at nothing
Member
Posts
27
#8
As most people know, the camera angles for gen 4 and 5 are drastically different. There are unique angles in each generation. Gen 4 inside maps don't have perspective. I would also like to see black city/white forest styled camera angles where sprites are half their size
 
Top