To mod or not to mod
Looks like, people divided into two sides. Somebody thinks that using it is a real cheat.
Firstly, I want to explain what the modification does and what it doesn't.
The features:
- unlocked most of the client-depended PRO-features (replays, positions, vector vision, theme changes, and some others). I agree that this is a controversial thing, but I'll discuss it later;
- some performance optimizations: background caching, tower target calculations, added some indexes and so on. Totally, now it's more or less playable on such maps like CASTLEGROUNDS or RUN on bounty hunter mode when creep count reaches 1000 or more;
- money and income calculations for replay viewing and spectator mode;
- greatly improved calculations for tower spots (hotkey: T. works in vector vision similar to the original implementation). It's like in the original client (with pure vector vision), but with a more correct formula of calculations;
- tower disabling function (hotkey: 8). Despite that i found trivial implementation of it in the protocol, unfortunately, at the original version of the client this event doesn't processed for a some reason (maybe causing desyncs). Because of the algorithm of lives counting, it hard to found an abuse to the original client users. So, if anybody will use it versus an original client, he will just spoil his internal state. So, that feature is only useful at 1p surviviour games;
- charset bugfixes. Because of improper letter-case processing and mixing utf-8/cp1252 charsets, there were no ability to play maps like . A more serious problem, related to that bug: some people, for example, with Turkish locale, cannot play any map with character in the map's name. Both kind of these bugs are fixed;
- display improvements: tower priorities, more contrast creep themes integration.
- configurable creep sending delay (maybe, this is the only feature that is a cheat? really, it's pretty noticable in the stats after the game)
Not modified (and NEVER will be modified):
- any (state-destuctive) in-game calculations, event handling or any other vanilla in-game behaviour. [spoiler] So, there are only modifications, related to optimization. The engine behaviour is exactly the same, and it tested a lot with a lot of replay files (replay file is just an event queue, so the same calculations are made in-game and in the replay mode) [/spolier]
Known bugs/shortcomings:
- less visual effects, simplified button rendering
- some context menus do not display the title
- some bugs with maps displaying in lobby
- relatively high memory consumption (this could be optimized)
Motivation
- I couldn't normally play on my old PC because of game lags becuase of high CPU consumption.
- Not only me encountered this problem.
- I wanted to study how to play this game better, learn and understand some basic mechanics. And I needed a user-friendly interface.
- The game development was almost abadoned, and a lot of people were unhappy with it.
- I really hate when the browser window forcefully opening after each game (sometimes i get out of memory because of it).
- I want to make the game more interesting, fun and just more comfortable to play.
More about funs and not funs.
IMHO, it's fun:
- to know, which creeps are on the board and have a clear and well-distinguishable sprites even for the people who has not the perfect vision, on all maps
- to have an ability to play the game on pretty old PCs, on modern PCs, on laptops without GPU or on linux, BSD and so on
- to have somebody, who can handle at least some of the games' bugs
- when the users (in particular, of my modification) called as cheaters by the people who never used it
- you have no possibility to change the colors/themes, becuase you have to buy unbuyable PRO version
- you just cannot play 1/3 of all the maps because your desktop's locale is Turkish
I began to share the modification, when a lot of the people were said that "no body cares", "there are a lot of bugs", or just had ideas to improve something.
Now I hear the point "it's impossible to play because of the modified client".
About the enabling features from PRO mode.
The my main argument here is: the PRO is unavailable to buy for a couple of years. But i agree, it's a controversial thing.
In any case, all of them could be blocked (or even totally cutted-off), keeping most of the advantages of the modification.
Also, if there will be some official update, my version won't work in any case. So it's very simple to forbid it.
I didn't remove the logic of the PRO-checking, only the exact features were unlocked (the check is still returning false)
So, this point is discussable.
Also, probably, the users of PRO mode cannot use my modification because i had no ability to test it well (I remember that there were some bugs, but I couldn't collect enough feedback to fix it).
If most of the opponents of my opinion are dissatisfied with this, with your help, i'll try to fix the bugs.
Here are the separate files of my themes (which can be absolutely legally used in ANY vanilla PRO client):
In conclusion.
I'd want to dot the i. Is my modification a cheat or not? Does it make the game more or less fun?
If it is a cheat, that what exactly features should be disabled? I want to find a compromise, to keep everybody happy and so that everyone enjoys the game.
Maybe it's difficult to install, maybe it needs a "normal" installer like vanilla client?
Or maybe it's too unfair to see the creeps on the board? Maybe it's more fun to send demeters on MONOBLUE because not everybody can see it? If that is really fun for somebody, maybe it will be interesting to make a special mod with poorly-visible (or totally invisible) creeps?
Unfortunately, I couldn't make any decisions of the "cheatability" before I shared it to some people. Now, there are a number of people who tested it. But some of the people are unhappy with it. So, if there are a lot of people who really stopped playing because of it, I'd want to know. Maybe it would be better for community, to totally disable it?
Or maybe you have another ideas which can improve the client?
I want to prevent any kind of holy wars between "cheaters" and "too conservative people". Please, be constructive and argue your position.
P.S. I've deleted the original post, the files from my server, and temporary (or permanently?) made the source repository private, for the worst case (really, i don't think that there were a lot of people who successfully launched it without any instructions in any case^^), until I can't decide what to do with it. I really don't want to harm anybody's gameplay experience.
Thanks for the attention and I'm sorry in advance for my English (especially, technical, maybe somebody will help with translation to a human-readable variant?).
Have a nice day