• Advertisement


Senior Moderator
  • Content count

  • Joined

  • Last visited

Community Reputation

18485 Excellent


About swiftcoder

  • Rank
    Moderator - Game Programming

Personal Information


  • Twitter
  • Github
  • Steam

Recent Profile Visitors

104439 profile views
  1. Which API to learn first

    On the flip side, if you happen to own a Mac, I'd put Metal right at the top of the list for ease of learning. You get a pretty familiar-feeling setup for anyone with an OpenGL background, while easing into the lower-level stuff without all of the complications that Vulkan/DX12 layer in.
  2. Aside: this line isn't doing much of anything: GLES20.glClear(GLES20.GL_ALPHA_BITS) Alpha is part of the color, and hence will be cleared by GL_COLOR_BUFFER_BIT.
  3. To my mind, where TTS really has the potential to shine is in large, procedurally generated game worlds. Conversational AI is at the point where is at least somewhat feasible to arbitrary conversations with NPCs. For a game the scale/ambition of something like Skyrim or No Man's Sky, but with free-form conversation, voice acting is liable to be prohibitively expensive (both in monetary and storage terms). This isn't a new idea - Douglas Adams shipped a game with free-form conversations in the 90s, but ended up relying on massive amounts of pre-recorded audio for the responses. We're ever closer to lifting that limitation.
  4. C++ comparing 2 floats

    When returning from main(), I recommend using EXIT_SUCCESS/EXIT_FAILURE. These are unambiguous, and will map to whatever your OS considers to be the correct exit values (typically POSIX's zero==success).
  5. I just want you to give me your opinion as developers

    I like the art style. Reminds me of those horror-tinged children's books we read as kids.
  6. Leaving a company at a critical moment

    You might also consider taking the offer to your current employer, and ask them to provide a counter offer to be competitive with the 12k raise + bonus + commuter benefit. Hard to predict whether or not they will counter, without knowing the company. But it's largely a win-win situation: if they do counter, you may have the option to stay, and if they don't, you get to walk away with the knowledge that you have been transparent about your reasons for taking the other job.
  7. The Go Programming Language

    I don't disagree in principle. But I think it is worth calling out that writing unsafe Rust is a very different process to writing normal Rust code, and it won't necessarily serve a newcomer to the language very well to start there.
  8. Lock camera on object

    That's not enough information to unambiguously derive the camera orientation. There are infinite possible camera up-axes that will satisfy your contraints. However, I'm assuming you desire the camera to remain roughly "upright", so... Typically one takes the vector from the camera to the look point as the camera look direction. Then you pick an arbitrary up-axis (say, world up, which may be the positive the Y-axis), make sure it isn't parallel to the look direction (pick another abritrary axis in this case, say positive X-axis), take the cross-product of the up and look vectors to derive the right vector. Then cross the right and look vectors to get your actual up vector. Now you have 3 perpendicular vectors (look, right, and up), and you can derive the 4x4 rotation matrix by substituiting in those values.
  9. What's so big about World of Warcraft ?

    I think it may be hard to pin down a singular reason why WoW is so enduring for much of its player-base (i.e. if one could find the magic ingredient, it would have been cloned 100 times over by now). I'd hazard that it's likely to be a combination of a variety of factors, among them: Sheer quantity and variety of content. Quality of endgame content / encounter design. Strong sense of community, particularly if you play with a group of friends. Blizzard's willingness to radically change the gameplay over time. Incredibly rich ability to mod or even wholesale replace the game's UI.
  10. Probably going to need a little more context than that to divine the error. Do you have a minimal example you could link?
  11. Over-ambitious projects

    This is in no way limited to game development - every teenager with an electric guitar thinks they will be the next Jimi Hendrix too. It's easy to underestimate the difficulty of anything, before you have tried and failed a few times.
  12. A little off-topic at this point, but either the landscape in those expensive hubs has changed a fair bit since those numbers, or engineers are ridiculously underpaid in the games industry. For Software Engineers at a decent size tech firm in a hub, you are looking at north of 10k/month compensation for a brand new college hire. Experienced juniors are often compensated to the tune of $20k/month. By the time you add the cost of health insurance, taxes, office space, etc. I'd be surprised if the fully-loaded cost of an engineer was much below $30,000/month. Multiply those figures by 1.25-1.5x if you are looking at a really expensive hub (i.e. New York City or the SF Bay Area). Multiply again if they have 'senior' in front of their name.
  13. When did immediate mode take over the web?

    Taking a tangent for a second, the technology absolutely does exist. It's just not being applied like that. Gaikai/OnLive/PlaystationNow have been around for years, and all allow streaming video games rendered in the cloud to be played on hardware that lacks significant GPU power. I used to play AAA games on a woefully underpowered 11" MacBook Air back when OnLive still existed. Folks are even homebrewing this sort of thing on AWS GPU instances...
  14. The Go Programming Language

    By "base bindings", I assume you are referring to gl-rs? It works, certainly, but being a straight transcription of the C API, pretty much the entire API is unsafe, and you lose many of the advantages of Rust's type system and borrow checker.
  15. Algorithm Room Assignment Algorithm

    Sounds like you are looking for constraint optimisation.
  • Advertisement