WebP GUI Release (2016/06/27)

Update: http://www.nrgs.org/2571/webp-gui-release-06282016/

WebP is an image format developed and maintained by Google. While having a number of features, it lacks a lot of support from the general community at large. So I decided to help out a bit by introducing WebP GUI. It’s a piece of software designed to use Google’s webp binaries and manipulate them in a fashion people are more accustomed to instead of cryptically writing it out on the command line.

WebP GUI, like WebP itself, is definitely incomplete, but complete enough to release for now.

Download: Windows (Vista and above) | Source Code


Note to XP and below users: I’m officially not supporting Windows XP anymore. It’s time to upgrade. I’m not saying you have to go to Windows 10, but you can’t stay on XP either.


Page Speedup

For some reason I was loading the left repository updates sidebar on the main thread. Now it’s loading in the background and is speeding up the page delivery. Sorry about that screw-up.


Back from vacation

I didn’t announce it, but after the Ludum Dare I went immediately on vacation. Oh, I also quit 4 hours in after completing my prototype because I saw 5 posts by other users who were making the exact same game. I guess we all had about as much creativity as a wet rag when it came to the theme ‘shapeshifting.’

Whatever the case, at least I wasn’t unhappy. I quit because of sheer number of similar games. Imagine how many people did the same idea and didn’t post! It was a valid quit. On a positive note, I completed the prototype in 4 hours. I’ve improved quite a bit since the last time I completed one. Now to get even faster. Sadly I only took away a few things from that compo, I was hoping for more, but whatever, at least I learned a new technique that is an optical illusion, but useful for certain things.

Whatever the case, back to the large project I’ve been working on in secret. It’s now been 8 months, so yay! (Did I even mention this project in any other post?)


Preparing for LD35

I’m in the process of preparing for the 35th Ludum Dare (LD). I haven’t attempted an LD since my 9th time at LD 29. Six Ludum Dares have passed since then. It’s also been 9 Ludum Dares since a complete game was made. Albeit, LD27 was more complex than any of my other games and wasn’t finished for valid reasons. LD 28 and 29 were both uninspiring and I quit hours into both.

I now have a new framework and a lot of experience in some newer areas that has helped to build up my experience for general and game dev. So I’m going at it again. This is why I’ve been relatively silent for the past months. It’s been a fairly consistent stream of framework development pertaining to a larger game. However, to ensure I’m traveling in the right direction, the framework will be put to the test at LD35 to ensure it both works and can pump out decent results.

I will likely stream it live, although not 100% of it. As in, the hours I’m asleep.


Patreon Page

I’ve put up a Patreon page for anyone who wants to support my continued software development. This can be found here: https://www.patreon.com/nrgsoft

Basically, I’m at a crossroads right now. Either I will have to start selling software or close up shop after the years end. It’s expensive to run this place and I’m broke. No one has donated via flattr yet, so I wouldn’t be surprised if no one gave me anything on Patreon. However, I figured it was better than doing nothing at all.

Important: If you honestly support any of my projects, give to my Patreon and make a comment about what software you specifically are pledging to help continue development of. I will seriously consider further development of software that is discontinued if you are donating money to me.

I think I know how PBS feels now, having to do all of those ridiculous pledge drives.


New stuff is new

From here-on I am upgrading and switching to newer develop tools for ease. Which means in return you’ll need the newer runtime which can be acquired through Windows update.

1) VS2010 –> VS2015
2) C# 4.0 –> C# 6.0 (I’m in love with 6.0)
3) .NET 4.0 –> .NET 4.6.1. (get .NET 4.6.1 if on Windows 7/8/8.1)

I’m also going to start using Mono+GTK# whenever I can so that I can make cross-platform tools without having to go the C++ route. This of course depends on both the type of program and whether or not it is platform-specific.

