Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Quasar

Yet another Skulltag source thread

Recommended Posts

fraggle said:

The entire purpose of Free Software/Open Source is guaranteeing the rights of its users. You say that Skulltag is for the players, but in your next post, you talk about wanting to keep the source secret so that nobody will create a spinoff port. In essence, you want to force everyone to use your port and make sure that someone else doesn't create a better port and take your players away. Clearly, that's in your interests, but it's not in the interests of the players.

Oh, and furthermore, the irony is that Skulltag is itself a fork of a fork, being derived from CSDoom which was originally derived from ZDoom. If Randy Heit hadn't released the ZDoom source, Fly wouldn't have been able to create CSDoom. Without the CSDoom sources, Carnevil wouldn't have been able to make Skulltag. Wouldn't it be the players who lost out then?

Share this post


Link to post
fraggle said:

It's the players who will suffer when the developer has a hard drive crash and loses the source code, or when the developers choose to discontinue the port and don't want anyone to continue it, or when the developers are unable to fix a complicated bug because it requires technical skills that they don't have, or when the developers do anything that the users don't like and refuse to listen to their complaints.


Situation A: The code is stored redundantly.
Situation B: No risk of this yet.
Situation C: No risk of this yet.
Situation D: Perhaps a problem in the past, but no problem with the current administration.

So, clearly you're not talking about Skulltag here, but about problems with closed-source development in general. In that case, you'll be glad to know that I agree with you fully. Closed-source development is rife with problems, and I personally reap the benefits of many open-source projects. But, in the case of Skulltag, with its admirable development team, its being an online multiplayer FPS port, and the make-up and size of its userbase, turning it into an open-source project may actually introduce more problems than it fixes. This fact cannot be ignored by anyone claiming to have carefully considered this particular issue. Now, if the problems with closed-source projects that you listed begin to appear possible with Skulltag, then I will most likely change my position.

fraggle said:

You say that Skulltag is for the players, but in your next post, you talk about wanting to keep the source secret so that nobody will create a spinoff port. In essence, you want to force everyone to use your port and make sure that someone else doesn't create a better port and take your players away. Clearly, that's in your interests, but it's not in the interests of the players.


What? How is Skulltag my port? I'm not affiliated with it in any way, aside from having spent some time playing it. For that matter, despite being a fairly experienced Skulltagger, I actually haven't been struck with the mood to play Doom online in a short while, so it's not my port in even the loosest sense. There is no possible personal benefit in this for me. I'm arguing for the benefit of Skulltag's current players, which I have not yet lost touch with. I encourage you to read my last post more carefully, as I set out my points more clearly than I plan to repeat, but here again is how closed-source benefits Skulltag's players:
1) No paranoia about cheating, allowing the community at large to be more open, trusting, and respectful.
2) No user-base splits caused by spin-off ports, which hurt the players by reducing game variety. Again, if someone wishes to improve Skulltag and make a "better" port than it, then they can already do so by helping the dev team turn Skulltag into that "better" port.

fraggle said:

The entire purpose of Free Software/Open Source is guaranteeing the rights of its users.


The entire purpose of communism is to grant power to the people.

I do not say this to belittle open source, or to claim that the systems are equivalent. Again, I support open source (and I actually have considerable respect for communism too - it's a shame it hasn't worked). I say this only as a reminder that there is no ideal that always works how it should. Despite the inevitable response it will generate, I must say this: The belief that one system is always the best is absolutely foolish. There is no exception.

Share this post


Link to post

As is the belief that keeping the code closed is going to help.

It's a big fat illusion in which you live. Wake up!

Even though it is not truly comparable ZDoom really began to thrive when external contributors started adding features, first as the unofficial .96x build and now through continuous submissions on the forum, most notably the SBARINFO feature.

Skulltag is getting no such things whatsoever. Who knows what you already missed?

In the end it's just fighting an evil with a seemingly lesser evil that in the long term isn't so much lesser than you might think!

Share this post


Link to post

I think I get it now. You're right, I didn't understand what this was all about, but Fraggle's last post got me thinking. This whole time, I've been concerned with Skulltag's current players - with the present and imaginable future for them. I didn't realize how much further ahead than that you were considering. You all want the best, not for Skulltag's current players, but for the players of the future, for some subset of the Doom community that has not yet even formed - for the next generations of Doomers. Well, upon further consideration, let me extend my chain of predictions:

