Intel sponsors gamedev.net search:   
The Bag of HoldingBy ApochPiQ      
Apoch's Avatar

Apoch
XP: 64,738
Inventory
Special Items: Shpongle | XBox Live
My brain is built of paths and slides and ladders and lasers and I have invited all of you to enter its pavilion. My brain, as you enter, will smell of tangerines and brand-new running shoes.

Monday, February 19, 2007
In an uncharacteristic spate of motivation, I've mucked around a bit on the TKC project and ended up with a site mockup. Oooh, XHTML strict, CSS prettiness, blah blah blah.

The client is downright functional now, tracking clicks, keystrokes, wheel scrolls, and mouse cursor distance travelled (in kilopixels). With a little bit of UI hackery (and code to save state when shutting down) it'll be more or less ready to run as just a local gimmick.

The complex part of the project has always been the server side, though. Collecting the stats into a database requires a database; showing the stats requires a web site; and keeping punk-ass kids from messing with it requires security features. All of that stuff requires work, which requires time and motivation - two things I'm clinically deprived of these days.



I'm seriously considering two clients - the bog-standard Tiny KeyCounter with the stats submission and all that excitement, and a new spinoff "Really Tiny KeyCounter" which just tracks locally and doesn't have all the security cruft. RTKC would be very easy to finish up and release, and it'd (hopefully) keep people entertained while I slog through the process of rebuilding the entire site back-end from scratch. It'd also address the FUD from the old days where people were scared of TKC being a keylogger - you can firewall RTKC just to be safe and you're guaranteed it'll never phone home, even while getting your fix of pointless PC usage statistics.


Moreover, this would finally present a good solution for something I've been wanting to do since the 0.x days, which is release the source. The 1.x clients heavily relied on security-by-obscurity, with quite good results. RTKC could be released wholesale without concern of people mucking with the server.


... and now I need to go do some real work.

Comments: 0 - Leave a Comment

Link



Saturday, February 17, 2007
After a spirited night of impassioned Wii bowling hackery, we have made the following discoveries:

  • Contrary to popular Internet bullshit lies from the evil terrists, it is fully possible to control both the direction and amount of spin on the ball. Several variables are involved, the most notable being initial controller orientation, final controller orientation (when releasing), and how the controller is rotated during the first half of the forward swing.

  • The ball's velocity is greatly affected by the degree to which the controller's motion matches the footsteps of the Mii bowler. While the bowler's arms will do pretty much anything the controller does, the step into the swing is a set animation. Syncing with that animation allows many hacks.

  • An easy way to strike: take two steps to the right, hold the controller vertical in front of your chest and press B, point the tip of the controller downwards and then bring it back up until the Mii bowler takes a full step forward and is now holding the ball in front of his face. At this point, the controller should be roughly parallel to the ground (takes practice and timing) and flat (i.e. no twist). Now gently but quickly jab the controller forward and twist it to a 45 degree angle, then let go of the B button. The ball will fling forwards as though compelled by the very Force itself, and if you time the twist right, will make a perfect strike every time.

  • It is possible to bowl into other people's lanes. The secret is to lob the ball high and fast. Rumours of "invisible walls" and other such constraints are all false. We suspect, but have not yet proven, that it is possible to go more than one lane over.

  • It is possible, after a manner, to hit other people's balls while they bowl. With careful timing and practice, you can hop lanes and cause all manner of chaos. However, there is no ball-ball collision physics in the game; your ball simply goes through the other player's ball as if nothing happened.

  • By using the Force-throw method and careful orientation, it is possible (and not too hard) to get the ball most of the way down the neighboring lanes. From this we conclude that, with practice, it should be possible to hit the pins at the end of the next lane over. However, although I personally have come within about a ball's diameter of the pins before guttering, we have yet to actually hit them. It is not certain whether there will be collision physics (i.e. can my ball knock over the other guy's pins) and it is almost completely certain that it will not affect the legitimate score. The jury, though, remains out. We'll keep you posted.

  • By observing the Force-throw method and various spin tactics, I've noted a few inaccuracies in the physics, and developed a fairly comprehensive idea of how the physics code is written in the game. However, it being 0040 hours and me being completely tired (not to mention utterly lazy), I'm going to play G.R.A.W. instead of writing it up. Suffice it to say that, if my suspicions are correct, they use a very simple but robust physics model that allows some sophisticated effects without any of the annoying complications of real physics. Always fun stuff.



