History: Z-Net 2.0 - 2.0B5f3 (2007-2008)

Friday, August 19, 2011

In December 2007, as odd as it was, my interest in Z-Net got peaked again. The program zbattle was still running, perhaps with more users then years before. Yet somehow I still felt like bringing back Z-Net. I guess I came to the conclusion that "I just don't care, I want to do it for fun", and even decided I would revive it as a mIRC script.

I grabbed the script from the complete rewrite I was silently making 3 1/2 years earlier, what I called the "new core", started polishing it up and worked out how to re-approach the issue of an interface. The interface was much more simple, made more sense, and was even more familiar to users of other online games. The ease of use (outside of bugs) was so much better, I can easily say that had I made it this way the first time around, Z-Net would have been a lot more successful.

But that's not all. Z-Net 2.0 wasn't just a rewrite of the first. This one offered something very new. Support for more then just ZSNES. The new core I wrote was with the idea in mind that add-on ini's could easily be made to support launching virtually anything that supported netplay and command line parameters to access it. Sadly, ZSNES is still the only emu I know of to this day that supports command line parameters for it's netplay, and one of only a handful of emulators that doesn't just use the laggy bland eyesore that is kalleria. I realized that years before when I abandoned the project. This time I had an idea. I would use the C++ I learned years before to make a mIRC DLL Z-Net can use to launch netplay games of those kalleria emulators using a less known about IP-to-IP version of kalleria. I did this by what I referred to as "macro launching". Once commanded to by the Z-Net script, the DLL would run a function run through a series of preset simulated key presses on the emulator window once the script ran the emulator and its window was found open. It actually worked quite well. It seemed that although my C++ skills were lacking for the project years before, they could accomplish this! I added support for a number of emulators for systems including NES, N64, Genesis, and arcade/MAME.

I was quite proud of this new version. Clearly superior to the old one, and arguably, but clearly to me superior to anything else comparable. But whats this? In the time since I abandoned Z-Net, I knew a couple other programers tried their hand at this type of project but hit their own roadblocks whatever they were. What I didn't know about was one that started around the same time I resumed work on Z-Net 2.0, by a C++ programmer more talented then I. I never crossed paths with the dev, though I swear he stole every idea I ever had. I think a formerly loyal Z-Net 1.0 user fed him information from a lot of the ideas I discussed among the channel community. Disheartened my ambition lowered.

The community for these types of projects was/is to small to support 2 programs as I've learned, let alone 3. People only want to use one program. The community for SNES games was/is firmly in place in zbattles hands, and the community for other systems netplay is almost non-existent. I realized it would take far more work then coding Z-Net 2.0 and the DLLs themselves to establish any community for my project, and I think the dev of that other program realized the same. Both our projects seemed to die before they ever took off.

At this point I realized the situation of building/maintaining a project like this. The community is to small, and isn't going to grow much. In the years since I first took a crack at the project, single player emulation had moved more towards being run on modern consoles like wii and xbox. Single player emulation supplies the biggest percentage of users who would make their way into this type of community. And with less people using PC emulators, growth of netplay emulation popularity is and will be low.

These two major reasons lead me to choose to walk away from the project for good, as I decided trying to create a successful program like this just will never work, no matter how many and how good the features are that I add. I declared to myself, few things would ever tempt me to try a project like this again.

I walked away from this project this time satisfied, as I had fun making it, and that's all I really wanted anyway.


Z-Net 2.0 Beta 5 fix 3