-Skulltag players have fun
-Skulltag opens source
-Exploits, or equally-problematic rumours of them, begin to circulate
-Even though the real problems are kept under control, a feeling of unease remains among players, Skulltag's community loses its fragile cohesiveness
-Other developers begin crafting their own multiplayer engines from Skulltag's base, begin extracting members of Skulltag's community
-One port, X, gradually emerges as the new leading newschool port - it has drawn most of Skulltag's player base and many new players through more powerful and stable core functionality, new features, and development practices that make players feel that cheating is impossible
-X players have fun
-Other developers clamour for the release of X's source code ;)

No really, I think I get it. Even this chain of events is better than what it is that you're concerned with - the consequences of complacency, with stagnation. Now that I think about it, the tips of the branches on the multiplayer tree are not sending out any fresh, green shoots. Even though the Skulltag bough is growing longer and stronger, it refuses to split. And, much like the human reaction to cheating, the appearance of stagnation is every bit as dangerous as actual stagnation. If there are no apparent life signs in the multiplayer tree, part of the source port grove, players will start to lose faith in the whole darn forest, and will move on, in the search of fresher fruit. And I have been content to subsist merely on what the Skulltag bough provides. Complacency, and a lack of long-term foresight, as if these were vile serpents, have tricked me into eating only the Skulltag fruit. This is my sin, and it threatens to force all of us from the Garden of Doom, forever and ever, amen.

So sure, feel free to call this a victory, even though I can't commend your "let's yell propaganda without considering other points or explaining yourselves" strategy as admirable debate procedure. It's worn me out, so let me just share some final thoughts before I leave. Graf asks me to consider "what I've already missed" by playing a closed-source port. Here's my answer: absolutely nothing. The amount of fun I have doing something does not depend on the level technical development behind the activity. I had tons of fun playing Skulltag, and any other existing features would not have brought that fun level any higher. Whether I have fun in a game or not depends more on the people in it than the exact features of the program, and the lasting appeal of some classic multiplayer environments, such as Dwango5, and Pong (to a lesser extent), testifies that sometimes something is actually good just the way it is.



If I still don't get what your beef is then PLEASE explain it.

Share this post


Link to post
Creaphis said:

-Skulltag players have fun
-Skulltag opens source
-Exploits, or equally-problematic rumours of them, begin to circulate
-Even though the real problems are kept under control, a feeling of unease remains among players, Skulltag's community loses its fragile cohesiveness
-Other developers begin crafting their own multiplayer engines from Skulltag's base, begin extracting members of Skulltag's community
-One port, X, gradually emerges as the new leading newschool port - it has drawn most of Skulltag's player base and many new players through more powerful and stable core functionality, new features, and development practices that make players feel that cheating is impossible
-X players have fun
-Other developers clamour for the release of X's source code ;)


1) yay
2) yay!
3) yay, more input from other developers, therefore exploits get fixed, in the mean time, server admins control their servers and ban players who cheat.
4) this doesn't happen because number 3 happens.
5) this happens already, nom nom players *burp*
6) inevitable, skulltag should be fighting for what it stands for, otherwise the developers are in denial and don't believe in their port.
7) yay
8) we'll string them up here too!

Share this post


Link to post
RTC_Marine said:

3) yay, more input from other developers, therefore exploits get fixed, in the mean time, server admins control their servers and ban players who cheat.



And that's the major point the closed-source proponents tend to ignore.

Share this post


Link to post
Creaphis said:

-Even though the real problems are kept under control, a feeling of unease remains among players, Skulltag's community loses its fragile cohesiveness


And that's the major point that open-source proponents tend to ignore.

I'm saying is that if you consider anything otherthan the best-case scenarios in terms of development help and player psychology, then releasing the source could cause significant temporary problems. That's the least you can concede.

Share this post


Link to post
Creaphis said:

Skulltag's community loses its fragile cohesiveness

It's really such a delicate flower that any small gust of fresh air could destroy it? Then it's amazing it has lasting this long :-D

Share this post


Link to post
Creaphis said:

And that's the major point that open-source proponents tend to ignore.

I'm saying is that if you consider anything otherthan the best-case scenarios in terms of development help and player psychology, then releasing the source could cause significant temporary problems. That's the least you can concede.



Any community that is that paranoid is doomed anyway.

It's quite obvious that you don't understand how an online port could benefit from open source. You overemphasize the negative while completely ignoring the positive aspects (e.g. being able to plug holes much more quickly due to external feedback of knowledgeable honest members.) Of course this would probably mean that the ST team had to rethink their release schedule.

