Edward850 Posted February 18, 2017 kb1 said:It's at home. Come on by, we'll eat barbeque chicken and play co-op :) My port will then heal you and get your laid, or so they say. Well it's pretty useless "at home", it might as well not exist at that point. I'm starting to find your posts quite dubious considering your complete lack of anything to back them up. You might as well be telling us you can run 5 copies of nuts.wad at once because it's just as unverifiable at the moment. 0 Quote Share this post Link to post
Danfun64 Posted February 18, 2017 dpJudas said:Think I'll go back and code on my dpdoom port. It can actually run the entire Doom engine on the GPU. Pretty cool, isn't it? Github">Github said:404: This is not the web page you're looking for I would have liked to have the Github link at "said" rather than "Github"...but.....close enough. 0 Quote Share this post Link to post
dpJudas Posted February 18, 2017 I made it a private repository because it is not ready for the world yet. ;) 0 Quote Share this post Link to post
printz Posted February 18, 2017 dpJudas said:My thoughts exactly. Think I'll go back and code on my dpdoom port. It can actually run the entire Doom engine on the GPU. Pretty cool, isn't it? Is this for real? Sounds awesome, would love to see that. 0 Quote Share this post Link to post
Rachael Posted February 18, 2017 Now I can't wait to see kbDoom. Not only to prove that it's actually real, but so I can gawk at how unreadable the code will be. With this kind of unhealthy fascination with "optimization" I have to wonder if you even know what the Sun is and that birds and clouds exist? Or maybe you're too embarrassed to show it because you know that such programming techniques are horribly unreadable and unmaintainable and it takes a special kind of person to really appreciate them? I am not going to say that the code is horrible code - you do you. Yes it is fun seeing what you can squeeze out of an old processor (teach an old dog new tricks, eh?) - but the reason why I don't code that way is a) because I don't need to, and b) modern compilers and processors handle whatever I throw at them just fine. If it runs smoothly enough on my computer - it works well enough for me. Yes, users do care about performance, but they also care about features - and in most cases you can't have it both ways. You try and do what you can to have both as much as possible but when you maximize one or the other, the other suffers. Despite the utter nightmare of working with Randi's code - I actually was completely impressed by it. But what really did it in for me was all the copy-pastes. In order to change one drawer, I had to apply the same change to 40 other drawers because of the way the code was optimized - it was optimized by rewriting the same function dozens of times via copy-paste making only minor changes to it, and calling it up via function pointers. I really didn't like that. You know what makes Graf's code such a breeze to work with? I make one simple change - and it affects exactly what I want it to. Everything I do in Graf's code works exactly the way I want it to. I don't have to go searching through dozens of functions to find exactly which execution point I expect to encounter at this or that time. Maybe that's lazy programmer me on my part, and maybe I am spoiled by that, but it's still a really nice thing. I think something could be taken from that, honestly. And others have voiced that they like working with code that is made similarly. 0 Quote Share this post Link to post
Graf Zahl Posted February 18, 2017 kb1 said:Lots of incoherent rambling Excuse me, did I miss something? Rachael said:Despite the utter nightmare of working with Randi's code - I actually was completely impressed by it. But what really did it in for me was all the copy-pastes. In order to change one drawer, I had to apply the same change to 40 other drawers because of the way the code was optimized - it was optimized by rewriting the same function dozens of times via copy-paste making only minor changes to it, and calling it up via function pointers. I really didn't like that. For me the biggest problem with ZDoom's early code has always been that nothing was really refactored, it all was just an extension of what was here before - that goes for the renderer, the menu system, the intermission screens, even all the iterators in the play code - it all was still very much id style, all extensions to the code were also done in id style and the resulting code was - to put it frankly - often a rather muddled affair. The renderer just suffered from being the system that not only was the largest and most complex but also the one which had seen the most changes in the same bad old id style. It may have been ingenious what Randi did on it on much weaker processors, but one part of code maintenance is that you regularly analyze the code, do some benchmarking and throw out the baggage that serves no use anymore. But at the end of the day the main question about all this ancient optimization still has to be: Was it worth it in the long run? Like we already said, the software renderer has virtually seen no genuine improvements, over the years. The only things were the still mostly broken stacked sector feature (it's broken because it couldn't be made to work with everything being stored in a huge lump of global variables) and the external code submissions for 3D floors and line portals (which, btw, both I had to clean up because Randi was conspicuously absent when these features were discussed - I wonder why...) And my professional experience mirrors that. Over the last 20 years I had to work with a lot of code by external teams - and it was a common trait that it was always the people who tried to keep things simple caused the least problems. The worst were the tinkerers, their code often was so esoteric that nobody could work with it - this was even worse than the hacks - they just wrote bad code where you could once sort through it and clean it up. dpJudas said:But part of being good at optimizing is also to know when to stop and do a proper cost/benefit analysis. Just because something can theoretically be done doesn't mean you should do it. Amen to that. One can waste endless days and months squeezing the last 10% out of a certain segment of code and create huge bloat or spend that time implementing some cool new feature. Well, I'm all for the cool new feature. :) 0 Quote Share this post Link to post
Maes Posted February 18, 2017 Graf Zahl said:The worst were the tinkerers, their code often was so esoteric that nobody could work with it - this was even worse than the hacks - they just wrote bad code where you could once sort through it and clean it up. Some in the industry refer to this style of coding as "job security" ;-) 0 Quote Share this post Link to post
Graf Zahl Posted February 18, 2017 Only an idiot lets them get away with it. The best way to deal with such people is to cut them loose ASAP. Otherwise they become a menace. It may hurt in the short term but long term the benefits far outweigh that. 0 Quote Share this post Link to post
AkiraZXE Posted February 19, 2017 Just to weigh in from a typical user's perspective... As far as Doom goes, 99% of what I play on GZDoom and QZDoom work despite my 8+ year old hardware. Only the absolute craziest maps and effects have problems, and I don't think a 5% performance increase is really going to solve those particular issues. Even on hardware older than that, I still didn't have problems too often. With ports like PrBoom and ChocoDoom, I can throw them on virtually any machine I will come across without worrying about performance at all. If a port's development slows to a crawl, or skilled people jump ship, that's really not doing me any favors. If there's a new feature that modders want, but nobody's willing to implement because they don't want to touch the code involved, that's something cool down the line that I'm gonna miss out on. If there's a bug I'm running into, having to wait weeks to months for even a possible fix would be beyond annoying. I don't think that's a good trade off for an extra 2 FPS when staring at a corner in a vanilla map that I'm going to cap at ~120 anyways. 0 Quote Share this post Link to post
duh Posted February 19, 2017 There is nothing wrong with code optimization. 0 Quote Share this post Link to post
Graf Zahl Posted February 19, 2017 I beg to differ. Optimization can be done in a way that optimizes the source to be more streamlined and as a result working better or it can be optimized by squeezing the last bit of juice out of it by hand-tailoring it to a specific toolchain. The first kind of optimization is good, the second one is questionable - such code tends to become obsolete rather sooner than later. 0 Quote Share this post Link to post
Gez Posted February 19, 2017 XCOPY said:There is nothing wrong with code optimization. Yeah, but do you optimize it for maintenance and evolutionary potential, for higher speed, or for lower memory footprint? These three optimizations are often contradictory. 0 Quote Share this post Link to post
Fonze Posted February 19, 2017 I'm just popping in here to confirm that I've seen and played kbDoom; you can stop questioning its existence. I'm not going to talk about anything I'm not knowledgeable about, but the thing exists and does have some cool features. Still, kb1 would do much better for himself to just release the damn thing already, even if it's not perfect; nothing is perfect. But you all do nothing by attacking the person aside from just cause drama and headache all the way around, back to yourselves as the (now) pointless conversation drags on for days. Learn to deal with people in more constructive ways. 1 Quote Share this post Link to post
Rachael Posted February 19, 2017 I think the fact that you even have to attest its existence says more than anything else ever will. As far as my involvement in this "drama" so to speak - I can only tell you that we've had someone already claim to have a source port but never offered any downloads - it did not go well. Personally I think a lot of drama would actually be "solved" by that release - but I don't know how much, or if it would start new drama. But the main existing issue would vanish. 0 Quote Share this post Link to post
Fonze Posted February 19, 2017 I'm a bit confused as to what you mean by that; it's already been well and established for a long time that it's not public. The fact that one person can stand up and say "it's real" already puts it leagues ahead of some hypothetical and unsubstantial project. But I fail to see how a comment like that is going to tone things down between you (read: everyone in this thread) children. I chose just now to "attest [to] its existence" because I'm tired of seeing people I like (good, talented people who share the same unpopular hobby that I do) bicker back and forth like children arguing how high they can jump their bike off the ground; getting negative for no reason at all when simply acting positive would likely cause the "issue" to mitigate itself. Like if we just appreciate that we all like to ride bikes and encourage others to keep jumping in hopes they can jump higher than they already do now. Sure, at some point those claiming to jump should actually jump in front of everybody, but it's not right to ostracize somebody because they don't feel comfortable showing their jumps yet, even if it has been years. I understand and agree 100% that it should just be released already; if nothing else to shut up the pointless babbling about its existence when more constructive things could be talked about, but also because much like a pWad or an AA title video game worked on for years past when it should have been released (read: Duke), it will likely be 'behind the times' when it comes out. But it isn't my project to make such a call. Still, even without its release, isn't there still a more constructive way to talk to kb1 than accusations, sarcasm, and shaming? Rephrase your questions/statements to be more positive and humble instead of acting like top shit in the room talking to a child. Not every discussion or disagreement needs to be an argument with something to prove; not everything needs a last word (and this all goes for everybody, not just a handful of folk). To that same degree: kb1, how do you help yourself in all of this? I understand you just want to talk about the substance, but at some point either stop touching a hot stove or learn to approach the stove differently (wear gloves before touching). You all need to recognize that you are all very talented and valued members of our community, with each being equally valuable (at least as far as I'm concerned). We're all replaceable and none among us are above snide comments and jokes if we leave the community in a hissy fit of nerd rage. (as a bit of perspective, here) We have to remain constructive; destructive arguments and comments serve nothing but to exacerbate current problems and discourage cooperation between skilled and knowledgeable individuals, such as yourselves. It's all good though, when MaxEd invades us with his army of mindless Duke and Build fans, we'll all realize we were on the same side all along ^^ 0 Quote Share this post Link to post
Gez Posted February 19, 2017 I don't doubt that kb1's port exists (he did after all post snippets from it when there was that whole "wall wiggle and how to fix it" thing going on). But we're discussing stuff about open-source, publicly available ports; and there are developers who've been around for a long while and who have been very active who say things like "I've found that such or such thing doesn't work that well" or "it's largely a choice between this and that, I don't care much about that so I focus on this" and then kb1 arrives and say "no, you're wrong, that thing really works better, and there's no conflict between this and that, and I have a proof that I'm not showing you" and it's a bit annoying. 0 Quote Share this post Link to post
duh Posted February 20, 2017 Graf Zahl & Gez said: Be creative or I won't play you. 0 Quote Share this post Link to post
kb1 Posted February 21, 2017 Apparently, my method of communication has a tendency to piss people off, or hurt people's feelings, but in re-reading them (the first few, anyway), I'm not seeing it. I see me politely prompting for open discussion about a subject, or me politely providing my honest opinion on various issues, immediately followed by accusations, insults, abrasive jokes and sarcasm, harsh justifications, and intense defense responses, which are the most bizarre of them all - It's almost like an instant reflex fight-or-flight response, from victims of repeated trauma. However, I take responsibility for the way my words are interpretted: For the Defenders: I had no intention to hurt anyone's feelings, or to insult or degrade you, or your work. I am truly sorry if I have hurt your feelings or upset you - forgive me. This was never my intention. I know this, because it is not in my heart to do such things. For the Devs: Anyone with the skills to modify and compile any Doom source port is a talented person, no doubt. Anyone with the ability to produce a 32-bit Doom renderer is a talented person. Anyone maintaining a port the size of ZDoom is a talented person. I hold these people in high regard. That said, I also believe that I should be able to discuss issues with these people frankly, without a lot of sugar coating, and expect a non-dismissive, somewhat thoughtful response, devoid of innuendos. Furthermore, I did not comment, or hint about anyone's specific abilities except my own. I am far from being the best programmer, and freely admit it. And, I'll admit that, in some areas, I am pretty good, and not so much in others. For example, I'm pretty decent at optimization, and didn't have much trouble reading Randi's renderer, yet I would have great difficulty in getting Doom to run on a GPU. For the Angry Mob: Please post your opinion, but isn't it better when everyone can form their own opinions too? Sometimes, opinions change too. Please be respectful. For the Saboteurs: I hate to acknowledge that you exist from time to time, but the strange imbalance in tone of response forces me too. You are wasting time and energy, impeding the flow of ideas and information, obscuring the very purpose of a discussion forum (to discuss), and hurting my feelings, for one. For everyone else: I apologize for everyone else who had to endure this shameful exchange. It's an exercise in futility that I do not care to repeat, and it's something I will strive to avoid, in all areas of my life. I had hoped more people would see my posts as I intended them, and would speak up, but I don't blame you for not wanting to get involved. I find it interesting that, when I stop posting, multiple people involved actually re-iterated the bulk of what I said. Why couldn't we do that in real-time, say, before hanging me out to dry? On the Source Port: Every technology I have described is independently verifiable, from the comfort of your computer and the internet. Furthermore, it's common knowledge to any Doom programmer who's been doing it for any length of time (the effects of gameplay changes, optimization, compiler output, etc). All I've really done is to suggest giving some decisions a bit more consideration, for the mutual benefit of all involved. How that is perceived as an evil personal vendetta escapes me. I will not "buy" respect by releasing a product. It's like saying that , because I haven't released an album myself, I cannot comment on Jimi Hendrix missing a couple of notes in his Purple Haze solo. Especially so, since everyone can hear the empty plucks. Here, we all share a common interest, about a fun activity, and I'm being accused of being a lying monster, for having made some suggestions on how to improve everyone's experience. Even if I was totally wrong, I didn't deserve that treatment. I feel that I've gone out of my way to avoid insulting people, when I was not afforded the same courtesy, but it's all good. But to suggest that I need to "give up the goods" before I can comment on well-known concepts, is not exactly an environment conducive to giving - imagine that. Pretty brazen, actually. I imagine that Jedi Mind Trick has worked at least once in the past, though. Besides, I cannot release now, mainly because I want to solve these problems first: 1. Being an alpha-level product means that, not only does it have bugs, but those bugs are well known and need fixing. I don't want to subject my users to a massive bug fix cycle. 2. As soon as someone releases an awesome demo, I will have to provide demo sync support for that version, and every other release since. 3. I have no web site, which would house exes, source code, documentation, and a forum supporting bug submittal. 4. I have a lot of documentation to write, which I want the user to have available at release time. 5. I need to finish up mod documentation. 6. Planned is an extensive automated testing phase, which can be complicated, but is needed before release. 7. I want to be in a position where I can support my users, which I cannot do at the present. This is my port, designed to make me happy, and have all the features I want in my port. However, each of those features can be disabled and/or adjusted without recompilation, so it should be able to be enjoyed by many. But I will not release a half-baked product. I am not competing with any other port, and I am taking my time. On the custom title: N/A, but Funny. 0 Quote Share this post Link to post
Jon Posted February 21, 2017 I think that the recent discussions have been unnecessarily heated and kb1 you have come under fire which I think is unreasonable. kb1 said:I will not "buy" respect by releasing a product. It's like saying that , because I haven't released an album myself, I cannot comment on Jimi Hendrix missing a couple of notes in his Purple Haze solo. Especially so, since everyone can hear the empty plucks. Of course, you should do what you like with your port. You should not feel under any pressure to release it. IMHO, it's frustrating to read you talk about it though. I'd prefer it if you mentioned it less often, if at all. 1 Quote Share this post Link to post
Rachael Posted February 21, 2017 As I said - you do you. I don't consider a release "buying" respect. I think the reason why anyone at all is ragging on you is because you keep using it as a defense for your argument. If you keep doing that, that defense breaks down rather quickly when you have nothing to show for it. From the way you sound, you sound like a bit of a perfectionist. I don't think it's worth it to be. State that this is an alpha. State that there are known issues. Trust me - people will understand. Yes there's going to be those few idiots who report the bugs anyway and say "lulululul kbdoom is worse than doom legacy for stability laaaawwwlz!" - don't listen to them because they're the ones who ignored your blatant messages. Smarter people will stand up for the fact that you said so. Most importantly - as time goes on - as you fix those issues - people will see it start to become a lot more solid and stand on its own. If it makes you feel any better, I have a couple of embarassing attempts at adding splitscreen to GZDoom. Warning: The unholy hacks used in this are not for the faint of heart to view. Neither of these are worthy of submission - neither really work properly. But I did learn a lot from doing them - I know now a lot more about GZDoom's internal structures than I ever did before. And that never would have happened if I had not made those attempts at it. It's extremely embarrassing having my name on that code - but at the very least, now that it's done, I know how to go at it better the next time. Keep in mind - most people would never make such a coding atrocity like this public. :P 1 Quote Share this post Link to post
kb1 Posted February 22, 2017 Thanks for the kind words Fonze, Jon, and Rachael. @Rachael: Points well taken, and being considered. And, no need to be embarrassed about your released split screen code. I haven't checked it out yet, but, sometimes you have the paradox of needing to see the result, before knowing how to build that result :) So you have to make a test jig. Or 2 or 3 :) It's sometimes a necessary part of the process. 1 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.