• What are you working on?
    5,004 replies, posted
[QUOTE=geel9;49872858]Okay, I'll make sure that if you're ever in a position to be hired by me, I won't hire you, because you write bad code. No matter what, regardless of how good your code appears to be, "good code" is entirely, 100% subjective, and therefore your code is entirely bad and will never be considered for hiring at whatever company you're applying for.[/QUOTE] I think you missed my point. Different circumstances call for different standards of what good and bad code is defined as. Working on a team environment most good practices that are said to be good practices actually seem to hold up. Working solo on relatively small projects most good practices that are said to be good don't hold up and make you less productive, therefore you need to find different good practices that work under these circumstances (solo and relatively small (<100k LOC) projects).
Ahhhh, the smell of a fresh shitstorm, hmmmm [editline]5th March 2016[/editline] Do you guys realize that decompiling any code will be really different from the original code? Do you also realize it doesn't matter how you code as long as you get things done? Pull your religious shit back and punch out some more code or content here, thank you.
Holy fuck you guys like to argue over stupid stuff.
[QUOTE=Sidneys1;49872190]Can anyone else not connect? FileZilla just gives me 'cannot connect to server'[/QUOTE] I hope we didn't knock him offline :wavey: [editline]5th March 2016[/editline] [QUOTE=MilkBiscuit;49872297]The worst part about that NPC class is that all those if-else nightmares are just to pick out a name for the fucking NPC. [B]Why the hell would you hardcode that?? How the hell do they translate the game?[/B][/QUOTE] One of the other files has a wrapping [I]if[/I] for the language :v:
i don't think this is how fans work [IMG]http://i.imgur.com/vItHUsN.gif[/IMG]
[QUOTE=adnzzzzZ;49872658]Both examples were written by professionals (gurus) who supposedly know what they're doing. These are not randomly picked examples.[/QUOTE] They're the first examples he found in video tutorials about OOP. I'm not sure how much you follow those, but most of them (and OOP teaching material in general) is often abysmal and almost always doesn't represent the more complex cases in which OOP shines. Especially video tutorials on programming are often really bad compared to other kinds of tutorials, and tutorials are often bad compared to other kinds of programming instructions. This means that while he may not have cherrypicked specific examples (Not trusting him on this. He's very obviously trying to stir up and/or manufacture controversy with those videos.), he picked them from an extremely biased sample. [QUOTE]I agree that for game objects it's great. This is because your simulation and the objects have a 1:1 mapping. Doing anything else would be stupid.[/QUOTE] Technically speaking this actually isn't true. For game objects it makes more sense to use composites in [I]most[/I] cases. Doing anything else would be stupid once your project grows beyond a certain complexity. [QUOTE]Here's the thing I don't understand whenever people point to code like this. He's been updating the game for years now. Clearly the code is, to him, maintainable. If it wasn't he would have just given up on updating the game at all. So why do you use it as an example of bad coding? All the evidence in the universe points to it not being bad coding and points to it being code that is manageable and maintainable over a long period of time. Maybe realize that the rules for single developers are different than the rules for people developing things in teams, and that code like this for single developers is perfectly fine. Or just keep making fun of code like that and never getting anything done because you're not productive enough.[/QUOTE] I went over all of this stuff previously, but it seems you completely ignored my post, so I'm not going to do it again. Dig up the post if you want to know why I think you're being ridiculous and ignorant about this topic. In any case, this whole discussion is more on the pseudo-religious side of "professional self-improvement" and "life hacks", so I feel dirty even touching it. At least I have two monitors now, so it was easy to watch the video on the side without actually wasting time on it. He could have made every single actual point in five minutes at normal speed. I'm wondering if [I]you[/I] actually watched the video though, because even Will calls the equivalent of the Terraria source "ugly code" (and calls for the use of dependency injection in Ruby of all things :sick:). It's impossible for the original Terraria source to have had a [I]switch[/I] statement in those places because the compiler compiles those to jump tables rather than condition chains, which decompile to switch statements in all decompilers I've used so far. [editline]5th March 2016[/editline] [QUOTE=cartman300;49872736]I have a dynamic IP and my router tends to fuck sometimes up and resets and therefore i get a new IP. I need to overengineer a solution for this, i could set up a program which updates my current dynamic IP to a file on my VPS which has a static IP and make it public so everybody can fetch it in real time as it happens. New one is [B]93.138.9.96[/B][/QUOTE] There are "dynamic DNS" services, which support either an updater on your PC or the router doing that if it's supported. It's pretty easy to set one up and I'm pretty sure there are still free ones (or at least I used one of those years ago). [editline]5th March 2016[/editline] [QUOTE=krassell;49872230]I could swear I saw video of Binding of Isaac developers coding flash version using basically same approach with huge ifs, nondescript ID numbers, one-file-to-rule-them-all style, but I can't find the video for the life of me. What worries me more is that both of these projects basically 'made it' to successive indie titles. It implies that there may be a correlation between bad coding practices and success, via speed of development. I.e. it's rather obvious that bad but hastily written code generally gets you farther in real world than beatiful code you spent several years polishing, but god damn, this code emanates extreme levels of "I want to be done and over with this shit, screw code architecture, screw guidelines, screw OOP, SCREW EVERYONE".[/QUOTE] It's definitely a trade-off, but you can make it along a few different axes so I don't think it's quite "[I]bad code => success[/I]". Once you're good enough, you should be able to fairly easily control which ratios of "speed, maintainability, documentation, features, content and/or correctness" you want, but it also depends on the person who's implementing that. For example, I'm fast at isolating functionality into modules and writing correct and maintainable code slows me down less than changing messy stuff later, so compromising on these points would actually make me slower overall if the project is larger than about five classes. (It helps that I have a ton of reusable libraries already written and constantly multiple irons more-or-less in the fire that share them.) I'm fairly sure I'm not as good in average content throughput or [I]distinct[/I] feature count than most other people here, so if I relied on rewriting parts more often I'd have a problem. (I'm working on that latter point, since all of these are matters you can either train or acquire through learning from materials. I normally do the latter more so I have a bit of a skill set imbalance in this regard.) I guess as general advice I'd say broaden your horizons and at least get enough of an understanding of each topic to not have outright knowledge gaps directly adjacent to what you work with. That way you'll be able to recognise when it makes sense to learn a new skill to solve your problem differently and when it doesn't. (I admit this is something I'm only figuring out in the generalised version just now though. Ask me in a year or so about it and I'll tell you whether it's as good an idea as I think it is outside of programming too.) [QUOTE=Swebonny;49872908][...] Also shut up or ban.[/QUOTE] I promise I didn't see this until just now. Please have mercy :ohno:
[QUOTE=Tamschi;49873415]They're the first examples he found in video tutorials about OOP. I'm not sure how much you follow those, but most of them (and OOP teaching material in general) is often abysmal and almost always doesn't represent the more complex cases in which OOP shines.[/QUOTE] One of those is from tutorials. The others are from highly respected professionals giving talks and telling people what they should do. [QUOTE=Tamschi;49873415] Technically speaking this actually isn't true. For game objects it makes more sense to use composites in [I]most[/I] cases. Doing anything else would be stupid once your project grows beyond a certain complexity.[/QUOTE] You'll never reach this level of complexity in the case of games like Terraria. It's very hard for a single developer to reach those heights simply because there aren't enough man-hours dedicated to the project for it to grow that much. [QUOTE=Tamschi;49873415] I'm wondering if [I]you[/I] actually watched the video though, because even Will calls the equivalent of the Terraria source "ugly code" (and calls for the use of dependency injection in Ruby of all things :sick:). It's impossible for the original Terraria source to have had a [I]switch[/I] statement in those places because the compiler compiles those to jump tables rather than condition chains, which decompile to switch statements in all decompilers I've used so far. [/QUOTE] The video and Terraria are two different things. I'm not someone who will just take that guy's opinion and run with it and say that it's true for everything. The Terraria example boils down to something like this... -> Set NPC name. -> Set NPC type and initialize NPC variables based on that type. -> Do NPC logic based on type. This is all very simple and straightforward. The only thing is that 1. it looks poorly indented, which could be a result of decompilation and 2. it's all done in the same class instead of split up on multiple files. 2. is very simple to solve, all you have to do is go to the NPC file and CTRL+F the thing you want to change/find and then just do it. I have a lot of code that looks like this (a method that is thousands of lines long) where to find myself I just CTRL+F the important part. I also tend to comment each part saying what it does in a few words so that it's easier to find later too. As for 1., I'll concede that IF his code is indented in the exact way its shown in there that it's stupid. But have you tested if if/elseif chains on the same level (instead of switches) sometimes decompile to if/elseif chains that are indented like in that example? The shape of most of those if/elseif chains can be collapsed to an if/elseif chain that is indented at the same level instead of multiple levels.
[QUOTE=adnzzzzZ;49873548] You'll never reach this level of complexity in the case of games like Terraria. It's very hard for a single developer to reach those heights simply because there aren't enough man-hours dedicated to the project for it to grow that much.[/QUOTE] I personally feel very bad doing something that I know wouldn't cut it for a larger scale if I think that I might some day work on that larger scale. I bet a lot of people feel the same. I guess that's why we see so much of these paradigm wars between programmers that don't really work at a level where even the alleged benefits would start showing. [editline]5th March 2016[/editline] Anyone know what could cause these kinds of glitches? [vid]https://dl.dropboxusercontent.com/u/35032740/ShareX/2016/03/2016-03-05_21-16-46.mp4[/vid] It's just a simple quad consisting of two triangles that's rotating on an axis.
[QUOTE=adnzzzzZ;49873548]One of those is from tutorials. The others are from highly respected professionals giving [B]talks[/B] and telling people what they should do.[/QUOTE] [emphasis mine] Exactly. That aside respect is pretty subjective. I don't want to brag, but I'm not going to respect someone [I]as a teacher[/I] who teaches with [I]those[/I] examples. [QUOTE]You'll never reach this level of complexity in the case of games like Terraria. It's very hard for a single developer to reach those heights simply because there aren't enough man-hours dedicated to the project for it to grow that much.[/QUOTE] Counterpoint: I have a game about half as complex as that in the works, and as far as [I]I[/I] am concerned I passed it about six hours in, at which point I refactored it into OOP. [QUOTE]The video and Terraria are two different things. I'm not someone who will just take that guy's opinion and run with it and say that it's true for everything.[/QUOTE] I know that, but you still shouldn't promote this crap without comment all the time. People here would be way more open about considering your ideas if you didn't constantly leave out necessary qualifiers. [QUOTE]The Terraria example boils down to something like this... -> Set NPC name. -> Set NPC type and initialize NPC variables based on that type. -> Do NPC logic based on type. This is all very simple and straightforward. The only thing is that 1. it looks poorly indented, which could be a result of decompilation and 2. it's all done in the same class instead of split up on multiple files. 2. is very simple to solve, all you have to do is go to the NPC file and CTRL+F the thing you want to change/find and then just do it. I have a lot of code that looks like this (a method that is thousands of lines long) where to find myself I just CTRL+F the important part. I also tend to comment each part saying what it does in a few words so that it's easier to find later too. As for 1., I'll concede that IF his code is indented in the exact way its shown in there that it's stupid. But have you tested if if/elseif chains on the same level (instead of switches) sometimes decompile to if/elseif chains that are indented like in that example? The shape of most of those if/elseif chains can be collapsed to an if/elseif chain that is indented at the same level instead of multiple levels.[/QUOTE] I agree with this, for the most part. I'm pretty certain that the code was originally something like [code]if (a == 0) b = "Alpha"; else if (a == 1) b = "Beta"; else if (a == 2) b = "Gamma"; [...][/code], but that's still really bad compared to [code]static readonly Dictionary<int, string> _names = new Dictionary<int, string>() { {0, "Alpha"}, {1, "Beta"}, {2, "Gamma"}, [...] }[/code] in brevity, runtime speed [I]and[/I] validation as soon as you have about ten items. If you have less, a [I]switch[/I] statement still beats it anyway, but can't be replaced at runtime for e.g. translation. I'm also pretty sure most people here don't mind the indentation too much and understand that the code is decompiled. (The latter is very obvious from the variable names and complete lack of comments after all.) The issue really is more that these are pretty blatant beginners' mistakes, which probably seems pretty strange to people who approach game dev only from the programming side. [B](This is a bit of an aside, directed at people here in general:)[/B] I think the reason you often see code like this in indie games isn't that it's necessarily more productive, but that many of the people who create them are originally artists. I don't think it's unfair to say that being a genius programmer alone, while certainly helping, isn't anywhere near enough to create a good and/or successful game, or even the most important factor. Code is often something that the consumers won't see, and that can be jury-rigged if it's not totally up to speed with the rest of the product. (In fact AAA companies and graphics hardware manufacturers constantly do this, or quite a few huge titles [I]wouldn't even run[/I] on most computers.) It's important to keep in mind that (indie) games are ultimately an experience that's consumed by people but usually not incredibly heavily relied on (compared to banking software or Valve's hat trading system at least), so even if there are a few glitches they'll forgive that. On the other hand, bad writing, bad gameplay design, or bad art and sound can break a game because they make it appear bland. Personally I'm definitely a fan of doing some boot-strapping to save myself work later, but it's true I usually won't go all the way in terms of documentation, error handling and/or testing if I'm not being paid for the work. Even then, I'd first ask in which ratio to prioritise these things against feature throughput, and, if I was dispatching the work, ask others to focus on these matters differently depending on the specifics of the problem and solution in question.
[QUOTE=Ziks;49871489]And if that didn't make you go insane, try this: [url]https://raw.githubusercontent.com/TheVamp/Terraria-Source-Code/master/Terraria/NPC.cs[/url][/QUOTE] I honestly don't understand how one manages to navigate and do things in files like that :v:
I'm a huge contrarian to OOP due to the way people tend to do OOP. (such as making absolutely everything objects, and abstracting things that are not even reused anywhere), but still, if you're going to cherry-pick shit OOP allow me to do the same for data-oriented design. All hail the [url=https://github.com/JohnnyonFlame/RoTT/blob/master/rott/rt_menu.c]10k line fucking monstrosity[/url] by Apogee Software. Duplicate behaviour and switch cases everywhere, hardcoded values thrown around for as far as the eye can see. There are many other examples, but this is a good one. [editline]5th March 2016[/editline] TL;DR Use the right tools for the right jobs. Don't be a nutjob defending your favorite fork when you're using it to break walls.
[QUOTE=Tamschi;49873788] I agree with this, for the most part. I'm pretty certain that the code was originally something like [code]if (a == 0) b = "Alpha"; else if (a == 1) b = "Beta"; else if (a == 2) b = "Gamma"; [...][/code], but that's still really bad compared to [code]static readonly Dictionary<int, string> _names = new Dictionary<int, string>() { {0, "Alpha"}, {1, "Beta"}, {2, "Gamma"}, [...] }[/code] in brevity, runtime speed [I]and[/I] validation as soon as you have about ten items. If you have less, a [I]switch[/I] statement still beats it anyway, but can't be replaced at runtime for e.g. translation. The issue really is more that these are pretty blatant beginners' mistakes, which probably seems pretty strange to people who approach game dev only from the programming side. [/QUOTE] I disagree so much with this. I don't think using if/elseifs like that is bad at all. I use Lua so I don't have switches and I do this all the time. It's very straightforward code and it's very explicit. You can find what you want where you want it and it's not bad. I don't think it's a beginner's mistake at all. [QUOTE=Tamschi;49873788] [B](This is a bit of an aside, directed at people here in general:)[/B] I think the reason you often see code like this in indie games isn't that it's necessarily more productive, but that many of the people who create them are originally artists. I don't think it's unfair to say that being a genius programmer alone, while certainly helping, isn't anywhere near enough to create a good and/or successful game, or even the most important factor.[/QUOTE] Again, I disagree with this heavily. I'm not an artist at all and all I do is program yet I reach the same conclusion as most of these people did. I think people gravitate towards these solutions because it makes them more productive. They might not consciously realize this but it just does. Not following the stated "good practices" gives you lots of advantages and I think the main one is that it makes you use less mental resources. People don't talk about this though, so it's no surprise people never even consider this. But I truly believe this is the main reason. Like, let's take your example. Is it easier mentally to just make the if/elseif or make a dictionary and then some code that will read that in some way and do something to it? The if/elseif is much faster and requires much less thinking and in a game specifically stuff like this adds up a lot.
[QUOTE=adnzzzzZ;49873876]<stuff>[/QUOTE] Both are wrong, you should be loading this from a resource file using a resource-id string. [editline]5th March 2016[/editline] Bonus point of being possible on either design paradigms!
[QUOTE=Syntox;49873825]I honestly don't understand how one manages to navigate and do things in files like that :v:[/QUOTE] Probably with two monitors and a spreadsheet on the second one. Decompiler indentation aside it's not super atrocious and you can Ctrl+F for the (item) names and numbers still. C# also has pretty great support for partial classes, so it's likely that's originally not all from a single file.
[QUOTE=chaz13;49872513]Thanks! fixed that, link updated. [URL]https://dl.dropboxusercontent.com/u/124783721/index.html[/URL][/QUOTE] I tried to flee from this zombie and somehow ended up inside a wall. [QUOTE][IMG]http://i.imgur.com/Qhiv0lV.png?1[/IMG][/QUOTE]
[QUOTE=adnzzzzZ;49873876]I disagree so much with this. I don't think using if/elseifs like that is bad at all. I use Lua so I don't have switches and I do this all the time. It's very straightforward code and it's very explicit. You can find what you want where you want it and it's not bad. I don't think it's a beginner's mistake at all.[/QUOTE] This is C#, and it [I]does[/I] have switches. Even in Lua those [I]if[/I]/[I]else if[/I] chains will slow down your program a lot if you use large ones instead of a lookup table in your entity update function though. Using OOP counts as the latter due to vtables or equivalents. [QUOTE]Again, I disagree with this heavily. I'm not an artist at all and all I do is program yet I reach the same conclusion as most of these people did. I think people gravitate towards these solutions because it makes them more productive. They might not consciously realize this but it just does. Not following the stated "good practices" gives you lots of advantages and I think the main one is that it makes you use less mental resources. People don't talk about this though, so it's no surprise people never even consider this. But I truly believe this is the main reason. Like, let's take your example. Is it easier mentally to just make the if/elseif or make a dictionary and then some code that will read that in some way and do something to it? The if/elseif is much faster and requires much less thinking and in a game specifically stuff like this adds up a lot.[/QUOTE] It depends on the person. Personally I work better with encapsulated code since it frees up the working set I have to use in terms of structured information in favour of interrelated information, but I know people who'd be helped a lot with even higher abstraction levels. From experience I can say that a lot of art-focused people don't want to put up with the initial "learn it theoretically" at all though, just as I have a lot of trouble with the practice-grind that is getting good at creating assets. This means many people who have the skills to make a great user experience will just "jump in" without getting a good overview first, and will then stick to what they started with for a while. Normally it's not a terrible issue but it can be if there are any skill cliffs in a particularly environment. A really good example of this are probably [URL="http://twinery.org/"]Twine[/URL] games, which are extremely easy to get started with but totally leave you hanging if you don't have somewhat extensive programming knowledge and want to do something more complex than switching between pages through links. (It's [URL="https://twitter.com/twinethreads"]a little like Twitter[/URL]. Tons of people spewing whatever they want to say, and producing a lot of [URL="http://ifdb.tads.org/viewgame?id=b9qi1133oovy7j1"]garbage[/URL], but you can find some gems there. It's by default no experience as good as [URL="https://medium.com/"]Medium[/URL] though, unless someone manages to create the equivalent of one of those [URL="https://twitter.com/SwiftOnSecurity"]really fun themed[/URL] and/or [URL="https://twitter.com/RestroomGender"]art accounts[/URL], or has the equivalent skill of making a decent Tumblr site.) In your case, I think you're quite an outlier. This stuff works [I]for you[/I], and is probably good advice [I]for and to you[/I], but when you promote it like this to others in general without adding qualifiers it turns into the opposite. We over here are more or less immune to it because we're mostly relatively experienced ourself, but if you tell this stuff to someone who's still bad at coding because of ignorance you'd probably cause a lot of trouble for them in the long run. [editline]5th March 2016[/editline] I guess the gist is: It would be a lot more (or only) beneficial for almost everyone reading your content if you focused on giving constructive criticism and promoting the benefits of your approach rather than broadcasting unconditional "Don't do this!"s. That you use someone else's words instead of your own in that regard doesn't make it any better unless you immediately apply sensible criticism (and even then I'd rather see you produce original content, because [I]that[/I] is usually great and takes less time to read through).
[QUOTE=Tamschi;49874057] but if you tell this stuff to someone who's still bad at coding because of ignorance you'd probably cause a lot of trouble for them in the long run.[/QUOTE] I think it's more harmful to tell people to blindly follow certain practices than it is to tell them not to. It's much harder to break away from a certain way of thinking when it's already embedded in how you think. What people do is that instead of coming up with their conclusions from first basic principles that they know are true and reason their way up from there, they prefer to just derive their conclusions from other people's conclusions, even though they don't have all the qualifiers either. I'm here telling you all the qualifiers I'm taking into consideration. People who say you should code in this way or in that way, say, avoiding duplication, are NOT telling you all the qualifiers. They're telling you that avoiding duplication solves X. But that's all. They're never telling you that avoiding coding duplication at all costs results in Y, which is a bad thing. This is true for all practices you read about out there. They very rarely mention what they do that is wrong. And this is especially true for practices that have costs that programmers don't like talking about, like how much they have to think to do something. Somehow programmers think that how much they have to reason about things is this endless resource. We're all smart right, why should we dumb down things when we're so clever and amazing? So costs like "mental resources" are NEVER talked about, even though they're arguably one of the most important ones people should be talking about.
[QUOTE=adnzzzzZ;49874108]I think it's more harmful to tell people to blindly follow certain practices than it is to tell them not to. It's much harder to break away from a certain way of thinking when it's already embedded in how you think. What people do is that instead of coming up with their conclusions from first basic principles that they know are true and reason their way up from there, they prefer to just derive their conclusions from other people's conclusions, even though they don't have all the qualifiers either. I'm here telling you all the qualifiers I'm taking into consideration. People who say you should code in this way or in that way, say, avoiding duplication, are NOT telling you all the qualifiers. They're telling you that avoiding duplication solves X. But that's all. They're never telling you that avoiding coding duplication at all costs results in Y, which is a bad thing. This is true for all practices you read about out there. They very rarely mention what they do that is wrong. And this is especially true for practices that have costs that programmers don't like talking about, like how much they have to think to do something. Somehow programmers think that how much they have to reason about things is this endless resource. We're all smart right, why should we dumb down things when we're so clever and amazing? So costs like "mental resources" are NEVER talked about, even though they're arguably one of the most important ones people should be talking about.[/QUOTE] Mostly right (if somewhat ignorant). So why are you posting videos that say people should [B]always[/B] use procedural code or functional code, and [B]expect the viewers to blindly follow[/B] absolute and unreasoned statements?
[QUOTE=Tamschi;49874134]Mostly right (if somewhat ignorant). So why are you posting videos that say people should [B]always[/B] use procedural code or functional code, and [B]expect the viewers to blindly follow[/B] absolute and unreasoned statements?[/QUOTE] Anyone who watches or reads anything and comes to the conclusion that they should always do this or do that is wrong. If the video says that (and I don't remember it saying it, but it might have) then the guy is wrong. But just because someone is wrong on one aspect of what they said it doesn't mean they're wrong in all aspects of what they said.
How about this: Program how you like to program and the way you (and the other people working on said code) can read and understand it. And don't be a cunt about it when someone else programs differently than you, even if it's "ugly to look at" because your cock gets soft when you try to read it. I don't have a lot of programming experience, and I haven't seen a lot of code from other people or other languages, but I have been bothered by how other people program. That's fine. I have never complained about the way that they did something, because that's not. [i]unless you use gotos then you deserve no sympathy for the amount of shit you will get[/i]
[QUOTE=TeamEnternode;49874190]How about this: Program how you like to program and the way you (and the other people working on said code) can read and understand it. And don't be a cunt about it when someone else programs differently than you, even if it's "ugly to look at" because your cock gets soft when you try to read it. I don't have a lot of programming experience, and I haven't seen a lot of code from other people or other languages, but I have been bothered by how other people program. That's fine. I have never complained about the way that they did something, because that's not. [i]unless you use gotos then you deserve no sympathy for the amount of shit you will get[/i][/QUOTE] Gotos can be fine if you use them in the right way.
[QUOTE=adnzzzzZ;49874180]Anyone who watches or reads anything and comes to the conclusion that they should always do this or do that is wrong. If the video says that (and I don't remember it saying it, but it might have) then the guy is wrong. But just because someone is wrong on one aspect of what they said it doesn't mean they're wrong in all aspects of what they said.[/QUOTE] I agree with this, but I still think it's possible to be more wrong than being right in a given piece of advice, which makes it overall something not to recommend uncritically. The video series is a good example (also because it's very superficial and as such isn't useful towards building an informed opinion, which would allow the listener to adapt to various different circumstances and to find individually better solutions). With the few posts here, which should take less than 10 minutes to read slowly, I think we've covered a lot more useful information than those 30 minutes of virtually non-stop talking.
[QUOTE=Darwin226;49873615] [editline]5th March 2016[/editline] Anyone know what could cause these kinds of glitches? [vid]https://dl.dropboxusercontent.com/u/35032740/ShareX/2016/03/2016-03-05_21-16-46.mp4[/vid] It's just a simple quad consisting of two triangles that's rotating on an axis.[/QUOTE] I'm not sure about why the two triangles are being treated differently, but are you sure that it's entirely inside of the view frustum?
So my game is picking up a little steam, and I've got a community of quite a few testers rolling around now! This is awesome! I've been testing the latest feature, clientside parrying, with two NA chivalry competitive players. It works surprisingly quite well at the moment which is nice - you don't have to block early to compensate for lag, but the difference between when you hit someone, and when the parry registers is not so huge that its a massive problem. When ping fast forwarding comes for the animations, it should be significantly like, actually *good* rather than merely playable, across the pond!
What are You Working On - Everybody argues with adnzzzzZ [I]AGAIN[/I] edition
Someone messaged me earlier today, offering to make models for Frost, they said they were "good at modeling" and "good at the blender" They asked if they could help, so I told them to make me a stone axe model.. [quote][t]https://i.gyazo.com/04ac878780032a983addc9c7499336a7.png[/t] [t]https://i.gyazo.com/9612e694b8f1eace379b64cbf2baf47e.png[/t][/quote] [B]Uhhh..[/B]
[QUOTE=chimitos;49874457]I'm not sure about why the two triangles are being treated differently, but are you sure that it's entirely inside of the view frustum?[/QUOTE] Well I think so. If I move the whole thing closer it still happens. The quad and the glitch scale up.
[QUOTE=sarge997;49875187]Someone messaged me earlier today, offering to make models for Frost, they said they were "good at modeling" and "good at the blender" They asked if they could help, so I told them to make me a stone axe model.. [B]Uhhh..[/B][/QUOTE] What are you talking about, you should hire this modelling demigod immediately.
[QUOTE=Darwin226;49875295]Well I think so. If I move the whole thing closer it still happens. The quad and the glitch scale up.[/QUOTE] The corner getting cut off looks like it's out of the draw distance and the segment getting cut upwards looks like zfighting/culling. It feels unlikely that both of those things would happen to look so similar. How are you drawing the triangles? Can you try drawing the two triangles by themselves, separately?
snip
Sorry, you need to Log In to post a reply to this thread.