1,292 reputation
159
bio website
location
age 51
visits member for 3 years
seen yesterday

Coming off a time of experimental game designs, Java and PCG I'm now looking for work in Orange County, CA either in or out of the games business, please feel free to contact me if you have any referrals.

I'm a long time game programmer having worked on many shipped titles, a few AAA releases and one MMO so far. I'm a generalist and my credo has always been that if something needs doing to ship, I'll step up and learn what I need to to get it done.

-Patrick


Jun
11
comment Is the Entity Component System architecture object oriented by definition?
More traction especially since the whole point of components was to get away from intractable OOP hierarchies, good description of the benefit.
Jun
8
comment Correct process for creating builds reliant on 3rd party packages
We agree, I see your perspective in that light now! Yes, we're approaching his unquoted source of "proper programming practices" error from different sides =) OP, please cite where you picked up this proper practice from, no one does it that way because of everything Michael says here. I know that in my past practice, pulling an external update was a major effort and we locked down everyone's submissions while while merging and regression testing before opening the floodgates again. This was done very infrequently. Internally held versions were pulled on every automated build.
Jun
8
comment Correct process for creating builds reliant on 3rd party packages
The base point of something in the repo breaking your local build is backwards, the only thing that matters is that your local build doesn't break anything in the repo. The repo is what everyone gets, what releases are built from, and what your check-ins are tested against. If something is broken it's far better to catch it locally before you update the repo with changes that magically "well it worked on the programmer's machine" but break everyone else that tries to use it.
Jun
8
comment Correct process for creating builds reliant on 3rd party packages
Pulling fresh copies from the chain is common in automated build systems. The problem is not the pulling at build time, but not properly versioning upstream components of the build. If main package version 1.01 requires library 3.14 then pull from the 3.14 set and not a generic "library whatever, it has the same name" set =)
Jun
1
comment How to avoid oscillation by async event based systems?
Just this week I cut out instances of your #1 happening in my remote control app, and I solved it just like you describe. The "trick" I used was to have internal maintenance signals for local state maintenance and external for control inputs. Keeping this arms-length gap stops the feedback loops from forming.
May
15
comment How to find out if a tile is being covered by a polygon?
Shrink wrap it, perhaps a modified cs.sfu.ca/~haoz/teaching/projects/cmpt469/0501/shrink_wrap/… that pays attention to the grid size you've chosen?
Dec
28
comment Usefulness of “milestones” in agile development
+1 It's all about the customer. Sometimes the customer is your own marketing department, other teams like ops that need to support your code.
Dec
4
comment When interviewing programmers, are algorithm problem solving skills relevant for a job were solving such algoritm problems isn't normally needed?
@RobertHarvey, Assuming that the test is a sanity check and actually has some relevance to the job I agree with you. Leads forced into writing these kinds of questions for HR sometimes don't do such a great job, unfortunately.
Sep
18
comment Writing my problem solving approach on paper?
That person is wrong. Most use shorthand like UML or pseudocode blocks, but whatever method you use has to work like your mind works and apparently yours needs paper =) I guess Feynman shouldn't be a physicist because he writes equations on the blackboard, right?
Aug
21
comment Refactoring c++
Kind of makes a good case for doing diligent design up front =) Just because agile-like methodologies let you dig 6 foot deep holes at each step to bury yourself in doesn't mean that you should run around digging holes before surveying the land and seeing whether you need holes in the first place.
Aug
2
comment One Scheduler vs. Many Schedulers
The only reason not to, other than clarity and ease of code maintenance into the future, would be that if any kind of conflict can arise from your 1..N schedulers all running their tasks simultaneously then you should not.
Jun
27
comment Loose Coupling in Object Oriented Design
No option for Album being a Track factory, the created Track object which you then fill in through the ITrack interface? Maybe I misunderstand the scope of the question.
Jun
20
comment What's with the aversion to documentation in the industry?
From a business standpoint reams of documentation is costing the company money here and now, when you could instead be working on the next project to make money. That need to always be producing profit is the pressure you feel against "wasting time" writing documentation. Plus, no one ever reads the docs and instead reads the sources because only they are the ultimate authority.
Jun
17
comment How to handle flag in multiple if-else's
The most important take-away from most of the answers below is that simplicity and legibility are far more important than clever tricks when it comes to logical flow and maintaining the code into the future.
May
30
comment Are There Any Programming Focused Notebooks?
@MatthewFrederick by that standard every piece of evidence can't ever serve a meaningful purpose in a court; this is why there are extremely harsh penalties against perjury, fraud, lieing on the stand, etc... to keep the price so high that leaving blank pages becomes not worth it.
May
13
comment Prevent anomalies caused by signal propagation time
The server is its own, self consistent universe. Clients request action, and for the sake of appearances pretend that action has started. Clients do not simulate the reaction and instead wait for the server to tell them what happened. The reason you cannot solve this in most hardware is that there is no central nexus (ie. the server) where transactions happen.
Apr
22
comment How do I Integrate a Former Team Member into the Current Team
Actively manage the existing team's (possible) concerns about why this guy was brought back in after abandoning the company and put in a managagement slot. Why were none of them put in that slot, etc... Since he is now a permanent employee again, what happens to their upward mobility, will you always hire from outside instead of raising from within, is this just an example of the "good old buddy" network taking care of their own, all sorts of issues that will probably be unspoken.
Apr
15
comment How useful is “rubber duck debugging”?
Excellent point - not just programmers but copywriters, editors, and I can name a few producers who have refined this to an art form =)
Apr
6
comment how to stay efficient when a build is almost always broken
+9000 for "Stop breaking the build." Seriously. The whole, entire point of continuous integration is to stop breaking the build and, if broken, fix it as fast and as close to the break as possible.
Apr
6
comment Choosing between Qt/C++ and .NET/C#
Qt works fine on mobile platforms, does it not?