Jerax

Members
  • Content count

    240
  • Joined

  • Last visited

Community Reputation

126 Neutral

About Jerax

  • Rank
    Member
  1. Quote:Original post by DevFred The problem is that "Visual C++ 6.0" does not include a standards conforming C++ compiler. Once you start writing REAL C++, you will notice. For C with classes, Visual C++ 6.0 is probably fine. Except the code generation is significantly worse than in 2005/2008 - you'll get faster running programs by using the latest compiler.
  2. Vertex buffer too large

    Use the debug runtime (it's in the directx control panel, which is in the start menu group for the directx sdk). Crank up the debug output level and watch the output window in dev studio, you should see a warning or error telling you why the device can't render your triangles.
  3. If you're only copying them it doesn't matter what format they're in - just write them out as they come in...
  4. Quote:Original post by efegea Perhaps a model with less polygons and less bone weights per vertex should run faster. How many weights do you have now? You only need 2 for decent looking skinned characters, and you can get away with 1 if you're careful about how you rig the models.
  5. Career choices

    Firstly, checking Blizzard's site is a bad place to start IMO. High profile devs like Blizzard can afford to be very picky about who they hire, so they won't hire people without experience. Smaller devs (and EA) are more likely to provide you with a job straight out of university. Secondly, many companies don't advertise junior level jobs as they don't need to - they get more than enough applicants without. You can try to applying to various places (you will probably get a lot of rejects though). If you have a really hot demo or similar that helps a lot, after all the whole portal team was hired en masse straight from uni based on the strength of their demo.
  6. How complex should a demo be?

    We have a programming test, but to even get that far you'd have to be noticed, that's where a demo comes in handy - CVs (largely) all look the same from grads. The basic hiring process is: Receive application, check CV and demo (if provided) - the majority of applicants are rejected at this point. Send applicant programming test (time given is one evening) - the majority of the remainder are rejected at this point. In person interview - about 50% rejected at this point.
  7. How complex should a demo be?

    Quote:Original post by jjd A demo is nice but it isn't something that most studios seem to look for in programmers. Instead, they are more likely to want to see a code sample that demonstrates your coding ability. Afterall, the quality of the demo gives little indication of how competent you are as a programmer (unless it is buggy and crashes, etc). Like Geoffrey I disagree with this as well. Having a good demo (bad demos do more harm than good) is the best way to get yourself noticed. Some comments on the demo posted above: - Give it a better file name, game.zip is way too easily lost/misattributed. Use your name somewhere in the file name. I have quite a number of demos from applicants kicking about on my machine at work, and half of them I have no idea who they're from because they have a name like game.zip. - Game failed to start - a simple unzip and run gave a rather cryptic message about incorrect application configuration (winxp, 8800gts). No mention of 3rd party requirements or such in the readme.
  8. Quote:Original post by markadrake I really don't know how far a company can actually go over anything you do as long as you're not making money from it. Whether you're making money off it or not is irrelevant - lack of profit is no defence against being sued. They're more likely to just send a cease and desist rather than going for damages if they think you have no money though.
  9. A very simple question about arrays in C++

    Why not just assign each value individually? It'll be a lot easier to read and skips the temporary. e.g. vertexData[0] = -2.0f+posx; vertexData[1] = 0.0f+posy; vertexData[2] = 0.0f+posz; vertexData[3] = -2.0f+posx; // etc.
  10. C sizeof problem

    Quote:Original post by Trienco "Good" old C has plenty of things to look out for. The most obvious is the annoying way you need to use typedefs, because structs/enums are pretty much anonymous. So (from hazy memory): struct Bla {}; won't work, instead you need to do typedef struct {} Bla; essentially typedef'ing the unnamed struct to Bla. Confusing compared to struct Bla {} obj; which in C++ declares the named struct and creates a global instance. Also, you can't just use Bla obj; but need to use struct Bla obj; You're kind of right. In C: struct foo { int bar; }; foo f; /* illegal, type foo undefined */ struct foo f; /* fine */ typedef struct foobar { int bar; } foo; foo f; /* fine */ struct foobar f; /* also fine */ struct foo f; /* illegal, type struct foo undefined */ typedef struct { int bar; } foo; /* works on most compilers, however some old/weird compilers disallow anonymous structs */ Enums and unions work similarly.
  11. I'd probably call it move, as in moveSpeed etc. Keep it simple. :)
  12. C sizeof problem

    Quote:Original post by loufoque In C++ the more efficient and elegant way to solve that is to simply use a range adaptor that reverses the range. make_reversed_range(your_range) and there you go, you get a range that you traverse in reverse order. The old variable is kept unmodified, and it is O(1). An access to the first element will simply automatically be translated to an access to the last element. A pipe syntax is nice too, your_range | adaptors::reversed. All of this is doable with the range algorithms and adaptors available in Boost. (For those who do not know about the range concepts, a range can be any container, a pair of iterators, or any other type that allows extracting of a begin and an end iterator) By the way, note that your code is not const-correct, and that's bad. Pulling that sort of stuff out in an interview I was conducting when asked to reverse a string would immediately lose you the job. Pulling in a ton of boost for a ~5 line trivial function is not doing anyone any favours. NB: His code is const correct - the intention is to modify the string.
  13. [C++] Volatile variables

    Quote:Original post by Red Ant As I've recently found out in another discussion about volatile (also on this forum), in Visual C++ 2003 or newer, making an integral variable volatile means you can safely access it from several threads without having to worry that its value might get corrupted. Check this Visual C++ 2005 description of the volatile keyword: http://msdn.microsoft.com/en-us/library/12a04hfd(VS.80).aspx Quote: [...]This allows volatile objects to be used for memory locks and releases in multithreaded applications. What they are describing has always been the case - x86 processors guarantee that a single read or write of a word sized variable or smaller will always be atomic. Note: this applies regardless of compiler. What they are not saying is you don't need to synchronize access. You can still easily get into situations where thread a reads the value, then thread b writes it, then thread a acts on the previously read value without seeing the change thus effectively corrupting program state.
  14. QA Resume/Wages Feedback

    Congrats on the job. Graveyard shift means late night / early morning right? Is there a chance you can switch to different hours later on?
  15. QA Resume/Wages Feedback

    Marginally. Think £1k more, tops. London rates are a scam - the extra money is never even close to the higher cost of living. Also if you get £15k as an entry level tester you're probably doing well. Think minimum wage for inexperienced hires and you're in the right ballpark (min. wage is currently about £11.5k for a 40 hour week).