GDNet+ Basic
  • Content count

  • Joined

  • Last visited

Community Reputation

2436 Excellent

About ericrrichards22

  • Rank

Personal Information


  • Github
  1. Wolfenstein 3D Game Engine Black Book

    All three are at the top of my to-do pile. Every couple years I pull out the ray tracer I wrote for a college class and port it to whatever new language I'm learning. I think F# is next
  2. C# - "Object reference not set to an instance of an object"

    Why is GUI.buttonContainer static? You're going to always be drawing all of your buttons on all of your GUIs, so at best if you've got two of these top-level GUI objects, you're going to draw every button to whatever window it's supposed to be in twice. Unless there is more we're not seeing, I don't really see the point of Button subclassing GUI, either...
  3. It's really spreading everywhere lately. It seems like half the non-AAA games on Steam these days are in Early-Access... It's not necessarily a bad thing; as long as you realize that you're buying what the game is RIGHT NOW, and the potential of what it might be later is just icing on the cake. For instance, and this is many moons ago now, I bought into Mount & Blade back in maybe 2005 or 2006, way before it finally was finished - but even in that very raw and somewhat buggy state, it was a really fun medieval combat simulator.
  4. Will we ever see an adoption of something other than C and C++?

    Beyond compiled vs interpreted, this is really veering into the territory of dynamic vs static typing, and also the strength and expressiveness of the type system. Javacript and Python aren't a PITA for large systems because they are interpreted - although things like exec and self-modifying code and monkey-patching don't help - it's mostly because they've got dynamic type systems that are pretty weak. Static typing isn't necessarily a silver bullet; C is statically typed, but weakly, and you can do all sorts of evil stuff casting and poking at memory. Haskell might be getting too far into the chains-and-whips masochist end of the spectrum, but it increasingly seems like evidence is piling up in favor of more strongly, statically typed languages. At least for anything that has to be supported and maintained and isn't quick-and-dirty throwaway code.
  5. 3D I like to learn about BSP rendering

    If you haven't already, you might want to look into Chocolate Doom ( It's a pretty clean and straightforward port of the original Id source. I think it uses SDL, the last time I looked into it. Likewise, for another good deep dive into how the Doom engine worked, and how it used BSPs, Fabian Sanglard's website is fantastic (
  6. Will we ever see an adoption of something other than C and C++?

    I chuckle a little bit whenever I see that the next big thing in the front-end world is something that existed 10, 15, 20, 30 years ago... We keep reinventing Java applets, Flash, UI paradigms that are old enough to order a beer, and even makefiles. But in Javascript!
  7. Will we ever see an adoption of something other than C and C++?

    We're standing on top of forty years of C-based APIs and libraries. Despite some attempts to slowly port or replace parts of that legacy - thinking of the Rust Evangelism Strikeforce redoing libc, or Microsoft trying to replace Win32 with UWP - everything is stacked up on top of those old C-based foundations. There's a lot of inertia. D is an interesting case. I remember articles on here at least ten years ago touting D as a replacement for C++, but it just can't seem to get much traction. Maybe if it had one of the giant tech companies pushing it, like Google does with Go, or on a lesser scale Mozilla is doing with Rust, but ultimately the Linux kernel is C, and the Windows kernel is C/C++, Android is Java, IOS is Obj-C/Swift, and the web is Javascript. If I had to guess, what I imagine will happen is that we're more likely to see C++ continue to morph into different directions and evolve, rather than be replaced. I've been watching that kind of process happen with C# over the last decade, as it keeps stealing more and more ideas from F# and other functional languages
  8. Resharper is fantastic if you're running Visual Studio on Windows. Otherwise not so much. If you want something nicer to use than MonoDevelop, try JetBrains' other product, Rider, it should run on Windows, Mac, or Linux. It's got most of the same refactoring tools and other bells and whistles that ReSharper adds. P.S. if you're a student or still have a .edu email address, you can usually get a student license to the whole JetBrains suite, which has all kinds of goodies.
  9. DX11 DirectX 11 , Where to start?

    Truth be told, there aren't that many DX11 books out there that I am aware of. There were seemingly a lot more books written in the DX7, 8 & 9 eras - I've easily got a half-dozen on my shelf right now. There's a Direct3D Succinctly free ebook from SyncFusion, which would probably be good for a quick-and-dirty let's-get-things-going overview; I haven't read that one specifically, but that whole series is usually pretty well-done but very concise. My suspicion is that the rise of Unity and Unreal Engine as free tools have shifted most peoples' focus further up the stack. Where there used to be a ton of books titled "Program an XYZ game in DirectX", now there are tons of "Program an XYZ game in Unity/Unreal Engine" books.
  10. Any gun enthusiasts here?

    Caliber doesn't tell the whole story with different firearm cartridges. For example, the picture below shows a variety of rounds that all have a .22 caliber bullet, but wildly different powder loads behind them. On the left you have a .22 LR cartridge, which is typically used at relatively short ranges (< 100m) for target shooting or squirrels; many of these rounds are manufactured so that they have a muzzle velocity below the speed of sound (~1000 ft/s). On the right is a .22-250 round, which can exceed 4000 ft/s muzzle velocity, and is typically used for long-range shooting, 300-700m. Similarly, there is a huge difference between rifle, "intermediate" and pistol rounds. Below are a 7.92mm Mauser rifle round, a 7.92mm Kurz round (used in the first modern-style assault rifle, the StG 44) and the 9mm Parabellum pistol round. Very different powder loads, bullet masses, and bullet geometries. The usefulness of each round really comes down to range and rate of fire. The Mauser rifle round is a very accurate and effective long-range ammunition, but has tremendous recoil - so unless fired from a heavy weapon with a bipod or tripod, fully-automatic fire is not feasible; after the first round or two, the recoil would destroy any ability to aim accurately. On the other hand, the 9mm pistol round has significantly less recoil, but nowhere near the same stopping power, and becomes pretty inaccurate and ineffective at anything beyond short distances. This means it was well-suited for pistols and also sub-machine guns, like the MP 40, where the lighter weight and recoil of the 9mm made fully-automatic and burst fire from a hand-held weapon very effective in close-quarter fighting, but mostly useless beyond that range. The intermediate Kurz round was designed to have most of the ballistic performance of the full rifle round, out to the ranges that were typically encountered in actual battle, but with reduced recoil to permit rapid fire. It was also about half as heavy, in pure weight, so you could lug around twice as many rounds of ammunition.
  11. DX11 DirectX 11 , Where to start?

    Be very careful with this one. The technical content is pretty decent, but oh flying spaghetti monster, it looks like it wasn't even put through the Microsoft Word grammar checker, let alone put in the the same room as a proofreader, which makes it much more difficult to understand than it ought to be.
  12. seeing ads since site upgrade

    Well, the anti-ad-blocker prompt doesn't seem to be harassing me anymore if I'm logged in and turn on UBlock, so that's something. I'm happy to pay for a membership here, and I want the site to make enough money to be viable, but the layout really gets to be a mess when you've got all those ad-units cluttering up stuff, animating themselves, not sizing to their containers correctly the way AdSense ads always do, and bumping the real content of the site down the page - particularly since the main reason I come here, the forums, is buried at the absolute bottom. It's probably a PITA with the site software, but being able to show/hide or rearrange the panels on the home page would be a nice perk of having a membership.
  13. Some question in memory [ Data Structure ]

    I believe he is referring to C++11, the 2011 version of the C++ standard, that modern C++ compilers are supposed to comply with. Historically, C++ was a little wild west, with different compilers often producing all manner of non-standard behavior, and kinda almost not really working the same way. So you'd compile some code with Borland, which would produce different assembly than MSVC++, which would produce different assembly than G++. They might layout memory differently, they might support different preprocessor directives, all kinds of mess. Eventually people realized this was awful, and got together to write standards about how memory ought to be laid out, amongst myriad other things that Bjarne Stroustrup had left sorta vague.
  14. DX11 DirectX 11 , Where to start?

    Luna's examples won't compile anymore? I guess it has been a few years since I tried. One of the knocks on his examples is that they all use the Effects Framework, which has been deprecated, and maybe doesn't exist in the latest DirectX SDK? Another good one is Practical Rendering and Computation with Direct3D11, which was co-written by one of the moderators here, MJP
  15. Good scifi-esque resource/metal for worldwide wargame?

    Aluminum, titanium, maybe? Aluminum isn't exactly rare, though. Rare earths probably do make sense as a resource, given how important they are in electronics these days and for the foreseeable future. Creating up fictional resources is dicey. There's only so many elements, and for the most part, we have a pretty good idea of how they combine under normal conditions. Any kind of Rearden Metal or Tiberium or whatever is starting to veer into fantasy.