Jump to content

  • Log In with Google      Sign In   
  • Create Account

Josh Petrie

Member Since 11 Jun 2003
Offline Last Active Today, 11:29 AM

#5300760 Copyright

Posted by Josh Petrie on 14 July 2016 - 12:04 PM

I just want to know if I may came to Idea that  accidentally crosses someones else work and I didnt know that I accidentlly break the law because I didn't even know about that work.


You are still liable for infringement of the intellectual property. Ignorance isn't protection from the law. 


Chances are you'll get a cease-and-desist or some other form of contact from the IP holder of a property you have infringed upon (accidentally or otherwise) before they actually take you to court. At that point you can address the violation (removing the offending aspects of your project or cancelling your project), try to negotiate a deal, or ignore them and continue the violation. But you've been made aware of your violation so continuing to do so puts you right back in the same position as if you knew about it beforehand. In fact it may make it worse.

#5300729 Newbie Question About Std:vector

Posted by Josh Petrie on 14 July 2016 - 09:05 AM

Because vector is a dynamic array, adding items (calling push_back) can force the vector to reallocate its internal storage. When it does this it needs to copy the elements to the new storage. This will involve, ultimately, destroying the original elements, so that is why you'd see destructors invoked.

You don't appear to implement a copy or move constructor or copy/move assignment operator, and your class contains pointers. This means it can't be copied or moved correctly, and is the likely source of your trouble.

Implement those operations; look up the "rule of three" for more. Also you may want to check out vector's "reserve" function.

#5300590 Copyright

Posted by Josh Petrie on 13 July 2016 - 01:26 PM

So I have came to my own idea how everything started, and I want to make a movie from that idea.



But you want to use parts of the intellectual property of the Warhammer series, either directly or via derivative works. This is not legal.


I just want to be sure if everything is legal before I start making anything.



It's not.

#5300425 Roadmap to go from beginner to professional in Unreal Engine 4

Posted by Josh Petrie on 12 July 2016 - 01:05 PM

All of this looks more or less okay except that you seem to leave actually making games until step six. That's not really a good plan, you might think you're "learning" stuff before then by watching tutorials and tinkering on mostly-existing sample games, but there is no substitute for real practice doing real work. You're also expecting to "learn" a lot of stuff that might be totally unrelated to the first game you make. You don't need to know everything beforehand, in fact you don't need to know much at all.


Think of a (simple) game you want to make. A pong or breakout clone, for example. A simple maze shooter. Build that in Unreal. Learn the things you want to add to that game, but don't waste time learning all the ins and outs of the landscape and foliage system if you're just going to use prefabricated boxes to make a maze and not actually have any landscape.


Unreal makes it really, really easy to get started experimenting with real games. Use that.

#5300424 Roadmap to go from beginner to professional in Unreal Engine 4

Posted by Josh Petrie on 12 July 2016 - 01:01 PM

Moving to FB.

#5300257 you all say oculus rift but why not google glass?

Posted by Josh Petrie on 11 July 2016 - 03:53 PM

Because it can't have "the same functionality."


The Rift is a VR device. Glass was a relatively limited (compared to current offerings) AR device. And it's dead.

#5300213 The big face-off between inheritance/interfacing

Posted by Josh Petrie on 11 July 2016 - 11:22 AM

Favor composition instead.




The method you're describing, zuhane, is basically the canonical example of how games would (ab)use inheritance in the past. If any "industry standard" exists today, it is to move away from that kind of inheritance-based approach as much as possible and use aggregation or composition based methods (as ApochPiQ noted).


That's not to say you can't or shouldn't use inheritance at all, mind, just that you should be wary of a design philosophy that involved deepening the tree like yours every time something new comes along.


It seems like all of the functionality you've described in your initial post can be fairly easily transformed into a composition-based approach, each feature or package of functionality (such as, for example, the ability to apply buffs or debuffs to something in a surrounding region) can be isolated and turned into a thing you can attach to an entity instead of something you need to subclass from.

#5299668 Does Object Pooling with a Vector in C++ have problems with memory?

