1. [Neolithic]To the End
  2. News

[Neolithic]To the End News

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.

Update, Version 20220106


English
#########System################
[Steam Workshop]Added pop-up to mention the Steam Workshop feature requires a Steam account that owns the game to work. (There is a way to bypass it and install mods without Steam Workshop. But, let's cover that part later.)
[Steam Workshop]This pop-up will only appear once every time the game enters the Steam Workshop after the game is launched.
[Steam Workshop]Added a file "SteamWorkshopAdditionalPath.txt" to allow manual input of any mod's path. (Those mods can totally have nothing to do with Steam Workshop. They just need to exist on your PC.)
[Steam Workshop]Those additional paths must be absolute paths.
[Steam Workshop]Add an option to open this file from the Steam Workshop menu
#########Content###############
[The Fishing Club]The item generation code for the fishing boots has been upgraded to a better version.
[The Fishing Club]The fishing boots may now have prefixes.
[The Fishing Club]The number of fishing boots in the vendor's inventory has increased.
[The Fishing Club]If a pair of fishing boots have at least one prefix, the vendor will sell them at a slightly higher price.
简体中文
#########System################
【创意工坊】加入了一个提示窗口表明创意工坊需要一个拥有游戏的Steam来使用。(实际上游戏有办法不用创意工坊直接安装任何Mod。但是,也许会在之后再讲述具体方法。)
【创意工坊】这个提示窗口只会在每次开启游戏后的第一次进入创意工坊选项时出现一次。
【创意工坊】加入了一个允许手动输入Mod路径的文件 "SteamWorkshopAdditionalPath.txt" (这些Mod可以和Steam的创意工坊毫无任何关系。它们只需要在电脑上的某个地方存在即可。)
【创意工坊】这些手动输入的Mod路径必须是绝对路径。
【创意工坊】在创意工坊菜单中加入了打开这个文件的选项。
#########Content###############
【钓鱼俱乐部】钓鱼靴的物品生成代码升级到了一个更佳的版本。
【钓鱼俱乐部】钓鱼靴现在可以带有前缀。
【钓鱼俱乐部】贩卖钓鱼用品的商人每次库存中会有更多的钓鱼靴
【钓鱼俱乐部】如果一对钓鱼靴有带有至少一个前缀,那么它们的贩卖价格将会略高于其价值。

Update, Version 20220105


English
#########System################
[Steam Workshop]Mod upload option is ready to use. (Due to the complexity of technology, it's not fully tested. There can be bugs. It still needs some documents.)
[Steam Workshop]A mod that replaces the ghost cat's image has been uploaded to the Steam Workshop.
[Steam Workshop]Added support to input customized Mod name. (However, it requires an English-only mod name when uploading. You can configure a localized name on the Steam Workshop page afterward.)
[Steam Workshop]If the Mod name matches a previous mod uploaded by you, it will just update to the previous mod instead of creating a new one.
[Steam Workshop]Warning: Please back up your English description as each time you update your mod, it will set back to a default string.
[Steam Workshop]Added some tags in the Workshop that can be assigned to the uploaded items.
#########DEBUG#################
[Steam Workshop][Critial Bug]Fixed a crash when mod conflicts happen. (What makes it a critical bug is, it may even stop the game from launching in rare cases.)
简体中文
#########System################
【创意工坊】Mod上传工具就位。(由于技术上的复杂性,并未完全测试。可能有BUG。并且还需要编写一些文档。)
【创意工坊】一个替换幽灵猫猫图像的Mod上传到了创意工坊。
【创意工坊】加入了对于自定义Mod名称的支持。(但是,上传时请使用英语。可以在上传完毕后在STEAM工坊的界面中修改或加入一个本地化的名称和描述)
【创意工坊】如果输入的名称和此前上传过的一个Mod的名称一样,那么将会对已有Mod进行更新而非创建新的Mod。
【创意工坊】警告,请备份你的Mod的英文描述文本。因为当前每次更新已有的Mod的时候这个描述都会被重置为一个默认字符串。
【创意工坊】在工坊中加入了一些标签,可以分配给上传的物品。
#########DEBUG#################
【创意工坊】【重大BUG】修复了一处Mod发生冲突时可能引发的游戏崩溃。(被定义为重大BUG的原因是,这可能导致游戏无法启动。)

The Steam Workshop Integration!

English
#########System################
[Steam Workshop]The first stage of Steam Workshop integration is done! (That marks Neolithic to be very likely the first game developed with RPG Maker to have this feature.)
[Steam Workshop]In the title menu, you can visit the game's Steam Workshop, sync your subscription (it's a necessary step after the Steam Workshop item is downloaded from Steam), and disable all workshop items.
[Steam Workshop]A testing workshop mod has been uploaded to Steam which can revert Alicia to the previous version.
[Steam Workshop]Add support to a non-English file system path. Thus, the mods shall load even from a path that contains non-ASCII characters.
简体中文
#########Content###############
【创意工坊】NEOLITHIC和创意工坊融合的第一步完成!(我们可能是第一个接入创意工坊的,用RPG Maker开发的游戏。)
【创意工坊】在标题界面加入了创意工坊有关的选项,可以访问创意工坊,同步订阅的物品(订阅并安装后这个步骤是必要。),禁用工坊物品。
【创意工坊】一个用于测试的MOD已被上传到了Steam上,该Mod可以将艾丽西亚的图像设定为此前的古老版本。
【创意工坊】加入了对于非英语的文件路径支持。从而,Mod应当可以在一个具有非ascii字符串的路径上同样可以被顺利加载。

It's just the first step.
But, it shall end the era when no RPG Maker games have a steam workshop.
More details will be covered in the future. (Such as make a document to tell how to upload mods.)
Some tech details may be included in this week's developer's diary.
It's modified from a UE4 code. The good news is, I know a bit of both UE4 and RPG Maker.

这只是我们前进中的一小步。
但是,那个没有任何RMXP游戏有STEAM创意工坊的时代结束了。
还有一些细节上的事情需要处理。(比如告诉大家如何制造和上传Mod)
一些技术细节可能会在本周的开发日志里提到。
我从一堆UE4的代码里改造出了这个东西。好消息是,我对UE4和RPG Maker都略懂一些。

Update, Version 20220103


English
#########Content###############
[Liu]Added new background music for the Public Security Bureau.
[Liu]New location: Commercial Street. (All the stores on this street are still working in progress.)
[Liu]Commercial Street is only accessible after the tutorial.
[Liu]Added a food vendor in the Commercial Street.
[Liu]Removed sideway edges in the center area based on feedback.
New food: Grilled Sausage (It started as a joke. But, now the "sausage guy" is officially selling sausage.)
简体中文
#########Content###############
【疁城】公安局有了新的背景音乐。
【疁城】新区域:商业街。(街上的商店还在制作中。)
【疁城】商业街仅在教程完成后才能进入。
【疁城】在商业街上加入了一个食品商
【疁城】根据反馈清除了中心区域人行道的边界线。
新的食品:炭烧香肠 (一开始这只是个玩笑,不过现在某个类似香肠广告中的角色正式开始卖香肠了。)