It's been a while typing here. I thought to write something different and write up thoughts about various things. To start the series, I thought to write my experience on the Solid State Hybrid Drives almost a month after I purchased it.
A quick summary of what they are: SSHDs are hard drives that come with a small SSD working as a cache. The cache's job is to store anything that is frequently loaded. The firmware takes the task to duplicate the files that are frequently used to the cache (with some Operating Systems (such as Windows 8.1 (and newer) and Linux distros that have a package like bcache installed) can give hints to the firmware of what to cache). For most tasks, it's just a hard drive.
I bought the 2TB Seagate Firecuda at the start of September. The things I did was to install a clean copy of Windows 10 and all of my tools (which are GIMP, Visual Studio 2017, WiX Toolset, RPG Maker MV, Game Character Hub, Nimble Writer, and LibreOffice) and a few games to play when I'm bored. I haven't tested a lot of games since the stock hard drive was puny in size (500GB) but I have enough to see how it goes. Installation on my laptop was pretty easy: unscrew a few bolts and use a plastic prying tool. All I needed was to take out the SATA connector and the hard drive and swap the drive. Bon Appetit! Weirdly, the installation went pretty quick (I used a burned DVD disc to install Windows since I didn't have a USB drive ready) and most of my tools were installed by the time I went to bed (I finished setting up the laptop within two days, believe it or not. I think I became an expert in installing OSes. xD).
After a few restarts (since the firmware was caching system files on each boot), Windows is pretty quick to respond (mainly since it learned what it loaded). Boot times were quick, there was almost no delay and the system didn't lock up. It's almost like having an SSD installed. Of course, other tasks such as File History making backups takes as much time as a standard hard drive does, but compared to the stock one (which was an older generation Seagate Laptop Slim HDD) it was faster. Microsoft Edge (I use it since it syncs up with my Windows Phone) works better than on the older hard drive as well. In fact, most of the basic tasks are done faster. The only annoyance is that the Disk Defrag takes a long time. I have a habit to have the laptop defrag every time I leave it for a long time.
Over to software and game development. Most of my tools didn't see much of performance improvements. Except for Visual Studio. That saw quite the improvement. It loaded within a minute (rather than five minutes) and the lockups have been reduced. It still locks up at times (Resharper says hello) but for the most part it a lot more usable. Build times have improved as well. Normally, building the Northbridge Platform and pack the game into an MSI file (with a GUI on the package) it would take about 3-5 minutes. On the SSHD, it almost halves the time. That is mostly thanks to the hard drive's design (the model I have is one of the first to use a new manufacturing process and it has two disk platters) but part of the build tool's files have been cached as well.
In games (not just RPG Maker), things are a bit confusing. I don't play games as often as I used to since I am focusing on developing my game (and other projects) alongside studying for Computer Science at a university. But I have caught some interesting cases:
- Hyperdimension Neptunia ReBirth 1 (the GOG version to be exact) started up almost instantly (as in, as soon as I clicked on Play on the Galaxy client). After that, it took the same time to load levels (compared to the old HDD). I never noticed the "Now Loading" message on the old one, I didn't see that either. My laptop ain't exactly a potato, but it ain't a powerhouse either. I even started the game multiple times and it still didn't improve the load times. I guess being a PlayStation Vita game before being ported to the PC may have a relation as to how the assets are loaded. *shrugs*
- Burnout Paradise saw the same effect with Neptunia. It did make the music flow a bit better. It could be due to Remastered employing Denuvo Anti-Tamper. Metal Gear Rising saw fewer improvements. Ditto for Phantom Dust, but the version of the game I played was a UWP port of an Xbox game so old games have pretty quick load times on new systems.
So, my thoughts are pretty positive so far. It won't be a replacement for an SSD, but if you don't have space or connectors for an extra drive, SSHD is pretty good. The hard drive portion is good as well and the firmware working with the OS is pretty helpful. Granted, I didn't do sophisticated benchmarks to give an objective review, but I knew what I was getting performance wise. The only weird quirk I noticed was that the hard drive can get warm at times. I don't know exactly why. Possibly due to the laptop's subpar cooling. I think I'll do this again after six months of use, see how it stacks up.
That is all for now. See you in the next post.
(I've originally posted this on the RPG Maker Web Forums in 16th of September 2016)
Project Centennial (Desktop App Converter) is a Windows Bridge. This is a tool to bring Win32 and .NET apps to the Universal Windows Platform (and to the Windows Store if you want to).
Why would I want to bring my RPG Maker project to UWP with this?
Right now, you would need it to bring your project to the Windows Store (more on that later), but you can utilize APIs that are available to UWP (Live Tiles for example). As they continue to develop it, more UWP features will be available to Win32/.NET programs as well as porting more types of software(such as VB6).
How it works?
It works like this:
Using a PowerShell script, you take the gameâ€™s installer and install it on an isolated environment.
After being transferred, it will execute the installation, along with tracking the files placed by the installer.
After installation, the file will take the tracked files and build the AppX file.
What do I need to use it?
Windows 10 Pro or Enterprise with the Anniversary Update (Build 14393 and higher)
64-bit Processor with support of Second Level Address Translation (SLAT) (You may see it as Intel VT-x or AMD-V on your computerâ€™s BIOS or UEFI).
Windows SDK for Windows 10 Anniversary Update
Make sure that saves and settings are store away from the gameâ€™s folder. The game will be stored on a hidden file on the Program Files and writing on that folder will fail.
If you are storing info on the Registry, do not use HKEY_LOCAL_MACHINE! Quoting the document:
â€œAny attempt by your app to create an HKLM key, or to open one for modification, will result in an access-denied failure. Remember that your app has its own private virtualized view of the registry, so the notion of a user- and machine-wide registry hive (which is what HKLM is) does not apply. You will need to find another way of achieving what you were using HKLM for, like writing to HKEY_CURRENT_USER (HKCU) instead.â€ See the document on the link (at the end of the post) for more information.
Users only need Windows 10 (any edition, 32 or 64bit PC) with the Anniversary Update installed to install and run Project Centennial apps.
Iâ€™d like to note that this may not be accurate.
RPG Maker MV: It should work, as long as all rpgsave files are saved away from the gameâ€™s folder (if possible). I recommend you instead convert the game to UWP app with Visual Studio or Intel XDK, since you can access UWP APIs from the get go.
RGSS based engines (VXAce, VX, XP): Same thing with saves and settings saved with MV. Most of the Ruby/RGSS scripts should work, no modifications necessary.
RPG Maker 200x: Unless you can get the engine save away from its folder, it will not work well. The game will still work, but you can't save at all.
Q: I use scripts that use DLLs written in C++. Will these also work?
A: If it is compiled with Visual Studio, check which version was compiled. Not all versions work with it (due to static and dynamic linking support). See the linked document for more info.
Q: What about .NET programs?
A: If your game ships with a .NET program, check the document linked, to make sure it will work.
Q: Script X crashes my game when trying to read a specific file. What to do?
A: I donâ€™t know why exactly, but the script may be trying to read file in a way that is not permitted on files stored there (such as in V.M. of .D.T.â€™s Version/Build Number script, where it tries to binary read a file). If possible, either re-tool the reading code or remove it. Some experimentation is needed.
Q: Do I need to build an MSI file for the installer?
A: No. You can use installers that build an exe installer (You can use MSI installers too). Just make sure that it has a silent installation command line argument (/S for example).
Q: Can I publish the game to the Windows Store after conversion.
A: Yes, but not now. The policies of the Store havenâ€™t been updated yet (although they have launched a sign up page for Windows Developers).
MSDN Document: https://msdn.microsoft.com/el-gr/windows/uwp/porting/desktop-to-uwp-root
Well, this isnâ€™t exactly news, but itâ€™s worth to share this. This bugged me for a while and it caused some issues to me while I was debugging the game.
Yesterday, I decided to disassemble my laptop, to clean up the insides (as well as replacing the stock thermal compound (more about it here) with an aftermarket thermal paste). And wouldnâ€™t you know, the fan was almost blocked on the exhaust side by a thick layer of dust. I had to disassemble almost the entire cooling system and the fan to see that layer. So, after cleaning, replacing the stock paste (I had to remove the system from the laptopâ€™s motherboard just so I can disassemble it) and reassembled the laptop, big surprise, the laptop ran at max speed and ran cooler.
So, what does it mean?
Since before cleaning the fan, the laptop was slowly getting more dust over the years, resulting in increasing the temperature (since less heat was removed from the laptop) and at a certain point it would result in slowing down both the CPU and the integrated GPU to prevent damage in addition to making less comfortable and more annoying to work on the laptop. So, I can now work on my projects much better.
Moral of the story: Clean the cooling fans regularly (especially on laptops). Once a year is good enough.
Version R1.03 was released today on both Gumroad and itch.io mirrors. Changelog:
-Added Snapshot mode. The program will monitor the save file and start the backup routine after 1 minute (can be adjusted by the developer).
-Improved the efficiency of the backup system.
-New file versioning.
Okay, I have uploaded the necessary parts so anybody who knows C# can help me in here:
How it will work:
There will be three steps for this:
1. Select the cloud storage service and log in. They'll be asked for permissions in there.
2. If there is an issue, where the saves have different dates, allow the user to select which to keep.
3. When the game closes, check if the local save folder has it's contents changed. If yes, upload them to a separate folder (Say, <GameName>/Saves) and replace the old files.
First up, OneDrive is in the works. Later on, I'll add more services, since most of the work will be already there.
An issue that I'm working on, is the authentication system. I can't get it to work right for some reason. Working on it, but if you have any idea on fixing it, feel free to brainstorm.
What do you need:
-A Microsoft Account. You'll need it to acquire an access token and register your version of the program (to test it).
-Visual Studio 2015 with the Windows SDK 10 (Version 1511).
You can download (or fork) the code here: https://github.com/acemod13/Northbridge-SaveManager
I had this idea while I was developing Immortal Sins: I have a backup system in place, but I prefer something similar to Steam cloud. So I started working on a cloud sync system utilising OneDrive as storage. Of course it's opt in. I'm still working on it, but I'd like to hear from you:
1. Would you like to have the option to sync the save files between computers?
2. If yes, should it be user provided or a dedicated one?
3. Which service(s) would you like to use with it?
Download from Gumroad or Itch.io
-UI refinements (color code on messages, disable most of the options if there are no save files on the folder).
-Import component can now import multiple files to the save file.
-Selective Export (Allow the user to select which save files to export to a folder of their choice.
-Fixed a small bug where the program will crash if a folder was not created.
-Added comments on crucial areas.
I don't know about you, but losing my game saves every time I re-install Windows is annoying and angering. This was the reason behind the launcher bundled with Immortal Sins: provide a simple way to backup their save files, should the game is installed with an installer.
Today, I am releasing a standalone version of the Save Manager to the RPG Maker developers along with it's source code.
What it does? It allows the players to backup their save files in a simple and seamless way. Hopefully this will be useful both for you and your fans.
You can download it here: https://gumroad.com/l/NorthbridgeSMSDK
Hey there! I have a question for you.
As the release of the Disc 1 update, I am doing some renovation both on the game and the launcher. I am split between two designs:
1. Organise the menu, bringing some of the tools into one window (called Control Panel for now).
The second design is a little more streamlined:
My question for you is: What design you like and why?
Thank you for your feedback.
This package reduces the space requirements of your game by replacing the stock graphics with compressed (but high quality) versions. It might also reduce the footprint of your cache and sppeds up the loading times (depends on the scripts you use).
Head over here to download the pack.
The save manager is a component of the launcher. It adds management capabilities (although basic) without tampering the game's executable file. This consists of three tools:
It automates the import by asking the user where's the file and copies the file to the destination.
Copies all save files to the folder the user chooses.
-Delete all saves
Deletes all save files at the user's request. This is dangerous, since this is irrecoverable and should only be used if it is needed (for example, if all save files are corrupt).