Quote:
Originally Posted by johnbao
The client is only for simply editing to your liking like HT mostly. It needs to synchronized between server and client.
|
[Hmmm, errrr, My take, as an "old coder":cool:]
[RantMode On] I'll skip over the "simply" and "easy" parts and go for the heart of the issue. One of my teachers used to call it, "Sloppy work, sloppy product, empty pockets."
There are a lot of things that MUST be handled "in the background", unseen, for a client to work. It's NOT just "editing a few HT skins" that makes a successful client. Lets take a look at some of the job skills required for a project like this:
First, whoever codes a new client has to fully understand how the server works, so he can make the client seamlessly talk back and forth. That takes a clear understanding on how network systems communicate. That means working with HTML, CSS, TCPIP, Websockets, IRC (chats), Sql/NoSql databasing, and more.
Second, whoever codes a new client has to fully understand 3D OpenGL graphics, texture mapping, Image editing, the hardware that the players interact with Keyboard/mouse/joypad etc, the physics it takes to have objects interact, and more. And, he has to do all this in microseconds, in order to make the video play as smoothly as possible. Choppy graphics can kill a game quicker than anything. A good example, compare the gameplay of Hero to Knights Online . . . (same company, 5 years earlier)
Third, whoever codes a new client has to fully understand EACH element and interaction that occurs in the game, on the client AND server sides of the game, so he can anticipate and properly handle EACH situation that comes along.
Fourth, whoever codes a new client needs a stable working server to test against. Normally, both halves develop together. This is a different wee beastie. The existing target client has to be "completely reverse-engineered" and then new code written, not patched. To accomplish that, you have to start with having access to the original server, or in our case, the original data streams, to learn how the server works, so it can be emulated "for educational purposes." Then, you have to "learn" how the existing client handles data to communicate with the server AND interact with the player, as well.
I fully appreciate the work EACH of the server devs have put into making their servers talk with the clients. Their work handles the communication portion of the game, and has allowed large steps towards making a new client possible. The next step is adding in the graphics side to handle what the player sees, and how he interacts with the game.
[RANTMODE Off]
8^D