Useless and stupid videogame effects

July 3, 2009

There are some effects in video game that really annoy me. Don’t get me wrong, most of the graphics are useful or at least useless and awesome, but there are some that are useless, annoying and just bad.

Distance Fog

This one was used in the early days to hide the fact, that the content in the distance is not really there, because of the weak graphics hardware. But with current cards and LOD (Level Of Detail) this is no longer needed. When I wander around in some far of MMORPG, I want to see the next town I go to, not just a massive wall of fog and the gates popping up 5 yards before me. They could just show the skyline of the village or the walls or something.

This is even worth with mountains, mountains don’t just pop in. There are quite unmovable, they don’t jump at you from 30 yards away.It’s not that hard to render, about a hundred Polygons, maybe.

Real life rarely has distance fog. And it looks really stupid on a beautiful sunny day to be any kind of fog around. It’s not much that’s in the distance, some mountains, treetops and a church, if I could see that all is fine.

Pixel Shaders

Pixelshaders are the new thing in the industry and developers are going to town with it. But they should remember: Use only when needed. They are very useful for some things, like night vision or tv-effects. The grain-effect in Left 4 Dead is sublime, it is not over the top and only noticeable when you look for it, but it adds a lot of atmosphere. Or the TV-screen-effect of Battlefield 2142, when you enter a turret. It moves random lines around and makes it look like some video transportation errors are going on, very nice.

But, and I can’t stretch this enough, some of them are really really iritating. Most first person games are guilty of this, like Far-Cry, the newer Call of Duty or even Prototype. When your health gets low, your screen gets dirty or turns dark or red-ish. This is most annoying, because when your health gets low you need more and better overview over the situation and get cover or something.

The sound is affected to, it gets silent you hear your (characters) heartbeat slowing down. This is not what happens to hurt people. They get adrenaline and are on the height of their senses, at least for a short while. They don’t just fade away. Plus it’s an ass-move gameplaywise. At the moment where I need my senses the most, they get taken away from me. Please bring back the health meter and leave my screen alone.

Lens Flares

This is one where I can only grab my head and ask: Why? Although it is mostly older games like Serious Sam or my beloved Freelancer, why do there need to be lens flares in first person games? Does the character have cameras in my eyes or what? When I look at the sun, it goes brown and leaves after shadows.

I can get it a tiny bit for third person games, because they want to be like a movie or something, but camera operators usually try to combat lens flares, because it makes the movie look like, you know, a movie and not as if you are really there.

Lens flares of any kind in games or movies take away the immersion, it make the thing look less real, so why use resources to make it. You could just go back to Pong if you don’t want more realism.

Motion-Blur

This is my most hated effect of all, because it is overused, annoying, hurts the eyes and can’t be turned off sometimes.

Heaviest offender to my knowledge is Need for Speed: Undercover. Previous Need for Speed’s had it too, but this one takes the cake: It blurs the sky and distance objects. Have you ever driven so fast in any car that the sky was blurred? No, because you can’t, it is miles away and you would have to go mach 20 at least to see it blur on a very rainy day. Distance objects don’t blur, cause they move slower on your eye (or the projection created there).

The only thing blurry are the streets and maybe, maybe foiliage close to the road, but not the sky. What are they going to blur next? The sun?

Luckily in Need for Speed: Undercover you can turn it off by setting World Effects to off or minimum, which also removes the distracting glowing roads.

Need for Speed Undecover Motion Blur

Need for Speed Undecover Motion Blur

Advertisement

Dotiac::DTL released

February 11, 2009

I was bored over christmas with my family and I implemented the Django Template Language (DTL) in Perl. So if anyone needs it, go to http://www.dotiac.com and check it out.

It’s probably not very stable, since it’s only about a month old (from the first svn-checkin). However it works and renders all the templates I could find for Django. It’s also free, of course.

If anyone finds a bug, drop me a mail, comment or put it into the Sourceforge Tracker.

P.S. It can replace HTML::Template now, with just one line changed. (Also renders combined HTML::Template and Django code)


Plasma Maps – Video

July 5, 2008

I made a small plasma feature preview this morning, about the Mapping features of Plasma.

Link (HQ-version)

I need a new mic.


ECMAScript, Javascript, JScript and Sofu

March 8, 2008

Some say JavaScript is annoying and should be turned off in the Browser.
Some others say Javascript is a very ugly language to program with.I say they are both right.
I did one thing in Javascript till today (Plasma’s 3d map view to be exact), and I don’t liked it that much. Today I had one of those stupid ideas that take away your whole weekend (And more). After finishing the dokumentation of Sofu.Net (0.2.1), I thought: “Why not do Sofu in JavaScript?” and “How hard can it be?”.

