1. [Neolithic]To the End
  2. News
  3. DD#51 We are...the first RM game that has a Steam Workshop?

DD#51 We are...the first RM game that has a Steam Workshop?

Hi, everyone! Welcome to the first developer diary of 2022!

Let's start this year with Steam Workshop Integration!
https://steamcommunity.com/app/1519140/workshop/

Alert! This developer diary is going full of boring tech nerds stuff.
So, if you are just here to see results, you may scroll down a bit, skip a few paragraphs.

During my research, I didn't find any other RPG Maker games integrated Steam Workshop.
It's a shame, considering RMXP already existed for more than 17 years.
The closest thing I can find is some UE4 projects that provided me with quite a lot of useful information.
(See the credit file for more details.)

Deep down, I implemented C++ code and hook it with the old RMXP engine.
I have options, one is to make a DLL, another is to make a separate program.
Considering making a DLL and doing such things almost always make some anti-virus software screaming, I decided to make it a separate program that will be summoned whenever it's needed.

Another thing that needs to be careful is the non-English characters that shall always be converted to UTF-8. It's something lacking in the UE4 project I found. The good news is, my C++ skill not rusting. Thus, I fixed that part relatively easily.

So, let's go down to a few tech details.
Steam Workshop basically does 3 things.
1, Allow us to upload content.
It's done with SteamAPI. The upload limit is based on a game's steam cloud size. Thus, I maximized it to the biggest number Steam allows me to set. You can very likely upload up to 50 mods without problems. And then, Steam's page system will kick in. But, let's worry about that later. Some preparation has been made. As a result, the game is now fully capable to upload files to Steam Workshop.

2, Download content.
This part seems automatic. Thus, there is no need to do anything from our side.

3, Provide us with information.
Once again, we got some encoding problems here. But, everything has been taken care of in our C++ layer of interaction.

What shall we do on the Neolithic side?
Well, almost nothing. All the tech almost already existed.
The first step which we just did this week is to allow ALL graphics assets can be fully overwritten by any mods. It's basically is a file searching system. The game just needs to know if there is any mod that exists, then it will check those folders first whenever it seeks to use any graphics resource.
It's just that easy. (More complicated features will come in later. Those will require a bit of scripting skill from mod developers. But, the system is kinda capable of changing every aspect of the game. We will cover that later.) I wrote the system in a fairly flexible manner.

However, do we really even have to rely on Steam Workshop?
I think not
One thing I learned during the development of NEOLITHIC is, everything dies.
During the past development of NEOLITHIC,
All the three biggest RPG Maker communities died.
Google and Yahoo are forced to abandon China.
Mega.NZ blocked by the Great Firewall.
Hundred Thousands of Websites died with most of their resource and memories gone.
What about Steam?
The government of China just tried to block it during Christmas.
Even though Steam is my favorite platform that I have been using for more than 10 years, it's just too risky to have one single source.
As a result, I further expanded this Mod system to allow users to customize the mod path itself.
As long as a mod exists on your PC, you can totally bypass the Steam Workshop.
All you need to do is just input that path manually into a text file.
And the game will handle the rest.
That shall work even when we lost the Internet for the files are all local.
You can also turn mods on and off by editing those paths.

What I want to achieve is the diversity of the content, the liberation of people's minds, and a highly customizable personalized playing experience. Everything that a censorship system tries to destroy. (They want all people to have only one voice.) As the situation of China gets just a bit even worse recently, it becomes my priority this week. (This paragraph will not appear on the Simplified Chinese version of this diary. But, I think I shall mention it somewhere.)

To better demonstrate the entire circle of the mod, the game, and the workshop.
Here is a video:
[previewyoutube][/previewyoutube]
So far, we got three mods in the workshop.
They seem to have been tested by many people.
Please let me know if any bugs or problems occur.

The first mod I uploaded to the workshop also has an interesting background story.
I upgraded Alicia's model this week.

But, it seems some of us prefer the old version.
Then, we shall have both. :)
The old version becomes a workshop item that people can subscript to replace the new one.
It's a very example of diversity and a customized playing experience.
I'm glad I can take this chance to implement that.

The other updates of this week include some wolves, some chocolates that may kill wolves, some sausages, new fishing boots, and a new street.
It's a good opening of the Year 2022. Although I kinda lost some money in the stock market, it's still a quite productive week. I still wonder if there are any other RPG Maker games out there that have implemented the Steam Workshop. If not, I love the feeling to be the first. It will be a good memory.

Today's log:
#########System###############
[Steam Workshop]Upload a cheat mod to make every shot headshot to steam workshop.
[Steam Workshop]Recorded a tutorial video about how this mod was made.
[Steam Workshop]Added an option to open the Steam Workshop local data folder. (It can be useful later. Non-English path support included.)
[Game Options Menu]Added Steam Workshop as an option in this menu so that there is no need to go back to the title menu to sync subscriptions.
#########DEBUG#################
[Steam Workshop] Fixed a bug that causes mod unable to upload to steam if the game is installed in a path that contains non-English characters. (Mod name still must be in English.)
[Game Options Menu]Fixed a missing sound effect when choosing to change the blood setting.