8,555 reputation
11826
bio website
location
age 51
visits member for 3 years, 1 month
seen 19 hours ago

Now looking at starting Vexing Solutions (aka: vexingsolutions.com) to do game/serious simulations and EMT/EMS apps for mobile. And maybe finish my degree while I'm at it.

Done building and updating tools for a new game engine. Lots of UX and all that jazz.

I am also EMT certified. Not currently active but will be looking for weekend volley or PRN opportunities later this year.

I'm a long time self taught game programmer having worked on many shipped titles, a number of published titles on various platforms and one cross-platform MMO so far.

-Patrick


Jul
27
comment Entity Component Architecture - initialization between multiple components
I have to agree with this here. ECS is a solution to some kinds of OOP problems that game programmers were experiencing; this is more of a world definition problem, still data driven but your ECS just collapses into the one system handled by Sean's explanation above and so it's not needed.
Jul
14
comment C++ timer function acts as if time limit is instantly reached if it is less than 1 second
A great reason to work with warnings turned up high, and to actually read the compiler output, both of which should have given a warning about truncating a float or some such.
Jul
12
comment Updating entities in response to collisions - should this be in the collision-detection class or in the entity-updater class?
Reverse your logic. Don't handle collison and check what hit you. Handle collision and tell the other thing what you do to it. All objects create and receive these abstracted types of messages like "animal bite" or "fiery explosion" and then each object class decides what to do with that information. In this case Robot gets "animal bite" and jumps. For the future this is a perfect place to add scripting so all this reaction logic can be changed without having to write program code and rebuild the application.
Jul
6
answered Smoothing Pathfinding on Tile-Based Terrain but Free-Roaming Player
Jul
5
comment Closest distance from 3D point to vector line
In the time it took to create that drawing you'd have had your answer with basic searches on your own and moved beyond it to other, more fun aspects of your game!
Jul
5
awarded  Enlightened
Jul
4
comment Algorithms for Physically based shading models
Plus you're confusing algorithms with mathematics, which is probably why your prior research didn't turn up many answers before you came here.
Jul
2
comment Procedural terrain generation
I'm afraid that generating any kind of noise field is costly, there's a ton of math going on behind the scenes. Best I can do to get near realtime is only generate a little at a time or on a worker thread while other things are going on. The usual solution is to generate it all up front and cache it for retrieval.
Jul
2
comment Procedural terrain generation
Think of each noise generator as a layer in photoshop. Add layers of noise on top of each other with some sort of combining function like Add or Multiply, or Flatten. That's the way that mixing noises usually works. Want to flatten some areas? Make a noise pattern that you like and layer it on with a Flatten combiner. Mountain chains? Make a stringy noise field and multiply. Etc... As for which ones, you'll have to experiment. Libnoise has many examples, as a starter.
Jun
29
comment Is video compositing feasible?
The answer to your two questions is 1) Yes. And 2) No, because 1 is yes. And especially because you're expecting inter-process and not just threaded access.
Jun
28
answered Is it acceptable to mix simple physics logic with gameplay logic?
Jun
25
comment Blinn, Normal maps & Fresnel?
This is how I learned it.
Jun
24
comment Why is my Simplex Noise appearing in four columns?
I specifically mentioned using a pattern because a single color won't help diagnose this data problem. The library is creating a texture but you may be giving it data not formatted the way the texture creation library wants. Only by passing it structured data can you tell how the data is being misinterpreted. What texture library is being used, how are you calling it with this data? Have you tried plotting this array pixel by pixel to see what you get? Lots of debugging left to do =)
Jun
23
comment Why is my Simplex Noise appearing in four columns?
Could this be a problem with creating the Texture from this Color array and not a problem with filling the array with noise in the first place? Have you tried mocking this routine with a synthetic output pattern?
Jun
23
comment GA - Genetic Algorithm for Enemy
Something to think about while working on your fitness function: adaptable, perfectly performing AI are both frustrating to play against and stop a player's learning process so that a person can never get better at your game, which is also very frustrating. In the end I suggest you create your fitness function so that it has a sense of what's fun for the player and not just perfectly playing.
Jun
23
comment Efficient data packaging for a client-server network
Pretty sure that Google's use case for protocol buffers wasn't efficiency in the standard sense, but to maximize compatibility between all possible platforms and any future data versions (which is efficiency in another light). I'll be over here reading up on your other notes, very nice collection for me to get reacquainted with the subject.
Jun
20
comment Is there an equation to determine when to invoke extrapolation in response to lag?
"That's my secret, Cap, I extrapolate all the time." Is not extrapolation nothing more than continued interpolation?
Jun
19
comment Modeling “singletons” in an Entity-Component System
+1 Just because you have a hammer doesn't mean that everything is a nail =)
Jun
17
awarded  Nice Answer
Jun
17
comment How do I make A* agents avoid other agents?
+1 I like this, it's subversive and completely functional =)