Jump to content
  • Advertisement


Senior Moderator
  • Content Count

  • Joined

  • Last visited

  • Days Won


Promit last won the day on July 10

Promit had the most liked content!

Community Reputation

13343 Excellent


About Promit

  • Rank
    Moderator - Graphics and GPU Programming

Personal Information


  • Twitter
  • Github

Recent Profile Visitors

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

  1. Promit

    Career guidance

    I see you're in India, so I am not entirely sure how much of this advice will apply. But typically at least in the US and several other countries, there are programs to get a graduate degree by taking evening and online classes in some combination. So you might have classes Monday and Wednesday 7-9 pm. From there, it's just about discipline and busting your ass doing all the work, because it doesn't come easy. You would likely take one or two courses each semester, which keeps the workload sane with the pressures of a full time job, and probably requires 2-3 years to complete.
  2. Promit

    PhysX 4.0 Announced as Open Source

    NVIDIA has announced a christmas present with the release of PhysX SDK 4.0 later this month, open sourced under the 3-clause BSD license. The big technical change in the physics engine appears to be the temporal Gauss-Seidel solver, enabling faster and more robust handling of contact points and constraints. For full details, please see https://news.developer.nvidia.com/announcing-physx-sdk-4-0-an-open-source-physics-engine/ View full story
  3. Promit

    PhysX 4.0 Announced as Open Source

    NVIDIA has announced a christmas present with the release of PhysX SDK 4.0 later this month, open sourced under the 3-clause BSD license. The big technical change in the physics engine appears to be the temporal Gauss-Seidel solver, enabling faster and more robust handling of contact points and constraints. For full details, please see https://news.developer.nvidia.com/announcing-physx-sdk-4-0-an-open-source-physics-engine/
  4. We have a lot of code that computes the length of a vector into a separate variable and then divides the vector through to normalize it. Enough that I'm tempted to make an extra helper function just for that usage pattern.
  5. ??? Normalize the vector, or just compute the angle directly via arctangent (atan2).
  6. Promit

    Overengeneering Modularity

    Do you have any game development experience?
  7. Promit

    Overengeneering Modularity

    Alright, let me try to organize some thoughts on this subject. Modularized design is one of these things that everyone tosses around as of course that must be a good idea, but very few people actually succeed at doing. As has been noted, C++ is particularly poor for modular design compared to most later language designs, but that's far from the only issue or even the major one. Whenever code interacts, there are assumptions involved about how both sides behave. It's tempting to say that oh, B strictly depends on module A and so module A can be cheerfully reused, interchanged, etc without having to worry about B. It's also easy to say that things won't ever end up straddling the boundary, or making assumptions about the internal behavior of either piece. This is where we start to head into the land of leaky abstractions, systems that ostensibly live as independent modules and yet expose much more of their implementation than expected or intended. Eventually at the scale of something like a game, we tend to end up with modules that are entirely co-dependent, at least at a behavioral level and sometimes at a full code level. The physics and rendering code ends up with hacks, taps, or magic variables that exist to enable behaviors and structures that simply did not modularize in any meaningful way. I've seen people argue that the entire concept of code reuse (especially in the context of OOP) is overblown and more of a fantasy than reality, though I think that's extreme. That's all well and good at an academic level, but you'd probably like some advice about what to do about it. I'm going to give the same advice I give for many design problems: don't do anything at all. The biggest mistake developers routinely make is designing systems and interfaces for what they imagine they would like to solve instead of what they're actually solving. Focus on the exact things you need to actually produce the exact product you're making, and put just enough design effort in so that everything doesn't go to hell if you need to reshape it later. KISS and YAGNI are undervalued approaches. Take your matchmaking server that doesn't need math code. Suppose the math code goes in anyway. Who cares? What has this cost you? What problem has it created? What problem does removing it solve? Don't get lost trying to solve problems you don't actually have. Create a module when you have need to share blocks of code smoothly across multiple products, and then you'll have the necessary context to design the module properly. There's no sense making a module out of something that only has one use case in the first place.
  8. You're absolutely in a dictatorship. We just happen to be a polite one. Unlike Khawk, I have no belief that political threads are healthy, useful, or positive for this site and I would not blink if we revoked them entirely tomorrow. Given that situation, not only am I not reluctant but I am actively enthusiastic to drastically limit participation in the political stuff. You are one of the people I was talking about. My proposed rules are intended to keep you out of these threads.
  9. Speaking as a member and not a moderator, these are the things I'd like to see: All politics threads must have some kind of plausible connection to games or the game industry. Sorry but most of your guys' opinions are terrible and I've grown tired of reading the latest stupidity. Minimum reputation to even participate in political threads, and I'm not thinking small here. Perhaps a hundred points. Alternately minimum post counts/account ages? Either way, I believe that new accounts should have no right to participate. An understanding that stepping out of line in these threads is grounds for an insta-ban, much more readily than we might normally do so. I don't think we've had much of a problem with this yet, but there are certain domains/sites I would blacklist, and YouTube links should be off limits as well. You all know why. An outright explicit ban on threads that touch on race, gender, sexuality. Nothing good can come of these discussions. As a moderator, I'd very much like the ability to force particular members out of political threads permanently. We've seen an influx of people lately who kinda sorta do some game stuff here and there but mostly have an axe to grind on political ideology and just can't help themselves. A couple are already in this thread.
  10. Promit


    This classified is now closed.
  11. I think this might be helpful - https://github.com/Dan6040/SharpDX-Rastertek-Tutorials
  12. Any chance I can push you towards C#? It's still fully UWP capable, you can still use DirectX, but it will be dramatically easier to move into from a Java background.
  13. It all depends. GLUT is ancient and irrelevant, but several other foundational libraries are perfectly viable as long as they're open source. The real issue nowadays is that graphics APIs are changing, platforms are coming and going, and professional studios need to be buffered against all of those changes. A math library needs to be flexibly ported to different CPU architectures with different SIMD instruction sets. Windowing libraries need to be expandable to handle platforms that may not even be publicly announced. You can't very well have MS come to you for an Xbox 4 demo and not be able to adapt to the platform. For those reasons, these core libraries can act as very short term gains, but in the long view it's more beneficial to control the underpinnings yourself.
  14. Promit

    Assembly language?

    I have to add some caveats in here. True, nobody builds games in assembly. But there are certainly uses for it. It's still common to write SIMD routines in assembly, especially newer instruction sets where the compiler intrinsic support is either not available or just doesn't work that well. PS3 SPUs were frequently coded in assembly. And debugging often involves going over the assembly code being emitted and run, in order to understand what's going on. Performance optimization also frequently requires analysis of the compiler output to fully achieve the desired results. We're not writing in assembly or even reading it on a regular basis, but you better believe that it comes up plenty in games.
  15. Promit

    Defining AAA

    It's unclear to me which days were the "romantic" ones, but I did want to try and put some numbers on budgets over the years. Luckily, some guy at Kotaku did the legwork already: https://kotaku.com/how-much-does-it-cost-to-make-a-big-video-game-1501413649. I should mention that some of these budget numbers are direct budget and don't count things like the effort put into building a publisher-shared engine, and often times the marketing budgets can be quite large. There's never been any doubt that budgets have inflated massively over the course of the game industry's evolution. The definition I was given around 2007 for a AAA title was simply, a game expected to sell more than a million copies. (Successful indie games might sell those kinds of numbers, but that was not usually the expectation.) If the term ever meant anything about the innovation of said games, that went out the door at least 20 years ago.
  • Advertisement

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!