Friday, December 30, 2005

New Chat Facelift

This is one aspect of the programming I have been putting off and putting off and the more I put it aside the more it bothered me. A nicely packed interface for the chat window was something I wanted to put in since the beginning but I had always told myself there was too many important things to do before I got to it. Last night I set a list of five things to do on the clientside and the second thing on the list was in fact fix the chat window.
Originally the chatwindow just served as something functional until I could either muster up the courage to get more in depth with GUI programming (which I should) or get someone else to do it for me. But, realizing I was on my own on the development, I decided to do the former. The new face of the chat window isn't anything spectacular but it is a tightly packed and for the most part clean interface. I published the changes into the beta client zip file as well as the applet for anyone who's interested.
Picture of New Chat Window:












On the server side, I am also launching a sub server primarily for information queries. Right now it will be primarily for server vitals, such as uptime, amount of users, amount of games progressing, contact information of the administrator, etc. This can be used in conjunction with a CGI script to display server vitals on a webpage. If any other use arises off this query sub server, it will be adaptable enough to expand.
Though its not clear from a client's perspective, system and user uptimes are now being recorded on the server. Users who are curious of user uptimes will be able to invoke the /uptime command on the next release of the client.

Thursday, December 29, 2005

GTADS Web Applet

A friend of mine has given me an idea about uses for GTADS while it is still in development mode. I thought about it and decided to do it. I am doing a little side project on getting the GTADS client on the web as an applet. This will let people use GTADS as a chatroom and will give people a little insight on how GTADS is without having to download the zip file. There will be limited functionality as web applets go as you will only be able to connect to the GTADS server on 66.65.97.42. A partially developed version is up right now but I am warning anyone who tries it that it is not complete and it may cause undesired effects to your web browser. I feel that will get more people interested in checking out GTADS without having to be bothered downloading and installing the zip. Check it out and remember to create an account.

Sunday, December 25, 2005

Happy Holidays and Permanent Friends List

Judge by the traffic I get for my site a good portion of the visitors to my site are from Europe and a few from the middle east. Even so, whether or not anyone visiting this site celebrates it, happy holidays and merry christmas. I have been preoccupied with family events and have made one addition to gtads. The friendsList are finally disk friendly, which means if and when the server gets taken down and brought back up, the friendslist won't disappear. The list is stored to file and is loaded up at the start up of the the server, when anyone modifies their list by either adding or deleting a user, the changes are also written to disk to reflect that change. Also be sure to visit my other project site on modding my gameboy, that will be another fun and interesting project to undertake. :-)

Friday, December 16, 2005

ChatServer Feature Freeze

With the maturity of the chatserver over the past few months and most notibly with the implementation of the FriendsList, I think I want to leave things they way they are for a while featurewise and get some actual gameplay implemented. It has been a long time and I had been worrying about the gaming aspect while I was busy building everything else. I know for people who are interested in this project, no one wants yet another chat system but rather something more to offer. To eventually get to this point I will hold a feature freeze on the chatserver and get everything related to the proxy (which includes adding the GameRoom infrastructure, an exception to the feature freeze) to a point where 2 users can play each other in GTA1.
Development on the chat server and client will primarily be comprised of bug fixes and fixing broken code but the FriendsList is the last non-proxy related project to occur. On that note I am happy to share that there have been zero problems with the FriendsList in the midst of testing. I will keep you posted on my continual progress with the proxy.

Wednesday, December 14, 2005

A Special Announcement

Based on the last set of people who came on to the beta server to express their opinions about the client without reading anything related to the on going development I just want to mention the following points.

GTADS is done on my spare time. It is a project I enjoy working on and I try to get as much done as possible giving my busy schedule. Things that aren't feature complete or lacking, but are not related to anything broken are welcomed as a feature wishlist but aren't going to happen overnight. GTADS is written under the BSD License and as such you are more than welcome to assist with the project or even take the whole source code and write your own implementation.

Please READ the readme, this website, and other notes on GTADS before asking unresearched questions. As I have said in may previous posts the actual gaming feature (the proxy more notibly) is not complete. It is not in the 12/11/2005 beta test of the client. This project comprises of three parts, the server, the client, and the proxy. Having the proxy without the chat server environment seems useless and against the purpose of this project so, yes, there is a chat server and client being developed and when everything is done and refined it can be pieced together and work seemlessly. When you download the beta client read the README file attached to the download and see what you are able to do, what you are testing for. The readers of this blog will be the first to know when the proxy and everything related to gaming is done.

