Articles

For all types of articles or columns. Got something to share? This is the place for informative, structured articles!
 
There was recently a fun discussion in the discord about what recruiters can do to draw developers to their project. (It starts here, and I highly recommend you look through if this topic interests you!) Cat suggested I put my message as an article on the site, so I've cleaned it up a bit and put it here! Disclaimer This is subjective! This is why it's an article and not a tutorial - makes it more clear it's a personal opinion, and opens up the floor for more discussion! This article is intended to advise lead devs on how to recruit others, not to tell other devs to avoid certain recruitment posts. If you see a recruitment thread for a project that catches your eye, you shouldn't be stopped by "Oh, wait, this other guy says recruitments like this raise red flags for him, maybe I should skip it". I'm going to be repeating this point a lot, but I just want to be very clear about it - when I talk about a behavior that makes me not want to join a project, it is not a moral condemnation of any user who's done this. I don't think they're a bad person, that they'll make a bad game, that nobody should work with them, etc., just that this certain behavior might turn potential recruits away. About Me I’ve been in the Relic Castle community since around 2016, which was the tail end of the old forums! I’ve had a very strange journey with how I approached recruitment threads in that time. Era 0 Tech (just entering) - “I have a fangame idea! I want to talk about it with people! I’ll make a thread!" I then received a DM from the mods telling me that “your recruitment post has a lot of ideas written out, but you did not attach any screenshots. You know you have to have a project started to recruit people, right?" (Pokémon Glass as a concept turns 7 this year... guess when the last time I opened that project file was... I still refuse to abandon WIPs) Era 1 Tech (early relic) - “I can write! I can playtest! I've just learned how to use the map editor! I'm going to see if there's any projects that'll take me and try to make a name for myself!” One time I got in contact with a guy who was asking for a writer for his game. He had a title and a logo, but literally no story, or even base game concept as far as I could tell? I actually had fun coming up with the story (and still consider it one of my “I’ll totally eventually do it” WIPs, to a degree), but the fact that I was able to come up with it out of nowhere should have been a sign that he wasn’t putting in any work on his end - if he had existing work, I would have been writing a story that meshed with what he had so far. Era 2 Tech - "I really feel like I'm understanding coding a lot more, what projects on relic could use a programmer? This seems fun, this seems fun, this seems fun," repeat until I'm suddenly in 10 or so projects. Era 3 Tech (now) - I Will Not Fucking Respond to recruitment threads (and yet I still get personally DMed and won over by specific projects) You'll notice a few glaring blind spots, haha - I've never actually written a recruitment post myself, and I haven't really made a habit of weighing recruitment posts. (While I certainly don't regret any of the projects I've joined, I had definitely joined more with the intent of "I wanna help out on a game" rather than being particularly discerning) But I think I've got a pretty good handle on what appeals to me in recruitment posts now! My Personal Red/Green Flags (Apologies to anyone with RG colorblindness - I was pretty deep into editing this when I realized the potential issue. 😅 Red is on the left, green on the right!) If I can't tell what you're contributing yourself, I'm going to be a bit cautious about taking your offer. There's nothing wrong with recruiting people to do things you don't have the skills for, or even people with your same skills just to split up the workload. But if every role on your project is covered by someone else, you might come across as "Just an idea guy" - you have fun brainstorming, but you leave the actual work to other people. Keep in mind, most people in this community have their own ideas for things they'd like to create, and there's never a shortage of projects to join. A good idea is usually not enough to attract recruits, because most people don't want to create your ideas for you. By contrast, showing what you're willing and capable of doing is a great way to show that you're serious about your project. Even if you don't have the experience or expertise of others, being willing to put in the work is a huge part of development, and shows people that you're interested in collaborating, not just asking them to do it for you. Another red flag is a post that's vague about the game's promises. Sometimes this is because the post lists common features in fangames, but doesn't get much into the details. A lot of fangames can boast "new Pokémon, a new location, and a new story" - but that's a scale that can range from jam games like Attack on the Space Station to big projects like Pokémon Sage. Other times, posts seem to pad out their advertised features with common plugins ("This game has HM items") or base Essentials features ("This game has the day/night cycle"). Some mechanics and plugins are worth mentioning because they do shake up game design! Like, if you're recruiting a Fakemon sprite artist, you'll want to mention if you're using Following Pokémon EX, because that means every Pokémon will need an overworld sprite. But if a plugin isn't something developers will have to work around, and it's not something you yourself contributed... why list it in the recruitment post? Some of it goes back to that "What are you contributing?" question. If you're just advertising that you installed a popular plugin or followed the base Essentials tutorials, that doesn't really show a lot of work ethic. If you know that you want to create a region, but you don't have many ideas about the specifics, you're shifting that workload onto the mappers and tile creators. But another part of it is recognizing scope. If you're advertising that you added some plugins, and you're asking for more in-depth work like creating sprites or making maps, people might think that you consider those equal workloads, and expect them to produce work faster than possible, or to be able to take on a too-big task. I actually have a funny story about not recognizing scope, and one that I hope further proves my point about how these issues are not a sign of being a bad developer. Giving specific details can help not just with defining scope, but also the specific ways their skills will be applied! Some artists work better in certain styles, some musicians work better with certain soundfonts, some scripters find UI easier than battle mechanics, etc. Laying out the specific goals beyond just "new art/new music/new scripts" gives developers a better picture of what they're committing to, and can entice them more if it's something they have fun creating! Posts that bump a thread just to bump it concern me on a couple of fronts. Firstly, I think it shows a bit of ignorance about time management and engagement when developing. I think I can say with confidence that there is no person out there who's like "I want to work on someone else's game project, but I'm only going to check Relic Castle's recent posts, I'm not going to go into the Recruitment subforum and look at projects." It's possible that there's someone out there who would be interested but hasn't seen your thread - but that's more likely because they’re busy in their day-to-day life, not because they had a chance to look at the post and just didn’t. Secondly, if someone's frequently bumping their recruitment thread, I feel like that's a sign that they're not a very patient sort. Anyone who's worked with me on non-jam games knows that I'm horrible about timely responses, so if a developer's expecting fast work and regular check-ins, I'm probably not a good fit for their project. (And this is a point that can be super subjective - if you have the time and the drive, you might be actively seeking out projects with fast-paced development!) On the flipside, I think posts that bump a thread with progress on the project are a great way more proof of your commitment to your project and its progress. It shows that you're committing to your idea, and it continues to show off your own skills and what direction the project is taking. You can also give progress estimates - while I wouldn't recommend holding yourself to a deadline, telling people "I think X part is Y% finished" is another great way to tell devs what the scope of their involvement would be. If a project is still looking for writers to figure out the main story, I think they should be holding off most major positions, unless they've got a lot locked down already. If you're still not sure where your story is going, that means that locations, characters, and even Fakemon are still in a state of flux. There's no reason to ask people to do the work of creating them if you're not sure they won't eventually be discarded. What if your mapper spends time on a dungeon that you decide to cut? Or your Fakemon designer puts together concept art for the cover legendary just before its lore changes? Recruiting writers in general is not a red flag! You could still need a writer to flesh out any number of things - someone to write NPC dialogue and flavor text, someone to come up with sidequests that won't shift the course of your main story, someone to translate story beats into gripping dialogue. And even if your story isn't finished, maybe you want to make sure it's integrated well with your other game elements, so you want a writer to discuss how you could incorporate character traits into visual designs, or think about the overall lore of the world. These are all great! My point here is only that your team shouldn't be working on an unsteady foundation, and to me, an unfinished main plot is the easiest way to throw things off-course. I promise, this isn't meant to be elitist/gatekeep-y/etc., but I think the biggest green flag for me right now is an established reputation, where I know they're willing and able to bring a project to completion because I've seen them do it before. (The projects that have reached out to me personally had either a demo or a completed release that was being updated, so I knew it wasn't "Hey I've got a passing interest but don't want to do the work, will you do it for me?") This doesn't mean you have to be some big-name developer on par with Uranium or Prism, or have years of being in the community. I don't even mean "a full game" when I say "project" - there's plenty of resources out there that are great displays of skill and dedication! It just keeps coming back to that first point - show people you're willing and able to put in the work! People still aren't responding... What can I do? It can be tempting to think that getting a team together is just a matter of marketing your project right. Everything on the internet seems to find some sort of audience, so if you just keep sharing, you're bound to hit someone eventually, right? But the thing about recruiting is that it's not just an matter of finding people who are interested - you also have to find people that have the necessary skills and that have the time to contribute. And sometimes there's just not anyone out there who meets all that criteria! Everyone's got their own lives, and sometimes, even if someone's seen your post and thinks your ideas are cool, they're just not capable of committing themselves to a project at the moment. (Or maybe they're a would-be player who's just never taken up developing themselves!) That's why you should never wait on new recruits to continue progress. If you're waiting on an asset like graphics or music, just throw in a placeholder and work around it for the time being. If you're wanting a scripter to implement a battle mechanic you thought up, just write down where you want to playtest for balance and come back to it later. Unless you've got a fully playable game, there's bound to be something you can work on by yourself in the meantime, be that mapping, eventing, balancing, etc. It might help attract new recruits - maybe people will be more willing to give time to a project that looks like it has legs, or seeing the ideas in action intrigues them more. Or maybe it won't! But the important thing is, your project hasn't been put on hold to just die off over time. I feel like I've talked in circles and repeated my points too many times already, but just to sum it up again: Show (don't tell!) people that you're putting in work, not asking others to do everything for you Give lots of detail about the work - the scope of the project, the styles you're working in, and what's already been done are all great things to share If your recruitment post doesn't go well, it's not a reflection on your project or yourself, and you shouldn't let that stop you from continuing to work on what you can!
"Open world" is one of the more fun buzz words in our industry. I was on another site and people were talking about applying it to Pokémon, and I thought we had a thread for it too but I can't find one (maybe it was old Relic?) and I know an uncertain number of people have brought it up before anyway so let's dive right in. As most of us have probably realized, there is no plug-and-play PBOpenWorld module that we can just enable when we load up a fresh copy of Essentials, so if we want to do that we have to do it ourselves, to whatever degree feels appropriate. I don't really want to just turn this thread into a brain dump of what I think about open world games, so I'll probably just respond to wherever the conversation goes, so here are some common questions to get started. For most of these I'm picturing a game that takes 50-60 hours to complete rather than 25, but you don't have to. - How does pacing work in a game where you don't control the order in which events happen? - Do any Pokémon-specific mechanics have to be adjusted? (Level cap, evolution times/methods) - Are there any other things that Pokémon games do (I don't really want to call them "mechanics") that have to be adjusted? (Rival battles, Elite Four) - How do you gate progress, not so much for general areas where the player isn't supposed to go but for things that they might be able to do that would completely break the story? (Do you need a key to enter a dungeon, or will a relevant NPC not do battle with you until a specific event, or just not exist until then?) - Do HMs exist at all, as a move, key item, mount, or otherwise? - Do you implement level scaling for foes, or hard-code separate teams/encounters for different points in the adventure? - Do your relations with NPCs/their response to you change over the course of the game, or does Mr. Ledge Dude say the same thing at the end of the game as he did at the beginning? - Do you give the player a discrete starting city, or have them begin at a random point on the map, or let them choose? - Does anything about Fly/fast travel/warp points change? - If technical limitations weren't a problem, would gates between routes still be a thing, or would that break immersion? - How do you organize a project like this without it becoming a tangled mass of spaghetti? - Can you think of anything else that might come up when making open world Pokémon that I missed? Have you done anything like this before? (If you have, can I have your autograph?)
 
