Jump to content

  • Log In with Google      Sign In   
  • Create Account

Josh Petrie

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

#5291968 What does a C++ Programmer need to get the job?

Posted by Josh Petrie on 16 May 2016 - 05:01 PM

While age discrimination certainly exists, it's not a widespread problem in the industry. What I'm trying to get at is really the futility of trying to generalize too much, you can find people with pretty much every view (positive or negative) of every fact about a candidate. Thus, trying to bend over backward to make some fact true or false about yourself in the hopes to achieve better results in an interview isn't always worth it. It can be a gamble.

What somebody sees as a risk will be different from person to person and situation to situation. An "uneducated" 25 year old may be a risk because he or she may not know what they're doing (too junior for the position in question). Somebody starting a career later or making a transition from another career (that is, somebody older) may be a risk because they have higher salary expectations than the budget can afford. Et cetera

#5291948 timeSetEvent(): can i change the timers limit?

Posted by Josh Petrie on 16 May 2016 - 03:23 PM

- the interval between frames(animated gif's) can be diferent;


You can trivially account for this if you build your own timer callback system. Also, you really should not be using this to trigger frame switches for animated pictures and the like; it doesn't really scale. Cursory investigation around the internet suggests the limit you're running into is something like 12 to 16 active timer events.
- i can't use CreateTimeQueueTimer , because i can't put it to work... only errors or don't starts:(


You absolutely can use it; what you mean to say is that you don't know how or can't figure it out, because you get errors. Perhaps if you asked that question and provided those errors somebody could help.


- the timeEndPeriod() is always called, depending on timerid value.



You're right, I didn't see it the first time through. This is still a very unusual use of the pair, since you call it for every timer, but really you only need to call it once. Windows always uses the highest resolution (lowest value) provided to it through this call. You're not setting resolutions on a per-instance basis here.
i don't know use WT_SET_MAX_THREADPOOL_THREAD. what i know is that it's a const, nothing more i know


The documentation linked for CreateTimeQueueTimer explains how to use it. It's a macro, not a const variable. And it only works with CreateTimeQueueTimer, since it evaluates to a value you pass to that function's flags parameter.

#5291943 What does a C++ Programmer need to get the job?

Posted by Josh Petrie on 16 May 2016 - 03:17 PM

3. A bigger company means there are more people to learn from, what to and not to do which depends on how many of them are talented in their roles. Also potentially higher job security with a company that is fiscally secure. I was laid off from a company last year that had less than 15 employees because they couldn't afford to keep me. When I get laid off I like to know it is because the position is no longer needed, not that they are broke as fuck cause their games bring in very little money. So when I am making a name for myself, yea I'd like to start as a face in a crowd.




This isn't always true though. It's good that you know what you want, but don't make the mistake of thinking that it's only a big company that can provide these things. For example, it's also common for large companies to suffer more from silo effects, where each team is kept rather isolated. This means even though the company has hundreds of thousands of employees you're practically or actually limited to interacting with five or ten on a regular basis anyhow. Similarly, larger does tend to mean more financially stable... but that doesn't mean financial stability for you. In a larger company, it can also be easier to lay off entire swathes of people. Including you.




4. Okay. Although to me it is more a matter of me wanting to lower the perceived risk associated to me from an employer's point of view.

You see I would much rather attend university to learn about earth sciences, physics, and mathematics. In my opinion I could just as easily learn CS on the job from others and through simple practice of my craft, as I could learn by going several more tens of thousands of dollars into debt.



You can get a job without a degree. At 28, you're basically "screwed" either way, risk-wise. Somebody will look at you and say "he's a risk, he's 28 and has no degree." The next person will look at you when you get done another four year degree and say "he's a risk, he's 32 and looking for entry-level work." So go back to school if you want to, but I'd recommend against doing it just because you think it's going to improve your job prospects in four years.


Companies that relocate any and all full-time employees do exist (larger companies, which you seem to want, are especially more likely to be able to do this). You can usually find out pretty early on in the interview process, so it does not really hurt you to try to start applying to places you want to work on the west coast now and see what happens.

#5291940 timeSetEvent(): can i change the timers limit?

Posted by Josh Petrie on 16 May 2016 - 03:05 PM

You probably should not be using timeSetEvent for this. Not only is it deprecated, it's got limitations like you're running up against that are hard to control. The function that replaces it is CreateTimeQueueTimer. It's possible timeSetEvent is running into the same threadpool worker limit described therein, in which case you can perhaps adjust it by using WT_SET_MAX_THREADPOOL_THREAD, but this has potentially significant implications and probably isn't the best idea.


You may be better off driving your timer system off a custom implementation based on your game's high resolution update timer, as it will be more flexible.


Note that you also have several bugs in this code related to concurrency potential (your timer count update is unguarded and your timer ID assignment is based on it, both of which can cause bugs such as incorrect counts or duplicate timer IDs) and use of the time* APIs (you call timeBeginPeriod every time a timer starts, potentially overriding the previously set global resolution if its lower, and you never call timeEndPeriod. You must match each begin call with an end call that provides the same period value, per the documentation.

#5291919 Display jpeg on a form with SharpDX

Posted by Josh Petrie on 16 May 2016 - 01:01 PM

...such as?


The (potential) reason you're getting no responses is because you're basically saying "Hey, help me do something." The barrier to entry into your actual problem context is thus, quite high. If you lower the barrier to entry, by providing more information, more specifics about what you've tried, what you've got working, anything like that, you increase the chance that you'll get useful replies. It shows that you are respecting the time of (potential) respondents and in turn they'll be more likely to respect you and provide some assistance. 


This sample should display a simple, colored triangle. Can you get this to work? Can you replicate this in your own code? Can you then take that triangle and add a second triangle elsewhere? And then can you arrange them to form a square?

#5291901 Display jpeg on a form with SharpDX

Posted by Josh Petrie on 16 May 2016 - 11:48 AM

It could be because it sounds like you're just asking people to write code for you. What have you tried already? Can you draw a blank quad already? Can you draw a blank triangle? Anything? There are plenty of tutorials and indeed probably even some samples that come with SharpDX on setting up basic rendering and trying a colored triangle, which you can adapt to drawing a texture triangle and thus a quad eventually.

#5291874 Game servers?

Posted by Josh Petrie on 16 May 2016 - 10:40 AM

I could search this on google but I prefer automated multiple answers hehe.



This is, for reference, quite rude.

#5291871 Best gaming platform in the future with marketing perspective.

Posted by Josh Petrie on 16 May 2016 - 10:33 AM

To change my question a bit, well, which are the platforms which earn most revenue, today?


It doesn't matter. The revenue earned by the platform is the revenue earned by the platform vendor (e.g., Sony, Microsoft, Nintendo). You are not thinking about making a platform, you're thinking about making a game for a platform. 
The platform you pick will not determine how much revenue you'll bring in; the quality and success of the game you make is the key factor there. And unfortunately, there's no mathematical formula or flowchart to arrive at how to make a quality, successful game or we'd all be rich already. The only real factor the platform choice will have are market share and demographic related, and those aren't likely to matter to you because the ceiling of even the lowest-market-share platform is several orders of magnitude beyond what you're likely to attract as a customer base right now. Even if, by some miracle, you hit that saturation point, at that point you'd have the money and popularity to easily get your game ported to other platforms and continue your runaway success.
You're thinking about the wrong things; think instead about the kind of game you are excited to make on the platforms you have available to you and know how to develop for right now. If you just want to make money, go get a job writing financial software.

#5291864 Difference Between 2D Images And Textures?

Posted by Josh Petrie on 16 May 2016 - 10:14 AM

Generally they are the same thing.


In some contexts, such as that of a specific API, a "2D image" may be a different thing (as in, a different language type or for a different purpose) than a "texture," but in general both are just picture data. The most common difference will likely be that that things called "textures" generally may have multiple mip levels (which are, effectively, successfully lower-detail smaller versions of the picture) associated with them, whereas a "2d image" is usually just the one image.

#5290968 Browser strategy game server architecture (with pics)

Posted by Josh Petrie on 10 May 2016 - 08:47 AM

Moving to the multiplayer/networking forum, which probably has a better audience to address your needs.

#5290429 wall/contact point detection

Posted by Josh Petrie on 06 May 2016 - 09:39 AM



You can edit your original post to clarify what you want. Don't re-post essentially the same question, rewritten.

#5290326 Time - the most important factor.

Posted by Josh Petrie on 05 May 2016 - 03:15 PM

Blender 3D feels like it was made by aliens. From the UI to the key bindings, it all is quite hard to get into.



Have you actually used MODO? Blender's UI is obtuse sometimes, but so is the UI of almost every modelling software I have ever used in my entire career. Unless you have a compelling reason to drop that kind of cash on it, one based ideally on actually having used it somewhere else and being familiar with it, I'd say it's not a great investment. Blender or some other free tool will be sufficient to start with. More than sufficient.


You don't need to spend a lot of money on tutorials either. Or any, really. You can learn all this stuff with freely available resources and I'd caution you to be very thrifty about your purchases at this phase.

#5290089 Is it real?

Posted by Josh Petrie on 04 May 2016 - 10:55 AM

Does it still take years to code everything?


Yes, especially if you have to ask how long it takes. Further, there is more left to do than just "coding." Just because you think you have all the art assets doesn't mean you actually do, that they will actually work correctly or be 100% drop-in-able or not require tweaks to adjust for gameplay or design issues that come up as you build the game.

#5290084 Is it real?

Posted by Josh Petrie on 04 May 2016 - 10:38 AM

It really depends on the people doing the work and tons of specific details about the game that you haven't provided, but it's a fairly safe bet that the units will be "years."

#5289444 Question about Open World Survival Game Engines

Posted by Josh Petrie on 30 April 2016 - 12:12 PM

Website / forum development.  Maintaining, posting, moderating, everything.



You don't need to do this on day one.


Business Transactions



Such as?


Marketing / Press Releases / Setting up for Funding Push



You can do some of this early, such a preparation of all this, but don't actually start doing it on day one, because that's way too early.





I thought you had no money. Finance what?


1. Going out to draw customers into the forum to start discussions about what the game should be like.

2. Polling those customers over, and over, and over until we've boiled down exactly what they're looking for.



You've mentioned this a few times, actually. I think this is a bad idea in general, and certainly not something you should be focused on doing so early in the project. There are, frankly, millions of people who have opinions about what a game "should be like" and most of them have no idea how terrible or impractical their ideas might be. You're going to waste a ton of time sorting through that feedback (as well as open yourself up to potential legal hot water; this is why most game studios trash unsolicited "game idea submission" mail without reading it or opening it -- I've seen this done in person several times). Besides, it's too early for that kind of polling even as a method of gauging the wind direction. You need to spend some time alone with your initial partners and develop a concrete game idea and some practical implementations. You shouldn't just go out there and announce you're making a game and ask what people want it in. That way lies madness.



 I have anti-cheat system in mind that will pair with any of the major AAA anti-cheat engines and AAA games.



But you're not a programmer and have no technical background as far as I can see, so your ideas about anti-cheat systems are probably useless. Keep in mind that anti-cheat is a pretty trivial problem. The problem is not protecting against cheating, the problem is protecting against cheating while still having a game that is fun and feels good to play. These two are odds and often making a game feel fun and responsive involves making tradeoffs in security (for example, not validating every single client movement input, because the resulting latency is unacceptable; this is reasonably common in many MMOs).


If I can get the game going, the existing developers would get a profit share in the new business that would dwarf the initial game sales of the Survival game by several orders of magnitude.  Example, in any FPS AAA game, the cheating is usually pretty rampant.  Anywhere from 5-20% of the player base either has cheated, is cheating, or will cheat at some point.  With this system I can get it down by ninety percent to 0.05% to 2% of the player base.  The best part is, you can integrate it into any game that uses AAA anti-cheat.  So this system could be in COD, BF, The Division, etc, etc, to provide customers an almost "cheat free" experience.  It does require players to pay for the program and pay a monthly fee though.




There's a lot of pie-in-the-sky handwaving here that I think hurts your pitch more than it helps. I strongly advise you abandon this aspect of your pitch until you acquire yourself an engineering lead with the technical chops to reign this in to the realm of practical reality, if you actually try to recruit engineering talent with this you'll only be weakening your position.


Once it is released, it's literally so simple of a concept, you'll slap your head and say "jeez why didn't I think of that".  Because of this secondary business I'll be 100% committed to the first one succeeding because without a "proof of concept" of this anti-cheat working in OUR game, there's no way any other AAA development team would even consider it.  But if we can prove it works in OUR game, the sky is the limit.  Every AAA anti-cheat and AAA developer can use our new anti-cheat.



If it's literally that simple, than people have already thought of it and already determined it's not practical for games. But good luck regardless. I think this is far more insane of a business plan than your initial game pitch, under the circumstances.