Why Sofu in JavaScript: Sofu is a file format, JavaScript can’t access files. Makes not a lot of sense, does it….
Well there is one application. Since Perl and .net (escpecially ASP.NET) now can now work with sofu files, you can use it to send structured data to the client (Webbrowser). This is done mostly during AJAX calls to the server.
Lets review what other structured data formats are there for AJAX communication:

  1. XML: This is a big one, it has bindings to almost any language running on webservers, but it is quite slow to parse and it tends to get very big if you write understandable tags.
  2. JSON: (Java Script Object Notation) Its easy to generate in most, easy to parse for JS (unsecure if parsed wrong) but it doesn’t support references and circular data structures…
  3. YAML: (http://www.yaml.org/) This is the way to go, mostly. Its quite fast, a superset of JSON, safe and supports references. Has also bindings in almost every language (even .Net, but that one hasn’t been active for almost 2 years now).

So where does Sofu fit in?
Sofu also supports references and the same datastructures as YAML, and its smaller than XML. And there are bindings to .Net, Perl and D.

But mostly I’m doing it to see if I can do it.

Current progress:

  • Not documented for now (How do I document JavaScript anyway, is there a nice API doc tool like POD for perl or Sandcastle for .net)?
  • API is very much the same as SofuD or Data::Sofu::Object of sofu.pm (Or Sofu.Net if you write the first letter of each method in lowercase).
  • Still missing a way to overload “for (var x in SofuMap) {}”, but I guess there is none.
  • Output is also working. (Well into a textarea of the browser).
  • Parsing is due after I sleep.
  • No Binary Sofu (I don’t think its useful and/or needed).
  • No SofuML (SofuML output: maybe, Parsing: Nope, not needing the parsing problem again)
  • Rest is working fine.

Sofu – Coding Mania

February 13, 2008

I had a coding attack this week and wrote a lot new stuff for Sofu:

First of all I finally finished (and documented) Data::Sofu and Config::Sofu which are currently processed by CPAN and should be there soon.

And to satisfy my coding needs I implemented the long planned Binary Sofu file format. Which can be streamed over 7-Bit only streams or just written to a file. The reader even autodetects binary files and reads them as if they were normal ones. Maybe later I could implement something like XMLRPC (maybe SofuRPC).

Then I went a coded Sofu.Net in about 2 days, my first “real” C# project. I had used C# only for study so far, but I was quite happy with the language. I think I should test some other languages as well, maybe a JSofu or one for Phyton. Sofu is a nice task to implement, most time was consumed by the documentation anyway.

Both can be downloaded at Sourceforge and http://sofu.sf.net.

By the way: Anyone noticed how hard it is to extract the in-line documentation of .Net Projects to a simple browse-able HTML page?

It took me 3 hours, first I tried NDoc, but that only works for .Net 1.1, then NDoc 2005. which assumed some strange directory structure and always wanted to have its files in my personal folder (Users\Maluku\AppData\Documentor ???) and only says to work on 2.0 (Didn’t work at all for me, even after I ported my project to .Net 2.0).

Next up was Microsoft Sandcastle, which is quite good with the extracting, but someone has to be punished for that User-Interface. So I tried Sandcastle-Builder, which said all went fine but it produced no output. (Or one empty file after some tweaking).

I tried DocProject next, but the web-page was slow as hell and made no sense to me.

Finally I got it to work with Sandcastle Help File Builder (from the same website), which looks like NDoc but works and produced:

One .chm file.

Which I couldn’t use to put on the Internet, so I had to extract that one (with chm2web.) which looks quite nice now.

Suddenly I came to realize why I love Perl so much. You just include your documentation using POD in the file and then run pod2html or pod2latex or pod2wiki or whatever you like on the file and you are done. That’s why the documentation for Data::Sofu only took about 30 Minutes (including building a .css and some frames around the generated .html files).


KB932596: death for non WHQL drivers under Vista x64

August 15, 2007

I just updated my Windows an guess, what: A lot of error messages telling me drivers can’t be found or installed (mainly PeerGuardian 2 and my TV-Card) , those drivers were not (for whatever reason) certified by Microsoft, so you had to  use “bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS” to make them work, but after this “up”-date they won’t work anymore, so you will have to unistall KB932596 in your software-tab and reboot to fix this. I don’t think this update is used for anything else than to annoy people. Since the “more information” link (http://go.microsoft.com/fwlink/?LinkId=85125) currently doesn’t  show anything at all (at the time of writing). this one is staying of my system until someone has figured out how to circumvent this annoyance.

By the way: You will have to exclude this update in your Windows-Update tab or it will be installed again tomorrow.

Edit:

I found Microsoft’s explanation of this update, but  I am not very happy with it, as it gives no details at all: http://support.microsoft.com/?kbid=932596


Heightmap – FUN

October 10, 2006

Was getting bored and build a render routine to change the heightmap on the fly.  And I created a nuke animation for it, maybe it will be used in later games for impacts of big spells and so, even texture change and persistent changes are used to create craters of explosions and such.

Due to the lack of explosions it looks a little strange, but I think its funny to watch.

The video is a big one, but I wanted it to show the ingame graphics as close as you can get.


Heightmap

October 10, 2006

The results of 3 days work are here, the first acceptable version of the heightmap for Crystal shards is here, it is 256×256 of size and renders at 60fps here.

Its currently not a Draw-List and the only thing you can do is walk around on it with your player that you don’t see, move your camera around the player and move the lightsource with the mouse.

Heigtmap with Textures and LOD

Lot of work to go.