Details: Z-Net (stand alone client), a.k.a ZB-Net (2010)

Sunday, August 21, 2011

After production had stalled for a while on EQC Launchpad, I grew bored without any interesting projects to work on. I started desiring to want to work on Z-Net again, despite knowing full well from my experiences, such a project would be a waste. I never liked the fact that I failed so miserably at creating the stand alone client years earlier, and it gnawed at me that due to my recent experience developing EQC Launchpad, I know I could could make it now. From only my code, and it wouldn't take that long.

In fact, looking at the only successful project of its type, zbattle, I still maintained that it was ridiculous how simple/bland it is, that it hadn't seen any improvement in the vast ways in which it could be done so, for years, and that even with my low skill I could write that program in a week!

It was a silly statement I made to myself. Or so I thought at first. As I thought about it for a while, I realized more and more that it was possible, even for me. Eventually this thinking got to me and I said "What the hell!?", deciding that I will give it a try. I still had no plans of trying to make a program to gain a following in such a scene, as I could make it as perfect as it can be, and it still wouldn't attract any new users, or any away from zbattle, no matter how many extra features it would have, or what types. I just needed to prove to myself that I could do it.

So I started developing a new stand alone client, with no intention of releasing it. In part, as not to get dragged into a futile competition, and in other part cause I was going to make an exact clone of zbattle. No more, and no less features, mirror image GUI. While not exactly like taking source from a project, and claiming its yours, making a project that's an exact clone of another and releasing it seems like bad form to me, and close enough to theft.

While I say it would be an exact clone, I mean only visibly in terms of interface, and in terms of features. Obviously, while I could, I wouldn't name it the same. And I went a different route in terms of the server of which the client connected to. One of the biggest cons to the zbattle project that prompted me to even start Z-Net years before, was the reliance on a central server that can, and did get hacked, and would often go down for long periods of time. Also, using a server such as zbattle costs money. That money would be coming strait out of my pocket if I were to go that route, something that is not very appealing to me. In the past with the Z-Net mIRC script, I believed IRC was the best answer to that. There are tons of IRC servers, completely free to connect to and run channels on. If a hacker decided to go after one, the program could just use another. Even the first Z-Net stand alone client used IRC. Why not use it with this one, to help prove the point, and prove to myself the idea could work?

I always thought most of the communication between users clients could be handled just fine using IRC, and in a clean way that could allow the channel to remain free and clean as a chat space. But I wasn't sure about every aspect. Most that I wasn't sure about I figured out with the Z-Net 2.0 series. Could I figure out the rest, and support a channel that users not using Z-Net and instead using a regular IRC client to just chat, cleanly? I was determined to find out, and prove I could make the program in just 1 week or less!

Low and behold, I did it! And in 1 day less then a week! I shocked even myself at how simple it was, and by comparison zbattle. I got the GUI for all windows made, settings dialog fully working, ini support fully working, game list window fully working, host and client windows fully working, all messages displaying and changing at proper times, even the game send feature! It is a fully working stand alone client like zbattle. With 1 day of my self allotted dev time left, I even worked on a couple other nifty features, though their not supposed to be enabled of course. From there, I thought about releasing a demo version with imposed limits to show off what I've done, limits being to keep people from regularly using it/asking for support. I decided against the demo release, as it serves no real purpose except to brag, stir up controversy, and was generally just tactless. In fact this dev blog will be the first time I've revealed the existence of this project to anyone.

This project is of course unreleased, and will remain as such. The only way I might release it would be if zbattle servers went down again for a significant amount of time, permanently, or the possible but unlikely project merger of zbattle into Z-Net.

Screenshots:

I use a Windows XP style I custom made myself thats designed to look exactly like the default 3, except black/grey (perhaps I should post that at some point) . So ignore that as thinking its part of the program itself. This seems to be from earlier in my week of developing the project, as the "Game Name" column is indented. A bug I fixed before I finished it. And the icon is a copy of the old one I used with the Z-Net 1.x mIRC combo pack.

This pic I took after originally posting this. It shows the settings window. Not much going on. This is of course of a final build of the program. Its using a new icon I mocked up for it, and though you can't see it since I didn't feel like logging in 2 clients, the bug I mentioned is gone.