Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your help!

We need 1 more developer from Canada and 12 more from Australia to help us complete a research survey.

Support our site by taking a quick sponsored survey and win a chance at a $50 Amazon gift card. Click here to get started!

Josh Petrie

Member Since 11 Jun 2003
Offline Last Active Private

#5242052 Is Extra Credits reliable to learn Game Design?

Posted by Josh Petrie on 22 July 2015 - 05:12 PM

But they talk stuff like Witcher 3 being the best detective game ever made. How is that even logical to think? 



It's not. It's call an opinion. Nobody has, as yet, proposed a standard for determining the quality of a game in an objective fashion that has been independently peer-reviewed and accepted by the industry, and as such any claims that anything is the "best X" are going to be subjective


Also from what I've heard, most of the research and information that they get are false




And I've heard jellybeans grow on trees. What "research and information" are you talking about and what is the basis for declaring that it is "false?" 


It sounds like you're just here to stir up an argument, thus far, and that's not okay.

#5242007 Custom environment macro

Posted by Josh Petrie on 22 July 2015 - 02:16 PM

...but I can't figure out how to define KHATBOX in such a way that it's not going to go along with the project.



You want to /DKHATBOX only if you're building it, and not have that set anywhere in the project options?
To do so you can use the little-known CL environment variables. Set (however you prefer) the _CL_ environment variable to /DKHATBOX, for example, and it will be appended to the cl.exe arguments for every file compiled.
As these are environment variables, be sure to set them in the appropriate context for your use (that is, don't just set them in a cmd.exe window if you want them to persist beyond that window and processes launched from that window, et cetera).

#5241964 How much of my game should be written in a scripting language?

Posted by Josh Petrie on 22 July 2015 - 11:25 AM

After exposing the API it runs all instances of init.lua in all "Content Packs" (each pack is it's own mod, and the "Base" pack is all vanilla scripts). init.lua is only run once, and is basically for setting up all objects for the start. Next all instances of draw.lua and update.lua are run, where draw.lua is run every game loop, but update.lua only happens every x number of milliseconds (every 20ms for example).



The thing that strikes me the as most-concerning here is that the engine "runs all instances of init.lua," and similarly all instances of "draw.lua" and so on. What determines the ordering here? Ordering is important to consider in this kind of scenario. Have you ever tried to run a lot of mods in Skyrim or some other Bethesda RPG? The ordering of mods is important because they can independent set up or stomp on certain core features and thus break eachother if not done in the proper order. The biggest weakness of your system as proposed is the need for this ordering, and the fact that you don't (seem) to have a mechanism to control it.


The next-most-concerning aspect of your system is that you don't describe the method by which data is transferred or access between the init.lua scripts and the corresponding draw and update Lua scripts. It would be interesting to know how you plan to expose that as it might suggest other issues in your system.


Beyond that, it's an approach that seems reasonable and common. Performance may or may not be an issue depending on the specific implementation decisions you make, but that's what profiling and refactoring are for; I wouldn't worry overmuch about it until you've got a working prototype that you can take some actual benchmarks on.

#5241944 Computer science degree

Posted by Josh Petrie on 22 July 2015 - 09:29 AM

Sorry, I was not very clear, I am not asking if it is possible to get a CEO or executive job right after college graduation, but if it would be possible for a computer science graduate to build his way up until that position (entering in an entry level job and build his way up until CEO, executive positions or even a CIO position)


In theory, yes, but the closer you get to that point the less and less it matters that you had a CS degree when you started.

#5241616 Know almost nothing about Game Development; Here to learn

Posted by Josh Petrie on 20 July 2015 - 04:34 PM

The latter is definitely better. The former option -- getting training as a screenwriter is fine, but the idea that you'll find work and build experience by helping out on other's projects by doing screenwriting? That's going to be a long, hard road with very little payoff. There's not a lot of market for that kind of work, even if you'd be doing it for free.


Ultimately, if you want to be the "head of the project guy," you need to have been able to successfully build projects on your own, somehow. This gives respectability more than anything else; nobody is going to want to work on the projects you're heading up if you cannot present any evidence that you're more than an "idea guy" who thinks he can sit back on his golden throne while his minions toil away building his imagined opus of a game. Even if you've got a ton of money to entice these people, competent developers will be savvy enough to avoid you and your pipe dream projects, unless you're dumb enough to pay them lots of money up-front without strings attached.

#5241611 Know almost nothing about Game Development; Here to learn

Posted by Josh Petrie on 20 July 2015 - 03:59 PM

I think you should focus on actually realizing one of those games before worrying about things like "franchises."


If, as you say, you are not much for the actual programming of games, then it's good to look at (as you seem to have done) using Unity or Unreal or some other toolchain-focused engine that minimizes the amount of actual programming you'd need to do, so you basically only need to worry about the small amount of programming logic necessary to implement the unique specifics of your games.


RPGs are perhaps reasonable for this, as mechanically they can be rather simple and rather involve lots of content production, which is a thing you can handle without being a programmer yourself. Content production still takes time, though, so be careful to temper the scope of your first game.

#5241536 Working on C++ Visual Studio projects across multiple PCs?

Posted by Josh Petrie on 20 July 2015 - 09:23 AM

Github or similar source control systems are generally the solution to this; they offer superior change tracking and control than Dropbox, especially when you have to deal with merging simultaneous changes from more than one developer. If you're just one person, Dropbox or Google Drive should work fine. 

Your actual problem is somewhat orthogonal:


sometimes the project will include a library or header file that is somewhere else relative to the project, or it will need to include an entire library such as boost




Version control won't solve this, this is purely a project organizational issue. Your dependencies (libraries you use) for a project should usually be part of that project. I usually stick them in an "External" or "Dependency" folder. Then you can set up your VS projects (or whatnot) to refer to them via relative paths and they will always be correct on any machine. This is useful because it also lets you use different versions of common libraries for different projects, if you need to, and to make sure that you can build with minimal fuss from a single checkout.

The general exception to this guideline is really large dependencies, such as the DirectX SDK, which you cannot legally redistribute or which are too large to reasonable self-host. For those, you should generally set up paths using environment variables or find the appropriate paths via "configure"-like scripts that are run once on each fresh checkout of a project prior to building.

#5241533 Is formal education in Programing/Arts obligatory for game designers?

Posted by Josh Petrie on 20 July 2015 - 09:17 AM

Am I doomed to never find a job in game design companies?




Game design is generally considered a different area of the field from game programming; which is it you're interesting in?


Finding a job as a programmer without a degree in a field generally considered directly related might be slightly harder, primarily because you're likely to be relatively less-familiar with programming if you've only started studying it post-degree than somebody who was using it during their degree, and due to a slightly increased chance of failing a resume filter for not having the "right" degree. 


You can overcome these downsides with a strong portfolio that demonstrates you do have programming ability, at which point your non-traditional degree may become an asset (suggesting a more well-rounded potential employee).


So no, it's not impossible at all.

#5241084 Good C++ engines?

Posted by Josh Petrie on 17 July 2015 - 12:07 PM

as I can't install Microsoft Visual studio in my computer



Why not? That information may be relevant to suggesting technology.


With its own compiler also please



Engines don't usually include entire compilers in their toolchain unless they also offer a specialized languages; they may ship with pre-built libraries or installation packages supporting one compiler or another, and as such may be more easy to set up with Code::Blocks versus Visual Studio (or whatever). But generally the compiler is orthogonal to the issue of which engine you'll use. 


What C++ development environment do you currently use, if not Visual Studio?

#5240922 Help me to clear up my confusion about OpenGL

Posted by Josh Petrie on 16 July 2015 - 04:28 PM

Since this is the OpenGL forum, let's please keep the discussion to constructive commentary on OpenGL and not derail it overmuch with "you should use this thing instead" sideswipes.

#5240921 [Solved] Resizing window eventually makes program run out of memory.

Posted by Josh Petrie on 16 July 2015 - 04:26 PM

So, sorry for making you waste your time. This problem is solved. Thank you.


You can add a column for GDI objects in the task manager (view -> select columns, check GDI objects). Occasionally useful for this kind of thing.

#5240544 Online University for Teaching Game Development ?

Posted by Josh Petrie on 15 July 2015 - 12:05 PM

I don't necessarily think you need to enroll in an online game development school for that (particularly as such schools tend to be dubious at best); perhaps a place like lynda.com might be better, some place where you could pick and choose the videos you watched to tailor them to what you want to learn. It doesn't sound like you want to find an online school for the degree, rather you just want to learn things to work on your project, so you should probably stay away from "schools" and look more for places that just have individual video lessons (which I presume you expect you learn better from than written tutorials and the like).


What about the documentation resources provided to you with the Unreal Engine have you found lacking?

#5240500 Online University for Teaching Game Development ?

Posted by Josh Petrie on 15 July 2015 - 09:25 AM

Why? What is your goal?

#5240322 How do game designers communicate?

Posted by Josh Petrie on 14 July 2015 - 02:21 PM

Six years isn't that long at all, and if it's six year spent exclusively designing within a very narrow space, I wouldn't really rate his opinion particularly high as far as being reflective of the rest of the industry.

#5240291 Moving from MonoGame to SharpDX/SlimDX

Posted by Josh Petrie on 14 July 2015 - 11:45 AM

Read the DirectX documentation on MSDN; since both APIs are just wrappers, it will all apply and even if you don't know C++ very well it should be fairly obvious what the structures/functions map to in C#. 


Note that SlimDX doesn't actually have D3D12 support yet.