Jump to content

DoubleX

Member
  • Content Count

    922
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by DoubleX

  1. Note: This post doesn't talk about specific commissions for specific projects. As the release date and price of MZ are announced, some upcoming MZ users are already thinking of making/using upcoming MZ resources, and free vs paid ones is an important consideration for most in both sides(some resource users are also resource makers of course). Be warned: I expect this post to have very heated debates, those hating these things a lot are better off staying away from this post :D There are several dimensions on free vs paid resources. Needless to say, those being always free on all RM projects will be the most generous(whether it's sustainable is a different thing entirely), while the following combination will be the most money sucking: Fortunately, from what I know, such a money sucking resource haven't existed yet and I don't think it'll ever exist, as I consider this combination "voluntary robbery"(I guess that's as far as how pathetic one can become without making the terms of use illegal) lol On the other hand, the following paid combinations seems to be the especially common(I don't know if it's the most common though): Perhaps because of the following reasons: Now let's think of the following possible scenarios involving the amount of free vs paid resources: 1. All resources are free 2. All resources are paid 3. Most resources are paid but some are free 4. Most resources are free but some are paid I don't know much about other resources, but in the case of plugins, I prefer most to be free but some to be paid. That's my current take on free vs paid RM plugins (I decided to share it even though I know mine's too naive to be shared), and I'd like to know what's yours on plugins or other resource types :P
  2. I've just checked the VisuStella Plugins for MZ and there are already 11 plugins. The Yanfly team(perhaps a big one?) really works so effectively and efficiently that some MZ users can likely use tons of Yanfly plugins right after MZ's released (still 13 days from now). I wonder if any other plugin developer(or team) will try to compete with Yanfly this time, no matter how slim the chance to win is :)

  3. I'm slightly disappointed that the MZ codebase still uses core.js, managers.js, objects.js, scenes.js, sprites.js and windows.js instead of core/Bitmap.js, core/Graphics.js, managers/AudioManager.js, managers/DataManager.js, etc...

    1. PhoenixSoul

      PhoenixSoul

      Remember back in XP how Game_Interpreter was split into seven entries?

      Yes; bring that back, si'l vous plait.

    2. DoubleX

      DoubleX

      I think breaking each class into a single file is a good enough balance between having too many files and having some files being too big 🙂

    3. PhoenixSoul

      PhoenixSoul

      Exactly my point. Having 1,400+ lines of code broken up into smaller chunks makes more sense for those that need to find something but are not fond of text walls.

      RM should have a better script editor too, but that's out of scope.

  4. I think such a plugin has at least the following potential advantages: 1. Those avoiding direct prototyping like a plague can work with an ES6 version 2. Those not being familiar with ES5 don't have to learn this outdated approach, especially when it's just for writing RMMZ plugins 3. As this plugin can be directly maintained by the RMMZ plugin developer community, it might address their needs more effectively and efficiently(as long as such changes won't break plugins not written with this plugin in mind) And at least the following potential disadvantages: 1. This plugin will need to be kept in sync with the default RMMZ codebase changes, which can be very complicated and convoluted for the plugin developers involved to detect all the changes in the latter(while letting the plugin users/other plugin developers know if the plugin's outdated is an easy, simple and small task) 2. This can further "encourage and recommend" ES5 vs ES6 flame wars among some plugin developers(and can be a serious community trouble if it becomes a widespread drama), as some will write plugins in the ES6 standard with this plugin and some will continue to write ES5 with direct prototyping without this plugin 3. Some plugin users touching plugin implementations will have to deal with both ES5 and ES6 styles, as some plugins will be written in the former and some will be written in the latter(or even mixed styles in the same plugin in some rare extreme cases) To make this post more effective and efficient, I've used nearly 35 hours in 3 days to write 1 such plugin(0.9.5 with just the core parts). While it might break some plugins not written with this plugin in mind despite the fact that I've checked about that several times already, I want the discussion to focus on whether THIS DIRECTION AS A WHOLE is a good idea, so I hope it's not so poorly written that it'll defeat its purpose in this post :)
  5. While I'm personally fine with ES5 direct prototyping, quite some potential MZ plugin developers have rather strong opinions against the default RMMZ codebase sticking to that style, so I've come up with this whole idea and made a little experiment with it :)
  6. With ES6 classes, trying to extend the parent class in plugins can lead to its children still using the old parent codes. For instance, you can place this in a JavaScript sandbox and verify the console output yourselves: So normally, you'll still have to directly type prototypes: But I wanted to offer an alternative for those not being familiar with ES5 or avoiding prototypes like a plague despite the fact that many RMMZ codes are written that way, and this is what I've come up with: I've tested that it works for adding new instance variables and prototype methods in base classes, and extending and overriding existing prototype methods there(you can place the linked snippet into a JavaScript sandbox and verify the console output yourselves). While I failed to inherit the changes in the static functions of the base classes from plugins as well, this can be easily mitigated by using BaseClass.staticFunc.call(this) instead of super.staticFunc(). Basically, the essence of the issue when aliasing ES6 class inheritance without direct prototyping is this: 1. The original child class inherits the original base class 2. A plugin extends the original base class to alias some of its prototype methods 3. The child class still inherits the original base class So to solve this, simply store the linkage between the child class and the base class right after creating that child class, then points the parent of the child class to the extended base class right after extending it. As for the static functions in classes, while I tried to use the linkage to let the exiting children class use the new static functions from the extended parent class, I failed to cover the case for aliasing existing parent class static functions, because it's just impossible: 1. The super in the static functions of the child class always points to the original parent class 2. The super in the static functions of the extened parent class always points to the original parent class 3. The super in the static functions of the child class's supposed to always point to the extended parent class Clearly, combining 1 and 2 will contradict with 3, which is the goal I've trying to achieve. For those not being familiar with ES5 or avoiding prototypes like a plague, I hope using ExtendedClassAlias won't be too demanding for you, as all you need to do is sticking to these: /* * Do these 2 additional things when using ES6 class inheritance aliasing * without directly typing prototypes: * 1. Add the following code right below a new class inheriting another one: * - ExtendedClassAlias.inherit(Klass); * Where Klass is the new class inheriting another one * 2. Add the following code right below extending an existing class as a way * to alias its methods: * - ExtendedClassAlias.updateClass(Klass); * Where Klass is the existing class being extended as a way to alias its * methods * Right now it doesn't work well with inheriting static functions in classes, * so those in children classes should use ParentClass.staticFunc.call(this) * instead of super.staticFunc() */ P.S.: I've spent almost 24 hours on this and I enjoyed the process a lot, even though this might not be practical enough to be used in MZ :)
  7. There's a confirmed case of Covid-19 who lives in the same building as mine, but fortunately I've been staying at home all the time for more than a week already, even though I might be ordered to enter a quarantine center any time soon...

    1. PhoenixSoul

      PhoenixSoul

      I hope you're armed...

      Don't surrender your freedom for security...

      May the Divines guide you...and us all...

      (resides near an incinerator capable of burning humans to ash-the danger is real)

  8. Just tried to access my pastebin, then cloudflare said the pastebin website has been flagged as phishing, so I guess many of my plugin download links are broken...

    1. DoubleX

      DoubleX

      Now I can just access pastebin again(I just have to login again), so maybe cloudflare had just wrongly flagged pastebin as phishing?

    2. PhoenixSoul

      PhoenixSoul

      Sounds more like an internal error, but that's just a guess.

      Still, that's garbage, regardless...

    3. Kayzee

      Kayzee

      Sometimes pages just get flagged for things temporarily while something is under investigation. Sometimes it's a mistake sure, but sometimes it's because of things like an external ad injecting a script somewhere and/or the site being hacked. That kind of thing can happen and otherwise safe sites can unknowingly be used that way.

  9. Fortunately, this has been working well in some communities(at least including RMW and this forum). Those proven to be not respecting the terms of use of the resources, if not just being banished by the community, will at least have a very hard time on using any other paid, or even free, resources, as most resource makers knowing the incident will likely openly or secretly blacklist such offenders already. Also, the community will probably "advertise" the game so even some players will know the truth, and at least some of them will care about this. Similarly, the offenders will usually have a harder and harder time selling their next games, due to generally more and more potential buyers knowing the truth and boycotting such games. Of course, it really depends on which community the offenders mainly access, and I won't be surprised if there are communities standing for treating resource terms of use like dirt :)
  10. When it comes to the issue of letting resource users try the paid resources without having to pay first while still ensuring the resource makers can earn money, I've thinking of an idea besides the traditional "free for free projects/paid for commercial projects" - The resources can be used for free for all PRIVATE/UNPUBLISHED PROJECTS, but must be paid right before they're PUBLIC/PUBLISHED. Of course, if I were one such resource user, I can already come up with a scheme to circumvent such a terms of use, but if most resource users are honest enough to actually stick to the terms of use, I wonder if this will work better for commercial projects(at least those turning out to be failures won't have to pay for those resources yet) :)
  11. Actually, I think most paid resources rely on the assumption that most people are honest enough to pay and only few will be brazen enough to pirate them blatantly. So I guess that as long as this assumption holds are most paid resources, at least some resource makers will keep making paid ones :)
  12. Back to the personal scale, it definitely depends on one's current personal situation. In my case, I'm thinking of letting plugin users to give me donations after I've jumped into MZ, and most, if not all, of my MZ plugins will probably be always free. But if I'm lucky enough that I managed to make some plugins reaching the professional level with professional level support(as if I'm working as a seasoned full-time professional software engineer), then I'll consider charging them for commercial projects. For instance, if I managed to implement saves in the snapshot form(think of some gaming platform emulators letting you press a hotkey to save at any moment) or client server multiplayer(or p2p counterpart), I might charge something like a one-time 10USD fee for permissions to be used on any commercial projects(those projects can use mine if anyone has the license). Of course, that also depends on how well my donations will work. If almost no one donates or if there's almost even no plugin users, then I don't think charging my plugins will work at all. There might be some plugins that are close to the professional level(but not yet) that I'll want to write as well, but I might announce that they'll only be written if the donation has reached a certain amount. But I'm not certain on any of these things, at least not before I actually have MZ :)
  13. In RMW, someone suggested that MZ should have subscriptions as well, even though it's not about free vs paid resources. While I don't think it'll work in MZ, that discussion inspired me to have an idea on something similar to universal basic income for MZ resource makers if MZ does have subscriptions. Simply put, as long as the resource maker meets a set of public criteria on a month(certainly including the fact that he/she's made some high quality free resources with high quality supports), he/she'll take a very small portion from the MZ subscription pool on that month, and the exact amount depends on the contribution, popularity, reputation, and maybe some other criteria. Of course, only the best resource makers(definitely including you but not me) can even have a chance to earn money this way, and this model will definitely increase the burden of all MZ users(as at least some of them will have to subscribe and the rest will have to pay for at least a slightly increased one time purchase price due to the extra costs supposedly to be covered by subscriptions, and that slight one time purchase price increase's just to play safe in case only few go for subscriptions), but maybe it's a dream that some resource makers can at least think about lol
  14. I think you're trying to address a very high level issue - our very human nature, and it's such a massive inertia that trying to change it on a mass scale's so hard that it almost never succeeded, all because of the fact the the evolution speed of the human brain's much slower than that of the human society(the former actually evolved only a little during the past millennia), and the accumulated lag-behind's so massive that even trying to catch up is already next to impossible for the majority, that's why the society still has to be designed around the current human nature(by trying to align the best interests of an individual to those of the others), instead of trying to change the human nature to fit even the most justified ideals possible. In the case of resources, while high quality free resources with high quality supports do exist and some of them are incredibly successful, I'll consider them a luxury that not many resource makers can afford(making high quality resources and providing high quality supports take time, which involves daily expenses from the resource makers), so I think it's very questionable whether such resources can be the norm in the foreseeable future. But first, let's try to picture an ideal scenario on the resources/games: Unfortunately, uptil now and in the foreseeable future, the human nature still doesn't work that way as the norm yet, so while the above ideal situation can be realized by some resource makers/game developers, whether it can be the majority is a completely different matter. At the very least, the following can be some very real obstacles: There might be only few, but still nonetheless non-negligible tragedies that happened to some resource makers causing them to either retire or add a paywall on some of the previously free resources to protect themselves; There might be only few, but still nonetheless non-negligible tragedies that happened to some donated to games only to later find out that the whole thing's a scam to begin with and the game developers have already bailed out with all those money. Also, no matter how much the resource making/game development cost's lowered, it'll still be significant. In general, the more effective and efficient the resource makers/game developers are, the more the resource making/game development costs can be lowered, provided that they're willing to do so, because it'll take less time for them to produce higher quality resources/games with higher quality supports/maintenance(that also explains why the most expensive choice isn't always of the highest quality), but lowering them to the point of not having profit can be very dangerous even for the truly altruistic ones. After all, resource makers have their own bills to pay and this can happen frequently, and hiring game developers demands salaries to be paid for them(of course hiring isn't always necessary but still), which can be a drastic expense. Because of the very fact that keep living has a continuous cost, one needs to have a continuous income to compensate, otherwise one can hardly be sustainable. All these are always true no matter how anyone value anything, due to the fact that the goods and services necessary to maintain lives are mostly consumables but not copyable(i.e.: the cost of producing a copy isn't negligible at all), and goods and services simply can't be produced/provided out of thin air, meaning that the costs and thus the price of those goods/services can only be lowered to a certain level. When some goods/services are in high demands but only with low supplies, their value will increase, due to the fact that these demands are harder to be met; When some goods/services are only in low demands but with high supplies, their value will decrease, due to the fact that these demands are easier to be met. With this valuing system, goods/service providers will have bigger incentives to produce goods/provide services having higher demands but lower supplies, thus increasing the supplies of such goods/services and making those demands easier to be met, even though it'll also decrease their value(but still higher than those having lower demands but higher supplies). On the consumers side, the more they need some goods/services and the more scarce those goods/services are, the more they're willing to pay, due to the fact that it's harder for them to meet their more important needs, meaning that this valuing system also somehow helps the goods/services to be consumed by those needing them the most(of course there will always be hoarders and rent seekers but they're well-known problems with well-known solutions, albeit very hard to get them right). Of course, this valuing system's far from ideal in practice, and in the case of resources, there will always be those desperately needing some paid resources to develop their games yet being too poor to pay for them, causing the game development to be in deep miseries(I won't be surprised if some of them outright stop developing the game altogether due to this alone). Fortunately, because resources/games are copyable(producing a copy costs next to nothing), there won't be issues regarding liquidity of goods, meaning that the problem of hoarding necessary goods or rent seeking won't apply to resources/games(of course there will always be bastards trying to sell the resources of the others without permission, but it's a problem of educating resource users); Unfortunately, because resource supports/game maintenance still has to be done manually, there will still be issues regarding liquidity of services, meaning that the resource/game price might slightly increase or the subscription model might come into play, due to the prediction that the liquidity of services will probably be too low in the long term otherwise. Besides, while some resources/games seem to be expensive, part of the expense can actually be regarded as a future investment on the resource makers/game developers to make/develop more higher quality resources/games with higher quality supports/maintenance later on. Whether this investment's worth the cost depends on many factors, but some resource users/players are willing to pay for a seemingly overpriced resource/game partially because of their willingness to make this investment, regardless of whether it'll really pay off for them. Of course, this kind of investment can also be done via donations, and perhaps it's more effective and efficient than forcing all resource users/players to invest via paying the price, but that's assuming that most resource users/players will really donate to begin with, and it's only reasonable for the resource makers/game developers to prepare for the worst. All in all, I think the current economy system's far from ideal in practice, and I also wish it to move towards the donation model, but I guess right now the former's still a lesser evil than the latter in a mass scale even when the latter has some incredible successes in quite some cases, all due to the fact that the former won't work as well as the latter in very good(let alone the best) cases than the latter, while the latter probably doesn't work at all in very bad(let alone the worst) cases but the former can still work there, no matter how ugly it's. In short, it's still a choice between lower risks with lower rewards, and higher risks with higher rewards, and the former almost always wins for the majority, at least due to the well-known "loss aversion", which is extremely common and can be a cognitive bias in many cases(but I'll argue that sometimes loss aversion is the most rational move). I feel that the humanity's already moving towards the donation model, but this movement's to be this slow, simply due to the fact that, according to the mankind history, drastic movement all of a sudden can only succeed when the status quo is so broken that almost no one can even barely tolerate anymore. Just look at the mankind history over the past millennia, the human nature actually only changed a little, even when the economy system's changed a lot many times already. So my wild guess is that, maybe after another several millennia, the economy will finally be based on donations, assuming that the mankind isn't extinct already. When that time finally comes, @Kayzee will likely be remembered as one of the few who's several millennia ahead of the 21st century, which is probably as barbaric to them as what we think about the medieval era(and being several millennia ahead of the times is as painful as a 21st century human being sent back to the medieval era I guess) :)
  15. I guess many games operate with the opposite direction - First make a profit target, then setup a price that fulfills the target, and finally the minimum quality needed to justify the price. After all, it seems to me that it's a "best practice", even when I also wish most companies follow your ways to think instead. I'd even wonder if there will be any resource maker using this "best practice" as well, although it's hard for them to treat their customers as cash cows :)
  16. So this also motivates resource users to take paid resources and their commercial projects even more seriously, otherwise the profit margin will be so small that giving you $2-$5 out of $100 can already make their net profit to be 0 or negative, and of course that's their responsibilities that are already informed in advance :)
  17. Just want to be clear - Is that $100 referring to the gross or net profit?
  18. In the default RMVXA and RMMV(I don't know if it's the same for the others as well), the state resistance's in the form of decreasing the chance to inflict a state, but without any other change if the state's still inflicted. I personally feel that it can be excessively and unnecessarily random, especially for states lasting for several turns and with serious effects. Therefore, my very naive idea is that, instead setting the state resistance as decreasing the chance to inflict a state, the former should be set as decreasing the number of turns of the inflict state, thus eliminating the randomness completely. Let's say a state reducing a battler's atk by 50% for 3 turns, which is of course a very serious deal. But there are some battlers having certain resistance on that state, some may reduce the number of turns to 2, and some may even reduce the number of turns to 1, thus removing the situation of a gamble between having no effect and reducing atk by 50% for 3 turns. Similarly, state resistance can also be implemented as reducing the state effect magnitude, and in the above case, like reducing it to 25% from 50%. So what do you think about state resistance? Do you prefer randomness or determinism in this case?
  19. I'm thinking of whether something like this can work - All resources are free, but if the resource maker doesn't get enough donations, then: 1. Some existing resources will become unsupported 2. Some resource requests won't be entertained Thus further encouraging and recommending those having money to donate even more :)
  20. Then resource makers really need to work very hard on their resource quality and supports, and persuading those who have money to really donate. I personally like the donation business model, and wish those having money to be even more generous :)
  21. I hope at least some resource makers can manage to deal with honest enough resource users most of the time, so they can be even more motivated and sustainable(I don't think solely relying on passion is reliable enough in the long term)
  22. Just added the following: I don't know, but I just consider that resources with optional donations to be free, while those with "mandatory donations"(like you've to subscribe to the resource maker while those resources themselves have no additional cost and are thus free under the subscription) to be paid. While you're talking about the base RM itself, this inspires me to wonder if most resources in RM make sense to use quickstarter, maybe it's more suited with resource bundles instead
  23. Anyone here managed to never burn out on programming? My current limit is 3 months(6-8 hours per day, 7 days per week, 50 hour programming week on average), and then I just have to take a break, sometimes lasting few days(with at most 2 hours on programming per day). I've been always like this so far, so I admire those who can always be so passionate on programming :)

    1. PhoenixSoul

      PhoenixSoul

      Spoiler

      Yes! Happens a lot! lolz

      (Erm...I misread that)

      No, I burn out quite easily...

    2. Rikifive

      Rikifive

      My job leaves me tired, thus lazy, so I barely do something productive nowadays, heh.

      I used to program a lot before I got a job and had all that time for it; Every single day I've been working on something if I'm not mistaking, though it's been a while. 😛

    3. Kayzee

      Kayzee

      I don't think it's really the act of programming it's self that burns me out as much as that I start running out of 'low hanging fruit' to focus on. When I start a project, I often have a lot to do but I can focus on the relatively simple stuff and get a lot of stuff done. But later, all of that simple stuff is already done or will turn out to be far more complicated then I expect and it just becomes harder and harder for me to focus on it.

  24. Purpose Lets you sets some audios/images to be loaded upon game start This should boost the FPS on phones noticeably if there's enough memory Parameters Help Script Call Info Prerequisites Instructions Terms Of Use Contributors Changelog Download Link Pastebin doublex rmmv preloaded resources v100a.js
  25. What are your experience on trying to boost a MV project on an Android 7+ phone to a constant 60 fps? It's very hard for me(mine is 720x1440 px with Octa-core 1.8 GHz Cortex-A53 and Adreno 506), especially with an ATB system plugin. The best minimum I can get is 30+ fps :)

    1. PhoenixSoul

      PhoenixSoul

      I can only wish you luck in figuring that out.
      I wouldn't even know who might have any experience with this.
      Maybe @Rikifive would know a bit more or could at least be of some guidance...

    2. Rikifive

      Rikifive

      @PhoenixSoul My knowledge says: I don't even have MV. 😂

    3. PhoenixSoul

      PhoenixSoul

      I tried. I honestly wouldn't know who to tag, maybe you would of. 🤷‍♀️

×