Share this post


Link to post
Graf Zahl said:

Yeah, I'd like to see it - if only to see how it does its networking implementation.


Sorry for being off topic but how come? Would you actually consider making a new netcode for (G)ZDoom if you understood it? [/wishfulthinking] I didn't think you had any interest in netplay.

Share this post


Link to post

Creaphis said:
I see that my argument has been cleverly defused by ignoring it and insulting me.

You had the sarcasm coming, as you half-heartedly admitted. Your post was shitty and itself insulting, by reducing the support of open source merely to developers, simplifying its strengths, and by not making any real point in favor of your stance.

I don't assume you have to be particularly clear-minded about this subject. I took a similar position back in 2000 or so regarding csDoom when there was a lot of controversy regarding its initially closed source condition; to a good degree I argued against open source proponents because I felt they stalled development or play. Many people did, some of which became great supporters of open source multiplayer eventually, such as for example Toke (RIP).

The only clear reason Skulltag is closed is for security (just check Aabra's post, or most other posts by ST developers). Other "reasons" may exist, but they are pretty weak or secondary, or simply against what's best in this community (the sharing and transparency).

On one side, keep in mind this community exists because of the generosity of others. When Carmack reissued the source under the GPL, he couldn't retroactively apply it to existing projects, but he relicensed it as a gesture encouraging open source in general. This is clear since his newer releases are under the GPL, as well.

We can speculate all we want about what would or wouldn't happen if the ST source were released, but in the end, either model "works" as long as developers keep maintaining a project persistently to address any issues. It's clear (from other projects) there are workable ways to handle cheating or abuse in an open source environment.

The more closed projects (of any relevance) there are, the harder it is to maintain a transparent and good-willed community. It's already problematic enough with ZDaemon, without Skulltag tagging along. It's clear that the ZDaemon staff have often displayed "tribal" behavior aimed exclusively at claiming a bigger share of players, as if they were a company selling a product. The typical negative attitude towards other projects (Skulltag, Odamex, csDoom), not caring whether people warez the games, encouraging WADs that work with the shareware, having Stalinist forums and banning practices, and, not surprisingly, eventually closing the source. It's hard to not build walls around oneself with an outwardly aggressive and jealous stance. The Skulltag team simply followed suit in this aggressive and paranoid environment, but it is a closed project mainly because of the ZDaemon precedent, and strengthens ZDaemon's position by mimicking its model.

Share this post


Link to post
Cutman said:

Sorry for being off topic but how come? Would you actually consider making a new netcode for (G)ZDoom if you understood it? [/wishfulthinking] I didn't think you had any interest in netplay.


Maybe it would help some zdoom features be cross port compatible, especially if/when doomscript should arise.

Share this post


Link to post

Thank you, Myk, for elaborating on where you're coming from.

Fine, everybody, I get it. My points are weak. I was hoping they would have some effect anyway; it drives me nuts when I find people who are so darn sure of something. (If everyone here was a stubborn closed-source supporter, I would have argued the other way.) But, every time I wander into one of these threads, I argue futilely before ultimately getting mad at myself for being so darn sure of whatever the hell I'm arguing for. So yeah. At least I got some creative writing practice out of all of that. The idea of comparing Doom to the Garden of Eden just came to me.

I realize now that open-source evolutionary development is what brought us here, but the thought that it's necessary still feels weird to me. Of course, I've never been against whatever new changes are made to this or that engine, so I'm certainly not against development in general - which means that it makes sense to support whatever development model that is most effective. Still, I feel that Doom has a timeless quality, like so many other games and classics and etc., and I haven't understood why it's required that such a restless evolutionary model be continued. Doom isn't some functional tool where faster, more powerful code is always better than what existed before, because Doom is a game. While a utility can be redesigned to perform miraculous new tasks, a game will never begin granting some fundamentally new positive emotion. The game will be fun after development but it was already fun before. Why can't we be content to just ensure that Doom remains compatible with the future's computers while keeping the fun experience the same? I could bring up the example of "chess" as a game capable of retaining all its appeal without constant updates and modifications - but then again, in its extended history it has undergone many evolutionary changes, and the computer age has changed it radically. So, any argument I could have for preserving the present most likely wouldn't have a leg to stand on, and, whether necessary or not, further change in both Doom and chess is inevitable. I wonder what comes next.

Oh yeah, an addendum to the first paragraph: When I lose one of these ridiculous forum arguments, after getting far too deep in it in the first place, I try to avoid looking like an idiot by getting all philosophical.

Share this post


Link to post

First, let me say that I personally would like Skulltag to be open source eventually, only with some kind of closed source anti cheat module though. But this is not my decision alone and furthermore, I don't have the time to write such an anti cheat module at the moment, so don't expect anything in this direction from me any time soon.

Graf Zahl said:

That reasoning is flawed - unless the netcode is so bad that making it public will expose all the design flaws in it.
Well written code can still be hacked of course but it's much easier to plug the holes once they are known.

From my experience most hacks can be categorized in two groups:

a) exploiting of any sort of flaws, bugs, etc.
b) giving the player an advantage a good player already has.

