Special K - "Kaldaien's Mod" Special☆K
Special K - "Kaldaien's Mod" Special☆K
May 23, 2016
ABOUT Special K - "Kaldaien's Mod"

Special K v 0.9.0 Officially Released

Introduces several enhancements for video capture software as well as even more Steam integration ;)

Feature growth will slow down with 0.9.0, and I will instead focus on documentation and making sure the features that already exist are easier to use.
Special K Celebrates Another Year
      --standalone Special K turned one year old!
    I had an opportunity to review Special K's progress over the year since it broke out as a standalone product to enhance / fix / have more fun with games.
After a bit of introspection, I realized I am every bit the full-stack game programmer now that I was in the late 90's and early 2000's when I was developing game engines at Lyra Studios.
    I know low-level audio, graphics, input, network (somewhat dated) and even have machine learning (AI) under my belt thanks to post-grad education I did not have back then.
I realize I would be an asset to any game development company, but am more interested in writing tools I retain full ownership of. Helping our little piece of gaming on PC with technical issues is also important to me. I feel a stronger sense of purpose helping, rather than creating technology for a soulless publisher :CrowdControl:

    With that, I would like to put to rest any ideas that I might start consulting for game port developers. I am open if ever presented an attractive offer, but let me make it clear, that stuff takes a backseat to my mod project and would likely only serve to finance this.
I have taken a step back and looked critically at the "design" of Special K -- hoping that if I squinted just right and believed hard enough I might find something -- but it simply does not exist.
      :NAUTILUS: The infamous captain Ad-Hoc design seeks to pilot our vessle aground!
    I feel the only way to move this project forward for long-term continued development is to begin modularizing the project and actually spending quality design time on this thing, rather than writing throw-away debug code to reverse engineer individual games and then tacking useful features onto something with no maintainable or even discernible design.

I Will Be Isolating Various Functions

  1. My Custom ImGui Implementation and Input Management System

    • Offers a more intuitive input experience using gamepad, keyboard, mouse than seen in other projects using ImGui (i.e. ReShade)

  2. Performance Data Collection and Profiling

    • For advanced modders or tweakers looking to improve performance, Special K has a few unique features not seen in other non-developer oriented tools

  3. Shader, Texture and (in some mods) Mesh Modification Systems

    • Special K covers a larger range of APIs than any singular project I am aware of; these systems have not been unified and are in many cases sitting uniquely in specific game mods not being useful to the gaming community as a whole.

  4. Installation, Auto-Update and Mod Content Add-on Infrastructure

    • Tales of Symphonia "Fix" has support for custom texture packs downloaded from GitHub, but the system is not extensible and only I am able to author such add-on content at the moment.

  5. Debug Backend

    • I have built a sophisticated debug engine (in addition to D3D11 graphics debugger) into a piece of software whose primary application is not software development. I would like to capitalize on this and polish off the design of these systems to make writing mods easier for other small and large scale game mod projects.

  6. Plug-Ins

    • The real powers of Special K are its plug-ins

        They are non-standard at this point :pointless:

      I am continuing to learn good and bad design principles for a general purpose plug-in system and I really want developers to be able to write small plug-ins to Special K the same way I write my game mods. This is my biggest design goal and I expect will finally encourage open source collaboration once I fill-out and stabilize the design of the plug-in API.

I am eager to continue providing developer-grade tools in a relatively easy to digest form that give "normal" gamers the best possible gaming experience free from as many technical worries as I can help smooth out for you.

    I hope you are looking forward to year 2; I know I am.:harley:

All of Kaldaien's Steam Projects have new Landing Pages
Special K - "Kaldaien's Mod" reviews
"Technical problems; solutions and game enhancements."
Here are a few recent reviews by Special K - "Kaldaien's Mod"
Kaldaien Apr 16 @ 4:07pm 
Or to put that more simply -- if you don't want the possibility of time slipping backwards because your thread runs from different CPU cores, you avoid CPU timers. A lot of developers never even think about this stuff, so it inevitibly happens al ot.
Kaldaien Apr 16 @ 3:58pm 
As for CPU timers..... those things suck :) You don't ever want to use them because we live in a multi-core world now. Each of your CPU cores can run the same timer and never agree precisely on what time it is. You get non-monotonic timing if your thread is ever re-scheduled onto a different CPU core -- which is why some developers (I need to have a few words with) have taken it upon themselves to run their famerate limiters with an affinity set to a single CPU core. NO, NO, NO. Bad solution to a problem that's been fixed since Windows 2000 :P
Kaldaien Apr 16 @ 3:54pm 
I have no idea how the expiry works in Denuvo anymore. I do, however, know the two-week thing is a myth. There are quite a few games that folllow the two-week rule, but I have at least 3 games with keys that never expire and these games only require reactivation following a patch (which, of course will never happen because of who the publisher is, lol).

NieR has about a month between activations, so did Life is Strange. Sonic Mania hasn't been reactivated in 3 months and Denuvo's perfectly happy.

God Eater 2 Rage Burst hasn't been re-activated in almost 2 years and Denuvo's happy. So I'm just going to assume that game has no expiry at all.
Crashed Apr 16 @ 1:38pm 
I believe S.M.A.R.T. is not available without admin privileges in Windows. Just try running an application like CrystalDiskInfo and it will require admin privileges in order to access the S.M.A.R.T. commands of the drive, which requires opening the drive device for raw access and issuing specific IOCTLs.
Aemony Apr 16 @ 12:56pm 
@Crashed: No, because there's a ton of different ways to do something similar by querying the hardware, many of which does not rely on higher user permissions nor reset when the power is cycled.

For example, one could theoretically use S.M.A.R.T. stored in one of the HDDs to identify "Power-On Hours", if those are available without administrator permissions (I am not aware if it does or not). That's just one example of a way to measure time without going by the system time itself. Windows is full of these possibilities.
Crashed Apr 16 @ 10:49am 
Of course keep in mind that Denuvo has only limited user permissions, so without writing back to the key file wouldn't that severely limit its ability to check for time progression?
And don't CPU timers reset when the system is power cycled?