- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
The game was Desert Bus.
Admin
Save your miata, I want a MR2 spyder - it's a baby elise that doesn't cost 45k.
Admin
No, I'd get a smartass license plate and try not to wreck it learning how to drive fast.
Admin
Admin
if ( pNewObject->getType() != OBJTYPE_TOWER && pNewObject->getType() != OBJTYPE_CAR5 && pNewObject->getType() != OBJTYPE_CAR2 && pNewObject->getEnvType() != ENVTYPE_VEHICLE )
When you see code doing different kinds of processing for different "types" of class objects, consider using sub-classes - that's what object-oriented coding is all about.
Admin
Admin
Admin
I remember reading about Zelda OoT in Nintendo Power before it was released. They discussed the idea of having Link drive a Lincoln instead of a horse. Man, that would have been sweet...
And WTF @ banning TopCod3r, his posts were more amusing than the articles.
Admin
I've attempted full-blown cleanup efforts enough times to recognize when it's smarter to make "unclean" patches (less untested code, less delay).
History comments of importance can be great timesavers over searching the revision history, and better guideposts for newcomers, though it's good to remove what becomes completely obsolete. They can also deflect ping-pong edits ("hey, why are VWs allowed here but not sports cars? clearly an oversight, I'll just fix that up...")
Funding development for 4 years is very expensive, the odds of reaping proportional profit gains are very low. It also risks looking old, with artwork made two to three years earlier than other games matching its release date. (Game art is more than just painting, which is timeless but for fads of style -- consider surface detail, lighting, and animation fluidity, all of which reap incremental yearly benefits from technological improvements and are not quickly re-done once made.)It's nice to see Flash games expanding the demographics, hopefully the wider potential profit base will encourage more studios to fund smaller-scoped projects with tighter focus. Passion in Art alone won't pay the mortgage.
Admin
One more vote for keeping TopCod3r. If anyone is going to be banned, it should be those whom he hooks.
Admin
That isn't exclusively true. I work at a major independent game developer (the title we released last year grossed a few hundred million dollars, from that and my name you might be able to identify what it is) and we are extremely principled about the code that we write. We realise that wasting time rewriting code over and over is worthless, and instead we concentrate on making a solid code base which we can build upon time and time again, as we have proven.
The times, they are changing, of this I am sure. Huge monoliths like EA and (to a lesser extent) Ubisoft certainly have such bad coding practices, but there is a growing sense of responsibility among game engineers for the products we are writing.
As for not releasing any WTFs; well I would love to but honestly at my current place of employment there isn't anything very exciting, and if there is it is so engrossed in the subtleties of the engine that it would take a dozen pages to explain it fully. I did somehow manage to leave a "static" identifier before a locally scoped variable a couple of weeks ago; that was pretty embarrassing but our test team found it pretty quickly. :)
And yes, there is probably some NDA restriction, too, which I wouldn't want to break. I'm certainly not easily replaced, but I love my job and don't want to jeopardise it. :)
Max
Admin
TRWTF is that TopCod3r hasnt even posted in this article and yet still half the post is devoted to him.
Admin
^This. A 1000 times this. Even in articles where TopCod3r did post, there wasn't this much off-topic back and forth.
I'm just interested to see how many more off-topic TopCod3r related posts will go by before someone else acknowledges that Max Dyckhoff of Bungie just posted.
Unless Max wrote TopCod3r's AI, everything's interconnected and it's turtles all the way down of course...
Admin
Admin
Admin
Well... it's not the coders who are to enjoy the game, but the gamers :P Who said that bringing fun to other people must be fun, not hard boring work?
Admin
But you probably know what "9/11" is ;-)
Admin
Well, not exactly: if you declare your argument as "int * ptrToSth", you are GUARANTEED to get a pointer. Now, if you take an "int & refToSth", you may or may not, depending on how the function treats the argument and how compiler decides to optimize the code.
Admin
So that's the story of Big Rigs. This explains much...
Admin
Admin
According do the date format in my country: November the 9:th.
Admin
Wagstaff: Oh, you have got a chauffeur? Baravelli: Yeah. Wagstaff: What kind of car have you got? Baravelli: I no gotta car. I just gotta chauffeur. Wagstaff: Well, maybe I'm crazy, but when you have a chauffeur, aren't you supposed to have a car? Baravelli: Well, I had one, but you see, it cost too much money to keep a car and a chauffeur, so I sold the car. Wagstaff: Well, that shows you how little I know. I would have kept the car and sold the chauffeur. Baravelli: That'sa no good. I gotta have chauffeur to take me to work in the morning. Wagstaff: Well, if you've got no car, how can he take you to work? Baravelli: He don't have to take me to work. I no gotta job.
Admin
Admin
You need to use better tools then. Revision history is already there. No reason to clutter the source code, And yeah I worked on large source code... Probably had a couple thousand files
Admin
Admin
That's not a feature, that's a bug! :-)
Admin
MX5's (as they're called here) are brilliant cars. I'll talk serious handling potential over straight line gas guzzling power any day.
Don't worry, the original poster probably drives a hummer.
"Looks like a fish, moves like a fish, steers like a cow." (from The Restaurant at the End of the Universe)
Admin
OMG Duke Nujem ROCKS! I just got the Hi-Res pack for Duke Nukem 3D and its a blast on the modern PC.
Jiff www.privacy-center.ru.tc
Admin
That date format sucks. It is so easily confused with YYYY-DD-MM.
Admin
Good thing I followed that link before writing a heated response...
Admin
You can even do this:
Of course the standard says that dereferncing an invalid pointer has untold consequences, the code above I presume will work when compiled with almost any C++ compiler, on any sensible platform.Cheers!
Admin
Management: Damnit, now the trucks are colliding with the buildings funny! What's the easiest solution? Programmer: Turn off collision detection? Management: Make it so.
[later]
Management: Oh for heaven's sake, have you got the physics right for climbing hills yet? What's the quickest way to fix it? Programmer: We could ignore the angle completely I guess, but... Management: Do it!
[even later]
Management: Oh what now?! Why is the AI being stupid? Isn't fixed yet? Programmer: We- Management: Quickest solution? Programmer: Disable the AI... Management: Brilliant!
For anyone that hasn't seen reviews of Big Rigs, yes, you really can drive through the buildings, up a vertical cliff, and race against opponents that don't move.
Admin
PS: Duke Nukem Forever hasn't been released yet. There was some bogus news about it on Slashdot but that was a misunderstanding, they actually released DN 3D for some other platform than the PC. Duke Nukem Forever will be relased "when it's done" - quoting 3D Realms.
Admin
Reminds me of Marathon--once the source code was released, we got to look at shell.c (the file with the implementation of main()). It turned out Alex Seropian had used revisions of the same file in Marathon 2, Marathon, Pathways into Darkness, Minotaur, Operation Desert Storm, and all the way back to Gnop (and probably forward into Myth, Myth 2, Oni, and early versions of Halo, for that matter). We were rather amused.
Admin
Unless the IDE changes the variable names automatically to reflect the actual type I cannot see any benefit - only drawbacks. Then again I never had to use it.
Admin
Games programming - Yawn. MX5 vs American mouth-breathers - Yawn. Bring back TopCod3r.
Admin
Admin
A good example is the use of prefixing 'l' to local variables (this includes arguments) and 'm' to member vars.
On the PS2, cache performance was absolutley critical as the cache refresh was pretty slow. You could do something like 33 vector multiplies in the time it took to refresh the read cache. Just by simple prefixing the member and local variables, you could at a glance, see if code was constantly fetching / writing member variables of a class and thus, thrashing the cache in a given circumstance.
And if you think hungarian notation just means "encoding of type" then you've actually missed what hungarian notation was meant to do. And you've also been using it wrong, if that's what you've done in the past.
Hungarian notation was meant a short-hand way of expressing the intent of the variable for example, consider the follwing;
CQuaternion mlOrient; CQuaternion mwOrient;
Both are quaternions, so both represent rotations. But the context for each is different. One specfies the rotation in local space, and the other in world space. You could also call them something like mOrientLocal and mOrientWorld but variable names must not also be clear, but also the must be as brief as possible.
It's not uncommon for lines of code to get out of hand when dealing with 3d operations, so the 'l' and 'w' prefix to my mind, is a valid thing to use. This is especially true when you don't want to mix world and local operations in some circumstances. And the hungarian helps with that while keeping the lines of code at a readable size.
And what if I change from a Quaternion to a 3x3 basis, so this is becomes;
CMatrix3 mlOrient; CMatrix3 mwOrient;
The notation is still valid, beause I'm not being simple and simply enocding the type. I've encoded the CONTEXT of the variable, so it's still valid.
Anyhow....that's my take on it. You may not agree with me, but until you've done my job for as long as I have done it, then you can tell me that I'm right or wrong.
Admin
Hey, surely this rumour that topcod3r has been banned can't be true!
I'm an addict and I need my fix, please ...
Admin
Admin
Correct me here, but wouldn't it be preferable to make CQuaternionLocal and CQuaternionWorld classes, so that you could actually enforce the local vs world "these shouldn't interact" policies?
Admin
Well, I think we all learnt something today. TopCod3r goes to all that trouble to derail the comments with his trolling yet all it actually takes is for someone to say "that's a GIRL'S car!!!". Game over, comments derailed.
Admin
I remember an intern suggesting that to me once, but here's the trick; sometimes I may actually want to allow world -> local rotation interactions.
After all, how would you transform a local rotation into the world frame? The sames goes for vectors/points too. You could, I suppose, have an "allow mixing" flag or state, but I think that would be far too much effort to use in practice.
Admin
Don't even try to deny it - both of these quotes sound defensive and one even uses the word "you". Who cares about "you"? If you don't actually love to drive then don't waste your money on a fast car, get yourself a Civic or a Corolla like the rest of the granny Sunday drivers. Maybe a Camry if you really feel like making a statement.
Admin
Admin
Except it's dashes instead of slashes.
Admin
Wow, an argument between a bunch of random internet web board denizens about who's got the biggest dick or had the most girlfriends. Yeh, that'll really be productive, worthwhile, and well-grounded in fact!
Maybe you just don't see attempting to pull a whoa-i'm-so-macho number over some little cartoon princess in an anime game as inherently mock-worthy, maybe that sort of claim wins your envy and/or respect, but to me, it's pretty silly and deserves a silly response. YMMV, BCSD, okthxbye and all that.Admin
Just one more example of how Microsoft's incompetence and greed do real measurable and genuine damage to the entire industry and to the sum total of human knowledge / cultural heritage of the whole human race... it was a useful concept once, now it's been broken. A pox on the bunch of them.
Admin
DUKE NUKEM ROCKS!!!!!!!!!!!!!!!!
Jiff www.privacy.es.tc
Admin
I know what game it was!
Duke Nukem Forever 2!