Opening the source will definitely help to deal with the first type of hacks. But I'm not sure how it can help with the second type. For example aimbots: How can you prevent someone from implementing something like "hit key a -> current view is automatically centered at the nearest visible enemy". If implemented properly, the server won't be able to distinguish if the player has a really good aim or an aimbot is used.

Share this post


Link to post

You should have some guys in your developpement team who create hacks to see how they works and how to prevent them... Just a suggestion (I'm not a programmer and most of what I read in this section is like a combination of russian and chinese).

Share this post


Link to post
Torr_Samaho said:

Opening the source will definitely help to deal with the first type of hacks. But I'm not sure how it can help with the second type. For example aimbots: How can you prevent someone from implementing something like "hit key a -> current view is automatically centered at the nearest visible enemy". If implemented properly, the server won't be able to distinguish if the player has a really good aim or an aimbot is used.


Read this post. Good players don't simply play on public servers where they can be lost in the shuffle, they also participate in serious games where their demos can come under close scrutiny from other players.

Creaphis said:

1) No paranoia about cheating, allowing the community at large to be more open, trusting, and respectful.


FYI, this argument is 100% bullshit. I decided to play some CTF a few days ago, and somehow some clan DX players wound their way into the server I was playing on. When they left, about 3-4 players complained that they were 'cheating'.

Distrust of other players does not go away when the source is closed. It's one of the few constants of the online world and will never go away so long as the internet continues to exist.

Share this post


Link to post
Creaphis said:

Your assumptions about player psychology in that post are no less crude and baseless than mine are.


Mine are based in reality, from monitoring and participating in the community of a number of other games. They may not be perfect, but yours are based on wishful thinking and conditions that don't actually exist in the first place. (the supposed hack-free and hacking-accusation free utopia that Skulltag supposedly exists in at the moment or will eventually enter given enough time without exploits).

Also, mine have at least been upon casual glance supported by this community, while yours have not stood up to scrutiny and have been dragged out and discredited numerous times over, often by people who actually write source ports, so don't pull this "we're both speculating so neither of us are right nyah nyah" bullshit.

Share this post


Link to post

You associate hacking with an impatient ADD-esque personality which is likely to quit attempting to ruin a game after several bans - ignoring the set of cheaters who would get their fun by relentlessly interfering in a specific game. You implicitly claim that 10-15 minutes isn't too long for a legitimate player to wait for re-entry to a server, when many (or most) players would feel that amount - or any amount - is far too long when undeserved, especially when another ban upon joining again is possible.

While your points have stood up to the mainly source-port-developer audience of this thread, I've seen almost no names from the Skulltag player community in here, and a significant portion of them would agree that the risk of getting banned for being good is not a pleasant prospect. I'll raise my hand already as a Skulltag player not willing to sit back and twiddle my thumbs for any length of time. Perhaps the server population should be granted some sort of banning power, but not necessarily - and matters such as appropriate ban length, size of majority vote necessary to ban, and whether there should be deterrents for ban abuse need to be more carefully considered if this power is granted.

My points, whether utter shit or not, were meant to encourage consideration of some possible circumstances other than "my plan makes everything work fucking amazingly," which is an attitude I've just seen too much of in here (I'm not claiming my attitude has been stellar either). Cautious - even relentless - pursuit of the negative makes any project ultimately safer for knowing what potential pitfalls it has, so I shouldn't be so universally reviled. There are possible negative circumstances that I have not thought of and it is everyone's responsibility to try to imagine them.

Share this post


Link to post
Creaphis said:

While your points have stood up to the mainly source-port-developer audience of this thread, I've seen almost no names from the Skulltag player community in here

That's because many in the skulltag community share a certain disdain for Doomworld and don't post here.

Share this post


Link to post

