[QUOTE=Erkmuss;13944]Hello Everyone
I am struggling with the speed in which I am able to solve problems. I lack a system and am looking into developing some good habits that will help me solve problems a little faster. Currently I am spending a lot of time just staring at the screen wondering how to get the neurons in my brain to fire.
Is there something that you find is helpful when attempting (in a very general sense) when tackling a problem?
Or is there just an improvement in my skill set needed when I stare at the screen?
I’m looking for anything from little things you do every time you approach a problem to full blown methodologies, everything helps.
Thanks.[/QUOTE]
When you say problem solving, do you mean support requests, designing pipelines, or figuring out implementation details? Personally, I have different solutions for all three.
Solving a support request is simply a matter of deductive logic. If you don’t know what the answer is, find out all the things that it isn’t. For example…
“Scott, my model looks different in Maya than it does in the game!”
- Re-export the model from Maya yourself (eliminating user error)
- Load the exported data in a viewer (eliminating exporter error)
- Rebuild the game on another platform (eliminating any platform-specific issues)
- Export another model (eliminating any generic build errors)
From there, the solution could only be a small number of things.
For designing pipelines, I find the best approach is to talk to others. Find out from the artists what they want, find out from the coders what they need.
From there, it’s just a case of breaking down the problem. If you can’t solve the whole thing yet, just write the parts you can, in small, self-contained modules of code. After doing this, solving the problem becomes a case of putting your code fragments together in the right order.*
When it comes to implementation details, I find the best starting point is to research. Find others who have implemented something similar to your problem, draw inspiration from the best bits of their solutions, then improve them by adding your ideas (even if you are inventing the wheel, chances are someone else has already invented the box).
*PS: Bonus points for those who noticed I answered my opening question using this methodology!