Posted by Josh Petrie on 07 July 2016 - 02:02 PM

As written this pool appears to buy you exactly nothing.


Look at this line:


Bullet newBullet = pool.GetBullet(); // get a bullet from the pool


Regardless of what GetBullet() returns (which is, I suspect, a "Bullet"), "newBullet" is a copy of that. It's not a reference to an entry in the pool. It's a completely new bullet.


This line:


bullets.push_back(newBullet); // add the bullet to the vector


Then makes another copy of "newBullet," which is ultimately stored in the vector. You don't call reserve() on the bullets vector, so you'll be causing the underlying storage of the vector to reallocate, causing, potentially, more copies.


You should probably post your pool class, as it's likely very broken. Certainly the use of the API is wrong and results in no benefit from using the pool at all. I'm very skeptical of what the pool's ReturnBullet functionality does.

#5299624 How to get a job as a game programmer/developer in AAA studios?

Posted by Josh Petrie on 07 July 2016 - 10:11 AM

I first started working with Unity and then realized that I could not see how this could help me in getting into AAA studios as all there job requirements had stuff that I didn't learn in the process.


This is wrong.




Then it felt like making a game engine would help me learn better what those studios want.



Also wrong.




I then again decided to go into making games on a pre-existing engine, this time I took up Unreal Engine 4. But this time I have a better idea of what I want to do. I am interested in making game play logic, AI system, and on a side have fair bit of interest in modelling (not texturing) and animation. I may not be good at all this right now, but I have figured out what I have to do exactly, and on the side. 



Moving in the right direction.




Now again I did end up one some companies job page(Naughty Dog, Santa Monica and Sucker Punch) and I found myself in the sea of confusion and hopelessness, half of the time I couldn't figure out what the requirements. 



But getting colder again.




So my question is, is learning how to get complex AI running in UE4, setting up some nice game play mechanics in UE4, and setting up a nice UI in UE4 and creating some models and animating them in Maya will be enough to get me a job at some of the AAA studios I mentioned?




Here's the thing. If you want to get a job making games, you should make games on your own, with technology you know, and with skills you have or can learn and develop. Unity is a great tool to use; the idea that game developers won't hire you if you use Unity or that Unity can't teach you things applicable to game development outside of Unity is ridiculous. Lots of "AAA" game developers use Unity (or tools like it, such as what Unreal provides) and lots of what you will learn by making games in Unity can transfer to making games with other tools or technology. So don't let that sort of thing discourage you.


Making a "game engine" at this point in your career is likely a waste of your time, as to make one of those well you generally need to be fairly experienced with making games in general so you know the kinds of things an engine needs, the kinds of problems that crop up in real-world development scenarios, and the kind of pros and cons you want to focus on. Many people in your position who make "game engines" end up with something that's little better than a slipshod wrapper over Direct3D and a poorly-thought-out overengineered component-based entity system. That's usually not super impressive. It can be educational, but it's probably not the most effective use of your time, in my experience.


Don't stress too much over listed job "requirements" on websites. In many cases those requirements are inaccurate or at least flexible. In many cases companies only post jobs for specific needs they want to fill, even though they may be open to hiring more generally (e.g., junior positions, which you usually get so many of you don't need to explicitly post listings for). If it discourages you too much it's not helpful to obsess over them. I certainly didn't meet the paper requirements for my very first job in the industry, and I still got hired.


So yes. Think of a game you want to make, and make it. Using Unreal is great. Try to focus on making some smaller that is more complete over making something bigger but half-complete. The ability to show that you can execute on a complete project is pretty useful thing, and you will learn a ton that way. Keep making games, asking for help with things you don't understand, asking for ways to improve your code, and eventually you will develop your skills enough to reach an employable level. Going to college or university to study something related to the field (math, computer science, physics, et cetera - but the most important thing is that it interests you) can also help you develop.


