• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

A development update

So... this is mostly about a few misc things. There wasn't much in development, aside from polishing the MV version.

.NET Core 3 and... .NET 5?!
So Microsoft's Build 2019 happened and the .NET Core team announced that .NET Core 3 will arrive in September. Seeing how the development of .NET Core is going, it looks like it's going to be a big release. Libraries that are specific to processor instructions? Performance improvements? New deployment options? This is big, in my eyes, since I build tools with C# and .NET. And then, they announced that they will be releasing .NET 5, which will replace all implementations of .NET (which are .NET Framework, .NET Core, Xamarin, and Mono) into one! And this will come with an Ahead of Time compiler! Goodbye, JIT and NGEN! Hello, native code!

Putting my hyped self aside, what does it mean for Immortal Sins? Well:

- When the Release Candidate of .NET Core 3 drops, I'll start moving Northbridge to .NET Core. It will be a bit difficult to complete this (since I also need to make sure that the installer will also copy over the framework. I'll explain this in a bit). If RC has the "go-live" status (that means that the version is OK for projects to use it), you'll see it in an upcoming build (assuming I release a build in July. That's when the RC will release). Or sometime in September or later.
- The launcher (and the other parts of it) will see performance improvements. It may vary, but it's an improvement, nonetheless.
- The Framework requirement will no longer apply. The most likely scenario is to have a local version of Core that ships with the game. This means that you don't need .NET Core Runtime in order to start the launcher. Granted, there is the issue where the copy of the Runtime may have a security vulnerability, so the policy I'll follow is to release hotfix releases that include only security fixes only if it's important or critical.
- Once .NET 5 arrives and it does have the Ahead-Of-Time compiler, I'll start moving the launcher to .NET 5 with the code compiled out of the box. AOT compilation is far faster than trying to compile the code when needed, thus better performance. Since this version will be coming in November 2020 (last time I checked their roadmap), it may be something that may come during the game's development or after completion (whichever comes first).

So... to condense this into a few sentences: Once Core v3 comes out (either RC or the stable version, depending on if RC has the OK to be used in public projects), I'll be migrating Northbridge to it, which will result in better performance and reduce the requirements a bit. I am thinking of making a video series as well, recording me converting the apps to Core. Maybe it will be fun.

OK. Enough talking about Cores and .NET. Next item:

Bug Tracker woes

Sadly, there was a big issue happening recently: The bug tracker's database filled up, resulting in the bug tracker going kaput. I can't even log in at all, because it can't update the "last login" variable. This hampers me since a) nobody can't report a bug, b) nobody can comment and c) nobody can even make an account in order to receive email notifications at all. I am working on getting the tracker back in functioning order, but until I do, I'll need a backup system. Or a good replacement that satisfies the requirements I have (easy access to see what bugs are being worked on, allow users to comment, show release notes for each version, etc.). I do have a few candidates:

- Set up a repository on Github. This is the closest solution that would satisfy my requirements. I'm not planning to host the game's code there (licensing issues, mainly) so I'll be using the "Issues" and "Releases" tab. The issue with this is requiring a Github account in order to report an issue, but Github's servers are a lot better prepared than mine and it's robust. Maybe I could have some public files there as well, for community contributions (translations, for example)?

- Set up a form to report bugs and have a separate page to show the bugs that are being worked on. This is a simple solution since it doesn't require an account to report a bug, and anyone can see the progress for the bug fixes. A way that I could show them is something like this: https://trello.com/b/GXLc34hk/epic-games-store-roadmap (I know that this is the Epic Games Store Roadmap, but I'm using this as an example. Please keep the EGS debate out of here.) Sadly, this means that if I need to ask more info, I just hope that the reporter will actually contact me and provide more info. It goes the same if someone notices that a bug that they encountered was reported and being worked on but they can't provide info as well.

Now, this doesn't mean that I won't be able to help someone that has issues. I keep an eye out on all mirrors. I have a contact page if you need technical support. Heck, you can also pay a visit to my Discord server if you need support or report a bug as well. The point that I'm trying to make is this: If you need help, don't hesitate to ask.

That is all for now. See you in the next post.