Follow me: @D_mitar

Most read posts recently



Nov 24th 2009 × Lemmings javascript sprite animation with pseudo parallax (through mootools)

This was supposed to be my Friday Fun post but it got to where it’s at on the following Monday instead. Having never tackled sprite animation before, this has been a learning experience anyway (on the principles of animation also).

I think the result is fairly adequate – a moving lemming in a world that changes atmospheric effects dependent on the time of day, complete with parallax-like effect relative as counter to the lemming’s movement.

Oh, yes. The lemming can also be quite moody–hates being bothered. Which is fine, you can blow him up too. Enjoy and click below:
lemmings parallax animation screenshot

P.S. This will feature as the header of fragged.org’s new wordpress theme which is almost completed now. So, a little taster of things to come…
P.P.S. Thanks to crisp for the original DHTML lemmings and to holy.pt for his vigorous testing and advice.


Jun 1st 2009 × Windows Vista Wi-Fi lag every 60 seconds – the nightmare of every gamer

If you happen to play games like quakelive or WOW and need your connection to be smooth and without lag, then Windows Vista is going to disappoint you. A lot…

The problem: every 60 seconds or so, Windows Vista does a wireless sweep that looks for any available wi-fi networks in your vicinity. Which is great but in doing so, Vista also causes your game to experience a huge lag spike for about 5 seconds, a gap through which you appear to be ‘warping’ to the other players. Oh, and more often than not, you also get fragged.

Over the course of a 20 minute game, that’s 18 guaranteed spikes of 5 seconds each, totalling over 90 seconds… In other words, a whopping 7.5% of your playing time is spent being lagged out… Go, Microsoft and SP1…

Looking around on Google for a fix has not been very fruitful. Turns out, way too many people get this problem and the solutions are nothing but very inconsistent–what works for one nic / router fails for others. Here is a quick summary of things you can try that I had to go through:

  • a resident tool called Vista Anti Lag which is said to disable the WLAN discovery. It failed to do so on my Intel chipset card, but many people swear by it. Downsides to using VAL (aside from tested support for D-Link only): it does not understand firewalls and crashes if your firewall binds to a dummy adaptor.
  • WLAN optimizer, yet another resident utility, reported to work by some people. Once again, did not work on my Intel 4965 card.
  • running as admin from shell: netsh wlan set autoconfig enabled=no interface=”Wireless Network Connection”, alleged to disable the autoconfig and to replicate the Windows XP Wireless Zero suppression… Downsides: you need to run this each time you have established connection and you need to run the opposite, netsh wlan set autoconfig enabled=yes interface=”Wireless Network Connection” to allow yourself to reconnect. Note: “Wireless Network Connection” should be whatever your have called your connection, this is just the default name. And, yes. It did not work for me.
  • disabling the WLAN Auto Config service. Does not work for me, drops connection and makes reconnecting impossible.
  • using your network card’s manufacturer bridge/connection management software instead of the windows one (in conjunction with previous idea). Intel do not provide anything with their drivers other than a diagnostics toolkit
  • disabling DHCP on your client. Did not work for me.
  • changing your wireless router’s protocol from 802.11 b/g to 802.11 g or b(legacy). Did not work for me.
  • installing the XP version of your nic drivers (network interface card). And yes, that also did not work for me.

So, what did work?
Great thanks need to be extended to SC2008, a user on a German forum who posted his solution called Vista Background Scan (written in Delphi) in this thread. It’s very basic and lacks a proper / intuitive interface but it does what it says on the tin… For the first time ever since I got my new Toshiba laptop, I can enjoy lag-free gaming. Thank you ever so much…

vista background scan in action

Just so that the program does not get lost, I am going to host a local mirror (v0.9) for it (277k). *update* new more stable release is out, get v1.0 here (232k winrar archive). It has now split the wireless devices into a separate tab and is far more stable (i.e. once enabled, you don’t need to freshen it every day).

*update* official website for vista anti lag now exists, visit visit here. Current version is 1.1.1, link is here, but it crashes on my version of vista, so I’ll stick with 1.1 for now.

vista background scan 1.0 in action

Note: at times, VBGScan can stop working even though it’s still running and the optiosn are ticked. If this were to happen, simply click the button / tickboxes a few times and it will kick off again. There’s also a handy utility called Intel WIFI Advanced Statistics which can give you accurate real time data of any Acccess Point (AP) association and confirm with certainty if VBG Scan (or any of the other methods) is doing the business.

