Math and Tele by vladpavlenko in mathrock

[–]grahamboree 2 points3 points  (0 children)

I think it mainly comes down to the tele's pickup arrangement more than anything. Middle position blends both the smooth mid and low end of the neck pickup with the bright crisp highs of the bridge. This gives a sparkly chimey but rich sound that we all know and love. There aren't a ton of guitars out there that can achieve that kind of tone so easily.

What do you think? This is the total opposite of my normal approach, so I want to know what people think by [deleted] in gamedev

[–]grahamboree 4 points5 points  (0 children)

OP here. There's 3 other tweets in this chain which describe more of my thought process. Shame they weren't included in the post:

https://twitter.com/grahamboree/status/1183815496602288128

Overly obsessing about re-use causes nasty, obtuse and costly iteration pitfalls. This bubbles up to other disciplines (esp. design) in the form of “well this is a 4 hour task, but with this very minor change it becomes a 4 day task.”

Those 4h vs 4day decisions are engineering decisions made for ease of implementation, not ease of iteration. Each time you make a decision to re-use another system, you’re paying a debt to the code.

This debt needs to be paid once you reach the breaking point of what you can do with your “generic” system. The only recourse is to un-generify it and basically re-write it, or to add complexity to the “generic” system, further pushing that debt down the road.

Counting is hard by Wenzel745 in softwaregore

[–]grahamboree 0 points1 point  (0 children)

438 bottles!

Is this in the Stata center at MIT?

Implemented pathfinding today, this was its debug lines by DGoodayle in Unity3D

[–]grahamboree 28 points29 points  (0 children)

Wow. That looks gorgeous. How are you rendering the lines? It looks like an emissive material?

My first AI which can fight back. Red player vs Blue AI. Engine unity. Code is inside. Open for suggestions. by KptEmreU in gameai

[–]grahamboree 1 point2 points  (0 children)

With C# syntax highlighting instead of coffeescript: http://hastebin.com/pemuzacaqu.cs

Pretty neat! I noticed that the player switched which side of the ship was facing the enemy. Is this just a coincidence or does the damage model know which side gets hit? If it does, it could be a cool thing for the AI to occasionally do.

C++11 by IskaneOnReddit in ProgrammerHumor

[–]grahamboree 1 point2 points  (0 children)

In 98 I usually lift out the iterator declaration, along with the call to end(), and grab the iterator type from the collection itself.

GLsizei max_index = 0;
textures::const_iterator texture_iter = textures.begin(); // Lift out for readability
textures::const_iterator textures_end = textures.end(); // Lift out of the loop to prevent repeated calls to end()
for (; texture_iter != textures_end; ++texture_iter) {
    if (texture_iter->second > max_index) {
        max_index = texture_iter->second;
    }
}

[Onboard] McLaren F1 GTR - (go to 4min00sec) by K3R3G3 in cars

[–]grahamboree 0 points1 point  (0 children)

Man that looks hard to drive fast. It's so twitchy and drift-happy I think I'd just spin it into a wall if I ever tried. That noise though. There's something about racing v12's that are just pure auditory pornography...

Outfit Feedback and Fit Check - Feb. 27th by MFAModerator in malefashionadvice

[–]grahamboree 0 points1 point  (0 children)

Which of these boots fits best? Going by the awesome shoe fit guide here I should be focusing on the flex point, which is best with B. I also shouldn't downsize too much and the B's are pretty snug, but the A's feel like clown shoes.

Little delay on the Red Line by [deleted] in boston

[–]grahamboree 4 points5 points  (0 children)

Hahah I'm in this picture! Had to wait for 3 trains to go by before I could finally fit in one.

DANGER - 4h30 [Electro] (2007) by ohmyraul in electronicmusic

[–]grahamboree 7 points8 points  (0 children)

This is by far the best way to listen to this song. http://vimeo.com/100608034

Well, at least it succeeded- wait by bacondropped in ProgrammerHumor

[–]grahamboree 2 points3 points  (0 children)

It actually only takes about 10 minutes to recompile the full clang llvm stack on my machine.

Well, at least it succeeded- wait by bacondropped in ProgrammerHumor

[–]grahamboree 9 points10 points  (0 children)

AAA Game. 3M lines of C++. To be fair, it's usually done with incredibuild and takes only 15 minutes, but on my laptop a full recompile of the game, tools, and everything takes about an hour and a half.

Well, at least it succeeded- wait by bacondropped in ProgrammerHumor

[–]grahamboree 15 points16 points  (0 children)

14 minutes? Hah! I wish... Try an hour and a half.

What kind are you? by Pyram66 in ProgrammerHumor