So there you have it. Go forth and be enlightened, and hack thine Wii bowls.

Comments: 0 - Leave a Comment

Link



Thursday, February 1, 2007
Gregory slouched over the railing, idly listening for the lapping of the water against the hull, in the darkness below.

The Hyperion had been a good ship, but her days were over. In the morning, the salvage crew would arrive and finish the long process of disassembly that age had begun. All the paperwork was signed and the formalities handled; this was Gregory's last fleeting time aboard the vessel that had been so central to his life over the past thirty years.

Gregory permitted a short, quiet sigh before taking a long pull from the bottle he carried with him. A small corner of his mind insisted that the entire affair should be so much more difficult, that letting go of something so beloved and important should arouse some manner of sentimental ache in his battered soul. Only that fraction of himself found any reason for concern in the fact that no such emotion was forthcoming.

Once, as they celebrated after that tremendous bit of luck with the McMahon contract, his friend Nolan had remarked on his curious obsession with the past.

"Greg," he chuckled, "when the hell are you going to throw out that pile of old scraps in your cabin? Those papers are so old you can't even read the ink on them anymore!"

It was an odd but fair question. Gregory had no answer. Nolan quickly dismissed it and moved on; Gregory had never forgotten it.

As he watched the flickers of reflected light dancing across the tranquil harbor, Gregory found the question once again burning across his mind. His life had never really lent itself to the accumulation of possessions, but he furiously clung to a handful of useless tidbits purely for "sentimental reasons." He once spent an evening drunk and depressed after losing an ink pen he had owned for only a week. And even after six years, he doubted the pain of Nolan's loss would ever subside.

So why, why could he not care about his ship? It had been a fantasic coup, the day that Old Man Witherspoon had bequeathed him the small cargo hauler. From the dismal wreck of his childhood family, the sea represented the only possible escape. Hyperion wasn't just a home or a job; it wasn't even merely his life. Hyperion was his soul. She was freedom, glorious freedom, and pleasure and profit and haven and fortress and companion all in one.

For thirty years Gregory had known nothing but sailing, moving from one random port to the next, securing minor transportation jobs and the occasional good contract. There had been some adventures with the law and one particularly heart-stopping moment involving a U.S. Navy warship. No matter how far back he reached into his memory, Gregory knew no time when anything but sailing had held any appeal for him. Hyperion may have been a rusting old hulk, outclassed and surpassed by the sleek modern bulk transport ships - but she was enough.

He knew, every part of him knew, that he could never be happy anywhere else, doing anything else. No matter how thin the work got, or how run down his beloved ship, nothing else could salve the knotted wound in his heart.

And yet, this inner certainty and long years of confirming experience notwithstanding, he had thrown it all away. Next week, Gregory was to become a "respectable member of society," as the agent had oozed in his condescending drawl. He knew nothing about banking or filing or business matters, but the greasy man had assured him in his nauseating accent that it was "the perfect fit."

Gregory knew better. He knew it. This whole damn thing was a stupid mistake, and he should never have done it. It'll turn out badly and you'll hate yourself for it, you'll see.


And without a trace of regret, he drained the last of the bottle, turned towards the quay, and stepped off his beloved ship forever.



Banking was a miserable, despicable affair - or, at least, so Gregory assumed. His particular department had very little to do with actual banking, and his particular job had little to do with the affairs of his department.

"Administrative Technical Clerk," the smarmy little placard said. It was all a damned lie; there was nothing administrative or technical about what he did. It was the sort of thing that could be done by machines, and indeed Gregory had half a mind to invent a machine for just that purpose. But the opportunity would never come; banking, apparently, and all the nasty, filthy bits of bureaucratic nonsense that stuck to it, was a horrifically busy industry. There was barely time for food and sleeping, let alone fanciful tinkering with machines.

No, best to get the work done himself, and let the well-dressed men in the management offices concern themselves with machines. After all, Gregory presumed, there wasn't much else they could possibly be spending their time on, so why not?

He put the entire thought out of his mind and resumed the endless shuffling of papers in and out of their bland, accursed yellow folders. Those awful, miserable, God-forsaken sheets of paper crammed full of incomprehensible figures and computations that no man with a soul could ever care about. I hate these fucking papers, and the folders, too. Hate them all.