If you get any weird errors, start again and just click the big red button, don’t play with the tickboxes.

real time wifi monitoring via intel wifi stats


Mar 16th 2009 × QuakeLive monetisation: it has begun, in-game adverts as of today

Hot off the press, ID have managed to sign on an advertising partner (play.com, no less) for in-game animated banners in QuakeLive that eat away your FPS. Took these screenshots of DM6 earlier with the irresistible offer to purchase the Quantum of Solace DVD…

This really helps my already struggling laptop to cope with things… I wonder if there will be an adblock plus version for QuakeLive :)


Feb 17th 2009 × Eureka! ID… QuakeLive… where is the real monetization in a demo

Having just played some QuakeLive, it hit me… All this work in producing a new engine–even if it’s browser based, which is a novelty in itself–the reworking an old game like Quake 3 to demo it… There just isn’t any monetary value for id software. So why bother at all, aside from the fact that Quake 3 it may have been the greatest game ever and probably deserves the work–nobody really cares. New rendering and networking engines crop up all the time. And then I realised, QuakeLive will be the first game of its calibre EVER that truly cannot be copied, pirated, cracked or hacked (well, maybe hacked is an option insofar as compromising accounts or cheating goes). There simply isn’t anything to copy or upload to FTPs, all the code remains at the remote end!

So, I imagine id software are feeling pretty good about themselves right about now, how hard a sale is it–how many games development companies can afford to not want to safeguard their work and maximise their earning potential? Great, great idea… Oh, and you can show browser adverts. That’s your upsale right there. What’s next, in-game advertising? Surely not…


Nov 14th 2008 × quakelive closed beta test impressions as a developer: jquery, embedded objects and 3d

I got my hands on a login for the quakelive beta by id software and setup shop… Here is an account of my first thoughts. Please note that what I write is from the point of view of somebody that has spent many years of playing quakeworld and quake 3 arena / osp, so I will also be looking at how the game has changed.

First of all–the most noticeable thing about quakelive is that it runs within a browser. Although this was not a secret beforehand, I had some trouble imaging it – as an activex / component that sits within the browser and interfaces between the game folder (on the hard drive) and the server. Not so! Yes, there was a tiny download of a plugin, negligible at a mere 3.8mb (a typical Q3A folder with all mods weighs well over a few GB):

quakelive installer

However, there is no clientside data on your computer other than some minimal models, your local config files and things like screenshots or recorded demos. The “interface” turned out to be (to my surprise) what looks like flash! That’s right, quakelive actually runs within an embedded object in the browser and is controlled externally via javascript. The core of the site and UI is powered by jQuery (oh well, can’t all be about mootools).

<script type='text/javascript' src='/js/jquery/jquery.js?3'></script>
<script type='text/javascript' src='/js/jquery/jquery.form.js?3'></script>
...

Server browsing is all done through the “home” section of the site and AJAX. It tries to produce some results based on it’s understanding of the player’s skill level and mods of preference. It also tries to keep tag of your games played, time wasted and weapon statistics so you can follow your “progress”. However, this is the ONLY way I found that enables you to do so–there longer are any in-game means to get stats (topshots, stats wstats are not yet implemented).

From the development point of view, server browsing is via tooltip style server selections that are not the smartest but this is just a test skin… What is more worrying for the quakelive beta setup is that ID use JSON data to create the user pages to and pass variables between them and the game object. The JSON objects are generated by the main page body (presumably via PHP or whatever) and as a result, everything relating to the player’s personal account details is available in plain text within the source:

