Live data from Hacker News

Doom3 is the proof that “keep it simple” works

gamedev.net

91–100 of 111 posts

Re: Doom3 is the proof that “keep it simple” works

#91

Earlier quoted context omitted.

What's wrong with this?

Over 150 lines of code in a simple method? C-style declaration of all the variables in the beginning? (Yes, I know what Carmack said about how he written the project; this explains it, but doesn't make it good C++ code.) Unclear flow with just one comment, which doesn't really explain anything?

I found no difficulty understanding what it does. Perhaps you need to acquire greater proficiency at reading code.

Well, some familiarity with the game helps, too. This is the code that runs when a certain pick-up item's effect activates.

Re: Doom3 is the proof that “keep it simple” works

#92

Earlier quoted context omitted.

Not a definitive list, but these are good: The C++ Programming Language, 4th edition Bjarne Stroustrup The C++ Standard Library, 2nd Edition Nicolai M. Josuttis Effective C++, More Effective C++, Effective Modern C++ Scott Meyers http://en.cppreference.com

I would also add Effective STL too. A Tour of C++ by B. Stroustrup is a good start point for a beginner too

It is also excellent for people who have worked in an older style of C++ and want to get a jumpstart on modern practices and the new C++11 features and keywords.

Re: Doom3 is the proof that “keep it simple” works

#93
post #79
post #60

> Doom3 is the proof that “keep it simple” works This statement suits even better to id Tech 3 (Quake 3). John Carmack mentioned: I still think the Quake 3 code is cleaner, as a final evolution of my C style, rather than the first iteration of my C++ style [Doom 3] : http://kotaku.com/thanks-a-few-comments-in-some-ways-i-still... and he linked to his blog post about "Functional Programming in C++" on the now defunct…

I was surprised to learn that CoD still uses something based on the Quake 3 engine. Any idea how much the engine has changed?

Yeah, in particular I'd be interested to know if CoD still uses Quake 3's VM model.

Re: Doom3 is the proof that “keep it simple” works

#94
post #31
post #19

Earlier quoted context omitted.

I was seated at the restroom at work yesterday morning when I noticed a strip of plastic had been added to the gap between the metal stall and the metal stall door. It was branded Privacy Cover (patent pending). Welcome to the future where everything is branded and everyone is an Avon lady, endorsing some set of pet products :) [a] http://www.rbahelp.com/toilet-partition-privacy-strip-instal... [b] http://www.partiti…

You might be interested to know that other parts of the world seem to have solved this quite ingeniously.. At least in Australia and New Zealand it is very common to have stalls with doors hinged and sized so when shut they overlap an outer bit. No gap.

Yeah, fancy west-pacific door technology. Who would have ever thought that a door can block your view if built properly? :P

Re: Doom3 is the proof that “keep it simple” works

#95
post #18

This is back in the good old days when C++ didn't have all the crap, and everyone wanted to stay away from doing advanced stuff with STL and RTTI. Linus famously said that Linux is written in C if only to keep away the C++ developers. Having said that, I used to write tutorials using the old ways as well: http://flipcode.com/archives/Theory_Practice-Issue_06_Event_... Does anyone love the new C++, and if so, what are…

I do enjoy programming in C++11 style. What I like the most is that once you understand the quirks, you would see a lot of opportunities to improve performance but only when necessary (Like using moving semantics if you have to pass a big object through several function calls) Also STL has improved a lot and I am very happy that I don't need to include a huge dependency such as Boost or POCO just to have a hash table…

This comment represents the my biggest frustration with current programming tools & practices. You shouldn't have to include any libraries. Ever! And you shouldn't have to rewrite some code that does something that's already available and well-written. That, and, if you want to include some functionality, there will be 13,000 versions of the same functionality for you to review before you decide which one to learn and commit to. (And it is easier to write it yourself sometimes.)

There's no reliable way for languages themselves to standardize and aggregate the work that others do. You just hope the language designers are willing to put up a new version, (and that it's a decent one) and they end up doing it ever-so-slowly because it's not automated in any way. Hand-pick and re-roll. There's no metric-based signaling or automated analysis or anything, it's just whatever your experts opine.

Re: Doom3 is the proof that “keep it simple” works

#96

These adverts pretending to be learning experiences, really bother me "CppDepend Tutorial" would be a better title

Ads that are decently educational? Compared to what we deal with currently, I have no problem with edu-ads becoming the next great trend in advertising.

The issue is that we lose the distinction between content and ad. As this distinction blurs, less people will be able to say which is which. I guess the real question underlying this is the one underlying advertising in general, how much are we morally allowed to manipulate someone who did not give informed consent for the purpose of modifying their behavior in a way that is beneficial to us?

Re: Doom3 is the proof that “keep it simple” works

#97
post #17

Earlier quoted context omitted.

You must be the target audience then because I read a great article about Doom3 and have no clue what youre talking about. I also dont know what CppDepend is...

> Let's go inside its source code using CppDepend and discover what makes it so special. And the article is written by the creators of CppDepends

But as somebody with zero experience, I wasn't aware when reading that this was a tool and not a part of the language itself. I read articles like these because I have an interest and a lack of knowledge, and I'm learning all kinds of things today.

I've been a longtime fan of Carmack, and I wish I could read and understand his work for myself!

Re: Doom3 is the proof that “keep it simple” works

#98
post #95

Earlier quoted context omitted.

I do enjoy programming in C++11 style. What I like the most is that once you understand the quirks, you would see a lot of opportunities to improve performance but only when necessary (Like using moving semantics if you have to pass a big object through several function calls) Also STL has improved a lot and I am very happy that I don't need to include a huge dependency such as Boost or POCO just to have a hash table…

This comment represents the my biggest frustration with current programming tools & practices. You shouldn't have to include any libraries. Ever! And you shouldn't have to rewrite some code that does something that's already available and well-written. That, and, if you want to include some functionality, there will be 13,000 versions of the same functionality for you to review before you decide which one to learn an…

"You shouldn't have to include any libraries"

"you shouldn't have to rewrite some code that does something that's already available and well-written"

How are those not contradictions?

Re: Doom3 is the proof that “keep it simple” works

#99
post #98
post #95

Earlier quoted context omitted.

This comment represents the my biggest frustration with current programming tools & practices. You shouldn't have to include any libraries. Ever! And you shouldn't have to rewrite some code that does something that's already available and well-written. That, and, if you want to include some functionality, there will be 13,000 versions of the same functionality for you to review before you decide which one to learn an…

"You shouldn't have to include any libraries" "you shouldn't have to rewrite some code that does something that's already available and well-written" How are those not contradictions?

You tell the compiler what data type you're trying to use, and it finds a high-performance implementation for you over the internet.

Re: Doom3 is the proof that “keep it simple” works

#100
post #81

As someone who wants to learn modern c++, what are some good resources/books to learn from ? I have python and java experience and I have been reading Accelerated C++ since a while now.

As an addendum, I highly recommend not reading decade old source code like this as an example of modern C++. C++11/14 have changed the language so much for the better that anything targeting C++03 should be ignored for new projects and especially for new learners. Also, avoiding Boost and Qt early on is also a good idea. Both have tremendous stylistic and design differences from ISO C++ and while the language support…

the STL is also totally unlike the standard C library. are things like or to be avoided because the core language is ?
Post reply on HN