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


Hiding Websites with Vhosts

May 28, 2009

If you create a webpage for a vhost entry, that has no valid DNS entry. Nobody can access it, unless they modify their host file to point that domain to your IP.
For example, I could create a vhost for google.com on my server here, additional to the normal page and the page would stay hidden. Everybody typing in google.com will end up at real google.com and everyone typing in my IP will get the normal site. To access my fake google.com you would have to add a host entry google.com to my ip in some DNS-server or host file. Than if you type in google.com in your browser you will be able to see my fake site.
You could hide entire communities (mostly of the illegal kind) this way, all you need is a fake name and an IP. Take filesharing for example: You could provide a direct download link in some forum and only people with the modified host file can access it. For all other people it is just a dead link. You can’t even guess the location because you are missing that IP, and knowing the IP alone won’t help you, because you are missing the fake domain name. Only if you know both you can access those files.

I wonder how many websites are hidden this way, it is quite easy….


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)


You shouldn’t mistake spam for social contact

February 11, 2009

I was thinking, what is the saddest thing anyone can do? And then I found it: If you would turn off your SPAM-filter to get any human interaction at all, it would be very very sad. Or does anyone got an even sadder one?


Strange library

January 8, 2009

Found this while searching for “Class::Accessor::Fast” on Google:

“libmoosex” now that sounds just wrong.

Who wants to know what this is: http://en.wikipedia.org/wiki/Moose_(Perl)


Plasma-running.

December 3, 2008

Man I forgot to post this.

Plasma is already running on a server: http://www.maluku.de/plasma

And it is available for review and/or help under http://plasma.sf.net. Check the SVN trunk.

I’m currently working on the most awesome skin for plasma, full AJAX (well more AJAS, because it uses SOFU) usage, window management, drag&drop for items and a lot more. Can also be found in the Subversion trunk, the skin is called PlasmaOS.


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.


Plasma – FLStat output

July 1, 2008

Plasma got a new output site, which is FLstat compatible. This means you can update your servers global statistics once a minute or even faster, cause the stats get updated everytime a player logs out or in and the page takes about 0.14 secs to render for 783 players.

Also includes all important Flstats settings: (Minimum rank, minimum days since last login, top N players, sorting, show filenames)

It even displays group membership (i.e clan membership) if needed. All live and very fast.

As soon as the Admin-interface is finished plasma will be released.


SofuJS – Release Canidate 1

March 9, 2008

Got it to work today.

It can read and write Sofu files, just like the other libraries.

I made a example JavaScript (no AJAX or server needed) Sofu Editor with TreeView and Value-Editor (so you don’t need to escape your values).

The Value-Editor is active after you click on a value in the TreeView.

You can try it out here (Javascript required, of course)

It works (as I tested it) in Firefox 2.0 and IE 7 (maybe more).
Try this Sofu file (for a little more complex example)

List = (
	"1"
	"2"
	"3"
	"4"
)
Map = {
	Content = "This is some demo content"
	OtherContent = (
		{
			Content = "Some more content"
		}
		{
			Content = "Even more content"
		}
	)
	<> = "This Value has an empty key"
}

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.