$(document).ready( function() {
    quakelive.session = "0e087cb0c37cb92568d585f1591d7df3";
    quakelive.username = "coda"; // that's me.
    quakelive.password = "dummypasshere"; // changed
    quakelive.userstatus = "ACTIVE";
    quakelive.userid = "1072nnn"; // changed
    quakelive.userinfo = {"0":"1072nnnn","PLAYER_ID":"1072nnn","1":"coda","PLAYER_NICK":"coda","2":"ACTIVE","PLAYER_STATUS":"ACTIVE","3":"coda@dci.uk.net","PLAYER_EMAIL":"coda@dci.uk.net","4":"dummypasshere","PASSWORD":"dummypasshere","5":null,"TIME_ZONE":null,"6":"04-NOV-08","EULA_DATE":"04-NOV-08","7":"04-NOV-08","JOIN_DATE":"04-NOV-08","8":"Dimitar","FIRSTNAME":"Dimitar","9":"2","INVITE_COUNT":"2","10":"0","EULA_OUTDATED":"0","11":"2","TIER_CTF":"2","12":"2","TIER_DM":"2","13":"2","TIER_DUEL":"2","14":"2","TIER_TDM":"2","15":"3","TIER_CA":"3","16":"0","ECODE":"0","17":null,"MSG":null};
    quakelive.cvars.Import( {"color1":1,"m_pitch":0.0174,"cg_forceModel":1,"console":1,"web_configVersion":4,"cg_enemyModel":"keel/bright","team_model":"biker/slammer","team_headmodel":"biker/slammer","headmodel":"biker/slammer","cg_drawgun":2,"r_vertexlight":1,"color2":2,"cg_drawCrosshair":9,"cg_drawFPS":1,"r_picmip":5,"cg_forceTeamModel":"sarge/red","name":"coda","cg_autoswitch":0,"cl_timeNudge":0,"com_allowConsole":1,"cg_forceEnemyModel":"keel/bright","cg_enemyColors":222222,"cg_fov":115,"cg_marks":0,"snaps":40,"cg_trueLightning":1,"r_inBrowserMode":5,"web_botskill":"medium","clan":"drink","model":"biker/slammer"} );

// etc etc.

Obviously — as this is a browser, the data will be retained in the cache and available to anyone that gains access to the computer — which kind of defeats the purpose of making a customized, portable and standalone game in order to provide exactly the same gameplay experience on any system. Have some quakelive in an internet café or LAN gaming centre and you leave your profile data and password to the next person that sits on your chair and cares to look…

I have yet to test trying to modify any of the JSON object data in order to achieve things like aliasing or trying somebody else’s account, but it hopefully serves display purposes for the UI side of things only.

As for the game itself… It have yet to make a lasting impression on me. It is totally remarkable that it runs everything on the fly – all the maps data, the game models, mods and so forth is being sent to you at map load time… All 3D is rendered based upon server-to-client data and so forth. It also looks a bit like Q3A at a glance but it is anything BUT…

Gameplay changes:
The rail gun is now reduced to a mere shadow of its former self and is only useful as a way to annoy / snipe opponents from afar (80 damage points). The game has become more about +forward and +attack with rocket spam which can — for a short while — give the impression that it plays faster than regular Q3A.

The lightning gun seems to have deteriorated as well – things like cg_truelightning are no longer functioning as they used to. The shaft itself now causes damage in proportion to the distance of the target object–further away they are, the less health it takes.

FPS is lower than it used to be – and considerably so. Tested from my laptop where I get 333 FPS on Q3A, quakelive can nail 125 but only just–there are certain maps with clipping issues that cause a drastic FPS drop and gameplay becomes very laggy.

There is also a whole new netcode as well — something of a hit and miss (pun intended) as it has rendered things like cg_smoothclients and cl_timenudge redundant. Which is great – if you are just starting to learn the ropes with quakelive. But for those that may have spent years getting used to Q3A’s physics and netcode, you will find it difficult to adjust aim and accuracy will suffer. On the upside, the hitboxes seem larger so some really hopeless rail shots tend to hit when they would not have done before… so expect some lucky frags. Of course, it also means you will get hit a lot more.

The maps have been revamped but it is essentially the same old .bsp with some changes and a couple of new DUEL and CLAN ARENA maps. Speaking of CLAN ARENA, it is now built-in but in an odd, american style – with self damage on rocket jumping. Capture the flag (CTF) has also taken a hit by the Re-introduction of “runes” , “techs” or “power ups” (whatever you want to call them) and the nail gun (not quite like the QuakeWorld nail gun but it must have come from somewhere).

Verdict:
As a whole, it is a technological marvel and will probably set a landmark in game development for years to come. Once again, ID have broken the binds of our preconceptions and created a ground-breaking event… And they have only just gotten started on Rage…

Would I play it? All things being equal, I’d much rather use Q3A with OSP than quakelive. Sorry — too old to start from scratch. Then again, who has time for games these days…


Sep 16th 2008 × quakelive. er, quake, in a browser. whatever next?

QuakeLive. It’s… odd! I am not sure I approve… Here is a video of the quakecon 2008 quakelive ctf finals, make your own mind up. Personally, I still think Q3A is the greatest game of all time… But this looks mighty close!

no