Jump to content

  • Log In with Google      Sign In   
  • Create Account

Josh Petrie

Member Since 11 Jun 2003
Offline Last Active Yesterday, 09:11 PM

#5285822 Why learn STL library

Posted by Josh Petrie on 08 April 2016 - 09:54 AM

I presume you mean "STL" in the sense of the C++ standard library and not the actual STL that eventually influenced/became the standard C++ library.


It's important to know the standard library for your language, and that's just as true with C++ as with anything else. The standard library provides significant useful functionality, defines significant useful paradigms, and is generally a very powerful tool. Without the standard library of a language, there's often very little you can usefully do.


It's important to understand the standard library even if you intend to "reinvent" aspects of it, such as its allocator mechanism, its smart pointer library, or its container types. If you don't understand it, at least to some degree, you can very easily end up with inferior home-grown alternatives. It's also important to understand from the perspective of being able to comprehend other code written in the language.

#5285271 Impressive professional/industrial 3D engine

Posted by Josh Petrie on 05 April 2016 - 09:43 AM

This engine clearly took some serious development time and skills to make. And although I know the aviation industry (particularly the military one) involves a lot of money, I still think it's curious how they were able to find the people with the skills to do it.


I don't mean to downplay the effort that went into developing this, because as you say, it's non-trivial. However, it's also not that impressive. It's a pretty good result, but it doesn't require superstar million-dollar developers. Just some competent engineers and artists, the kind you can find at almost any game development studio.

#5285117 Community College or Game Development?

Posted by Josh Petrie on 04 April 2016 - 04:14 PM

wouldn't it be easier to get into this industry with a 100% completed project rather than any kind of degree?



Nope. In fact it might be harder.


Stay in school, finish your degree. Work on projects on the side. Most of the people you'll be competing with in the job market once you graduate will have done that. They will have interesting hobby projects and a degree. So to stay on par with them, all other things being equal, you'll probably want that degree.


Naturally there are exceptions, and it it's certainly possible to get a job in the industry without any sort of relevant degree. Are you willing to make that gamble? There are probably things that will be taught in your degree program that will be hugely useful to your future career, things you don't currently know about, and which you probably don't even know you don't know about. By cutting yourself off from that experience you risk weakening yourself, both as a candidate on paper and as an actual developer doing work on a game.

#5285046 What is the most organised way to create a class/file structure for a game?

Posted by Josh Petrie on 04 April 2016 - 11:14 AM

I generally produce one file for class or type, except in languages like C++ where I generally produce one .h/.cpp (and maybe .inl) tuple.


Free functions a grouped into one file (as above) based on functionality (e.g., string-related functions go into one file, hash-computation functions into another file). Small types like enumerations or delegates generally go in the file that they are associated with (window property enumerations would go into the window class file), except in some circumstances where they are useful on their own or to a wide variety of types.

#5284127 N64, 3DO, Atari Jaguar, and PS1 Game Engines

Posted by Josh Petrie on 29 March 2016 - 04:38 PM

Some games of that era had "engines" in the sense that the studios making those games would reuse large portions of the code, tool and processes from a prior game when building a new one, even as far back as the NES.


None of those engines are commercial available products. You will need to write your game code from scratch.

#5283298 How can I locate a memory leak?

Posted by Josh Petrie on 24 March 2016 - 07:40 PM

Well that escalated quickly.

#5283175 BitMap Animation (Help needed)

Posted by Josh Petrie on 24 March 2016 - 11:04 AM

And yes bmp has teh ability to animate since i have a bmp animation seen somewhere else alot



No it doesn't. What you saw was somebody implementing an animation using .bmp images (by playing them one at time, themselves). The .bmp file format does not have animation support built-in to its format at all.

#5282895 What game is suitable for a beginner to make (with C++)?

Posted by Josh Petrie on 23 March 2016 - 09:31 AM

Games that don't require "graphics" are generally easier to start with; ones that function will with just text-based input and output. "Guess-the-number," Hangman, Blackjack, text-based adventure games. That sort of thing.


If you've built those and feel comfortable, moving to graphical games via some windowing API like SDL or whatever, and then focusing on simple games there like Pong or Asteroids is a good next step. Snake is not a terribly more "advanced" game than either of those though, so if you're otherwise comfortable with everything you've done with the game so far you probably don't need to backtrack to a simpler game.


Instead, why don't you try to explain the problem you're having and how you've tried (and failed) to solve it so far? You will always run into these sorts of situations when programming and generally avoiding it and going back to a simpler project isn't going to be helpful (or possible). That doesn't mean you just have to beat your head against a wall when you're stuck though. You can ask for help.

#5282664 Help figuring out Megaman's jump curve - PLEASE!