For instance, if I was developing a Windows Registry editor, that would be done with .NET. If I was developing a UPnP Manager (wink wink), that would also be with .NET because I’m using the COM UPnP controls provided by Microsoft for Windows and haven’t a clue how to achieve the same results on Linux or OS X. Sure, I could learn, but my interest is weighed by both my everyday usage and that of most people. I also take into consideration how much time I’m willing to work on a project. Most of the time a few days is the limit because it doesn’t hold me long enough before I want to do something else.

Anyways, we have no plans for current new software this year (but we never do). We’re looking into trying to get a developer license for the 3DS. We wish to start a project on it and have been holding off until we could find a platform to develop for exclusively. If not the 3DS, we will just turn to Windows because, who cares I guess… Really we wanted to develop for the PS Vita, but not only is Sony unfriendly towards indie devs with little to no income, but they are blunt about their disinterest in us. This really annoys me to no end because I love portable gaming, but hate mobile phone gaming. I wanted to utilize the power of the PS Vita, but instead I’ll willingly opt-in for making a 3DS exclusive instead so that I can give Sony the middle finger for their poor treatment of indies.


UPnP Manager Release (21/12/2015)

I really screwed up the first release when I set the minimum internal port as 1025. That was an accident because I wasn’t paying attention. So I’m essentially re-releasing the original version of the program, but now the minimum internal port value is 1.

Download: UPnPManager (21/12/2015)

In other news!

A) My ChainReact Server and Game Client are coming soon! I’ve been working on this one for a while. It’s based on the GSN gameshow, Chain Reaction, which I adore.

B) I’ve created an entire OS system in the browser and went way overboard on both the aesthetics and usability to the point where you could believe you were actually using a Virtual Machine. I’m not kidding. I got really obsessed and well…I think I might release it as an alternative to remote desktop. It supports software installation, permissions (sort of…), code obfuscation, full Window-management support, and way more than it ever should have. I originally set out to build an editor for a video game database and forgot what I was doing part way through.


Fixed and ready to go! + Disqus

Okay, I finished fixing all of the bugs that popped up after migrating to the new server. There should be no more 404 errors with the message “[an error occurred while processing this directive]”.

Everything should be back to functioning as it was prior to the movement.

Also, just for fun, I’ve now put in Disqus for the commenting system because it seems to be cropping up everywhere and is convenient for me. Now no site accounts here or other crap is needed to comment.


Faster (and I’m screwing with things)

Sorry for the unannounced downtime (well, it was sort of announced a few months ago). I was getting the site moved to better hosting services. The site should now be faster than ever and there should be less downtime from now on.

However, due to the fact that I control more now, I’m playing break-to-learn which may cause the site to go down randomly because I’m screwing around. I’ll try to keep it to a minimum, but I go a little overboard sometimes.


C# cast bool to int

Warning: This is a semi-rant about the WTF Microsoft backend code.

I’ve been working on a semi-large scale server backend for a game. While working in C#, my favorite language choice along with my favorite library .NET, I had to convert bool to int. Now, while I’ve done this a million times before, for some reason I was annoyed at it this time (I like when bools are equivalent to int). So I cracked open the .NET library to see if MS’ Convert.ToXYZ was using some sort of backend voodoo to cast bool to int. The short answer: no…Long answer: In fact, they don’t even cast. They just give new data back.

public static uint ToUInt32(bool value) {
    return value? (uint)Boolean.True: (uint)Boolean.False;
public static int ToInt32(bool value) {
    return value? Boolean.True: Boolean.False;

What the f**k Microsoft. Are you serious? Boolean.True/False are just constants, which means this is exactly the same as just doing this…

public static uint ToUInt32(bool value) {
    return value ? 1U: 0U;
public static int ToInt32(bool value) {
    return value ? 1: 0;
public struct Boolean
    internal const int True = 1;
    internal const int False = 0;

Why would they over-engineer such a simple solution? I’ll never understand it, so all I can say is, what the f**k Microsoft. Even you hate your own C# bool/int design flaw in my opinion.

I did some testing with alternatives (results below), like an actual bool-int cast, but the speed could not match unsurprisingly. I assume by now that there are some major backend speed improvements, hence my lack of surprise.

Read the rest of this entry »

© 2017 NRGsoft