The afternoon and evening became a gentle blur, and with a jolt Gregory noticed that the clock had spun its inexorable way around to 11:35. It was time to stumble off home, rummage about in the icebox for some little bit for dinner, and then collapse into bed for a few precious hours.

Gregory paused in the door for a moment, turned to wish the last few diligent colleagues good night, and cast a wistful gaze around the cramped but familiar department floor.

With a quiet sigh, he turned and trudged toward the stairs, comforted only by the thought that tomorrow he could do it all again.



After four years, Gregory had developed a theory.

It wasn't a particularly fascinating one, nor really useful for much, so he had refrained from sharing it with anyone. But he still had his theory.

The theory, he lectured himself in the mirror, goes like this: banking is evil. Banking is the spawn of capitalism, which is in turn evil. These things are evil because they promote greed. Greed makes men shrivelled, ugly little goblins squealing for every last penny they can scrabble up with their twisted, slimy claws.

He paused and cursed at his reflection; four damn years and you still can't tie a tie. Take it off and start over.

The goblins, by virtue of their greed, become wealthy. Wealth, by virtue of capitalism, equates to power. Power and greed combine to create despotism and madness. Mad old men with mad hordes of money give rise to the corporation. Corporations are the rotted carrion upon which the maggots of banking feast. The money is used to create bureaucracy, as a means of demonstrating and exercising the power; this occurs within the corporations, and banking is a willing (and vital) accomplice.

Finally, the tie looks right. Now for these little cuff links, and it's off to the office.

Bureaucracy conspires to create employment. Despite what the politicians may claim, employment is not, in fact, a good thing. Employment is merely a channel for squeezing every last droplet of money and power out of the common man, into a stream that runs inevitably upwards to those same rich and powerful goblins who control it all. Employees are, therefore, evil in thier own way; for in the course of doing their jobs, they not only empower the greedy and evil men at the top of the whole twisted scheme, but also become complicit in the destruction of their fellow man, to the same ends.

This was Gregory's theory, and he held to it dearly; each day brought ample new evidence of its veracity and profound importance in the ordering of modern society.


It was all bullshit, though. The job wasn't evil. It couldn't be evil, because nothing evil could have brought Gregory into contact with such a wonderful thing as Jennifer.

Must hurry to make the subway; I can't be late today. There will only be a few minutes to ask her out to dinner before we must clock in at the department.



The noodles were cold and the sauce thickened beyond recognition, but Gregory didn't care; he had long since had his fill. Now, all that interested him was the face smiling at him over the twin candles on the restaurant table.

He smiled back, feeling the lines and wrinkles of age crinkle and scramble into new positions as he did so. Getting old was a strange sensation, made all the more peculiar by all the little changes that were barely noticeable by themselves. In combination, they served to do little but remind him of younger days.

Old times... like that first time, so long ago, that he and Jennifer had sat at a similar table in a similar restaurant. After seventy five years (or was it seventy six?), all the restaurants looked alike, in memory and in life. He had worked at the bank, back then. So had she... that was how they met, trying to make sense of the odd new machine and its odd new name, "Xerox." The salesman had insisted it would revolutionize their office, but at that moment all it had seemed to do was cough out clouds of disgusting dark powder, and make odd noises.

He had felt foolish, then, being confounded by a mere piece of technology. It wasn't his ideal way to meet a woman, especially not someone as remarkable as she was. He'd vowed to make a fresh start in a more romantic arrangement the next day.

It had been the beginning of something. He had begun a lot of things. Finished most of them, too; Gregory was damn proud of that. If anything was wrong with kids these days it was that they didn't finish things.

He'd made sure that his own two sons had been brought up right.

In fact, he'd finished all of them, so far as he could remember... all but one.

A warm touch on his hand jolted him back to the restaurant.

"Greg? Are you alright?"

It was only then that he realized that, entranced by his thoughts, he'd been frowning deeply at Jennifer. He smiled again to reassure her, and then once again grew pensive.

Presently, he reached a conclusion. He took a breath and steeled himself to mention a subject he'd buried deep within his soul for far too long.

"Jen... I want to buy a boat."



