• Content count

  • Joined

  • Last visited

Community Reputation

2010 Excellent

About WozNZ

  • Rank
  1.   The reason it has not been touched in ages is that WinForms is very old tech, MS ditched it a while back for WPF and the various flavours that has been through to get to Win10 apps. Expect it it live on for legacy code but nothing new will ever be added to it imho, similar to the way MS dumps their DB access toos every x x years for new tech.
  2. Mechanical keyboard choice is a personal thing, there are many switch types apart from the basic Black, Red, Brown and Blues each with unique feel to them. You even get into the more esoteric switches like tourpe etc. If you are going to get a replacement for the Das you should really visit a few shops and try all the different switches you can. Or get a key switch sampler which normally comes with 8 different Cherry key types and key caps to try the different feel. If you want a really light feel then hunt out and try Reds, these are my favorite (work and play) but you tend to use them full travel as no feedback apart from the end stop.    
  3.   And this is where the functional world has it right although it brings in the word which terrifies.... monads lol With something like an Either<TR, TL> you get the error handling and the added benefit that your code is clean as you do not have if/case etc in your flow to determine if you are in error state or not. And I agree with you totally, it is possible to write good code that does not fault when you push the side effects to the edges of your code. 
  4. The real question you have to ask is will the anonymous object close over any variables in Update(), if so you might not have any option. If you are not using closures to capture anything then TheChubu has covered the subtle impact of the different approaches you could take.
  5. Unity

      About 6 years off, but yes it has been a long time. In the early to mid 1990s most games had enough processing power that they started decoupling systems. I remember reading the advice back in old BBS systems as early as 1993, possibly before.     That decoupling is what enabled the original Doom to be successful in the way that it was. Carmack and his crew famously described their task scheduling system which many people talked about, and it was immediately obvious how big the benefits could be.   Doh, it was the physics and game loop speed in Q3 that gave the strange effect, not the input  That is the trouble with going back that far, brain fuzz lol
  6. Anything that breaks  "same parameters supplied always gives same result" is difficult to test, simple fact. You get an explosion of test cases that is not obvious from the supplied parameters.   This is the issues with any form of global state, if that state is also mutable you have a world of pain and bugs.
  7. Unity

    I think the tight couple between render and engine started to fall away after Quake3 days, that had strange behavior where you wanted exactly 62 or 92fps (From memory, long time ago) With the right FPS you could pull off a number of jumps and jump higher than people at different FPS. The tight couple effected the physics calcs.   As others have said, it is far less common now, doubt any AAA games do and most games built on a high profile engine will not
  8.   Yes, each toss is a new instance but if you are looking at multiple random events, even if they are independant, multiplication-law still applies, which means that your chance to see not a single H in X tosses is still lower. This can be easily visualized by looking at the possible outcomes of say 3 coinflips:   HHH HHT HTT HTH THH THT TTH TTT   All of those outcomes are equally likely, but there is only one here that doesn't have a single head. So your chance of flipping three coins and having no H is 1/8, and so on. Now if you are at 3 tails and want to know whats the possiblity for another tail is, it is 50/50, yeah, and thats why doubling doesn't work in any case. But I was mainly talking about the multiplication of multiple idenpenant events, which i demonstrated here.   So you are right that at 100 T, you are equally likely to get another T, but you are not likely to even get to 100 Ts in a row.     Multiple independent events are different before and after they have happened though :) The change of HH before you flip any coins is 1 in 4 but after you have flipped one coin and got 1H it becomes a 50/50 flip. This was the point I was trying to make, depends on when you make the observation and the question you ask. And I am correct that 100H is the same change as an exact  HTHTHT.. sequence. The chance of getting say 90H and 10T in any order though is a very different number :) I think we are actually on the same sheet in our view. What the OP of the topic failed to see with monty hall, it changes the rules part way through based on previous selections and that effects the probability.
  9.   I did not say that deep pockets were not required :)
  10.   For the classic H/T coin toss there is NO difference in probability between 100H in a row and alternating H, T, H, T, ...... as each toss is a new instance so what has gone before has no effect, you might be recording what has gone before but that does not effect the future.   So for roulette if you are playing the pick a colour and double up each loss it makes no sense to change colours ever. If black has come up 10 times in a row there are no better odds for Red to come up.  If you have enough money and the house allows you to constantly double it is a valid strategy. This is why most casinos will block the strategy with bet limits. If you were doing the same sort of betting on coin toss then 100 or even 1000 H in a row is as probable as H, T, H, T, ......  otherwise the chance would not be 50:50   The fact it is 50% chance could still mean you might not see a T come up in 1000s of flips. The law of big numbers means that over time the occurrences of each will balance out BUT this could be over a VERY long period. As others have said, The Monty Hall  problem changes details and hence probability of outcome.
  11. I switched from Android over a year ago to a Lumia 950. The reason I went with WP was: 1) Not Android. Long time Android user and got sick or late security patches or even no patches unless you have a Nexus.  2) Not Apple lol   A year in as my only phone and I would not go back to Android. The updates are a frequent as the Desktop OS. It works fast and fluid and the UI is just better than anything Google or Apple have in the same space. It is just a nice system to use, that said I am not a heavy app user. Would I dev for it, not at the moment. That said, if you are writing for the Win10 Universal platform you would be stupid not to include the phone as it is probably not much of an ask once you have your desktop, xbox and any other format as they are just UI tweaks, as long as you are in C#. The real thing to watch is the much talked about Surface Phone, I believe this is what MS are about to bet the farm on in the mobile space. From what I can pick up reading between the lines of MS news and rumor mill is that this could be a game changer in the mobile space. 1) Full Win10 on ARM. If the SD835 lives up to the hype and gives a good enough desktop experience then for many they will only need one device, this. 2) Folding format. It is a phone or tablet etc http://www.theverge.com/2017/1/16/14284444/microsoft-patent-phone-tablet-surface-phone-rumors 3) While MS have pulled out of Lumia Hardware they have been busy in Win10 Phone code constantly improving it, the experience now vs a year ago is worlds apart.   So if they can bring Surface Phone out in timely manner, say the next Win 10 release and Surface products Such as Surface Pro 5 etc, then it could the hook into the market MS want. Leave it for another year and they might as well just give up lol
  12. There is no need to use the xamarin IDE from what I understand. MS purchased xamarin and rolled up support for the library and projects into VS so VS should support out of the box now. If not with downloadable extensions I would not use the RC until released, I get the feel it will be timed on or shortly after the next Win10 release in a month or so. C#7 brings some nice new syntax into the mix and worth switching for that imho but I am holding off until comes out of RC status.
  13. If inheritance is causing issues in your OOP code, switching to ECS isn't the answer; learning OOP properly is the answer. OOP teaches that you should use composition of components instead of inheritance whenever possible, and inheritance doesn't even get a mention in the core principles of OOP.       That said I remember almost all very early OOP literature and teaching back in the day was all very biased towards inheritance with classic inheritance trees taught with vector draw apps and the like. This has left its terrible mark on many a long standing code base :) 
  14. There is no "correct way/path/technique" to learn to code apart from the hard way. Does not matter if it is a game or otherwise. By this I mean you will Make mistakes in design. Create stupid bugs. Box yourself into corners that cause you to re-write massive blocks of code. Create code that does not perform well Use the wrong data structures The reality is no course or book will teach you this stuff. It is what you learn by building different non-trivial projects and making the mistakes listed and then learning from them so you can spot them ahead of time on the next project. It is also learning different languages over many years so you have different tools and techniques at your disposal :) So read stuff, learn stuff and try it out the repeat. And enjoy the journey :) Oh.... There is a golden rule that should ALWAYS be followed no matter the language or type of thing you are working on, be it just your or a team of people. It will save you a world of pain :) Drum roll...... Learn how to use source control (Git, SVN or any other, does not matter which) and then use it always.   
  15. Needing a goto in a switch shows bad code structure imho,   The C style fall through is also a common source of bugs where a forgotten break can cause real issues.