- 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
We use game engines, it's also fairly common to just lift a great chunk of code and data from an
earlier, similar, game, and throw that in so you can show a "working" level early in the process.
There's also a lot of stuff outside the engine that's still similar from game to game, so that evolves over
time.
I've got a few good gaming WTFs stored away, but too many cow-orkers read here, and would
recognise them no matter how I anonymised them. Maybe in a year or two when the pain has
died down.
Admin
Ok, this does remind me of a client I had; they provide -how do I call it- old day's savings? Pensions?
Anyway, they had an old system in Cobol but felt like it needed replacing since all the developers were long gone. They spent two years trying to figure out how to implement the new system and considered SAP (turned out way to expensive) and BizTalk (don't know why this didn't make it ;-) And ended up on a half / half approach using some XML based library of financial components.
The project manager told me the concept was great: all data was stored in XML in an RDBMS (read: CLOB) and changes to the account where new XML entries, so you could follow what had happened to an account exactly.
Thinking about it for a second, I asked if the "current" situation of an account was determined by taking the starting situation and then applying all change records. The answer was "yes". The next question of course was how the current monthly invoice run compared to the old one.
He said they needed to work on that.
The old one ran within 2 hours, the new one took two days.
Consider that instead of doing some selects, the new system needs to fetch CLOBs, XML parse them and then combine all that into the current situation and finally generate more XML to represent the invoice and store it as more CLOBs.
And that is against a farily "virgin" database, since the system has not collected much history. I'd guess we'll see a hardware-against-XML-growth situation here: can newer and faster hardware keep up with the slowing of the process?
Once again: XML is NOT for storing, it is for exchanging.
Admin
This seems like a good time to unlurk (especially now that the board software is apparently less a WTF).
Come on, JS. You know as well as I do that the real WTF was my decision to do a 3D accelerated Unix/Win32 port of Ken's Labyrinth. Cleaning up all those cut-and-pasted gratitious 8086 assembly snippets all over the code and figuring out the multi-thousand-line <font face="Courier New">main</font> function must be considered a serious threat to any man's sanity.
Besides, you shouldn't be too hard on Ken. He was, after all, only 17 at the time he wrote Ken's Labyrinth. Also, the game runs quite well (apart from a few small bugs); the programming style is just a bit... crude. And WTFy. A sidebar discussion may be in order.
Admin
"Second System Syndrom". For sure.
Admin
OMFG.
<i>
case 1: case 18:
checkobj(bulx[i],buly[i],posx,posy,ang,bul1fly+animate3);
break;
case 2: case 19:
checkobj(bulx[i],buly[i],posx,posy,ang,bul2fly+animate2);
break;
case 3: case 20:
k = bul3fly+animate2+2;
j = (1024+bulang[i]-ang)&2047;
if (j < 960)
k -= 2;
if (j > 1088)
k += 2;
checkobj(bulx[i],buly[i],posx,posy,ang,k);
break;
case 4: case 21:
checkobj(bulx[i],buly[i],posx,posy,ang,bul3halfly+animate2);
break;
[snip]</i>
Plus realms of uncommented assembler...
It's like a WTF-Wonderland..
Admin
Your're perfectly right and I apologize. As for "non-JS AJAX", there is Flash. In fact the current JS-AJAX guys are reinventing the wheel and re-discovering techniques the Flash guys invented years ago to solve their problems (such as re-enabling the back and forward buttons in an "ajaxy" environement)
It sadly isn't. It could have been, I was excited when I read Garrett's article which coined the term a bit more than a year ago, it was merely re-discovering 5 years old technologies but the web was ready, the standards were gaining steam, some people had finally found out that you could actually use JS to create clean and powerful programs instead of hasty hacks.
Then the Big Business took hold of the acronym, the java guys discovered that they could build desktop-like interfaces (they knew about desktop-like interfaces) and everything went downhill from there, out with accessibility, out with graceful degradation, out with CSS and HTML, the new wave didn't want to learn how to work on the web, they wanted to ajaxify things and create a new web desktop from the original incomplete desktop metaphor. They didn't want to research that 5 years old new fangled thing, they just wanted to slap AJAX everywhere in big blinking lights 1995-style.
And thus was AJAX emptied of everything it could have been and became few more than "OMG SHINIES".
And we started seeing the great comeback of user agent checks and the "I don't want to bother with this cross-browser compatibility stuff so i'll just forbid anyone that doesn't have firefox or IE to enter this website". Hell, some people are even more retarded and only ever allow firefox...
Which means that it does not imply the use of Javascript either (AJAX originally means Asynchroneous Javascript and XML), AJAX is merely an acronym for asynchroneous remote scripting, and you can perfectly do that with flash (or even use both Flash and JS).
Admin
Shouldn't it be BuzzTalk instead of BizTalk?
Admin
I personally have been waiting for a bizrtalk one for ages, this provides insight into what it actually does. And there I was thinking it was an over elaborate XSLT writer.
Admin
As defined by a handful of 13-year-old fanboys. Most adults regard it as scarcely worth playing. The multiplayer apparently has a handful of redeeming features, but the game itself is unbelievably repetitive, tedious to the point of mind-numbing, and blatantly unfinished. Six months or so delay could only have improved it.
Admin
You've obviously been playing BF2 with the latest patch then. It's quite clear the original developers have left the building and taken their understanding of the mess with them.
Admin
Yanks eh?
Admin
OMG!!!
Mod +3
er... Oops! wrong forum.
-dZ.
Admin
BS. A game that looks like it was the perfect 3d shooter nine years ago would tank now. Graphics moves on quickly. Doom 1 was brilliant, but you coun't sell it now.
Admin
I was half way through Alex's post before I realized that BizTalk is an actual tool you can buy. At first I thought it was IT slang for corporate Newspeak, an Orwellian effort to distort and restrict information from ordinary people.
Wait a minute. Maybe that's exactly what it is.
--RA
Admin
I have a comment or two on the game dev.
First, BF2, yep. Since EA games bought DICE they have made the old guys that actually were DICE leave the company, and nowadays they have the same employee statistics as every other EA firm. Roughly half the staff quits during a year.
Then 3D realms. They changed engines 3 times because the current couldnt do what they wanted it to do. And they have rather few guys working on it. And I know I'm gonna buy the game. Because, the graphics of DN3D wasnt all that great compared to the competition. They had something else that appealed to me.
captcha: wtf... Hehe
Admin
From what I have seen, it's a powerful tool that lets relatively clueless users draw mighty diagrams to define the flow of information from one system to another; in other words, it no longer takes a programmer to spend 30 minutes to write a little script, just spend two weeks or three to draw that mighty diagrams and you're done.
Admin
<font color="#ff0000">YOU GOTTA BE KIDDING. BIZTALK NOT USE XML?</font>
I don't believe there's a Microsoft Product that doesn't leverage XML to a silly level. Biztalk would not exist without XML!
IMHO... :-)
Admin
Further proof that the amount of intelligence in the IT industry is a fixed constant, the issue being there are more and more people in it...
Admin
I do not own Halo 1 or 2 but I felt your comment needed a reply. When your argument has to rely on citing the number of people who agree with you and assumes everyone agrees that their opinion is more worthwhile than anyone else's, I think you're in trouble.
First of all - your statement of how most adults regard Halo is without any backing. How do you know the opinion of most adults on this matter? Have you done a survey? Are you including adults who regard all video games as scarcely worth playing? Are you including adults in developing nations where electricity is a scarcity, to say nothing of an XBox or PC to play Halo? Pretty shaky ground with that statement.
Here's a hint: when Roger Ebert reviews a movie, he typically does so BEFORE it's been released to a wider audience. Thus, he is without the benefit of being able to cite the number of people who went to see the film to prove how good it is. He's been able to make a pretty good career using this method so I'd suggest that in your future critiques of entertainment mediums, you consider that saying, "Lots of people in this group disliked X (without any proof that the group holds this opinion) so X must be crap." isn't a very intelligent approach to criticism.
You know, more adults visit Slashdot than visit the Daily WTF (using your method of assuming statistics without any statistics). By your logic, Slashdot is better than the Daily WTF. That's a very weak argument.
sincerely,
Richard Nixon
Admin
Amen to that! We have inherited a database that does exactly that. It stores the interesting data as XML in CLOBs. Whenever we want to query our own data, we have to select all the XML, write some scripts to run through it all, then assemble it into some kind of report. Mostly we don't bother and only use the reports they hard coded into their J2EE application.
It gets worse. In order to "optimise" the application (read: get past the absolutely dreadful performance caused by doing this) they proudly state that such important data we know ahead of time we might like to be able to search on will be "denormalised". Yes. They pull out bits of data and stick them into normal columns, as well as in the original XML. Now those bits can be indexed. Of course, we can't do any updates easily either - the data is now in two places - once in a table column and once in a bit of XML which may be in that table or in another. Only their application knows all the little relationships between the data.
They keep telling us we have marvellous flexibility (just put different XML in the fields.... and recode the application so it knows what to do with it). They keep proudly going on about their insanely clever denormalisation strategy. We've told them we don't like it. We've told them that denormalisation is a dirty word in data design.... but it just doesn't get through to them.
Anyway, they just lost an important contract to do another database with us. Partly based on cost factors, but frankly they lost out big time on the appalling solution they were pushing (to get the best performance, we will denormalise some of your data if you choose us!), and also on the fact that they just didn't seem to listen at all. They all have PhDs and are very clever people. Just not PhDs in software engineering, which they seem to think any averagely clever person can just hack together.
So I agree - XML is for exchange, not storage. (It's also quite nice to use for digital preservation - which can be understood as exchanging information over time rather than directly between systems).
I would also add that the customer has to own their own data. The original application will probably not be the only thing that needs to use it.
Admin
Admin
[Reminiscing]
Remember how cool games like this used to appear to be? How spoiled have we all become with today's graphics, etc.. Hell, I used to think Pong was amazing.
[/Reminiscing]
Admin
>I haven't heard of any non-JS AJAX, but maybe there is some.
The J in AJAX stands for JavaScript. A good example of adapting AJAX to non-AJAX friendly browsers is Gmail. It does its AJAX thing with JavaScript-enabled browsers and comes up with an excellent alternative when JavaScript is disabled.
A good rule is to not use a technology just because its new nor avoid it for the same reason.
Admin
Look. AJAX is no more and no less than the use of JavaScript to make HTTP requests to web services or XML documents in order to modify portions of a web page without reloading the whole document.
That's the widely accepted definition. It is simply another web related technology like CSS, RSS or streaming media. You use it if you need it; you leave alone if you don't.
Admin
Not trying to start a quibble war, but...
KISS really stands for "Keep It Stupid Simple", the kind of simple thats just so simple, its stupid. So simple, that even a stupid person can use it. Now, now, I know some will quibble with the notion that "Build a system that even a stupid person can use, then only stupid people will use it", but just ask yourselves: what kind of people do you work for/with anyway? See? Case in point!
Admin
What usually happens is that sometimes MS "consultant" advises the customer that Biztalk should be a part of the solution.
What they forget that biztalk is not really useful as long you actually have 2 independant systems instead of one.
The best way to use it is to install it on the server and forget about it.
Admin
You forgot "or the developer it gets the hose again."
Admin
Now there's a WTF... the attitude that a game is done once it's shipped.
Somebody should tell the Cornered Rats that they can stop working on the next patch then, since World War II Online shipped in 2001. Blizzard should let all those developers go that are working on the next WoW patch. Etc.Admin
Except when companies realize that their next project share a lot of the same requirements, both in the engine and in the tools, and decide to reuse the crap from the previous game.
Usually, it's those same people who agreed to ridiculously low budgets and development time in the first game and indirectly caused the code to be a vast pile of crap who then agrees to ridiculously low budget and development time for the next game on the ground that "we don't need to build the tech this time, we can reuse it from the last game".
And also, you have MMORPGs, which are meant to be maintained and expanded for years.
And finally, you have combination of both: companies that make and maintain a MMORPG whose code is a giant WTF, and then decide to reuse it as a starting point to develop the next one...
Admin
Admin
- Turrican 1 its waaaay better than the Turrican 2 thing.
- Nowdays graphics mean "brush painting" while old graphics mean "pixel painting". Pixel painting is very abstract and line-oriented. While brush is somewhat about shadows and colours. Different cerebral stuff.
- Who cares RAM?.. I can use PCX and tile based graphics, but I have enough ram for RGBA TGA files and whatever. You can code a tetris on 6502 with 2K, but will be boring! RAM unused = RAM wasted!.
- DEEP, nowdays games have deep, emotional atachements becuase FIRST PERSON is much more powerfull than THIRD PERSON.
My C64 computer is on the trash. If I really want to play M.U.L.E, Saucer Attack or DICTATOR, I can use a emulator.
--Tei
Admin
There are plenty of other forums here where you can create a topic to discuss video games. Just go to "Side-bar WTF", create a new topic (e.g., "video game WTF's" or something like that), and off you go.
I have definitely hijacked some threads in my day (identity primary keys, anyone?) but at least they were somewhat relevant to the original post ...
Admin
Oh yeah? I dare you to rewrite it and have it still work. Admit it, this is one of the greatest engineering feats ever accomplished. You're just pissed because you don't understand 80x86 assembly.
Sincerely,
Ken
Admin
Well you could probably do something AJAX-esque with ActiveX, altho it would be MS-specific.
Admin
No, it stands for Keep It Simple, Stupid, it's aim is to remind the stupid programmer (or whatever, it was already in use during the Apollo project) that overly complex designs are bad and that simplicity usually works much better.
The point of the expression is not that whatever you're building should be so simple it's stupid, it's that you're always stupid and should be reminded to keep things simple.
Another interresting mantra is "YAGNI": You Aren't Gonna Need It.
Admin
Don't you get it? He doesn't use the stack AND doesn't need memory for an iterator variable. Fast code like this is what you snobby programmers should write!
Admin
But Turrican 2 was technically far more accomplished, which is what I as talking about. Just consider the degree of programming skill that went into creating the two shoot-em-up levels.
Why? I thought it was the game that made the game interesting rather than the size of the executable. Is a 512MB version of Tetris more interesting than the 2kB one?
First-person perspective a good game does not make. Good level design and intelligently designed NPC behaviour are far more important. If a platformer gives me that and Doom 3 can't, the platformer's the better game.
I'm never throwing out my C-64. While I sometimes play my old games on VICE, there are times when you just need the genuine experience.
Admin
Good point Alex, I doubt many game companies would ever release a sequel to a game, or a patch, or release part of their product as an engine. I mean why reuse code when you can rewrite it from scratch?
Admin
You're aware that serialization and deserialization implies that you're serializing TO and deserializing FROM XML ?
Admin
OMGWTFBBQ... QUAYMU (quit using acronyms you make up)... that's the answer to your "simply... stupid", "stupid simple", "simple, ->stupid" problems. Maybe acronyms themselves actually speak alot about simplicity?
Seriously, though, don't joke around with the KISS thing... or don't even use it for that matter. Half the people posting will be joking around and the other half will think they are in an argument or whatever.
Admin
Please, don't remind me. Flash WTFs justify a spin-off site. It is fine when used for cheesy little games or movie sites, but as applied to garden variety business web pages Flash is often the dumbest way of doing the simplest things. I especially like it when dumbasses use Flash to provide content that is mostly text. They think this guarantees that everyone has the same experience--yeah, the same crappy experience involving reading tiny, badly-aliased text that can't be selected on a page that can't be bookmarked. Oh, and we all love watching the "Loading..." bar for pages that standard HTML would render instantly...BUT BY GOD YOU HAVE GOTTA SEE THIS CONTENT WITH OUR CUTE BUT UNREADABLE FONT!!!
Admin
You forgot the main advantage of Flash: It's invisible for search engines, so probably less people will be confronted with that bad design.
Admin
You are aware that Jurassic Park is fiction, right? It didn't actually happen.
Yes, I know, I know. Michael Crichton is a crafty one, isn't he? And shame on Steven Spielberg, too...
Admin
Reminds me of my J2EE in a nutshell posting...
Admin
No offense Alex, but with the rise of MMOs this is hardly the case anymore. Perhaps this mentality is what is wrong with games like Star Wars Galaxies...
Admin
Seriously? Dude, give up on the nonsensical conspiracy theories... Sometimes a moon landing is really a moon landing...
Boo! Scurry away...