Loading...

Top
PFQ Banner

This is PokéFarm Q, a free online Pokémon collectables game.

Already a user? New to PFQ?

Dev Log 204

Forum Index > Core > Announcements >

Pages: 1234

Niet [Adam]'s AvatarNiet [Adam]
Niet [Adam]'s Avatar
Let's get the bad news out of the way: I'm calling it quits on getting the "expanded Scour missions" feature working. I've tried, I've re-tried, and it's just not coming together. But I can say that PFNew's equivalent feature will take all the lessons learned and work better right away. More on that on a future DevLog post, I'm sure. On to something more positive, I've recently "stealth-added" two new features to PFQ's forums, so here's the details. Shiny chain [inventory] code Now you can use [inventory=ShinyChain] and [inventory=ShinyShiny] to post stats about your current shiny chain. (It's not case sensitive but it does need to be one word for it to work) Example, my Zorua chain is 0/58. Multi-Quote You can queue up several posts in a thread with the new Multi-Quote option, and then when you go to reply to the thread itself all of the queued quotes will be there for you. You can't "cross-quote", ie. quote a post from another thread. You'd still need to quote it normally and then copy it into your target post. But this should help a lot with shops, suggestions, or even answering DLD questions ;)
Garthic's answers should help clarify a lot of the questions we were getting about interactions on the new site, but I just want to specify one thing here as this applies to both PFNew but also changes made on PFQ: If we make a change that affects the game's balance, then other parts will be adjusted accordingly. For example, if we decide to make Boxes rarer, then Box contents will be adjusted to be more valuable on average. PFNew will no longer have a concept of "proper berry" interactions, so Interaction Points will be standardised, and the cost of things using IP will be adjusted to maintain balance. Of course it's entirely possible that something gets forgotten. PFQ is a big game with lots of interconnected features. So if a change gets made and something is forgotten, feel free to bring that up. But most of the time there's no need to worry as we'll think of it. But most importantly of all... Don't Panic 👍 Dev Log Discussion
Clip from Pokémon anime, re-lined by me
-- OMNOMNOM!
Featured story: Injustice Feedback welcome!
Niet [Adam]'s AvatarNiet [Adam]
Niet [Adam]'s Avatar
Time for a mini-Dev Log! No Q&A right now, but we've seen your questions and will be formulating answers to them soon - that is if we haven't already answered them directly in DLD or in a previous DevLog post. I just wanted to announce a change! Change is good! Especially this one. Having considered recent complaints about Arceus Rank, I've made an improvement to how Long Chain Bonus works. If your rank is below Champion, or at Arceus, then nothing changes for you. But if your rank is Champion (ie. the rank below Arceus - the one you get demoted to until you get any new things we add to the game), you instead get this new benefit: The Long Chain Bonus will gradually scale up in both power and cap, the closer you are to Arceus rank. So if you just hit Champion Rank, you don't get any particular bonus yet, but as you get closer and closer to completing your EggDex and PokéDex, both the "strength per 100 Eggs" and the "max Long Chain length" increase. Arceus Rank will still be a nice boost, as the scaling doesn't go all the way up. There's a little jump up when you max out your rank. So it's definitely still worth pursuing Arceus Rank, but it's no longer as much of a drop if you don't do it immediately.

Maths for nerds

Let Emin and Pmin be the EggDex and PokéDex goals for reaching Champion Rank. Let Emax and Pmax be the goals for reaching Arceus Rank. Let Ecurrent and Pcurrent be your current EggDex and PokéDex completion. Progress is then defined as: E = (Ecurrent - Emin) / (Emax - Emin) P = (Pcurrent - Pmin) / (Pmax - Pmin) E and P will independently scale from 0 to 1 and you progress from Champion Rank up to Arceus Rank. Scaling is defined as: S = 0.75 * E * P S will scale from 0 to 0.75 as E and P increase. Note that the optimal progress is attained by keeping E and P as close as possible while increasing both of them. If you only bother to fill one Dex, the other stays around 0 and drags your Scaling down. The Long Chain bonus defines two parameters, Pow and Cap, as follows: - If your rank is below Champion, Pow = 1%/100 eggs and Cap = 50 - If your rank is Arceus, Pow = 1.5%/100 eggs and Cap = 100 - If your rank is Champion, Pow and Cap are linearly scaled between the above values, using S. Finally, the Long Chain bonus is calculated using C, your current chain length: LCB = min(floor(C/100), Cap) * Pow When you hatch a Shiny, your Albino chances are then boosted by LCB.
I hope this helps, and further updates may follow based on how things go. One thing I've learned recently (-cough-Scours-cough-) is it's not a great idea to make promises :p (but we did get 2FA so that's something!) What I can say is that I've got a "step two" idea for another buff but that one might not turn out to be possible so I'm not even going to detail it just yet. Work in progress! Please continue using the previous DLD thread for questions and discussion on this update!
Niet [Adam]'s AvatarNiet [Adam]
Niet [Adam]'s Avatar
Just a tiny post here with an apology: the number shown on the Shiny Hunt page was incorrect and did not reflect the actual boost you got. The number has been corrected, and it is lower than it was, please don't panic - I haven't nerfed it, I just corrected the display!
Niet [Adam]'s AvatarNiet [Adam]
Niet [Adam]'s Avatar

Please note that the content below contains mentions of abusive relationships and other sensitive material. As these topics can be triggering for some, so please read at your own risk.

Niet's story of motivation For the past two... three... four years, I have been struggling. I've been doing my best to keep it under wraps, desperately trying to "stay professional", but I can't go on like that. It's not healthy, and it's not helpful. Things have gotten to the point where even the very idea of working on PFQ causes me to feel almost physical revulsion, even actual pain. Yet it's something I must force myself through every time there's a new MCW, or Tournament season, or bug to fix. How did things get this way? Perhaps it's best to take a step back, to the beginning of PF1. Back then, I was a happy, albeit naïve, teenage idiot. I even had what I thought was a girlfriend via long-distance online relationship. That girlfriend played a game called GPX+. That game still exists, but it's kind of a bot-ridden ghost town at this point, to be honest. Anyway, she decided she didn't like how the game was run and basically instructed me to "make this, but better." Being a teenage idiot, I did so. This started the day before my first day as a student of Oxford University. Told you I was an idiot :D A few months later, I'd thrown together something that at least passingly resembled a working game. This wasn't my first time making a game, mind you. I'd made one previously but it never really got off the ground. I expected much the same result here, so I opened registration and went to bed thinking nothing of it. The next morning I had 140 users. Suddenly, I had responsibility. Of course a hundred users meant many more people finding the numerous bugs in the game, and for weeks I was spending most of my time patching and fixing them, to the detriment of my studies. No matter, my girlfriend was happy and I was even starting to make a little money - first just in donations towards hosting costs (I had set it up on a free hosting provider but quickly exceeded their allowances, so I had to pay to keep the site running and users at the time graciously contributed) and then later in sales of upgraded accounts. Yeah that didn't last long. Not even three months later I went to visit my girlfriend for the first time and it did not go well. For starters we just didn't really get along in person, but by the end I saw how she treated other people and it felt like a blindfold had been lifted from my eyes. Unfortunately I couldn't do anything at the time because I didn't want to ruin things and wind up stranded in a different country, so I was forced to feign that everything was fine until I was taken to the airport for my return flight. It was there that I broke up with her, telling her it wasn't working between us. Do you remember that incident where someone posted a really racist Tweet before going on a flight over the ocean? Well that's basically what happened to me. While I was "off the grid" for fourteen hours, she set about destroying my image and my credibility. She made all kinds of accusations, including that I had "behaved extremely inappropriately" towards her. Unfortunately, my best friend at the time made the mistake of taking her side without waiting for me to return home and explain my side of things. Once I finally got back online, I was immediately on damage control, and that meant cutting out the two people who had, until that day, been the most important people to me (outside my family, of course). Naturally this led to even more problems, more accusations, such as the claim that I had "stolen" her images. You know, the ones she had made for the game. She even made a Youtube video about it, which I'm pretty sure is still out there. Anyway, as a precaution, I had all of her art replaced - an entire new set of Eggs, re-makes of the sprites, you name it. You'd think I'd learn from my mistakes, right? Ha, yeah sure. I got in another long-distance relationship with the newly promoted second admin (super-mod at the time of the incident). PF was growing steadily and demanded more and more of my time. I dropped out of Oxford to work more on the game. I met my new girlfriend and we actually seemed to get along. We would travel back and forth to see each other, but we unfortunately attracted the interest of Immigration control - they didn't particularly like the fact that we were spending multiple months visiting each other. One time she was separated from me and outright interrogated - I was fortunately able to get the attention of other officers and help her through it. But that really put the pressure on. Under the possible risk of being separated, I felt pressured into rushing things along. I proposed to her, moved around the world to live with her, and married her. That night the relationship changed. I was completely blind to it at the time, but in hindsight it was clear that I had made a terrible mistake. Immediately things changed. She might as well have had a physical ball-and-chain attached to my ankle. I was not permitted to leave the house - not that I am much of an outdoorsy person anyway - nor have any kind of social life. She would berate me if she found me playing games on the computer instead of working. She would get violent - not against me, because despite my lack of fitness I was still bigger and stronger than her, but against my belongings. She encouraged me to build a sizable collection of Pokémon cards, and when I angered her she would destroy them. More than once I was forced to physically restrain her. On more than one occasion, she allegedly bit me. I say "allegedly" because I have no memory or recollection of the events, but mutual friends that I trust were witness to it happening once. Apparently, she bit me like a dog. But despite that, I continued living through it. This was my "normal". I continued working on PF1, but by now it had developed into a complete mess. It had already been nothing more than a house of cards in the first place, and it was utterly failing to lend itself to any kind of updates. Some later additions and updates outright broke the game. If you think PFQ's economy is bad, you have no idea what PF1 was like. So I started working on PFQ. An opportunity to start fresh, to build the game from the ground up with all the features that PF1 had accrued actually being planned from the start. A new codebase using the many things I had learned and a fresh new design. My wife was not happy. She went into her rage if she ever saw me working on it. But I knew it was the right direction to go, so I would continue working on it while she was asleep, furtively glancing over my shoulder and ears alert for any sound to indicate she might have woken up. She found out eventually, of course, when I wasn't as alert as I needed to be. She forced me to delete the entire project. Luckily, I had backups. By this point I had started talking to Garthic. He was interested in the wellbeing of not just PF, but also the guy behind it. He was a beacon of hope to me. Someone out there cared about me. Of course this led to him being witness to what was happening in my life. The things like how I would have to disappear mid-conversation because I thought I heard my wife waking up. I told him about PFQ, and how I was developing it in secret because of what would happen if I didn't. I said these things like they were completely normal, and he of course was mortified. But what could he do? I was halfway around the planet, all he had was a chat room. Through it, he helped me. Very slowly and carefully, he guided me to understanding that what I was living through was not normal. That things were not okay like I believed them to be. The more he pointed them out, the more I started to wake up to what was happening. I was the victim of a seriously abusive relationship.

Content warning: self-harm

TL;DR: Things blew up, I had to make a choice between my wife and PF, and I chose PF.

Full text

Things came to a boiling point when I finally returned to the staff chat room. Of course I hadn't been taking part in it because I wasn't "allowed" to talk to other people. It happened at that time that one of our moderators had made a minor mistake, easily rectified without anyone even noticing. Despite that, my wife took it way out of proportion, berating the moderator over voice chat to the point that she broke down in tears. That moderator was Ledah. Yes, the same Ledah that many users believe to be a heartless person. She was berated to the point of broken-down tears. That was when Garthic made me an ultimatum: either I removed her from staff, or the entire rest of staff would leave us. This finally broke through the shell I had built around my soul, and for the first time in years I could see. I started the process, and she did not take it well, to put it mildly. It finally became the case that leaving her was a better choice than staying. [EDIT: I recalled these events wrong so I've corrected them.] I began making preparations, and then came the inevitable. I don't recall the exact events, but I do know that she held a pen-knife to her own wrist in a threat of self-harm to force me to stop packing. I wavered, but I continued. She - thankfully - discovered that the knife was too dull to actually cut herself with, and instead threw it straight at me. For a mercy, she missed. However, I was in contact with friends now, and with their help I was able to get an ambulance called. After all, she had made the threat to cut her wrists, and so she was taken away for a psych evaluation. This gave me the place to myself for long enough to finish packing, and by sheer miracle one of the moderators at the time lived just a hundred miles away. He drove down at four in the morning to collect me and my stuff. I lived with him for about a month while I sorted out the divorce - which went suspiciously smoothly - before finally returning to my parents' home. To safety.
Now that I was free from her spell, I could actually do things. I went and got a job at the hosting company that hosted our servers. I immediately "messed up" by doing too well! I set the bar for expectations waaaay too high, and basically had to spend the next two years dialling back those expectations. Things like "yes I can make an entire support system to replace your old one in two days, buuuuut it's full of bugs and needs thorough testing before going li- why have you already pushed it live? Oh for..." You get the idea. But it was a good time all the same. I got to meet new people, experience new things, and was even earning a living! Hooray! Then the lawsuit came. The divorce wasn't enough for her, she wanted everything. I'll spare you the details, but thankfully I hired a more competent lawyer than she did, and after several years and many thousands of dollars we got the case dismissed with prejudice, meaning she cannot "try again" later. I even got awarded my legal fees that she had to pay, although getting her to actually pay was an ordeal that required me suing her to comply. But that's all over and done with now, the settlement is paid, and she is no longer a part of my life in any way. Finally. So there I was with my new life: I had a job, I launched PFQ, at some point Garthic and I started sharing a house together because it was more convenient and cheaper to do so. I started seeing some major problems with PFQ, mostly caused by how I had been forced to work on it in secret. Kinda hard to write good code when it's being done stealthily! And so I started work on the Recode. That's when the motivational issues started. This time, it was not my wife who was aggressively opposed to my work changing and improving the game, but it was the community. Even just announcing the Recode led to the same kind of responses, reactions, attacks that my wife would use against me. Nevertheless, I pressed on, and after about a year I launched the Recode. It was still unfinished, so for the next month I disabled all options for buying things. We were not comfortable taking money from people for an unfinished product. This in turn allowed me to press on and get things done, and just six weeks later PFQ's Recode was complete. At some point I quit my job to focus on PFQ full-time. Unfortunately, my motivation never fully recovered. Each time I ventured out into trying something new, I was met with the same perceived animosity, the same responses and attacks that my wife used against me during our relationship. I've... never really thought about it, but just typing this out now? This sounds like PTSD to me. Anyone else thinking that? Well, whatever it is... In 2016 I suggested a new Navigation layout, because the top of the page has gotten very crowded with the many features that were added to PFQ. It was summarily rejected by the community, in an unnecessarily aggressive way. No matter, I moved on to other things. In 2018 I tried again, suggesting an overhaul to the trade centre that would allow for things like trading multiple Pokémon - or even none at all for item/currency-only trades - and a two-way system with its own little chat box for communicating with the person you're trading with. Both sides could change their offers until an agreement was made, it would be great! So I presented it and it was summarily rejected. The level of hostility was incredible. I was in utter disbelief at what I was reading. I'm... trying to be careful with my words here. The people responsible are still active users here and honestly I don't believe they meant to be so aggressive. But I also don't think they understand just how their words affected me. They weren't being malicious in their criticism, but... Ultimately, they are a major reason why my motivation has been so nonexistent. It gets worse. For a while we had "Story Events", which were a great creative outlet. They let us tell stories, and let me experiment with features and minigames. Sure they weren't perfect, some mistakes were made along the way, but again... the aggression was disproportionate. Finally, it led to the point where I just couldn't be bothered making them. I was no longer willing to subject myself to that hostility every single time I wrote a Story Event. So, they stopped happening. And then... the same people who berated me to the point of not making the events any more, started asking how come we haven't had an event in a long time? I'm shocked, frankly, at how completely tone-deaf these people were. It took a lot of effort not to go "YOU are why we don't have events any more!" That level of escalation would not have helped anyone, although I hope by now enough time has passed that it can be understood objectively... The same applies to other things. Changes and features that I put forward as things I wanted to add, only to be met with hostility and aggression until all manner of creative motivation was lost... Years later those same people making those same suggestions. The ones they had shut down with such anger and hate. This pattern was something that I just couldn't handle. Here's the thing. I've made it no secret that I don't enjoy PF1/PFQ. It's just not my kind of game. My motivation was never to make a game I enjoyed, it was always to make a game that other people enjoyed. First my girlfriend, then my wife, then the community as a whole. I wanted to make something that people could come together and have fun experiencing. But when that community turns against me, that's my motivation gone. I have had no desire to work on PFQ for years, because it feels like every time I make a change, I have to do it from a nuclear bunker to deal with the fallout. And inevitably once the change has been out for a few weeks, the complaints stop as people realise that the new way is better. You'd think by now people would start trusting me with handling updates to the site... So let's talk about the Reboot. Why am I doing it? Well, primarily I decided that I want to make a game that I would enjoy playing. If I have personal investment in the game, then it will be a lot easier to stay motivated and keep on going. I won't be reliant on constant approval, nor vulnerable to incessant rage every time I make the tiniest update (including and especially ones that the users asked for!) It will allow me to craft an experience that will be enjoyable for all, while not being too different from what people here know and love. Already things are looking very promising over there, and I'm genuinely excited for the future of that project. It looks better, it runs better, and even the code side is handled better with actual version-control going on! In theory this means I could even take on a second programmer! ... Hah, as if I could afford one. Good programmers are expensive. But in theory it's possible now, when it wasn't before. I took time off, for the first time in 11 years. I spent the Christmas holiday with my family, only checking in on PFQ to make sure things are running fine. I did handle some reports at one point, just to help with the backlog that had built up, but that was because I wanted to, not out of any particular need to. In fact, even just the day after arriving at my parents' house, I was working on the Reboot for the first time in weeks. I was, tentatively, happy to work. That's the kind of feeling I want to recapture. So, going forward, I'm going to be putting fresh effort into "PFNew". I'm also planning to livestream some of my work - where I will (or at least "should") be happy to answer questions from people about what I'm doing, why I'm doing it, etc.. Things like game design decisions, for example. The hope being that if people understand why things are the way they are, it'll be easier to understand and trigger fewer aggressive/hostile responses. Ideally, this will lead to a healthier community, a healthier system, and a healthier me! I want to thank everyone for their support on my long journey, and I hope you'll continue to support me in future.
This has been a very heavy topic and extremely difficult for me to post. However, I felt it was important enough to do so. I will be lurking in the Dev Log Discussion thread and answering any questions that come up there, since it's not the kind of thing that would normally fit a "Q&A" like we've been doing so far. Please understand that this is a very sensitive topic, but I will at least try to explain if a particular question is something I'd rather not answer. Dev Log Discussion
Cele's AvatarCele
Cele's Avatar

Dev Stream Debriefing #1

Streamed on: 15 Feb 2021
Hello there! I get to post in the Dev Log? Nice. If you tuned into our Twitch stream that occurred earlier today, then none of this will be much of a surprise to you, or maybe you'll learn about something that you missed. If you did happen to miss the stream in its entirety, that's okay! I hope you'll be able to visit us next time. Either way, I've compiled some information here for everyone to review. I'll include some screenshots from the stream to talk about, and then go over the important points. There are a lot of large images. I am not scaling anything down. I will, however, link them so that you can choose whether or not to view them. This is also a very long text dump, so please have a drink or something while you're reading. Hydrate, peeps~! Please note that a lot of this information is tentative and details may be revised, changed, or scrapped at any time. Screenshots are not final. When you start the game, you'll meet Professor Holly as you'd expect, and she'll soon take you to the Pokemon Lab. You can adopt an egg and check your progression. This progression screenshot is important! At first, you will be limited to the Swarm and Very Common rarities from Kanto, Johto, Hoenn, and Sinnoh. By completing the story Quests and gaining Professor Holly's confidence, you will gain access to more rarities and even go to different regions. Galar isn't coded into PFNew yet, so please don't mind its absence from this screenshot. I'm sure you're also curious to see the Profile page, where your party will be shown. The Profile hopefully looks as tidied up to you as it does to me. There are already a few built-in site skins - the Light skin, Dark skin, and a Garthic-themed skin. The previous images use the Light skin. Here's a preview of the Garthic-themed skin - this is to show you that Site Skins are much simpler now! Here's the code to show you exactly how much simpler. The Light/Dark themes are automatic and sync with what your device says that you prefer, and this is a feature of the default site skin only. You can manually override this by using a custom skin. The Party page will no longer exist. The redundancy between the Party and Profile pages was seen as unnecessary, and any information that actually was necessary has either been combined into the Profile page, relocated altogether, or removed. This is to reduce the amount of visual clutter on the screen and site, and reduce confusion. Pokemon on the Profile page have been pared down to show only their icons, types, Nickname, Level and EXP%, Nature, and Happiness. Any other information is available on their Summary. Delta Pokemon, shinies, albinos, and melans are all making their way onto PFNew. As usual, there will be a mobile-friendly view (that's being viewed on PC in this screenshot, so please excuse how narrow it is). You may be wondering why the party isn't arranged more like this, and that's because of Pokemon like Shellos that have left/right requirements. We'd like to keep those apparent even in the mobile view. Clicking has been made easier in order to reduce the possibility and effects of repetitive strain injuries. We do like people having their hands and wrists intact, so now clicks are made to the whole party at once. This is also applicable on the multi-user page. Let's take a look at a Pokemon's Summary page since I mentioned it before. The OT will be clearly defined here, so you can tell which Pokemon you should be able to breed it with for good effect quite easily. Going to the Details tab, you can track its evolution requirements, including that of alternative evolutionary paths. Niet's Gloom had actually evolved from an Oddish on the stream since we were able to get enough EXP for it right in time so he could click the evolve button... so let's take a sneak peek at an evolution occurring! That's pretty cool. There's some framerate issues with the sparklies since they're rather graphics-intensive, but Niet is looking into ironing those out. As usual, you can change your Pokemon's Description. Through the Pokemon's Summary page, you can also track evolutions (up to 50 at this point in time) so that the site will send you a notification when the requirements are met. You can also cancel the tracking if you'd like, and view which ones are being tracked. Here's a preview of the evolution tracker code for funsies. The top of the page will have navigation folded into six neat sections - Profile, Pokemon, Items, Events, Social, and Notices. Going in order, the Profile menu will show your currencies, the log out button, etc. The Pokemon menu will show the party, fields, lab, and dojo links. Items has your inventory and Pokedex, you get to Quests via the Events button, Social has things like your PMs and VIP list as well as shortcuts to the forum and your subscribed threads. Lastly, Notices show your notifications. The server time has been placed under the Notices menu in order to further reduce visual clutter. More links will be added under your NavBar icons as you unlock their respective features. You may notice that the Bonus Counters are not shown on the site. They do not exist, and will not be added to the new site in their current form, if at all. Bonuses will more likely be earned on an individual basis, and may even be tradable. Think about it more like your Niet day coming in the form of a Lucky Egg, but lasting the whole day instead. That kind of thing. This will make it easier for users to play when they want to, and feel less pressured to show up on the days that have significant bonuses. Another thing is the lack of visible Shelter or DayCare options in the menus. The DayCare has not been added to PFNew yet, but the Shelter will not be added at all. As the most lag-inducing part of PFQ, the Shelter is not seen as worth it to add to the new site. Likewise, DayCare Passes will not exist, so you can adopt more from your own DayCare. In order to send out shinies and the like for other players to find, please use Wonder Trade instead; Niet intends to make improvements to the Wonder Trade system. Instead of using the Shelter to complete your Pokedex, adjusting the balance of the Lab so that you will be more likely to encounter eggs you have not yet hatched is a possible solution. The intent is that you will use things like the Lab, Fishing Hut, trading, etc. in order to complete your Pokedex instead of skipping most of the game by using the Shelter. Since the Shelter is gone, there will be the addition of a grace period in which you can reclaim/buy back an accidentally released/turned in Pokemon. You simply forfeit any reward you had gained from turning it in. Let's take a look at the Fields. Since clicking is automated, there is no need for stacking. Thus, for visual organisation, fields are arranged in a grid format. You can still drag your Pokemon around the field, but now you can also mass select much easier than before! Mass drag has also made its way to PFNew, and you'll be shown you can't place a Pokemon in an occupied space due to a change in glow colour. Let's move all those Pokemon to a different field instead. There they go! A very nice question that was asked during the stream was about badges and the Wishforge process. Badges will be making a return, but having to hoard RTEs will not. As a result of not having to hoard 860 Noibats for that last Dragon badge upgrade, the maximum number of Fields may wind up being decreased. We'll see. However, Field grouping is an intended feature so you can sort your fields into what's UFT and what's not, as well as whatever else strikes your fancy~. There's one fun little bit of flavour that's applicable to the whole site. As an indicator of when something is loading, you'll be shown a shaking egg. This is nice since it's an indicator that something is happening and you're not just going nuts staring at a screen that doesn't seem to be moving things along~. Tasks have been replaced with Quests. Quests will follow the visual story type of format that you may be used to seeing from certain holiday events on PFQ, where you talk to the characters, receive information, and take on their requests. These Quests can be seen in the Active Quests portion of your Profile page. Quests will be used to introduce the player to the game. When you unlock a new feature, it will be via a Quest where an NPC will tell you about it, and then you may be asked to use that feature in order to complete that Quest. That said, it will not be like PFQ where all features are available from the start. The goal of this is to be friendlier to new users instead of overwhelming them. Some Quests will be repeatable, such as on a daily or weekly basis. Some of the assigned tasks may involve you providing your services as a Pokemon Breeder to supply a Pokemon Trainer with a new Pokemon. Holidays and special occasions may have limited-time Quests that can be completed. Legendary Pokemon may have Quests pertaining to or associated with them, perhaps as a part of their unlock method. They may seek your assistance solving an issue, or they may wish to battle you. The visual story format of Quests will allow us to impart the lore and life of Pokefarm to users on a more personal level, and there is a good chance that you will see background stories of Staff members and NPCs as well. Hopefully this will help bring more life to the fictional area in which Pokefarm exists. If that's not for you, you may choose to toggle Quests to be silent via the Quests page, as the Active Quests area here suggests. The notification that it is available for you to accept it will be removed. You can go back to the Quests page to turn it back on. Some Quests will want you to have some items, so you'll probably want to search, right? It looks like Niet didn't type exactly the right thing, but it still gave him some results... It's nice that it's forgiving like that! Since we searched for the Pokedex item, why don't we take a look at it? That looks different, and all organised and stuff! Also, I see the name of a region I haven't seen before... Oooh, secrets
I also heard there's going to be a Rentoan Glameow variant??? Cool!
! Anyway, the Pokedex is sorted by region, then again by rarity. Then we can look at a Pokemon. You may notice that there's a level and affection requirement for the Mega Evolution. That's not the only change! As a balance adjustment, all Pokemon will have a minimum level requirement. This is more natural, since Pokemon are supposed to mature and earn their evolution rather than just being born and thrown into an Ice-type field and evolved immediately. Another adjustment is that the base forme of a species gives you information on how to obtain the variant forme of it. Gender differences are viewable on their Pokedex entry, and last but certainly not least, the Pokedex is now searchable! Now, here's a big thing that a lot of folks had concerns over. You might notice that Niet's username has some numbers after it. This is to alleviate an issue wherein users want to reserve their username on the new site, or take a username that is already in use. The combination of username and number in User:#### format will create a unique identifier. This way, there can be two Niets, but there may be only one Niet:9801. The other Niet will have to use a different number. Niet:9801 is identifiable as a Staff member due to the circled yellow star in front of his username. Non-Staff will not have this icon. Similar to Discord's Nitro subscription, you may customize your number if you have Hypermode, which places a Hypermode icon in front of your username. This system will also enable username changes to be automated, and come with a shorter cooldown. Your old username will link to your new page for a set duration of time so that people with you on their clicklists have a chance to update this information. This temporary preservation of information can be circumvented by requesting a manual username change via the Support Centre. Adjustments will be made to the shiny, albino, and melan hunting systems in order to help rebalance them with the intent of preserving their value in mind. As a part of the social everything upgrade, I heard you guys like renaming your VIP groups? Yeah, that's here! The PM system also got a bit of a facelift with the addition of tags that you can customise as well. Ignoring my own privacy for a moment, let's take a look at the contents of a PM! Niet had to set some tags on our PM to remind him to look into that issue later
That issue has actually been solved for a while now. If you look at the date of the PM, it's old.
. Beta testing time is not here yet. This site is still in very early alpha. However, when the time for beta testing comes, there may be some users who we personally invite - notably active users who we believe we can rely on for input. Other users, including more casual players, may be invited through a lottery process. It is unlikely that PFNew will be released or even put into beta this year. 2022 is the earliest estimate if all goes well. Do you need to worry about PFQ at all? Not at all, no! As it currently stands, PFQ has enough money saved up to run for 18 months even if Zophan sales were immediately stopped. Pokefarm has had more activity from 01 Feb to now than it did for all of December, even with December having the benefit of Christmas. That said, the intent is for Niet to work primarily on getting PFNew up and going, but also keep PFQ going and get what bug fixes and additions are possible. New Pokemon will be added to both, but PFNew may be the only one to get certain things, such as Dynamax, for reasons such as the larger Pokemon size allowance. Niet has expressed interest in adding a HM renewal reminder to PFQ and including it in PFNew as a feature as well. Is the new site actually called PFNew? No, this is kind of an affectionate working nickname for the time being. Once it has a name, we'll let you know. What can you do to help? Just keep playing PFQ! Even if you don't spend money on the site, your presence here is valued and we're glad to have you around. Sticking with us through these changes is what keeps us going! Thank you all for sticking with me through this insanely long post, and I hope to see you guys again soon. Maybe on the next DSD??? :D Please continue to use this thread to add comments regarding this entry!
sig code and sig bg image made by me
Cele's AvatarCele
Cele's Avatar

Dev Stream Debriefing #2

Streamed on: 22 Feb 2021
Hello again! I hope everyone's been well since last time I posted here~. We saw some new faces in the Dev stream chat, and some familiar faces as well. This time, we focused a bit more on the code rather than the questions, so there's not as much to go over. However, I will show some screenshots of some of the subtle changes that have been made to what you'll be seeing. Niet decided on doing a bit of cleaning up on the Pokedex's code on PFNew. It works as it is, and more so than PFQ's does as it's much neater, but it can still be improved upon! The point of this is to make its requests to sort stuff, ask for information and processing from the server, etc. etc. less frequent... Basically, use both our and your resources more wisely. The solution is to have your browser cache some of the information so you have a faster and smoother experience after that first time load. This way, you use less data since your device has most of the information - like the icons - on hand already because it got saved the first time. Please don't worry too much about file sizes of things; sprites, code, and the web pages themselves are compressed to save as much data and space as possible while maintaining the visual quality of the sprites and readability of the code. After Niet checked how much was saved for one particular piece of code after compression, only 10% of the original file size was actually left. That's a massive difference, especially since I'm talking about what was actually left being only 17kb in size! We also went over how compression actually works. In a nutshell, it checks for repeated content and compresses those parts the same way, leaving behind a reference for what belongs there. Instead of writing, "Shiny: 0, Albino: 0, Melan: 0, Species: Arceus-Flying", followed by, "Shiny: 0, Albino: 0, Melan: 0, Species: Arceus-Fighting", etc. etc. in seventeen different spots. It will instead store, "Shiny: 0, Albino: 0, Melan: 0, Species: Arceus-", once and tell it to print exactly that in the places where it belongs, and then write in their respective types. It works similarly for images - the black pixels start here and end there, and then after that there's four transparent pixels, then there's seven pixels that are #de5a8b over on this part, and so on. Yay, efficiency! Anyway, on to a few changes and differences! I'm going to carry on with my apparent tradition of not cropping or compressing anything because that requires effort and I'm quite tired, but here you go~. On PFNew, while you are viewing the Pokedex, the minisprites have gone from not having platforms to actually having platforms. They're so tiny that it's adorable. Forme names are now written out for ease. The 100% completion circle has been adjusted to be more intuitively read - the circle is now complete, but has marks in full and half transparency to kind of lend a "glow" of sorts to it for that ta-da feel that gives you that tasty feeling of satisfaction. Shiny, Albino, and Melanistic icons will not be shown at the beginning of the game - once you unlock the ability to obtain them yourself, the respective icons will show up in the Pokedex. This is another step to help prevent confusion for new players. Pokemon that have gender differences will now alternate minisprites to show said differences, as seen here with Unfezant (F) and Unfezant (M). No input is required to see it change back and forth - it will simply fade one out and the other in every couple of seconds on its own. The mobile version of the Pokedex has a nice little sliding transition that moves the Region/Rarity/Entries selection panels in and out of view from the left/right like they're little cards. I touched on this at the beginning of this post, but after the changes were made to how the information is requested from the server and cached on your device, these changes all add up to the Pokedex feeling a lot faster, smoother, and more responsive than before. The visual changes add a ton of polish to it, and I enjoy looking at it now more than I did before. And it was already nice. :P Last but certainly not least, we had plenty of fun at Niet's expense [1]
This one's a video.
. I've memorialised it for all of time [2]
With his permission, of course.
. I shouldn't be allowed to have this kind of power, but here we are. I still don't have a DSD commentary thread, so please use this thread again for any comments and feedback on this DSD entry! See you next time~. Stay safe and have a great week, everyone. ^v^)/
Cele's AvatarCele
Cele's Avatar

Dev Stream Debriefing #3

Streamed on: 15 Mar 2021
Hiya! It's been a few weeks since we've last had something to share. It made me happy to see some faces new and familiar during the stream, though, and I hope everyone agrees with me that we had a good time during it. If you weren't there, well, that's what this is for! Sit down, hydrate, and let's get to it, shall we? ^v^)/ So, Niet started the stream showing this tidy piece of code that introduces a new BBCode - tabs! You know how there's tabs on various pages of PFQ, but you have to use CSS hacks to make tabs happen when you want them on your post or profile? Yeah, well, no more of that. Now tabs have their own little code for you to use. Just start a tab-panel, then you can put some tabs into it.

BBCode Example

[tab-panel] [tab=Tab 1]Content[/tab] [tab=Tab 2]Content[/tab] [tab=Tab 3]Content[/tab] [tab=Tab 4]Content[/tab] [/tab-panel]
The resulting BBCode looks like this, or like this if you're on mobile. If you're putting tabs in your About Me, however, they'll use the mobile version and have the tabs across the top by default. You can also see here that I've done some styling! The customisation I implemented for the tabs in my About Me was extremely simple to do because of how Niet coded things. I'll show you my code so that you can see what I mean!

Style code

[style] --col-bg1: #FFEEDE; /* pkmn platform interior */ --col-bg2: #E3729C; /* unselected tab bg */ --col-bg3: #FFF1E5; /* selected tab bg */ --col-fg1: #000; /* selected tab text */ --col-fg2: #000; /* unselected tab text */ --col-border1: #DE5A8B; /* pkmn platform outlines */ --col-border2: #DE5A8B; /* tab title box outlines */ --col-border3: #E3729C; /* tab body outlines */ [/style]
Pretty clean for everything that's been changed in there, right? You can do something similarly simple for defining your link colours, too. There are set CSS variables for links, hovered links, and visited links, so that's going to be pretty easy for you folks too! Anyway, after showing off the styling I did with the tabs in my About Me, Niet opened up the Summary page of my Numel
I really wanted clicks on it since its evolution level is so high...
and found a bug! He wrote it down on GitHub so that he can deal with it later. Making notes like this of ideas and bugs was the primary goal of today's stream, so getting a note made already is a good start. You'll see a few more notes being made here and there as they come up. We also did a little bit of Q&A during the stream, so here's some questions!

Will it be possible to selectively release eggs from the DayCare rather than having to release them all?

The DayCare and Releasing functions are going to work differently from how they do now, so there's no guarantee if that will even be necessary. If that winds up being relevant, then yes, it can be looked into.
This is actually something that applies to a lot of features. Things like DayCare Passes won't exist, so suggestions regarding them aren't relevant, and so on.

Is it reasonable to assume that some of the suggestions that have been approved over the years will be in PFNew from the get-go, such as the block feature?

Yeah, basically. Things that we've been wanting in the game for a long time can actually get added now, with many less restrictions happening due to the code structure... The spaghetti mess is getting thrown out the window. Niet still isn't sure how to go about an official block feature, and that's why the one on PFQ right now is a Sanctioned Userscript. It was made by a user based on what users commonly want. However, in implementing an official block feature, there's a bit more that has to be considered such as how that will impact the interactive functions of the game rather than just hiding names and such, so Niet is taking his time to consider this more thoroughly. Watching the Sanctioned Userscript in use also helps because it's effectively testing what an official feature of this nature could be like. To talk about other suggestions though, ones that have been sat in Approved for years may wind up getting scrapped. These were approved during a time where the direction PFQ was going in wasn't yet decided. Now that Niet knows what direction he wants the site to move in, not all of those old approved suggestions will make the cut. We will be reevaluating these old suggestions at some point to see if they fit that direction or not, and working in any that fit the bill. For now, though, PFNew is being prioritised over bringing these things to PFQ.

Would you consider implementing the Trade Centre upgrade that was proposed a year ago?

That is the plan - to just have it on PFNew from the get-go... and then some. There's going to be some fairly significant changes to trading that will make things such as bulk trading easier.
Niet went on to state that there are no plans at this time to implement the Trade Centre enhancement on PFQ at this time, in part due to the mental block that occurred due to the incident in its suggestion thread. Additionally, PFQ has changed since the suggestion was proposed and where it was potentially possible as a large hack of sorts back then, it no longer looks like it is possible at all. That said, a significantly better Trading Centre will be available on PFNew from the start, so please look forward to that. Since we're currently on the topic of trades, I'll go ahead and show the notes Niet was writing in regards to the new Trade Centre. The plan is for users to be able to create a trade session with one another, and use an integrated "chat" area within that session in order to post their offers and counteroffers to one another. Once an agreement is made, you can choose what you're putting up for trade. You're no longer obligated to send a Pokemon at all, and you can send items en masse. Once you've attached what you're wanting to send, both players can lock in their offers and approve it for finalisation, where the trade will be resolved. Trading, however, will cost Interaction Points - it won't cost much, but there will be a cost. The intent of this is to add a cost to skipping the bulk of the game. If you want to acquire something that you have not yet obtained yourself (in regards to Pokemon), then the associated IP cost will be increased. For example, if I haven't obtained a Galarian Weezing and I don't want to put in the effort to obtain that myself, then I can pay the Interaction Point cost in order to trade and bypass the need for that effort to be made. Mass-hoarding or mass-trading RTEs
Ready to Evolve Pokemon
will no longer be a necessity due to how the new badge system will work, but this new bulk trading option will be available for whatever other applicable uses of it exist, such as trading large numbers of Sweet Hearts. It's unknown at this time whether Trade Centre Expansions will make a return. At this moment, the thought on Transfer from PFQ to PFNew is that you will need the PokeDex entry of the normal / non-special of that Pokemon on PFNew before you can transfer anything of that species from PFQ, but you will be able to transfer your specials once this criteria is met. This way, people can't skip the game by using Transfer but they can still move over all of their specials.

Will Custom Sprites be transferrable?

There were issues with the Custom Sprite Pokemon on PF1 that prevented them from being desirable as additions in PFQ, such as for copyright reasons and the fact that many of them were user submitted. Tentatively speaking just off the top of our heads, there are no such issues with PFQ's Custom Sprites, so they should be transferrable.

If the Shelter and DayCare Passes don't exist anymore, will we still be able to adopt only a set number of Pokemon?

When features are changed or removed, the rest of the features are balanced accordingly. It's the same in this case. You will be able to adopt every single egg that you breed. The plan for the DayCare at the moment is that your breeding pair will produce a few eggs naturally over time, and an item akin to a Lucky Egg can be used to either increase that rate or cause your clicks to lead to additional egg production for a set amount of time.

Will the quests be based off of interacting, or will you have to wait?

A bit of both. A lot of quests will have you go interact with other users' Pokemon and Eggs, and this is intentional. Thinly veiled directives to "go click other people" will show users that it is a rewarding task in and of itself, because they will click you back. Now, there will also be other quests, of course. You may have to send out a Pokemon on a Scour Mission, and in that case, yes, you will have to wait for it to get back. You'll have to wait if the quest wants you to collect Berries from the Berry Garden. That's just the nature of those types of requests.

Will there be more holiday events on the new site?

Ideally. I don't know if it will be realistic to do so, but it's something we'd like to do. The quest system can be used to make story quests, holiday quests, background quests for staff members and NPCs, and so on. That, or holiday events like the Valentine's CS sales and Sweet Heart surprises can be automated to occur on a set date.
Oh, right, and there's going to be a place to make requests for Pokemon. After all, if NPCs are making weekly requests for Pokemon, then why can't you? So it'll be like a GTS kind of thing! Here's the notes regarding the Shelter/Release replacement. Releasing Pokemon gives you Credits. NPC Trainers will ask for certain Pokemon to be provided, and meeting that request will yield an additional reward than just releasing anything would. There will be a one-week buy-back period for turned in or released Pokemon, so accidental releases will no longer be an issue. We visited the Stats tab of the Summary page to see how hard it was to make a star-shaped graph. TLDR, it's really hard. Niet started flagging here, so he went off to rest and we called the stream quits at around 2hrs 12mins.

Bonus Content: Sobble VS Scorbunny

We also had a poll on Twitch to see if you guys liked Sobble or Scorbunny more... and the results were both hilarious and inconclusive. The only definite thing is that the legibility of this is absolutely awful and I hate it. If any of you work for Twitch or have contacts... get them to fix their legibility please, maybe? I like being able to read. ;w; Transcript: "Settle this! - Sobble (50%) - Scorbunny (50%) ScalpelCat contributed 130 Bits. CelestialRibbon
Yes, that's me.
contributed 6400 Channel Points." Now I have no more Channel Points left.

Bonus Content: Cele's Shenanignans

Niet: -explaining what PFNew is and how it's a different game to someone who asked in Twitch chat- Niet: If that makes sense. I hope that makes sense. Does that make sense? Cele: Yeah, that makes sense. Niet: Okay, good. Mind you, asking you if something makes sense is a little bit ambitious. Cele: Heeeyyy! Niet: -laughs- Cele: What do you mean by that? Niet: Nooothing. Cele: I call shenanigans. Niet: Most of the time, you cause the shenanigans. Cele: That's not true. Niet: Is it? Cele: Name one time. Niet: I can't name a time where you haven't caused the shenanigans. Cele: -silent- Niet: Oh no, I'm being mean to Cele and now she's not talking to me. Cele: Sadness... ... Twitch chat: Cele: Name one time; Niet: I have two lists, alphabetically and chronologically, which one do you want? Cele: -laughing- Niet: -laughing- Niet: Yeah, we both just read that Twitch message at the same time. Cele: I'll take the chronological one, thaaanks.
Here's a discussion thread for you about all of this! Anyway, I hope this has brought some new information to you guys about the project, the direction it's going in, and what you can expect! I'm going to go stretch my legs now. I'll see you next time! ^v^)/
Niet [Adam]'s AvatarNiet [Adam]
Niet [Adam]'s Avatar
It's been far too long since I posted here. I can only apologise. I've been dealing with some serious personal motivational issues and therefore haven't made nearly as much progress as I'd like to have. PFNew is a massive project, and quite a daunting one as a result. I need to refocus, break it down into smaller pieces, and handle them one by one until eventually it all comes together. In the meantime, I want to thank you all for your patience. Today, I added this to PFNew's registration form: You can select from male, female or neutral pronouns, or fill in your own. These will be shown on your profile, and used in the game's story cutscenes when referring to your character. Just thought I'd share something to break the silence :D Thanks again for letting me take the time I need, and not rushing me to finish. It's much appreciated. Edit: since I've been asked twice already: yes it can be changed after registration.
Cele's AvatarCele
Cele's Avatar

Dev Stream Debriefing #4

Streamed on: 07 Jun 2021
Hiya! It's been a hot minute, hasn't it? I'm glad to see everyone again, and I hope you're all doing well. This time, Niet worked on the Forums. They're tidied up and neater than what you're used to on PFQ. So, let's take a look at what I can view so far~ Here's some of the code that he's working on! He's adding the part that says, "If you're not staff, tell you that the staff forums don't exist if you try to access them." While, yes, you might think it's a better idea to say that the user simply doesn't have access, in this case we're telling them it doesn't exist because it's not something that will ever exist in their personal experience with the pretty slim-chance exception that they become staff at some point. We decided to let Novie show and do some arts up in the corner so people who don't understand much about code can still have something nice to watch while the weird technomancy happens. :D It wound up being a noodle doodle since I've been bugging Niet for a while to add the Fishing Hut to PFN. With Novie pestering Niet in the background. XP Well, that code has to kinda make a thing happen on-site, right? Okay, so I gotta take a look at the Forums! Now the different primary sections of the forums are divided into tabs so that there's less scrolling. The page isn't so vertically huge anymore, which I think is a very nice thing. You can also see here that Niet owns a thread in the Beta Feedback subforum. The subforum view has been tidied up a bit as well, receiving a bit of a facelift. Anyway, here's a view of the forum from mobile~ And desktop! Keep in mind these are works in progress, so they might change. This is just me taking screenshots while he's streaming and working on it. :D Now for some silly stuff since we've hit the end! Since Niet brought it up at some point, yeah I'm wearing a Cele shirt. My sister gave me a shirt with the Cele's Centre (Closed) artwork on it for Christmas. It's pretty much my favourite shirt at this point. Please forgive the mess in my background. House renovation means I'm keeping my bedroom door shut with that basket at the moment since my doorknob is off. >v>;;; I also have the mirror in the background turned backwards because I hate the idea of mirrors in the bedroom... But I have to have this one in here... Oh, right, we hit the Community Goal on Twitch, so Niet had to change his icon... Niet the Abs! Much to Niet's disdain, I think. lmao Novie did some doodles during the stream, so you guys can have these too~ I don't know why Novie thinks she can beat me up like this... Well, that's all I've got for now! I hope to see you guys next time. Take care, everyone. :D Please use the DSD #4 [Pikas Galore] thread for discussion! Edit: I forgot to give you guys this little gold nugget >:3c
Niet [Adam]'s AvatarNiet [Adam]
Niet [Adam]'s Avatar

Starting over: a fresh angle

It's difficult to admit when you're wrong. It's difficult to tear yourself away from the sunk-cost fallacy. It's much easier to press on, to consider it "good enough" just because it's technically working. But it is important to take the correct path, not the easy one. So it goes with PFNew. I had already noticed that the code was getting messy. In my determination to "just get things done", I had neglected the important part of "get things done well". It's not enough just to go fast. Going fast early on might feel like progress is being made, but it leads to much slower progress later as the mess has to be waded through. Instead, it is far better to take things slow and steady, especially with the foundation of the system, as this will allow continued development to remain fast and effective. And so I find myself rewriting basically all of the work I've done on PFNew. Thankfully, a lot of it can just be copy-pasted into the new structure, with only minor adjustments, so it's not like I'm wasting anything. It's just getting rearranged and put away tidily. It's like arranging your books into a library rather than just keeping them scattered on the floor. With this rearranging, I'm actually able to make some changes and improvements that wouldn't have been possible otherwise, so that's good! Here's just a few examples of what I'm changing as part of this tidy-up:

More organised code

The thing that tipped me off to there being a problem is that I had a bunch of files with similar names. For example, Pokemon.class.php PokemonAlternate.class.php PokemonBusyState.class.php PokemonCouple.class.php PokemonExp.class.php PokemonGender.class.php PokemonHappiness.class.php PokemonReleasePreventionReason.class.php PokemonSource.class.php PokemonStage.class.php PokemonStats.class.php You know what would be tidier? Folders! And in PHP those are called "namespaces". Pokemon |- Alternate.class.php |- BusyState.class.php |- Couple.class.php |- Data.class.php |- Exp.class.php |- Gender.class.php |- Happiness.class.php |- Pokemon.class.php |- Source.class.php |- Stage.class.php \- Stats.class.php Okay so that might not look like much on its own, but now apply that to all "groups" of things, like Fields, Species, Items, Quests, Interactions and you get the idea. Having better organisation of code will make it much easier in future to find where to go when adding or updating features. Another thing this has done is helped me break the habit of putting more than one class into a class file. Sometimes this is okay, but usually it isn't. An example where I had done this inappropriately was the StrongType system, where each individual type was in the same single file. This was fine, except that it meant the auto-loader couldn't find them. I had to "fix" this by adding a call to StrongType::init(). Do you know what this function does? Absolutely nothing, it just causes the auto-loader to load the StrongType file and "accidentally" load the individual types in the process. That's a hack if ever I saw one, and it needed to be fixed. Now it is, each type is defined in its own file, inside the StrongType folder. Much better!

Better database handling

On PFQ - and on PFNew until I changed it - each "object" (be it a Pokémon, a Species, an Item...) is a row in the database. The code then loads up that row and puts it into a PHP object so it can be worked on. Objects are also stored in Memcache, which speeds things up because it avoids looking for it in the database if possible (database lookups are relatively slow). But there are problems with this system. - Consistency. If Memcache isn't properly informed of changes, the game can be inconsistent for up to an hour until Memcache automatically purges it. This is why you sometimes (rarely) get the Scour bug where a Pokémon shows as "returned" but trying to retrieve it says it's not on a mission... but it is... but it isn't. - Reliability. I can't reliably update items without a delay, such as when Tournaments end. Even now, if you happen to load the Tournament page while scores are "being calculated", you might be locked out of buying the Egg for up to an hour afterwards because of the lack of reliability. - Performance. Ever wonder why "Pokémon that can evolve" takes so long to load? It's because each individual object has to be loaded one by one. The database is queried for a list of IDs of Pokémon belonging to you, then the system goes through each one and loads its data, checks it for evolution conditions, and displays it if it is ready. This is the biggest reason why I can't reasonably implement any kind of type filtering. The QoL userscript "fixes" this by loading data from the PokéDex and caching it, but that suffers from all the same problems as mentioned above. This is sometimes why Vulpix Eggs don't get highlighted in the Shelter when you filter for Fire-types, it has cached (Alolan) Vulpix as an Ice-type Egg. So what does PFNew do now? It has loosened the coupling between a PHP object and the corresponding database row. This means that I can just load all of the data directly, rather than having to get the list of IDs and then looking up each ID one by one. This will be a massive performance improvement on things like Fields, that would otherwise involve up to 40 database lookups. It's amazing the things you can do when you have experience under your belt... PFQ, even the Recoded version that we're on now, was made 8-10 years ago. I have learned a lot since then, but have been unable to apply it to PFQ due to just how bad the foundation is.

Localisation/Internationalisation

On to something that you as players will actually get to see! With new and improved organisation, I have taken care to separate "content" from "behaviour". This means that PFNew will support translation into other languages! To start with, this will just be about localising number formats. For example, PFQ lists the max PokéRadar chain as a +3,996% boost, but this is confusing to our European players because they use the comma as the decimal separator, so to them it could be confused for just a +4% boost! Oops... Similarly, PFQ is locked in to a 24-hour clock for its Server Time. Players from the US may struggle with what they refer to as "military time", so PFNew's localisation system will allow them to have a 12-hour clock. Also they get to have "color", "flavor" and dates in their silly month-day-year format :p (love you guys, but you're weird sometimes XD) Down the road, the language files will be able to be translated into different languages, which I think will be an amazing thing to be able to do! Of course, that's quite a monumental project, but there are services out there like Crowdin that should allow us to provide this option.
There is of course much more than just these three benefits, but a lot of them are on the technical code-side of things and I'm not sure I'd be able to explain them properly! A lot of these improvements are thanks to the new features of PHP 8.1, so in a way it's a good thing I had a bit of a mental breakdown and had to take time off! Ahaha... Not really. But I'm definitely enjoying the progress I've been making on this rewrite. And, like I said, a lot of it is "just" moving code around to organise it better, so none of my previous work is going to waste. I have mentioned elsewhere, but the current optimistic hope for PFNew is to open in 2024. Time will tell if I'll be able to deliver on that date, but on the flip side it might be possible to have limited beta testing as early as 2023... We'll see! Thank you again for your patience and understanding as I work through personal, mental, and also technological problems. I find myself doubting my ability a lot, but still I press on, determined to deliver a game we can all enjoy together! Discuss!

Pages: 1234

Cannot post: Please log in to post

© PokéFarm 2009-2024 (Full details)Contact | Rules | Privacy | Reviews 4.6★Get shortlink for this page