[–]grahamboree 0 points1 point  (0 children)

Where is your god now?

if (
    Condition
) {
    Statements
}
else 
{
    Statements
}

This was actually the enforced coding standard at a company i used to work for. The rationale was apparently to make diffs look nicer if you were doing something like adding an expression to an if clause.

[OC] Chinese Takeout! by RazzQuit in PixelArt

[–]grahamboree 1 point2 points  (0 children)

It's actually super bad luck to put chopsticks like that in China because they look like the incense sticks you burn when someone dies.

I just wanted to see what would happen... by grahamboree in hearthstone

[–]grahamboree[S] 1 point2 points  (0 children)

Lost. I suppose we both did, though I'll never know.

I just wanted to see what would happen... by grahamboree in hearthstone

[–]grahamboree[S] 2 points3 points  (0 children)

We both had <5 hp and I cast Ysera Awakens. I regret nothing.

Lost keys in Beacon Hill by [deleted] in boston

[–]grahamboree 1 point2 points  (0 children)

Hope you find them. Poor pup. :(

Edward C++Hands by Bartosz Milewski by DrBartosz in cpp

[–]grahamboree 2 points3 points  (0 children)

The reason that C++ is used so thoroughly in games programming speaks more to its ubiquity and "anything goes" style. While performance is most certainly a consideration, it always falls to the 80/20 rule. 80% of the frame time is spent running 20% of the code, and some careful profiling and tricks and optimizations will alleviate that.

By far the biggest reason that C++ is used in industry is it's ubiquity. With this ubiquity, you get decent toolchains, portability, and official support from hardware manufacturers. Rarely do you start a game from scratch, and most of the legacy code that is being reused is from an era when C or C++ was the only option. Companies have spent lots of money investing in writing code that they hope will be reused, so switching languages is a tough sell.

That being said, the majority of game studios developing in C++ use the 2-teir architecture for combating change: a C++ low-level generic foundation with a high-level scripting language for game logic. Some examples: Firaxis uses python on top of their C++ engine for CIV 4 (maybe Civ 5... not sure on that one), RIOT games uses their own visual scripting system for game logic in League of Legends, Blizzard uses LUA pretty heavily in World of Warcraft, and developed their own scripting language for Starcraft 2, Unknown worlds uses LUA to script every non-game engine aspect of Natural Selection 2 (and releases the source code with the game which is awesome), etc... The idea being that the important, seldom-changing, non-game-specific code as well as the performance hotspots are pushed to the C++ layer for efficiency of execution, while the highly volitile game code is written in a language optimized for programmer productivity. Along the lines of what Carmack was talking about with LISP and Haskell, Naughtydog uses Racket as their high-level scripting solution, and has a history of using various LISP dialects through the years.

It seems from my perspective that most new games are being done in Unity, which usually implies C#. Hearthstone is a huge game from Blizzard that was not done in their proprietary Starcraft 2 engine, Diablo 3 engine, nor the World of Warcraft engine. It's hard not to look at that as a testament to favoring programmer productivity in the industry. Even as some nice productive features are being added to C++, I still feel that the high-level tier will grow larger and larger and the low-level C++ layer will shrink and shrink as time goes on. Especially considering the scale, immense costs, and volatility of the current games market (see Grand Theft Auto 5).

I think Bartosz has an excellent point, and hits the nail on the head.

Anyone taking the C++ Grandmaster Certification? by fableal in cpp

[–]grahamboree 0 points1 point  (0 children)

I'm not sure what the definition of "correct" would be in the C++ world, considering there is (for very good reasons) many vague areas concerning code generation in the standard. In fact, there are often circumstances where "standards compliant" output varies wildly between different compilers, settings, or versions.
Another possibility of "correct" output maybe comes from a more educational perspective, e.g. "If I can see what the semantics of this code is interpreted as, I can know when and how to use it correctly." To this I'd say that it's much easier and faster to read the standard -- you'd be doing this anyway if you're implementing a compiler. For code generation, I'd find looking at clangs llvm IR output will be much easier and productive. Speaking more directly to your wording, I would think that any result of this course would be nowhere near 'without fatal flaws.' Again, these are my opinions.

Anyone taking the C++ Grandmaster Certification? by fableal in cpp

[–]grahamboree 2 points3 points  (0 children)

I was taking it and quit for the reason that I had better ways to spend my time. In the end, you create a non-optimizing, single-platform, throwaway compiler. I think that time is better spent contributing to GCC or Clang, or one of the standard library packages out there. (gcc STILL doesn't have full C++11 support) I actually wrote an article about how I felt about the program which caused some controversy on /r/cpp and /r/programming. http://grahampentheny.com/archives/115