I'd also caution you to temper your dreams about working at "AAA studios," or specifically studios that have shipped games you love. Loving a game made by a studio is not a great reason to want to work for them, and there's a very big difference between enjoying the product of a studio and being part of developing that product. Keep that in mind when you eventually go looking for jobs. When I was a kid, I used to dream about writing games for consoles because they were so cool and unapproachable. Now that I've done it, I hate it, it's one of the least fun parts of my job. Similarly, I've had opportunities to work at several studios that produced games I loved as a teenager, but turned them down because the actual working environment of the studios in question were toxic or otherwise unpleasant in various ways. It wasn't fun, and if I hadn't invested so much hope on those goals as a kid it wouldn't have hurt me so much as an adult to suffer that kind of disappointment.

#5299598 Posibility of getting to game industry?

Posted by Josh Petrie on 07 July 2016 - 08:35 AM

just wanna know if this is kind of true? like for example the industry prefers c++ people?

For desktop and console games, C++ is still an extremely dominant language. C# is often used for tools.

On mobile platforms, perhaps this is less true

It's certainly possible to get a job not knowing C++, but knowing it will probably help put you on equal footing with other candidates.

#5298719 Does adding Delegates/Function pointers to an entity break ECS ideology?

Posted by Josh Petrie on 01 July 2016 - 12:16 PM

What ECS ideology? There's no one correct way to build an entity system.


It's unclear what you're quite asking about or what you consider to be the potential problem here; it would help if you could clarify. That said, if it works for you and solves a problem in your system, that's a good thing, so you should probably use it rather than worry about some sort of ethereal purism. 

#5298248 why that i get a signal SIGSEGV with my Multithread code?

Posted by Josh Petrie on 27 June 2016 - 09:38 AM

Actually no. Nobody can advise you, because you're just wasting their time. Your earlier thread was a problem description of almost exactly the same level of detail, and you were prompted several times to provide clarifying details related to what your debugger tells you about the problem, and you didn't. Either because you don't know how to use your debugger or because you're willfully ignoring it expecting other people to do your work for you.


Learn to use your debugger, please. 


Once you've got a basic grasp of it, you may re-post your question provided you also describe in detail what the error is, where in your code it occurs, and what else your debugging has told you. Simply providing massive code dumps and asking "what is wrong with my code" over and over isn't really acceptable and takes advantage of the rest of the community.

#5297479 Converting a desktop game into mobile game- Illegal?

Posted by Josh Petrie on 21 June 2016 - 12:28 PM

Now my question is, can I take any game which is available on a desktop gaming sites like miniclip.com, addictinggames.com, poki etc. and convert it into a mobile game?



That depends what you mean by "take" and "convert."
If, for example, you're going to use any of the intellectual property of that source game, then no, it's not (generally) legal to do so without permission of author of the IP. So you cannot use their artwork, sounds, binaries, source code, et cetera. You may not use names, logos or other trademarks. 
You can create a game that uses similar mechanics; you can create your own version of a connect-four or match-three game. You can't take and port somebody else's stuff without asking them though.

#5296886 Is C++11's library a magic bullet for ALL multicore/multithread programming?

Posted by Josh Petrie on 16 June 2016 - 08:26 PM



Nothing is a magic bullet for all classes of any problem domain. Especially something design to be fairly general purpose, like a good chunk of stuff in the C++ standard library. Specialized libraries and solutions will always exist for niche scenarios and they will often be able to outperform in those niche scenarios. You will need to profile and analyze to be sure; you haven't provided enough information about your specific problem domain.

#5295645 what is scene state set

Posted by Josh Petrie on 08 June 2016 - 11:02 AM

It's hard to say without more context, but you're probably talking about the collection of rendering API state required to draw a scene. Your rendering API is generally OpenGL or Direct3D, and the "state" refers to all the various things you can configure or twiddle in the rendering of a scene. This includes but is not limited to:


- which shader is active at each stage of the pipeline (vertex, geometry, fragment, et cetera)

- which textures are active

- which buffers are active

- how blending is configured

- which color, depth, stencil, et cetera writes are active, and which related tests are active

- which target or targets to render to


and so on.