Gregory sighed lightly and leaned against the rail, absently massaging his bad knee, staring out into the distance over the moonlit harbor.

The forty footer was only a pale echo of what Hyperion had once been, but she was enough. Jennifer was still irate that he'd dug into the pension account for such an extravagance, but he'd signed all the papers that afternoon, and the boat was officially his - too late now. It was sleek, new, white with flashy red stripes in all the right places. All she needed was a name.

He sighed again and lit a cigarette, worrying for a moment about Jen. She didn't deserve this; she was a wonderful woman, and in all their years together had never done anything to merit such a blow from Gregory.

That life though, happy as it was, had always been a lie. He had loved the bank, loved the job, worked up the ladder and become head of the department, revelled in the pure materialistic hedonism of it all. There was rumour he could have been head of his own branch, had his age not interfered. Still, though, retirement had come at a good time, and the company made sure he was well taken care of.

And there was Jennifer, too... he'd feared a little bit that she had only fallen for him out of youthful ignorance, and would eventually tire of being wed to such an older man. But she stayed resolutely at his side. The cynical part of him suspected it was mainly for the money, but it was hard to believe such a bitter thing about such a wonderful woman.

It was all too much to sort out, all this business of his family and the boat. He didn't really want to let it all go, to walk away from them so suddenly; they didn't deserve it. Still, there was nothing else to be done.

He'd tried to explain it in the letter, how he was leaving for a journey, to travel again, to reclaim the freedom that he'd once lost. He tried to capture the agony of realizing, after so many years, that it had all been a mistake after all. He struggled to find words to describe how he finally stopped fighting the truth, finally let go of all the hollow happiness and success he thought he'd found in the world. For nearly an hour he'd stared blankly at the page, casting about for some way to communicate that he could no longer live a lie. It was time to return to his true self, to embrace the only thing that had ever truly touched his bitter, tangled soul.

Jennifer and the boys would return from the college tomorrow morning, and find the letter as he left it on the kitchen table. He hoped they would understand, but deep down, he doubted he could ever really explain his plight.

The cigarette was gone, and Gregory flicked the butt into the water. It was time to leave. He busied himself with starting the boat's engines and putting off to sea.



It was past midnight when Gregory decided to stop, far out past the port. There was no sign of the city lights on the horizon, no hint or sound of other vessels anywhere nearby. He was alone.

Gregory stopped the engines and walked out to the bow of his new boat, breathing deep in the chilly night air. He wasn't accustomed to being out this late... it was hard to stay awake.

After a pause, he took a breath and forced himself to focus.

He reached down to the lumpy knapsack and hefted it onto his back, struggling against the weight to fasten the straps. After a moment, he was satisfied that the load of exercise weights was securely attached.

One last sigh, one last look out over the water. With the slow, quivering awkwardness of age, he climbed up onto the railing, reaching out a hand to steady himself against the rigging.

The last fragments of Hyperion's hull had long ago been lost to the depths of these waters, and with her, the fleeting remnants of Gregory's soul. He had left his home and life to return to the only place he could ever truly call home, and the only life he had ever wanted to live.

Smiling the smile of an old man made wise by his own folly, Gregory let go of the rigging, and plunged forward into the water.

The waves closed quickly over his head, and a small corner of his mind noted with satisfaction that the weight in the knapsack was doing its job.


The water grew deep and cold, the last feeble beams of moonlight conquered by the murk.

And at last, imprisoned by the mighty arms of the sea, Gregory returned to his freedom.

Comments: 3 - Leave a Comment

Link


All times are ET (US)

In locus hic, omnes res dementes sunt.
 
S
M
T
W
T
F
S
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
20
21
22
23
24
25
26
27
28

OPTIONS
Track this Journal

 RSS 

ARCHIVES
July, 2009
June, 2009
May, 2009
April, 2009
March, 2009
February, 2009
January, 2009
October, 2008
September, 2008
August, 2008
July, 2008
June, 2008
May, 2008
April, 2008
March, 2008
February, 2008
January, 2008
December, 2007
November, 2007
October, 2007
September, 2007
August, 2007
July, 2007
June, 2007
May, 2007
April, 2007
March, 2007
February, 2007
January, 2007
December, 2006
November, 2006
October, 2006
September, 2006
August, 2006
July, 2006
June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005