You cannot please everyone.

However, it is best to please the majority of people.

Psychology aside.. That can also mean other developers, community members and such who would be willing to help. Not just players.

Share this post


Link to post

A solution to this issue should certainly please as many people as possible as much as possible, but when discussing an issue that's less technological and more legal such as temp bans, which could affect the multiplayer experience significantly, it's fair to rank the blue-collar players' opinions above those of the developers/other community members.

Share this post


Link to post

Creaphis said:
I realize now that open-source evolutionary development is what brought us here, but the thought that it's necessary still feels weird to me.

It's more like "freedom of choice" in religion, than a necessity. Remember, though, that the DOOM source code would be unilaterally under the GPL had Carmack not been relatively inexperienced in such matters when he made the '97 release.

I feel that Doom has a timeless quality,

Timelessness doesn't happen by itself. It occurred already that the original engines became next to useless for many. The DOS engines basically lost sound support (although DOSBox can now address this) and Doom95 lost mouse support with the NT-based versions of Windows. Even many earlier ports are rather obsolete on today's systems, because they were tested with older hardware and drivers. In 50 years you might be able to pick up a version of the Chocolate Doom sources and, after tweaking them, make DOOM run on UAC-OS v3.14. The Skulltag binaries found in the same folder, on the other hand, may be next to useless.

While your points have stood up to the mainly source-port-developer audience of this thread, I've seen almost no names from the Skulltag player community in here, and a significant portion of them would agree that the risk of getting banned for being good is not a pleasant prospect.

I think online player in general might be more appropriate, as Skulltag players are to a degree conditioned in this matter; they either pretty much accept or tolerate the closed-source policy and conceptions that come with it, or start to look for alternatives.

Banning practices can be managed directly by server admins and players; I don't see why the option to vote-ban, if implemented in the code, should be mandatory. It's just one tool that may prove handy in various situations, and not just for cheating-related cases. With the source code available, developers and players can test suggestions and retain the better alternatives. The cheating issue doesn't need to be (and can't be) solved before the program is in wide use as free software.

Share this post


Link to post
exp(x) said:

That's because many in the skulltag community share a certain disdain for Doomworld and don't post here.

Not necessarily. I check these forums at least twice a day, I just rarely have anything useful to contribute, so I don't post.

Share this post


Link to post
AlexMax said:

Read this post. Good players don't simply play on public servers where they can be lost in the shuffle, they also participate in serious games where their demos can come under close scrutiny from other players.

I think you misunderstood me. Currently I'm not really interested in theories about how people are going to use cheats or how cheats affect the overall gaming experience. It's not that your views don't sound plausible, it's just that I'm only looking for unbiased technical measures to prevent cheating (or at least make it more difficult). Especially how to prevent aimbots from being used when the source code is completely open. Finding them by watching demos will never be 100 percent accurate and always be biased to a certain degree. Furthermore, this doesn't prevent anybody from actually using an aimbot in the first place, it will just lead to a ban after the aimbot already has been used.

I can imagine difficult to circumvent counter measures to aimbots when using a closed source anti cheat module, but I have no idea how this could be done with the source completely open. If anybody has ideas on this, I'd be happy to hear them.

Share this post


Link to post

One obvious check to implement is to only send the coordinates of player mobjs when a LOS check passes on the server. Unfortunately due to latency and the inevitable difference between client and server worlds; this can be quite troublesome though it is possible to accelerate by using either the existing blockmap or better, some form of PVS using the BSP.

Share this post


Link to post
DaniJ said:

One obvious and easy to implement check is to only send the coordinates of player mobjs when they are in the same branch of the BSP (children or ancestors).


And how do you deal with people who only switch on their aimbots when in close-quarters ssg duels?

And how do you ensure that although player coordinates are not sent when not in line of sight, that sounds (falling 'unf' for example) are sent properly?

Share this post


Link to post

And how do you deal with people who only switch on their aimbots when in close-quarters ssg duels?

I never suggested it as a complete solution. It is just one measure that can be taken to reduce the effectiveness of said aimbots.

And how do you ensure that although player coordinates are not sent when not in line of sight, that sounds (falling 'unf' for example) are sent properly?

Sounds are far less important than the player coordinates so already we have some room for error.

Sounds have a finite distance within which they can be heard from the listener. In DOOM, sounds are not restricted by solid (void) areas of the map. Thus a simple server-side check using the blockmap to determine if the listener is within x distance from the sound origin will suffice.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×