Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 14 Feb 2007
Online Last Active Today, 07:26 AM

#5166556 When would a game artist use a tablet?

Posted by Hodgman on 13 July 2014 - 06:03 AM

I assume you mean these - http://www.wacom.com/en/us/creative/intuos-pro-l ?


In my experience, almost every artist will have one on their desks. For concept art / digital painting they're essential. For texturing they're almost essential. For 3D modelling, they're optional -- many just use the mouse, but I've also seen many artists who have gotten used to the tablet so much that they hardly use a mouse at all!

#5166553 Entity manager size

Posted by Hodgman on 13 July 2014 - 05:57 AM

What if you have security cameras / picture-in-picture, or planar-reflectors (mirrors/water), or shadow-mapping? All of those require an extra "camera", which means the "renderable entities" have to be drawn again, but perhaps with a completely different sorting order.

There's a good reason that most games have more that a single 'view' of the scene wink.png

#5166500 How do i become a game director someday?

Posted by Hodgman on 12 July 2014 - 06:55 PM

Yeah I've never heard of a Game Director either.
The job in your link sounds like a combination of Art Director, Creative Director, Lead Designer, Producer and Studio Manager/Development Director... Titles and roles vary widely from company to company though - these things aren't standardized.

With those courses, you seem on track to become a game artist, able to go on and specialize in painting/illustration/concepts, environments, characters, animation, etc, afterwards (or concurrently in your spare time). Is this what you want to do first - be some kind of game artist?
If you excel at that, and had an eye for managing a team, then you may become a lead artist (or lead animator, or lead concept-artist, etc). The next step above that would be Art Director, who oversees all the art leads, and guides the look of all visual aspects of the game.

If you excel in management maybe you could move over to being a producer, and then on to Development Director.

At any point maybe you could fall into a game design role, and then on to Lead Designer. Producers and Game Designers actually have a lot in common - I've seen a lot of people transition back and forth between those two roles.

In my experience, people become Creative Director (basically the boss of art & design) by founding their own company ;-P

#5166402 hyphotetical raw gpu programming

Posted by Hodgman on 12 July 2014 - 07:29 AM

The front-end of the GPU processes very high-level/complex instructions - basically the result of Draw/Dispatch commands from GL/D3D. This front-end reads/executes these commands, which results in work occurring in the shader cores.

E.g. The front-end might execute an instruction that says to execute a compute shader for 128x128 items. It then creates 128x128=16384 "threads" and groups them into 16384/64=256 "waves" (because it uses 64-wide SIMD to work on 64 "threads" at once). Each of these "waves" is like a CPU-thread, having it's own instruction-pointer, execution state/register file, etc... The GPU then basically "hyperthreads" those 256 "waves". If it's only got 1 "processor", then it will only execute 1 wave (64 "threads") at a time. If it has to stall due to a cache-miss/etc, it will save the execution state and switch to a different wave (which will have its own instruction pointer, etc).

#5166366 XNA vs Other

Posted by Hodgman on 12 July 2014 - 03:27 AM

You can just install windows on your MacBook as well as OSX. Then you can use OSX for your personal stuff and Windows for your homework.

#5166353 (Super) Smart Pointer

Posted by Hodgman on 12 July 2014 - 01:11 AM

shared_ptr doesn't seem to work because that is reference counted.
The other option I thought of was creating a new pointer type (unless one exists), where anytime I deconstruct a copy of the pointer, it has maintainted a list of people pointing to it and sets all pointers in the list to NULL.

Or of course simply a weak_ptr.
shared_ptr and weak_ptr are entirely the wrong mechanisms here -- both express a particular flavor of ownership (potential ownership, in the case of weak_ptr), but the marines discussed here don't 'own' their target. Any pointer they do hold to their current target should be raw (raw pointers are the preferred mechanism for non-owning semantics) and probably const-appropriate.

A weak_ptr expresses no ownership at all; it expresses using an object that may have a shorter lifetime than you.
It's also the exact "unless one exists" class that the OP was about to reinvent.
A raw-pointer expresses that the used-object's lifetime is longer than the user-object's lifetime. In this case, if the building can be deleted before the marines, then a raw-pointer isn't valid (without reinventing some kind of notification system, a la weak_ptr). Yeah, maybe the building/marines shouldn't be getting deleted at all, but that's another kettle of fish! wink.png