The Legality of Fangames I've seen a lot of misinformation on the topic of fangames, and it's easy to misinterpret what the laws do and don't say. In this article I'd like to attempt to address whether fangames are or aren't legal, how they can be, when a work is your own, what it's protected under, and to generally inform you about Copyright, Trademark, Fair Use and more. There are four main topics that we need to go over to grasp what the legality of fangames is, and these are Copyright, Intellectual Property, Trademark, and Fair Use. There are more factors that could be considered both within and surrounding these topics, but these are what I will be addressing in this article. I am not a lawyer, and the content of this article is not a substitute for legal advice. Intellectual Property Intellectual Property, IP for short, is an intangible, non-physical creation that is stored in our human intellect. IP rights are made up of copyrights, trademarks, patents, and more aspects like industrial design rights and geographical indications, and sometimes even trade secrets. The purpose of IP is to give people the exclusive property rights to information and intellectual goods, and to encourage people to create. Just like traditional properties, these are things you own, but intellectually rather than physically. Trademark The purpose of trademarks is to mark a slogan, a logo or different type of good as being owned by the creator. If you have a trademark, you have the exclusive rights to use that trademark and nobody is allowed to use it. It is a type of intellectual property that can be infringed, and the infringer is liable for legal action upon doing so. One of the main corner stones behind trademarks is representing the source or origin of the intellectual good. Upon usage, they identify the trademark user as the person or entity with the exclusive rights to the trademark, and typically everything surrounding the trademark. It is in its most basic form a way to protect the identity of your trademark. Trademarks should always be registered to ensure it has legal value, but some countries also recognize unregistered trademarks. All trademarks can be identified with the ™ trademark symbol, and ® can be used to identify only registered trademarks. Trademarks are active once registered, but you may lose the exclusive rights to your trademark if it is not actively used or maintained. This means that, if the trademark owner is aware of infringement of their trademark, they must either take legal action, or determine the infringement to be minor and inconsequential. Trademark use is not automatically infringement if it is used to describe the original trademark accurately, or if it is used to identify a different person or entity to hold the rights to the trademark. If a party threatens another party of taking legal action on the basis of trademark infringement but the basis is considered unfounded, the second party may take legal action over that threat of legal action itself. This prevents large parties from intimidating small parties. Copyright The purpose of copyright is to protect intellectual property. Copyright gives you, the Copyright holder, the exclusive rights to the intellectual good, which means nobody else is allowed to copy the good. Goods like poetry, movies, streaming audio and video, video games, plays, paintings, sheet music, recorded music performances, novels, software code, sculptures, photographs, choreography, and architectural designs are just a few examples of all the different type of Intellectual Good that falls under Copyright. Copyright protects these goods from being copied (which extends to being used or being modified) without explicit permission through a License. This can be a free or paid license, with or without additional clauses, such as required name attribution, or that the source of the good may not be misrepresented or claimed as your own. The specific details are defined by the License, which very on a case-by-case basis. Common Licenses for creative works are the Creative Commons License, which are clear and unambiguous, and have the clauses of the License defined in the name. The figures of speech "copyrighting" or "copyrighted" refers to whether or not the good is protected by Copyright laws. Can ideas be Copyrighted? No, ideas are not protected by Copyrights. Copyrights protect only expressions of ideas or facts, but not those ideas and facts themselves. If ideas and concepts were protected under Copyright laws, only one Creator would be allowed to express that idea, which would go against the fundamental Copyright standpoint of inspiring people to create new works. By this same logic, characters and their traits, accessories, clothing or general style concepts are not protected under Copyright laws. Only individual expressions of characters through concept art, digital art or some other medium can be copyrighted. When is my work Copyrighted? By default, any good as outlined in the paragraphs above will have Copyrights granted to the original creator in most countries. Goods do not need to be registered in any offices or apply for anything to be protected by Copyrights; these rights apply automatically upon creation of the good. This means that if you create a graphic, that graphic will automatically become part of your Intellectual Property and be protected by Copyrights. As such, nobody else is allowed to use the graphic without explicit permission. This is also why, if you cannot figure out if a work on the internet is or is not free to use, you are legally not allowed to use it as it falls under the Intellectual Property of the artist. There are a few exceptions where the Original Creator may not be the Copyright holder of the good. The good was created while under employment; in this case, the employer will be the Copyright holder; The Original Creator has sold the copyrights to a different party or entity; The good was created as part of a contract in which the Original Creator has agreed that the contractor will become the Copyright holder of all goods bound to the contract; The Creator held the exclusive Copyrights upon death, and has been dead for more than at least 50 years (exact time span varies per country). Additionally, the good must be sufficiently original. Although there's no set-in-stone threshold that the good must exceed (as this is impossible due to the complexity of all possible goods), this is determined on a case-by-case basis in court. For reference, in the United Kingdom, the good must have "skill, labour and judgment" put into it. What if the work was made by more than one person? If multiple people have contributed to one good and none of the conditions above apply, those people will be Joint Copyright holders. In a Joint good, all Joint Copyright holders are considered equal, and all Joint Copyright holders have equal rights to copy the good or commercially exploit it. When is Copyright infringed? An infringement upon a Copyright holder's Copyrights takes place when the good has been copied without explicit permission prior via a License Agreement. Copying a good may include, but is not limited to, digitally transferring the good from one place to another, downloading the good, and as such also using the good in other work, modifying the good, or redistributing the good. What is the Copyright symbol? Before the 1989 Berne Convention Implementation Act, goods were required to use the Copyright notice © to claim Copyrights to the goods. Since the act though, Copyrights are automatically granted to the Creator (or a different party, as explained under When is my work Copyrighted?) and the Copyright notice has become optional. By using the notice, however, a defendant in court may not be able to claim their Copyright infringement as "innocent infringement" such as confusing the good as being in the public domain because they will have had a Copyright notice to claim otherwise. Fair Use Fair Use is a set of rules in copyright law that permits limited use of copyright material without having to acquire permission from the copyright holder. Fair Use is, in essence, a limitation to the extent that copyright laws apply to the good. By enforcing copyright laws without limits, it would hinder the creativity that copyright was intended to promote. Therefore, Fair Use bypasses the copyright laws, provided the good is in fact intended (and eligible for) Fair Use. What constitutes as Fair Use? There is no simple, objective answer to whether a good is or isn't Fair Use. The only time this is explicitly defined is in court cases, where the validity of a Fair Use defense will be scrutinized. However, there are four factors commonly included in the USA: The purpose and character of the use, including whether such use is of a commercial nature or is for non-profit educational purposes; The nature of the copyrighted work; The amount and substantiality of the portion used in relation to the copyright work as a whole; The effect of the use upon the potential market for or value of the copyrighted work. I will go further in-depth on each of these factors below. The purpose and character of the use The purpose and character of use pertains to what the goal of the use is. This includes commercialisation, but also transformation and education. The goal of the use must justify the use of the copyrighted work, and clearly demonstrate that goal. Transformation Fair Use may be justified if the use is of transformative nature. That is to say, if use of the copyrighted material supersedes the original work. In essence, transformation of use says something about the difference in use compared to the original work. Of all Fair Use factors, this is very important to consider and often a topic of controversy. One of various cases in which use of copyrighted work qualifies as transformative includes criticism. Quoting something to criticize it, playing a movie clip with criticism throughout the whole clip, and a parody that mocks the original work or its principles are examples of transformative works that serve a very different purpose than the original work. Another case is aiding in identification. If a work is lacking identification, be that through a watermark or signature, adding identification is generally considered to be transformative. Furthermore, showing an icon of a work in an image aggregator also aids in identification, and is thus also deemed transformative. Commercialization Commercial use of copyrighted material is often presumed to be unfair, and thus disqualifies the work as Fair Use. However, this is a presumption, and the weight commercialization has will vary on a case-by-case basis. Therefore, although commercial use does not automatically disqualify the work as Fair Use, it does make it less likely. It also work in reverse, though. A work of a non-commercial nature can still be deemed not a Fair Use if the work allows the public to obtain or consume material that they would otherwise need to pay for. What's more, in extreme cases, widespread attention, recognition and contributions in association with the work may also impact the finding of Fair Use as it may influence the market for or value of the copyrighted work. Education Education is similar to transformation as it allows the use of the original work with the purpose of criticism, review, comment or teaching. The nature of the copyrighted work Copyright law does not care about quality of a work, but does consider other aspects of the work like whether or not it's fictional. Copyright only applies to expressions and not facts or ideas, so as to prevent private ownership of work that should belong to the public domain. The social usefulness of the copyrighted work also influences whether or not use qualifies as Fair Use for the same reason copyright doesn't apply to facts or ideas - public interest. Whether or not the work has been previously published is an important factor that is taken into consideration. Works not intended for publication generally do not deserve legal protection. If use of unpublished work is found, that should be protected by privacy laws as opposed to copyright laws. However, a work being unpublished does not inherently bar the possibility of finding the use to be fair. Amount and substantiality Amount and substantiality is all about originality. The more of the copyrighted work that has been used, the less likely the case will be deemed as Fair Use. Furthermore, the substantiality of the work used also plays a role in this bigger factor. If the copyrighted work used is the heart or essence of that work, it may bar a finding of Fair Use in that case. Effect of the use Another factor in determining if use of a work can be considered to be Fair Use is the impact that use has on the original work. This can mean how big, if any, an impact the use has upon the market of the original work, but also if copyright infringement of the work in general would hurt its market for uses similar to the infringing use. This factor plays a role in Fair Use only when the copyright holder proves that the infringing use has impacted their market, or the general purpose of the work. One way to reason about this is to determine whether or not the infringing use could be seen as a substitute of the original work. If that is the case, the work may impact the market of the original work, and it may also mean that the work is not plenty transformative. This factor does not cover use of copyrighted work that is deemed as Fair Use and does not replace or directly influence the original work. Even if the usage is satirical or critcising and it negatively influences the way people consume or use the original and thereby impact its market, this is not seen as breaking Fair Use. Additional factors It is often believed that name attribution or listing the original source of a work is sufficient and protects you from Copyright laws, but this is not true. Acknowledgement of the original work can help the original creator in how they feel about your work and thereby not pursue action, but that is as far as it goes. It does not make you exempt from the laws. Similarly, "all rights reserved" and "no copyright infringement intended" have very little meaning when you are still infringing on intellectual property. So are fangames legal? There is no universal answer that definitively answers that question for every fangame. Ultimately, I leave it up to you to decide whether or not your fangame is legal. It depends on various factors, like whether you're violating Trademarks, whether you're using copyrighted assets, and whether your fangame impacts the original game's market. With all the information I have provided in this article, I hope you will be able to clearly determine whether your fangame would be deemed legal or not. If you have any more questions, I will be happy to answer them and/or work them into a small FAQ section. Sources https://wipolex.wipo.int/en/text/288514 https://fairuse.stanford.edu/overview/faqs/copyright-basics/ https://fairuse.stanford.edu/overview/faqs/copyright-ownership/ https://www.ntia.doc.gov/files/ntia/comments/100910448-0448-01/attachments/Digital Media Copyright Protection ver. 14.pdf https://books.google.nl/books?id=0OUcXGnexGYC http://fordhamlawreview.org/wp-content/uploads/assets/pdfs/Vol_77/Samuelson2_Vol_77_Apr.pdf https://www.jstor.org/stable/1341457 https://www.ipwatchdog.com/2008/11/16/comparative-advertising-mac-vs-pc/
Yes that was the most provocative, clickbaity title I could think of. Can't wait for it to start showing up in Google searches. So, the question of "should a fan game include a complete National Pokédex" comes up pretty often in the Discord Castle - and other places I hang out in that talk about fan games - so instead of re-writing the same answer every time, I decided it might as well be a forum thread. The idea is pretty appealing: you like Pokémon games, and you want to make your own, and in order to make a game just like Pokémon [insert your favorite] and [insert whatever its counterpart(s) is] you want to do exactly what they do. Imitation is the sincerest form of flattery, at least when the IP lawyers aren't looking. Feel free to chime in. The short answer: The long answer: This is going to come in several parts because nothing in game design happens in a vacuum and all of the things you put in a game have ripple effects in a lot of other places. Also, I kinda like to hear myself talk, apparently. What is "Dexit?" Assuming you've been anywhere near the inner Solar System for the last 14 months you've probably heard of the little footnote on the games Pokémon Sword and Shield that has had the entire fandom's knickers in a twist for two entire freaking years, but in case you haven't, the short version is that the Gen 8 Pokémon games will not feature the entire back catalog of cute monsters from the first seven generations. There are some valid reasons people are upset, and there are many more invalid reasons people are upset, but the entire issue at hands boils down to this I won't soapbox about it for too long here, but if you want to read more about the technical bits, you might like these: Technical art Resolution and shading Why can't you just throw money at the problem Dexit Parallels in Fan Games So, the problems described above don't translate one-to-one to fan games, mainly because fan games generally rely on a lot of work that's already been created by other people - whether that's the game systems (Essentials, MKXP, Unity, etc), pre-made tilesets (found all over DeviantArt), battle sprites, etc. We're also still using pre-rendered sprites rather than a 3D model which needs to confirm to the style guide from any angle at any point in an animation timeline, which cuts down on the work that needs to be done massively. Unfortunately, "work" takes a lot of different forms, and artist-hours is only one of them. Pokémon Distribution As of my writing this there is data about 896 official Pokémon; if you're reading this in the future, there are probably more. Let's see what would happen if you tried to squeeze those all into a single game. Because we're talking about fan games, we're going to be ignoring trading, migration, Mystery Gifts or other peripherals like the Pokéwalker and the weird stuff the Gen 4 spin-offs did. According to Bulbapedia those 896 official Pokémon are broken up into about 478 official families (although I'm sure as heck not counting them all myself). Among other things, this means that the absolute bare minimum number of uniquely accessible Pokémon you need to make available in order to allow completion of the Pokédex is 401 - the rest can be obtained via either evolution or breeding. There are also 57 Legendary Pokémon and 22 Mythical Pokémon (grouped into 20 families), and for this little thought experiment we'll assume you're treating those like special encounters and excluding those - although I hope you can already see the problem that's going to come with 77 special encounters or NPC gifts in a single game. Some fan games don't even have that many in their complete Pokédex. So, 401 families. I could use an actual fan game map as a guinea pig here, but instead let's talk about HeartGold and SoulSilver. Those games are pretty big: it varies depending on what you choose to count, but there are about-ish 80 locations in that game between Johto and Kanto on which you can obtain wild Pokémon. This counts routes, dungeons, and other outdoor areas, as well as all of the towns in the game, although not all of them actually contain random encounters. Let's start putting those on routes. A back-of-the-envelope calculation tells us that each location needs to have, on average, 5 unique encounters in order for that to work out mathematically. Not every location has to have five unique encounters - some can have two, some can have eight - but on average you need about five. That counts both tall grass and aquatic encounters. Sounds reasonable, in theory. In theory, there's no difference between theory in practice; in practice, there is Like most things in game design, it's harder than that. The little cute monsters aren't distributed uniformly throughout the game - that would actually make the games very boring and prevent you from developing a cohesive game world. All encounters are placed where they are for a reason. Most waterways are utterly clogged with Magikarp and Basculin, which tells you something about both the waterway and the Marikarp and Basculin. Rattata, various bird Pokémon and bug larvae abound in the field and forest routes; again, that's environmental storytelling pertaining to both the routes themselves and the things on them. You would draw different conclusions about Rufflet and its environment if it was a 50% encounter on a route vs if it was only a 1% encounter on a route. There are also a few related issues that all require the same problem to be solved: Not all of areas in a game actually contain random encounters Not all types of Pokémon make sense to be found in all areas (e.g. fire Pokémon on an ocean route) Also, the "401 evolutionary families" number is deceptively meaningless. It's extremely common to have more than one member of an evolutionary family available at different points in the game (Hoothoot and Noctowl, Wurmple and Cascoon, Lillipup and Herdier and possibly even Stoutland). Generally, it's only third-stages and things that don't evolve by level which you can't find in the wild. Again, this contributes to the game world feeling more like a cohesive place and less like someone threw a bag of monsters at the map and left everything where it landed. No Pokémon game has ever actually made the entire National Pokédex in a single game so we don't have any official references for this, but I'm going to wing it and say you'd want more like 600-700 unique encounters per area for the National Dex to fit comfortably, bringing the average from 5 to about 8+, as if this wasn't already challenging enough. What? Sword and Shield were the first games to cut the National Dex! This is where you need to start thinking less like a gamer and more like a game designer, and also people have short memories apparently. Being able to complete the Pokédex and actually obtaining everything in singleplayer are different matters. In none of the main-series games is it possible to catch 'em all without outside help and / or hacking your game. Mew is a mythical, so we won't deal with it here. Red and Blue and Yellow almost don't count because at this point in history there was no National Pokédex. Red and Blue had version exclusives (and Yellow had its own list of unobtainables), where some monsters effectively replaced others in the game world. Growlithe and Vulpix both could be found on Routes 7, 8, and the Pokémon Mansion, but only in one game or the other - in any given game, one or the other simply doesn't exist. All in all there were six families that did this in Gen 1, accounting for eleven monsters, which doesn't sound like a lot but at the time that was 7% of the entire Pokédex. All subsequent Pokémon games did this, which would disqualify them automatically, but there's more. In addition to the version exclusives problem, there was an assortment of Kanto Pokémon who were only usable in Gold, Silver, and Crystal if you transferred them in. Namely, these were the Kanto starters, Kanto fossils, and the group of things that kids call "legendaries." Crystal added a few more. Ruby and Sapphire were the original Dexit, but back in 2003 I was an annoying kid who thought there was a causal relationship between video games and getting bad grades (and also that good grades were something worth caring about) so I missed most of it. Gen 3 had no backwards compatibility to the first two, which undoubtedly made a lot of people very angry and would have been widely regarded as a bad move. Also, version exclusives, mythicals, etc. Surely you see where this is going. Work, work, work Getting back to the "work" thing from when I was ranting about the fandom, you see there's a bit of a Catch-22 here. If you try to jam an entire National Pokédex into a small game, your game is going to have an unavoidable feeling that you tried to squash 400 full-grown adults and their families into a four-door sedan If you want to include the entire National Pokédex in a game but have it feel spaced out and natural where everything feels like they're in their proper places, the size of the world you're making balloons through the stratosphere Big games are a topic for some other thread, but the work doesn't even end there. How do you decide where things go? How do you choose NPC trainer teams from the 800+ available Pokémon? How will the player know where everything that they're looking for can be found? How do you balance the game so that the available Pokémon don't give a massive advantage (or disadvantage) to the player at a particular point in the game? How do you feel about actually entering the data for encounters on an uncountably finite number of areas in the game files? (Drawing another weird parallel to the Dexit thing, the answer to this is also likely not to just throw more manpower at the problem.) Is it even worth it? This is probably the biggest question that people don't really want to answer. It takes a few hundred hours, perhaps a few dozen if you're speedy and know where everything is, to complete the Pokédex. There are already eight generations of official Pokémon games a player could choose to do this in, plus hundreds upon hundreds of other fan games. Is it even worth it? Do you really want to spend a solid week of your life 100%ing a fan game that most people have never heard of when you could also be finishing the main story in ten other fan games, or in ten other Pokémon games, or in ten other video games that exist that aren't Pokémon, or playing with your dog, or playing an instrument, or planting a garden, or taking up a social cause, or going to school, or drawing specular maps for all 896 monsters so you can gloat on Twitter about how you're better than GameFreak (at 10 minutes per texture that's about 6 days of work), or writing an 2,000-word dissertation on why it's a bad idea to include a 900-member Pokédex in your fan game? Unless you somehow make the fan game to end all fan games, for most people, the answer is an easy "no." Apparently I spent almost two hours writing this thing? As I like to tell people, if you can't justify why you're doing a particular thing in a game, you should probably put on the brakes and figure out if it's something you should actually do. Whether you like Game Freak or not, they are professionals, and there's a reason for everything they do in their games - and sometimes it works, and sometimes it doesn't, but it's better than yeeting spaghetti at the wall. Wanting to emulate the real games - no, not that kind of emulation - is a nice aspiration to have, but too often people make assumptions about what a game should be without asking questions about why they're doing it in the first place. edit 13 aug 2021: it's now been two entire freaking years
Hi, I saw a lot of people asking on discord about making online feature for their game, like P2P battle or stuff like that. Most of the time this theme ends with: “what server would host it”? This question is a bit reductive and I’ll some way to technically make online feature without having a dedicated server (for the internal stuff of the online feature). Before starting Making online feature for your game is something that will always imply some modification in the engine you’re using. This operation can be easy (open source based engine) or very hard (proprietary based engine). If you don’t know how to script, you’ll have to learn because you shouldn’t expect the maintainer of the engine you use to implement such features. How to make online feature work without using any dedicated server You probably know about P2P (peer to peer), most of the time, it implies having a server in the middle to connect the two peers (often used in tormenting) but in our case it’s not mandatory. Let me explain: to connect each other one of the peers needs to know the IP address of the other peer, the server is here to tell the peer what’s the IP address of the other peer. In our case, we can just DM the peer using any support to tell him our IP address. The big issue with P2P is being able to communicate with the other peer. Most of the time, internet user are being a NAT/PAT that is at least configured to block any unwanted traffic from the outside. This prevents anyone to mess with your devices in your network. There are three solutions to prevent this issue: Manually open the game port in your router and tell the router to forward it to your computer (you did this if you self-hosted a Minecraft server). Enable UPnP on your router if it’s not done. UPnP helps the game to find an IGD that could allow the game to automatically open a port for a little amount of time (or forever). Use software like Hamachi that creates a fake network the game can use to communicate with the peers if they’re in your fake network. P2P is the approach Pokémon SDK use for its online Trade and online Battle (using UPnP). The only thing the game has to do is being the host or the client and communicates the right data to the other peer. Useful ref: Ruby-LiteIGD (UPnP interface to open port): https://gitlab.com/NuriYuri/rubyliteigd LiteIGD Interface for PSDK: [See script] Client side of the PSDK Battle system: [See script] Server (host) side of the PSDK Battle system: [See script] Issue related to sharing IP address Sharing your IP address is not often a good idea because you don’t really knows what people could do with it so to be a little safe, in the ref you’ll see a function called “code” and another one called “decode”. These function transform the IP address + Port couple to a coded number that makes IP and Port not clear for human. It also prevents collision amongst fangames if you change the value of CodeIP and CodePORT. Some series of number are invalid :p How to make online work without making complicated for the basic players Some players know nothing about tech, asking them to enable UPnP or to open a port in their router is too much, for that we’ll need to use a server… and also some tech aware players :q The idea of this part is making a decentralized system which would prevent you from having an expensive VPS, you can just use a cheap web host (requires a db). With this system there will be various participants: - The Game - The web host ("server") - The proxies (a tech aware player) - The fallback servers (a tech away player) What does the Game do? The game will do various things. At first, it’ll tries to open a port using UPnP to become a proxy if necessary. The result of this operation is not a huge matter; it’ll only help the system to be stronger (adding more proxy to our decentralized system). After that, the game will connect to the web host, the goal is to send data to the host (opened port) and most importantly fetch the IP address of some proxies. The game will use the proxy to communicate with the players or to use fallback servers. What’s the exact role of the web host? Your web host has the same role as the tracker in Torrents; it’ll track all the available proxies and report them to the game that asks for proxies. In short, it’s a directory. Without the web host we cannot have a stable system but the webhost can be optional if the game knows proxies that never change their IP address and that are always up. Note: The web host stores the IP address, Port couple inside a database (SQL or anything else as long as it works). The web host can also do other things like community related stuff (achievements, ban, etc…) What’s the role of the Proxies? The proxies play the most important role in our decentralized system. They connect two players together by forwarding the packet to them. The only thing the proxy needs to know is the basic information about the players that want to connect together (with who a player wants to connect). For that we can write a basic protocol that helps the proxy to forward the packets. Announce protocol: The game connects to the proxy The game tells the information about the player (trainer name, trainer id, a secret phrase) The proxy accepts or rejects the player Request protocol: Once the game announced a player to the proxy, it ask the proxy to connect to a specific player. The game sends the information about the player it wants to connect. The proxy search the player in its data The proxy tells if the player exists and is connected The proxy sends a request to the other player The Acknowledge protocol: When a game receives a request to player with another player the game can decide what to do The proxy sends the information about the player that wants to connect to the game The game asks its player what he wants to do a. If the player accepts, the game sends a positive acknowledge to the proxy. b. Otherwise the game sends a negative acknowledge to the proxy, connection ends there. The proxy remove the two players from its database if the acknowledge was positive. The two game exchange information using the proxy. Note: When step 5 is done, the game will have to disconnect from the proxy and redo the announce step. Note 2: The second step can also be skipped by the game if the other player is black listed by the player. The service protocol: A game can also not announce the player to the proxy but just request a service, like underground room, GTS or stuff like that. The game connects to the proxy. The game sends the service id to the proxy. The proxy sends a list of corresponding service (IP+Port+Descr). The game disconnects from the proxy. The register protocol: This protocol is for the fallback servers. They announce themselves to the proxy as a specific service (or a set of services) to make the service protocol work. The fallback server connects to the proxy. The fallback server sends its service id or set of services id. The fallback server tells how much time it should be up (24h should be the max limit) The proxy acknowledges the fallback server. The fallback server disconnects from the proxy. What’s the role of the fallback server? In our decentralized system, the fallback server is in fact the VPS you would want to have to make your specific online feature work (GTS etc…) but it’s hosted by a generous player that knows a little about technology and that has a good internet connection. It basically runs the code that makes the online feature work, in addition it implement the register protocol to be visible inside the decentralized system. On this side everything is up to you, just be respectful to the generous player that hosts your fallback server. Final note These are some idea inspired by the era of Minecraft servers. I’ve experienced some stuff and I did Network and Telecommunication Studies (I have a degree about that), all this things are possible, for the P2P part I can show you two videos, for the decentralized part I can tell you an example of something that probably works the same : PeerTube. (I just invented the protocol while writing the document so there’s some variation about the way PeerTube works and what I wrote but the thing is that both things are decentralized system.) P2P trade between a PSDK Game and a neutral PSDK: Demonstration of Online Battle between two PSDK processes (using the P2P system but locally): That’s all for me, If you have questions, I can answer them :p
For a long while, I had trouble trying to get my team interacting in my private developer server and working on my game. I did learn a few things that I wanted to help spread to other aspiring developers. Tip 1: Give clear objectives If you already have a team together, but they don't actually do any work on your game, they may not know what they need to do on the project. For a while, I didn't realize I could ask my team to help me with my project. I shot myself in the foot by doing everything on my own while my team for the most part was left in the dark of what I was doing, what needed doing, and why they were even on my team if they didn't do anything. If you give your team members clear objectives of what needs done, it can significantly help make you closer to your team than if you didn't. Just make sure you remember that the people on your team are making fan games in their free time, and it is not their full time job. Don't get mad at your team if they don't fulfill a deadline or are unable to do what you ask because they don't have the time, skill set, or drive to do it! Tip 2: Show progress to your team Another thing you should do is showing your team that you're pulling your weight as well. It doesn't take too much to do, and it can make your team feel more motivated to do things. Transparency is important in becoming a trustworthy figure, and it is especially critical when you are managing a team. Tip 3: Talk to and respect your team members If people aren't coming to you to join your team, in most cases you'll end up either recruiting people or asking friends if they can help you out with your project. This probably is the most obvious tip, but it may help somebody, talk to your team members about things relating to your project. Ideally, you want to form close bonds with your teammates if you don't already have them. If you show care towards them, they most likely will do the same towards you. If you only talk to the person about project things, any time you approach them, they can make the reasonable assumption that you are there to ask for their help with something rather than to talk to them. Another thing you should consider is, if you don't like the person or people you're working with, don't work with them and find someone else to help you. You are making fan works as a hobby and not a job, so you should try to stick around people you like and stay away from people you don't like. Connections between people are more important than the quality of work they can push out for the most part. Now this doesn't mean that you should hire everyone you like, regardless of if they have the skills necessary for your project because it can hurt you and them in the long run. If that person knows they don't have the skills necessary, then they may feel bad about their lack of skill. Alternatively, that person can drag the rest of the team down by not being able to follow through with their work and leading to possible delays if you set up deadlines for your game. Don't keep people around either if they really aren't compatible with the rest of your team either. It can bring down productivity, and it may build resentment against you or the incompatible person which isn't too good to have around either. Tip 4: Identify what things your team can do and what only you can do Frequently, many fan game developers recruit writers to help them write their story. While this can help a little bit with feedback, in all likeliness, they won't be able to continue writing the story, at least based on how you envisioned it. An exception to this is when you don't have a vision for the plot of your game or if you create a story from the ground up with your team members. Tip 5: Get your team involved If you involve your team in decision making on your fan game, it makes them feel like they have a part in your game, and they do! Set up polls, have meetings, or whatever works for you in order to get your team members involved and invested in your game. Again, this can help make your team feel closer, and make the overall dynamic of your team better than if you didn't. Another thing to consider is that it can be stressful taking care of everything from graphics to story-writing all on your own, especially for a long commitment like a large-scale game project. Getting your team involved with your game can remove stress from your shoulders, and can make your game better than if you did everything alone and risking burnout. These are all my tips on making a good team, I hope you fellow developers liked this post, and I hope anyone aspiring to make a game or a fan game succeeds!
Hi, guys. I got in a bit of an analytic mood, so I wrote this thing up for consideration when coming up for your fangame's story. Just a few things worth keeping in mind when you craft your big masterpiece of a game! 1. Is the game more focused on complicating the plot than coming up with something that’s thematically satisfying? Meaning: you think that the most interesting story you can tell involves connecting dots perfectly together, or hiding big twists that have no real purpose other than to surprise. The big bad of the evil team is in fact the person you’d been trusting throughout the entire game! The good company turns out to be the evil company! Your character, or your rival character is in fact related to various different other characters that we are already familiar with, or the big bads, or good guys! Even if your plot does not fall in line with those specific examples, think about why you’ve chosen different details. Is it because you just want to surprise, or because you think those details mean something? 2. Does the narrative break the mold? Meaning: 8 gym leaders. 4 elite four members. 1 champion. An evil team. Arceus being important. How much of these things does your game tick? Okay. It’s fine to have all these elements. For the most part, that’s what makes your game a normal Pokemon game. But why does it have all of these elements? It’s not just because those are the familiar elements of a Pokemon game, is it? Why do you need an evil team? Why do you need villains when you can instead use a more interesting, more dynamic, or even funner kind of force to drive the story or make the player move along through the world. Heck, Edge Rising could have dropped its gym leaders entirely for the sake of a plot involving the Big Pokemon. Team Rocket was a side note in the original Pokemon games. Why not bring different elements of the world up the forefront to tell a more interesting story with the creative freedom you have? 3. Are Pokemon relevant? Meaning: Are you telling a story that takes place in the Pokemon world, or a story about the Pokemon world? How intertwined are Pokemon in the daily lives of this story’s citizens? Why are they driving your adventure? They aren’t just a part of the gameplay mechanics, are they? One thing I’ve found with a lot of fangames is that the stories are just about the humans that do stuff in the Pokemon world, and not so much about the Pokemon in that world. Kanto was all about the awe of the Pokemon adventure. Team Rocket was just a side note. Johto was all about exploring the Pokemon world. Team Rocket was just a side note. Hoenn, Sinnoh, both about the world - the climaxes involve the evil team, but once you get back to business, it’s still just about learning how this Pokemon world works. Unova was all about the relationship between humans and Pokemon. It’s not about the complicated stories, it’s about your adventures, your player-created experiences with the Pokemon, and the world of Pokemon. So, if you’re going to tell some sort of complicated story, how do you make it as much about the Pokemon as you do the humans? How are you going to make your world feel distinctly Pokemon, and not just a game where Pokemon you like might be in this route and you can catch it and raise it until you’re done with this fangame and move on to the next. Make your game stick out. Make the adventure with your Pokemon memorable and meaningful. Make it about the Pokemon, no matter how subtly. 4. Are you passionate about your story? Meaning: It may just be a Pokemon game, but if you’re not having fun writing the story, or the story doesn’t mean much to you, it won’t mean much to anybody else. I find that writing stories that personally mean something to me are the ones that tend to reach others the most. Even if it is just a small little Pokemon fangame, you can make this experience stand out if there’s something in it that’s distinctly you. Keep all of these things in mind when crafting the story for your fangame. Just figured I’d leave some thoughts for all of you about this. I’m excited to see what everybody can come up with! Good luck, everyone!
Hi all, my name's Adam AKA "Koolboyman". I am the author of Pokemon Prism. I came here, hoping to answer your questions and offer some insight on my experience. My hack Pokemon Prism got well known for reasons I wanted to avoid. I'm glad more people are playing it because of it, but I did not want this kind of baggage to be attached to my game. I hope to get this out of the way and clear up any misconceptions regarding Nintendo's involvement with Prism. I partnered with Twitch Plays Pokemon in order to complete the game, because for the longest time I wanted to finish Prism and move onto something else. The developers there worked on other ROM Hacks for the stream and the project manager and crew offered to help to finish the game in exchange that Twitch Plays Pokemon gets to play it before the release. I have very little time to ROM Hack these days and I didn't want to drag this out even further. I was ashamed that this was taking so long to finish. So for me it was either get TPP to help out or cancel the game. I accepted TPP's help along with the possibility that Nintendo may notice and not like what I'm doing, but with TPP's numbers not what they used to be 3 years ago I decided go forward. Working with the TPP devs as project manager the project came out better than I could've ever dreamed of and the stream helped me get a better perspective of the game from a player's standpoint and iron out a lot of notable flaws. I got a takedown(a C&D, not a DMCA) notice days before it was supposed to be released, when I was least expecting it. My twitter and email exploded, I was getting comments from everyone, from those feeling extremely sorry for me and threatening to boycott Nintendo, from others with comments like "Good! Don't make fan games, make your own stuff you thief. Or is that too hard?", "Idiot you wasted 8 years of your life lol.", "Nobody feel sorry for these people, they got exactly what they deserved." and interview requests which I all declined. News sites everywhere were writing about what happened and I couldn't help but look at the comments. I was addicted to seeing everything everyone was saying, while filtering out the good and focusing on the bad. It was a huge shit storm circulating the internet and I felt awful being one of the people responsible for it. During that day, I convinced myself I made a horrible mistake by spending 8 years of my life working on a fan game and this event would give me negative reputation which would follow me for the rest of my life. Even ridiculous claims were spreading, like "he started a Patreon" or "He faked the C&D" or "He can't make anything original himself so he has to piggyback on a successful franchise to get known". My goal in life is to become a professional video game developer, and Prism was meant to be a stepping stone? Sure, I knew Prism might get me fans, but that's not why I made it. I wanted to craft my own kind of Pokemon experience and educate myself with the development process. What about my fans too? They've waited so long for this and I'm no longer allowed to release it. I've been called a coward by some of my former fans by just "giving in" to Nintendo, but I will not have a legal battle with Nintendo which if I lost, would ruin my life. People close to me felt it would be best if I disconnected myself from the internet, since I was miserable during that day. So I did for a few days. Little did I know, that the game was leaked and I didn't even know about it until later. As time went by, everything settled down. People were playing the game, I complied with Nintendo's resolutions and now we're on good terms with each other, and I've moved onto another project. The times I spoke with Nintendo, they stated that they knew I wasn't trying to "steal their IP" and they understand my reasoning for making a fan project in the first place. The problem was, that it got way too popular to the point that it may have threatened the official Pokemon games and they had no choice to shut it down, which I fully understand. If you look at the C&D I received, they even understand that I am a fan and that they appreciate it. I still plan to buy Nintendo products and I might even develop an indie game for the Switch. As long as you keep your game on the down low and don't profit off of it, your fan game should be fine. That means no Youtube trailers or any pieces of promotional material. The Youtube trailer for Prism got over 1.4 million views, and I only expected maybe 2%-3% of that, so even if you think your promotional material will be fine, you should be better safe than sorry. We go into this knowing that we won't be able to make a cent. We have a passion for the Pokemon franchise and want to provide our own take on it. Many people, including me, go into fan game development without knowing anything, but come out as a competent game developer, ready to take on original projects. I've moved on from Pokemon and I'm developing two projects right now and the experience I gathered from developing Prism made it possible. If people don't like fan games that's fine, but to me it's a very useful learning too which has proven time and time again as a way for people to enter the professional industry. If anyone makes a fan game out of my future games, I would feel honored and encourage them to see their take on what I did. You should be proud at what you're able to accomplish and don't let other people say otherwise. I've even spoken to AAA game developers who have said that there's nothing wrong with Prism, and some of the hacks/mods and free fan games done on their games were cool. Not everyone's going to have that response and I can't speak for all game developers, but from my experience, the people who develop these games are usually fine with fan created content and games based off of their work. The notice I also got was from Nintendo and Nintendo only, not Gamefreak who develops the games. As a test I submitted an application for a job to Gamefreak with Pokemon Prism on my resume and cover letter, and they responded thanking me for my submission and resume, but I have to know Japanese if I want to continue the process. There's no guarantee that they'd hire me even if I knew Japanese, I may have been unqualified. But the fact that they replied a week later to what I submitted at all (which I made sure wasn't just a stock copy/paste response), made me feel a hell of a lot better about myself. Also, read where the developers go on record regarding fan games: https://gamerant.com/pokemon-producer-fan-games-reaction/ again, I am not saying all developers will be OK with fan games, but based on my experiences and that public statement, Gamefreak doesn't seem to mind them. While that situation was really tough on me, I can say that I came out of it as a better person. A person with a new perspective on the world. It's only made me stronger and more prepared to face the inevitable hardships I'll face in the future. Now that that's out of the way, let me just say I've put my heart and soul into Pokemon Prism. My main goal was to provide my perspective on what Pokemon is and what Pokemon could be as a game that I would love playing myself, and it's helped educate and kickstart my career in game development. So, feel free to ask of any questions you might have, whether it's about Prism, Brown, or what I've been doing. I'm not done with game development, I'm just getting started, so stay tuned. :)
Back
Top