I realize that GTADS's current state is not very useful to those who really want to play GTA1 or any other game online. But as my previous point stands I am only one person working on many things and it will get done when it gets done. I welcome any help that may come along in the form of ideas, testing, and java development but I won't respond to uninsightful comments as "it's jsut a chatroom...". Rolling out a shittily put together project with minimal funtion is not my goal.

Sunday, December 11, 2005

FriendsLists

Ok, several things have gotten accomplished this weekend. First off I fixed the network problem, so people are able to grab the client and make accounts. Secondly the FriendsLists are finally up, a beta functional representation is located in the client by doing a File --> Show Friends List. Right now the servers are volitile and will be destroyed if the server gets shut down. I haven't written a method of saving it to file but expect that soon. You are now able to IM people on your Friends List much like the method of doing so from the chatroom. I will post a screenshot of this shortly. If anyone testing finds an issue under the Friends List please let me know.

Updated:

Here is a screen shot of the Friends List on the GTADS Client.

Its not very pretty right now but when everything is all sorted out in terms of functionality it all will be.

Friday, December 09, 2005

Temporary Network Issue

PLEASE NOTE:
While I sit here at work I had tried to create and test another account on the GTADS server before preparing to roll out the FriendsLists. However, I couldn't reach that site (hosted on my cable connection) and couldn't even grab the BETA client. Turns out for some odd reason the computer that is hosting the content and the router on the network cannot see each other and I will investigate as soon as I get home. For the mean time if anyone would like an account and/or the BETA client, they may email me and I will supply them with what they'll need. The problem should be resolved by tonight or tomorrow. This by no means affects the server, as it is running fine for those of you who have clients and accounts.

Thursday, December 08, 2005

GCJ and Friends List

One of the original things that had me very seriously think about my choice of language for GTADS was portability and micromanagement of code. Java, in my own opinion, is a very good language for getting things done without much of the memory management overhead, especially for this project. I did however have a problem with Sun's support (or lack of) for alternative operating systems such as FreeBSD and OpenBSD (a personal favorite of mine). Getting Java working on a FreeBSD system, for example, is a very tedious task of getting components from various websites and compiling. This kills the very point of distribution of GTADS's chatserver on excellent OSs. Fortunately I had the pleasure of checking out GCJ (GCC's Java compiler) again and realizing that it would be an adequate solution for distribute the server with minor modification. Also since the server utilizes none of the GUI classes there would be no issue with compilation with GCJ, which as far as I know has no swing support. As soon as the beta release of the server is ready there will be binaries available for FreeBSD, OpenBSD, and even Linux, though it already has well a established JRE. The client however, being of a GUI interface, will still remain a JVM deployable jar, unless anyone can get it to work with GCJ in some fashion.

Moving on, development is moving, however slowly for the project. Friends List are being implemented on the server side and will be functional by tonight or tomorrow. Friends Lists will allow users to keep track of their friends on GTADS much like how AIM or MSN work. Since I had never worked on a chatserver type project before, much of this stuff is new to me. I wanted to create a way for Friends Lists to be deployed without too much taxing of server or bandwidth resources. If you're interested to know how it works you can read on :-). A Friends List manager exist on the server passively waiting for a user to announce their state as online, offline, or away. When a user signs on, for example, it notifies the manager that their are online and that manager propagates this state to all Friends Lists that have this user on their list. This action triggers the server to send an update to those users on the clientside to adjust their Friends List accordingly. This is a much more efficient way of doing things rather than have the Friends List purely a clientside creation that queries the server every X seconds on the state of a friend. Creating the Friends List on the server also guarantees that whereever an account is connecting from their list will also be with them, as it will be stores locally on disk (Eventually optionally to a SQL database). A server update and a client release will complement these changes very soon and users will be able to help test this feature. Screenshots will also be up shortly showing the Friends List in action.

Friday, December 02, 2005

More ScreenShots

I decided for the people, who want to know what the GTADS Client currently looks like without downloading it just yet, to put up a few more screen shots of what the login and chat screen looks like. It isn't much to look at, as much of the cosmetic UI changes haven't been implemented yet.

The Login Screen:












Main Chat Screen:
(Note, there is a lot of blank real estate on the left side, There is something planned to go there but I haven't decided as of yet)













Comment Poll:

I would like to know your input to this, which may determine GTADS's interface. What functions do you believe GTADS should have to make it a successful chat/gaming platform?

Leave your comments on this post and it will definitely be put into consideration.