Jump to content
  • Advertisement

ericrrichards22

Member
  • Content count

    342
  • Joined

  • Last visited

Community Reputation

2438 Excellent

1 Follower

About ericrrichards22

  • Rank
    Member

Personal Information

Social

  • Twitter
    EricRichards22
  • Github
    ericrrichards

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Not overly familiar with DirectXMath, and it has been quite a while since I was digging through the Luna DX11 book, but it looks like you probably need to use the constructor for XMFLOAT4, rather than rely on an implicit conversion https://msdn.microsoft.com/en-us/library/windows/desktop/ee419645(v=vs.85).aspx
  2. ericrrichards22

    How to learn from Quake source code

    He might be in that state now. By his own admission (can't find the source at the moment, but probably one of the interviews Fabien links to in the Quake blogs, or his .plan archive, or Masters of Doom), he wasn't really sure what he was doing a lot of the time back when he was writing these early engines; he was muddling through as best he could, and learning things left, right and center along the way. The Quake 1 engine is probably the most approachable of the open-sourced IdTech engines - I don't have it pulled down at the moment, but I was pretty deep into looking at it a few years ago, and I want to think it was on the order of 50k lines of fairly standard C89 code, which is more manageable to keep in your head than the later, larger engines. And it doesn't have a ton of the inline assembly and DOS-hacks of Wolfenstein or Doom. The OpenGL rendering pipeline is archaic, but its pretty standard for the way you had to do things back in that OpenGL 1.0 era. That being said, exploring the code base is more of an archaeological expedition than anything that you would want to take as an example of best-practices. The hardware available now is very different than what was available then, and we've got much more powerful tools, as well as twenty-odd years of insights into better ways to structure game engines.
  3. ericrrichards22

    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
  4. 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...
  5. 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.
  6. ericrrichards22

    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.
  7. ericrrichards22

    I like to learn about BSP rendering

    If you haven't already, you might want to look into Chocolate Doom (https://github.com/chocolate-doom/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 (http://fabiensanglard.net/doomIphone/doomClassicRenderer.php)
  8. ericrrichards22

    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!
  9. ericrrichards22

    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
  10. 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.
  11. ericrrichards22

    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.
  12. ericrrichards22

    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.
  13. ericrrichards22

    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.
  14. ericrrichards22

    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.
  15. ericrrichards22

    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.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!