@PurpCat @beardalaxy Regardless, it will be an opportunity to build a smart city after clearing the rebel.
@hachi @LukeAlmighty A while back, you were saying that people should be thrown in prison for uploading images without alt-text, and I see no alt-text attached to the image you just uploaded.
@lina I'm kind of on the same boat.
Even though the game I'm working on is not finished, here are things that I am aiming to do better for my next project:
* Actually plan out the basic structure of the code before writing: This may come to a shock to you, but I only plan the game design and I write the code on the fly without planning out the code structure before writing it. Though I forgot how to drawl UML diagrams.
* Use object-oriented state machines: I have been putting off doing this for YEARS, despite knowing the advantages OO state machines have over enums and switch statements. I plan to at least use this for game modes because using traditional state machines for those creates an unorganized mess. OO state machines also seem to make code more reusable which is a plus.
* Put animations into their own objects: It should make it easier to organize them that way, especially when some animations are only played once while others are looped. It's also something that I have been putting off for years.
* Write my own timer class: SFML's clock class has no method to pause the timer. Only restarting the timer entirely, which means that it's still going even if the game is paused. I should write my own universal clock class to accommodate for that. The only reason why I haven't done that now is because not many things in my game use a timer and if they do, it doesn't really break the experience that much if pausing somehow interrupts them.
* Implement better RNG: I've noticed that C and C++s built-in random functions work differently than what I'm used to. I think in higher-level languages like C#, Java, and Python, the call to the standard random function/method increments the seed for the next call, while in C and C++ it just uses the current time as the seed, so if multiple calls are made in the same millisecond, they will give the same results. My game uses custom RNG for level generation, but enemy AI still uses rand/srand.
@beardalaxy @matrix I know it's not FOSS, but people have tried to make FOSS compilers for proprietary engines. I know GameMaker has (or used to have) a FOSS compiler known as ENIGMA. But GameMaker software is cross-compiled to Delphi (or at least it used to). If someone were to make a libre compiler for RPG Maker they might have to also use Google's JS engine unless someone creates a better alternative.
@Rocket @beardalaxy @matrix The problem is that modern web browsers are very complex and contain multiple components (rendering engine, JS engine, etc). Even popular browser forks like Brave and LibreWolf only fork the front-ends and are still dependent on unmodified back-ends. The only browser fork I know of that is completely independent is PaleMoon which forked Mozilla's old rendering engine.
@beardalaxy @matrix The problem with JS is that it probably uses something like Electron to turn it into a desktop application, which means that it's just basically bundling Chromium with a bunch of HTML and JS files into an executable file. Your program is basically dependent on Google and even though Chromium and Blink are open-source, I don't know a single viable fork of it and I highly doubt that RPG Maker is using that.
It's also my main beef with C# right now because Microsoft basically has full control over both implementations of the language (.NET and Mono). I don't really care about the practical side of things because I know that lower-level languages are hard, but there are some ethical concerns with languages that are controlled by the likes of Microsoft or Google.
@beardalaxy @matrix Never tried it, but it's probably better than the JS cancer they are using now.