#5166092 DXT for terrain normals?

Posted by Hodgman on 10 July 2014 - 05:18 PM

DXT3 is basically DXT1+4bpp alpha, and DXT1 really sucks for storing normals. The problem is that it uses a palette of RGB values, and blend weights for that palette, which means that R, G an B are inter-dependent; a gradient in the R channel will impact the quality of the G channel.

As MJP mentions above, a common solution was to use DXT5, where RGB and A are seperately encoded, an then store zeroes in R/B, and the normal data in G/A...
So I would not recommend the scheme you're thinking of.

Anyway, do you need texture blending at each terrain point? I would think you would want to store at least two 4-bit indices and an 8-bit blend weight ;-)

#5166091 Drawing in one draw call vertex buffer with different programs

Posted by Hodgman on 10 July 2014 - 05:05 PM

That kind of ubershader is still one program though ;-)

Also, I would recommend only ever using that approach if you're desperate to reduce CPU-side overhead. That technique allows you to drastically reduce the amount of gl* calls that the CPU has to make, but it's also likely to cause a huge amount of overhead on the GPU-side - so you're wasting GPU-time in order to gain CPU-time.
If your game is GPU-bound, then you'd be better off making more draw calls with non-uber shaders ;)

#5165912 MIT License in PlayStation Vita Game

Posted by Hodgman on 09 July 2014 - 05:53 PM

The purpose of the license is to protect the author from plagiarism (of the source), and to allow easy commercial use... So I too thought that they way that they define "The Software" only covers the source code and documentation that you received.
I thought that, if 'using' the software involves a one-way transformation into a binary blob, which has the effects of culling all superfluous text (including the license), then it's natural that you wouldn't have to jump through hoops on order to distribute hat blob.

#5165401 Game Engine for Photo-realistic Simulation (Unreal4 or Crytek)

Posted by Hodgman on 07 July 2014 - 05:37 PM

AFAIK, the EAAS version of CryEngine doesn't let you write your own shaders, so you'd want to subscribe for a month to evaluate if it's built-in shaders/rendering systems suit your needs.

#5165172 How to use external variables in HLSL?

Posted by Hodgman on 06 July 2014 - 08:35 PM

Can you just do:

cbuffer blah {};
#include "master.h"
void main() {};

#5164977 How to play a game that you created on an XDK

Posted by Hodgman on 05 July 2014 - 07:13 PM

The XDK can only be used by licensed developers, and is covered by NDA.
Discussing it here would be a breach of NDA, which could result in my/your employer's contracts with Microsoft being torn up, and us being fired.
Your workplace shouldn't have let you take it home either -- those same contracts mean the 360 devkit and the XDK software must be kept private and secure at all times.

To answer the question though - no you can't play normal games on it and there's no public forums for discussing it. Your best be would be talking to a programmer at the workplace you pinched it from.

#5164475 Lua issues: script loading

Posted by Hodgman on 02 July 2014 - 09:39 PM

or am I just missing something HUGE with lua?
By "loading a script", do you mean sending a pile of text to the lua VM and asking it to execute it?

Imagine if in C, you decided to run an exe file every single Update/Render, rather than just calling a function.


You can do that in Lua - load the script once (just like we run an exe file once), and then call your Lua functions (from C) every time you want to update/render.

#5164460 Flight Simulator licensing?

Posted by Hodgman on 02 July 2014 - 07:31 PM

Soon the very air we breathe with be trademarked and we'll have to pay a fee to some company.....

Patent #US13839823: Method and apparatus for absorbing oxygen into a biological life form for the purpose of metabolism from common air samples via cyclic respiration using a plurality of organic filters laugh.png

#5164302 Flight Simulator licensing?

Posted by Hodgman on 02 July 2014 - 06:45 AM

I have always wondered if the "let them come to me" attitude could work.

Basically develop your game using their license, trademarks etc. Then when or if their lawyers come knocking, just pay your dues.


I don't recommend this at all (this is purely a theory and is likely to be very unprofessional practice) but I wonder if anyone here has experience similar to this?

They will come knocking as a cease-and-desist-type legal threat -- "Pull your game out of existence right now or we're gonna sue you into the stone age" -- which probably isn't the best place to begin negotiating your dues from wacko.png