FeniX Tools - Development Log 5

Final tests, Extension progress, New Logo and more!

So it’s been about 5 days since my last blog post and I’m sure you’d expect plenty of progress updates. Unfortunately, I had to finish up a commission and free up some time for next week. So, it’s not as much progress as I was making the first few days of starting FeniXTools but nonetheless, it’s progress and even a little bit is one step closer to the end goal.

What is the end goal?

The end goal for me is to get FeniXTools done and completed and rewrite FeniX Core plugin so that I can begin with the new plugin development workflow. This workflow is an important step and will be heavily documented so other developers, even total newbies will be able to adopt it and start making plugins much quicker than if they were using the old workflow.

So, once FeniXTools is ready for Beta I can start on FeniXCore plugin for MV. The core is an important plugin as it will handle the registration of all plugins created for FeniXEngine and handle the dependencies. Meaning if your plugin is an add-on to one of your other plugins, you can register it with a required dependency. The point to that is if the plugin user does not have the correct plugin, it will warn them that it is required for it to run.

A little more about FeniXCore, please.

Okay, so FeniXCore is where a lot of the heavy lifting will be done. Aside from it handling plugin registration and dependencies, my goal is to have it setup so I can make very common tasks very simple for new plugin developers and convenient for advanced plugin ones. Luckily, I’ve had plenty of ideas of the years and now that I’m rewriting the core I can fit a lot of these ideas into it. This is where I’ll be getting a lot of feedback from the RPG Maker MV plugin dev community because it’s their perspective I need to make this a very easy to use yet advanced engine for MV.

Some of the questions I’ll be asking the community

  • What is the most repeated method or logic in your plugins?
  • What do you hate doing the most when developing plugins?
  • What errors or bugs do you see the most?
  • What are some improvements you’d like to see for RPG Maker MV
  • What would you like to get from an open source project like FeniXEngine

There will be plenty more questions but these are some of the more important ones because this will help me know which direction to take and the amount of time I should invest in specific methods.

Some tings that will be transferred from the old Core plugin is an EventEmitter. How often are you aliasing the same method for every plugin you create? Quite often I bet and here is the solution I came up with for my old core plugin.

 CoreSignals.on('new-game', () => {
   // let us initialize our plugin data on a new game
 })

  CoreSignals.on('save-game', () => {
   // Lets handle specific tasks when the user saves the game
 })

  CoreSignals.on('gamemap-load', () => {
   // Lets retrieve event comments and meta
 })

As you can see this saves a ton of time, you don’t have to alias the same method for every plugin because FeniXCore will alias it and emit a signal when these events occur.

FeniXTools Progress

I have added all tests for each method in Utils and File, many more test will need to be added but the absolute basics of them are there and all of the methods have passed the tests. The repository is now ready to go public and will be, either today or sometime this weekend when I have time. I removed quite a few methods and will also need to add more later on as I develop FeniXCore and get feedback from the community. The good news is that I can start using FeniXTools to create FeniXCore as soon as it goes public, awesome right? I think so, the only thing holding me back from releasing plugins are these tools.

FeniXCode Visual Studio Code extension

The extension I started a week ago got a small makeover and a bit more work is done on the server side of things. Instead of the basic HTTP server, I was using I decided to switch to my favorite node package browser-sync. Browsersync makes things really easy for reloading and viewing changes instantly in the browser, it’s feature rich and has all the tools I require for some easy RPG Maker MV playtesting.

Here are some e images of the latest style and layout of the welcome and settings page.

FeniXCode Welcome
The latest barebones welcome page

FeniXCode Settings
The latest barebones settings page

FeniXCode complications

During development, I notice that there will be a few complications due to the nature of VSCode’s HTML preview command. Because it will always be a static page, and because VSCode reloads the HTML content every time you switch from one tab to another, the server will always restart the game whenever its reloaded. So, my simple solution to this is to always open the playtest page in a separate column. This works but it’s not exactly what I was trying to achieve but it’s still early in development and anything can change, we shall see what the future hold.

Another small issue I’ve run into is an nwjs debugger, I personally have no idea where to start when it comes to connecting the chrome developer tools from an RPG Maker MV game(nwjs) into VSCode’s internal debugger. I know it’s possible and I believe the answer will be embedded in VSCode’s Chrome Debugger extension. For now, though the debugger can wait because my initial plans did not include full-on debugging integration.

One thing that I have started and is not far from being complete is a plugin parameter visual viewer/editor. Basically all I will be doing is loading all plugins in the RPG Maker MV project plugins.js file and creating an HTML form to display all of them in their own page, so instead of switching to RPG Maker MV to change a plugin parameter while testing your game, you will be able to do it directly in VSCode.

Last but not least, a new cleaner logo, due to missing font I could no longer adjust or fine tune the old logo so I chose a new font and cleaned up the original logo. The new logo is essentially the same thing but much cleaner looking, easier and just more pleasing on the eyes. I’m no professional graphic designer but it works and I’m happy with it.

FeniXEngine Logo
A new logo, less colors and cleaner font.

Wrapping up

That’s all for now and I hope to make more progress over the weekend and get FeniXTools open to the public and ready for Beta testing. During beta phase I’ll be creating FeniXCore with it and creating lots of documentation for everyone, still plenty of work to be done, so, until next time, see you later!

Published by in development and general and tagged development and tools using 1180 words.