Posted by Josh Petrie on 22 March 2016 - 10:24 AM

I assume you've seen the information used by tool-assisted speedrunners? http://tasvideos.org/GameResources/NES/Rockman.html and http://tasvideos.org/GameResources/NES/Rockman/Data.html#JumpCurve for example?


The actual application of the deltas and rounding are probably just done directly in the code somewhere, it shouldn't matter where or be particularly important as long as you just apply the same rules (e.g., clamp Y speed to -12 when it gets below -12, et cetera).

#5281685 DBA still a 1099 or no

Posted by Josh Petrie on 17 March 2016 - 09:34 AM

If I were you I'd find an accountant to help me with this.

#5281217 C++ Self-Evaluation Metrics

Posted by Josh Petrie on 14 March 2016 - 09:59 AM

(Early in my career somebody told me a joke to that effect, and like all jokes it has some element of truth. It's generally the answer I hear, and usually the answer I expect to get, although I never ask the question myself in a hiring context because it's bullshit. A value of 8 or so does, however, tend to convey "I'm pretty good at this but not dumb enough to think I know everything.")

#5281216 C++ Self-Evaluation Metrics

Posted by Josh Petrie on 14 March 2016 - 09:55 AM


Everybody answers with 8.

#5281147 1 hr of Voice Acting translates into how much hrs of Voice Actor work?

Posted by Josh Petrie on 13 March 2016 - 07:21 PM

Nice but 300 USD seems a lot for just this.


The artist spent two hours on it (one hour at a meeting, one hour recording). Let's say there was another 30 minutes of travel, prep and miscellaneous time devoted to the job from the artist (which is maybe being generous). That works out to about $120 per hour as a wage. While this might seem high -- the average salaried game programmer makes about $40/hour if you break down the time similarly (assuming an $80k salary and no crunch, hah) -- you have to remember that voice actors aren't usually salaried, they're only paid when they work, and they may need to be paying for their own benefits (health insurance et cetera) out of that money, which means their rates should be looked at more like contractor rates, which are typically higher to offset the lack of stability and subsidization via one's employer. So, $120/hour doesn't seem that bad at all.
In fact, I'd say Got_Rythem probably got a deal here. SAG rates are (for the most part) session fees and start at something like (if I recall correctly) $600 or so per session (a four-hour block of recording time). That's $150/hour, which is more expensive. Granted, in that recording time one can get up to three different "voices" from an actor (additional voices are $200 or so), which could have brought the effective cost down assuming more voice work was ultimately needed, but still. I think there's also an hourly $400/hour rate as well, but I'm fuzzy on the details.
Good art -- and voice work is an art form -- costs money.

#5280601 1 hr of Voice Acting translates into how much hrs of Voice Actor work?

Posted by Josh Petrie on 10 March 2016 - 04:16 PM

(Also for the laughs, how is it possible to record half an hour a simple word "wow" from someone claiming to be voice actor (profesional or amateur)... :-)??  )



An amateur will do it once and be done in ten seconds. A professional will record multiple sets of takes. A set of multiple attempts at a word, phrase or dialog line offers insurance against a bad recording or other technical issue that goes unnoticed by the director or technicians at the time. Different takes allow the actor to place emphasis or tone differently, to explore issuing the line with a different style (once stoic, once timid, et cetera) or in different contexts. VO recording is rather hard on the voice, which is how a voice actor earns a wage, and so any session will naturally have frequent pauses to let the actor rest, drink, take a cough drop, or simply spend some time out of that damned booth. More so if the lines in question are high-intensity or high-effort (as exclamations might be).
Plus, the audio director may interject between lines to coach the actor towards a desired result. If the line isn't in the middle of a group of other related lines (so the actor hasn't had time ot get into the feel of the character or into the cadence of the line, they may blow a few of the takes getting into that stride). All of that adds padding to the time as well.
So spending half and hour on a line, even if it's one short line, doesn't seem that off if that line is important.  

#5280224 Laptop and desktop shows different results.

Posted by Josh Petrie on 08 March 2016 - 02:07 PM

Anything could go wrong. We're not going to enumerate every possibility for you. For the third, and last, time I'm going to tell you: debug the problem yourself.


That means pick a place in your code where you expect the state of the program and rendering to be a certain way, such as right before your submit the sprite for drawing. Verify all your assumptions there are correct (is everything initialized, does it contain the values you expect it to contain, have there been any GL errors, et cetera). If everything looks good, move earlier in the program by a significant chunk. It's like a binary search: when you find a place that is correct, move forward a bit. If you find something wrong, move back. Try to find the first place something goes wrong.


It helps if you're aggressively tracking your OpenGL errors after every call, as it's very likely for GL stuff to break between machines depending on relative capabilities and the features you're using.