OpenArena – addictive Quake III style!

Finding myself a bit light on time today, is tarted looking again at the ioquake3 engine with an interest in playing around with it. Of course, there is nothing better then a real world example – I tested Urban Terror and OpenArena, two games based on ioquake3 and Quake III: Arena game play. Urban Terror applies modern weapons and equipments but beyond that is not really a realism game IMHO. OpenArena on the other hand, sticks close to the core—it is as Quake like as the game play lol.

OpenArena is addictive and you can just feel your brain cells rot away as you engage in the carnage! The game is fairly simple and straight forward, you spawn, you run around, you blow people apart (gibs all over), oh yeah, and there are power ups here and there. Really, there isn’t much more to say about it then that, other then it is strangely enjoyable; no wonder the Quake franchise has made millions.

Ahh, sitting here with my foot in a pale of water & Epsom salt, laptop for the music and the dog for company lol. Fools Gold also just started, so I’m set for the next couple of hours. I love this movie, you can’t beat a good sense of humour xD. Fools Gold also reminds me how difficult it can be to get someone out of your life…

Just got out of RvS, figured it would be best to soak my foot now so I do get some sleep tonight. On the upside though, I don’t have to get up early tomorrow, unlike the rest of the week! Down side obviously being that I’ll be workin’ later hours tomorrow :'(. Today’s job was a headstart on Thursdays work load, all the heavy crap is starting to come out of the wood-works, sigh.

Continuing my hunt  over the eye glasses issue. H.R.P. has taken out a loan to deal with the cost, and it was the toe issue that pushed things over the edge lol. Ok, so many I should be thankful… if this thing ever heals correctly that is. Most people would use the phonebook, me? I use something called the Internet for my initial scouting ;). As usual I started with the cities website (more useful then most folk here would ever dream) an dhave since moved onto Google Maps. The best eye doctor I know of is quite a distance away, so local research is required. Seems that there are at least 4 optometry practices here, at least 2 of which look suitable. Interestingly, it seems that one of optometrist also comes from Ft. Lauderdale—as do I lol.

Ahh, I love the internet, who needs to dig out a copy of the yellow pages anymore?

So far experiments continue with SWAT 4 performance issues. Deeper testing has shown that it is no longer connected to graphical issues, not when running on my current hardware/driver config; nice to be able to max out the graphics online *and* in single player.

What happens is periodically when moving through an area, I get a stutter-lag-warp like motion: as if the whole game stopped spinning and then suddenly unlocked. The only consistency I’ve noticed is it happens when entering a region of the map that I have not been in previously—or have not been in for a while. One thought is that perhaps it occurs when the cache must be updated with stuff that has already been moved out of the games memory cache. My machine has RAM to burn so I have been testing the game with various cache sizes, but don’t honestly expect any positive result. On modern machines, cache size shouldn’t matter to much with the Unreal Engine 2.x lol.

Atm I’m defragging a few disks, maybe that might help a little. I don’t know if it is just the much greater frequency of crashes with Windows XP, or that NTFS really sucks that much worse then FreeBSDs UFS2 system. But for one reason or another, my windows file systems always end up very highly fragmented. Although on the upside, unlike Win32: FreeBSD does kind of encourage you to fsck afterwards hehe.

Hopefully my experiments will yield some fruit, and I can stop warping all over the place lol.

Goodbye toe, hello pancake!

Ok, so far my toe has been slammed into a couch and healed… then slammed into a step at work, and healed improperly. Last week I showed it to an acquaintance who is a nurse, and she came to the same conclusion I had – time to see a doctor (and have the dead tissue removed).

This morning when getting ready to leave for work, 12 hard cover books fell off the table and landed on the same damn toe lol. I’m lucky they weren’t novels 350-450pg thick, or there wouldn’t be a foot left let along a toe! No serious damage added, if there is actually anything more to damage… just a bit of blood flow. Cleaned it up and threw a bandaid on it before heading out the door, it likely stopped bleeding by the time we got to work.

In some ways, I think I now will look at Spaceballs with an extra chuckle: whenever Barfs foot gets crushed under a Yogurts statue…

Writer’s Block: Childhood Firsts

What was your first word?

Live Journals Writer’s Block

My first word ironically was “No!”.

I reckon all parents go through the usual “Say daddy” or “Say mommy” kind of thing when their kids are young, mine did, and I told them NO! hahaha!!! I guess I was just born stubborn as a mule xD

Haven’t been updating my LJ much this week, as usual that means either I am highly depressed or extremely busy, and often both lol.

This week that has started also promises to be a very hard and busy one as well :-(.

The upside is Operation Redeemer may be moving ahead soon……

Rcent business

As much as I hate to not be working, I am kind of happy about this recent turn of events.

Yesterday the after work down-time was interrupted with a job interview: one that I’ve had apprehensive thoughts about, in regard to Operation Redeemer. We didn’t get it and apparently, my remarks about “32 hours” and needing 12 people to do the job, “Queered it” as H.R.P. put it. I also reminded my mother that she should be careful what she wishes for, since she had asked me to speak up! For better or worse, I prefer to speak honestly and don’t like to mince words. Also on the flip side, we got something else (and less painful).

Thursday was supposed to be a trial-run, in which I have wondered just how much stuff could be done in 6 hours of labour. The place is so big, to clear it from a SWAT point of view, would take 20 men and at least 5 minutes. Cleaning the place as a 2-schmuck team would take all week! It is just to freaking BIG.

As I often say, things always balance out in the end. The 2 jobs that virtually evaporated have also come back online in force, and after yesterdays interview, H.R.P. is most certainly less inclined to whine about them lol. For me, work is work; that’s roughly all there is to it. Although that being said, I would love to have a career that I can wake up in the morning and actually want to do the job :-/. (Ok, so a crazy spider can dream…)

The positive side is that

In sleeping on it and having a job, that frankly leaves my mind free: I’ve come up with an idea for the tpsh problem.

The tokenizer is beautiful, the only problem is it does the expansions through a table of call backs. Now if I was to modify that so that it instead attaches meta-data to each token instead, those expansions could be delayed until later without major redesign. It will be necessary to redactor the lexer in order to handle the change in data structure. The code generator can then be tasked with completing any expansions during generation, by expanding lexemes to corrisponding code as it goes. After wards, re do the code generate into something more elegant and voila…. we have what it should’ve been in the first place!

A good nights sleep always helps the code[r]

A small shoot yourself in the foot, coders moment.

Being bored and lacking further ops I can get done before bed, I picked up on tpsh again. In look for a quick challenge, I noted that the git repo was still on the ‘codegen’ branch. Basically, a branch to test the idea of generating the execution code on the fly per command sequence.

As a quickie of interest, I picked up the generation phase for the for-loop. Then I hit a road block. Since my shell expands variables, globs, and aliases quickly during tokenization. The reason being, the input field separator ($IFS) and quoting rules determine how this shell splits text into ‘words’ or tokens for the execution mechanisms—you could say it’s “On the way there”, thus deals with it as it comes. Currently tpsh handles environment variables by fouling around with the programs own idea of the referenced environment variables (%ENV) without any distinction between exported and unexported variables. My intentions have been to use a more controllable interface for shell variables at a later date, since it is kind of a low-yield concern at this stage of development.

I see several choices:

a/ redesign how things work (obviously this is the whole story, lol), saving the issue until later when other components have matured to match.

b/ leave expanding environment variables (etc) until the last minute, I don’t like this idea.

c/ have some way of retaining things that can not be confirmed until later, with an indicator to strip out or expand the remainders at the last minute (this gives me visions of ugly code)

d/ incorporate the code generator closer into the process, so that things get expanded only after they have been confirmed, but generated as soon as possible (a more multiple pass focused design comes to mind).

a is basically a worry-later, and see if other things that needs doing either fix or exacerbate the problem (this is a two edged flaming sword). b is possible but would take a lot of reworking crap, and IMHO result in an ugly LA phase and become prone to introducing bugs into the final results. c sounds simple enough at first glance but I do not see a method that I’m willing to live with. I worry about how easy d would could confuse readers, and what danger a slip up on it could do the results.

For now, I intend to not worry about the minor issue, until after variable handling matures. Because I really love how expand_quotes() works, and that is the best part of the whole program IMHO. Needless to say, tpsh has poor handling of shell/environment variables and has had it throughout its development, since growing the code can wait longer then the other parts.

Not to mention the fact that tpsh has mostly been developed under sleep deprivation in the first place…. lol

edit

In the time it took to submit the entry, type ‘shutdown -p now’, put away the computer, and take a quick leak: I came up with another solution. Give the code that expands variables an understanding of how they are defined, rather then only how they are referenced. Not only would checking if a referenced variable was just defined in the same set of input work with ‘for X’ and ‘for X in …’ like constructs, it could also be used to implement the ‘VAR=… … command …’ syntax at a later stage 🙂

The way expand_quotes() invokes the other expand_* procedures, we would need adjustment before the syntax of prefixing commands with variable settings could work, yet implementing the for-loop in it would be trivial, since anything that would cause the statement to get broken into an unusable token set before defining said variable and attempting variable expansion on it, would also be a usage that gets around for’s keyword status!

Problem solved with less fuss, maybe? It is amazing what you can think of while taking a piss!

More [SAS] Dept. of Agriculture

My work on the ‘[SAS] Dept. of Agriculture’ is nearly done, I have only 3 rooms left to do major work on, plus the “special” insertions hehe.

The goal is to be able to use the fire escapes outside the records room to gain entrance, replacing one of the spawn points. I may also modify the front-entrance spawn, so that the team spawns “outside” in a armoury room rather then the reception area. The building is supposed to be a mock-up for a hostage rescue after all, not purely a traditional map: so it wouldn’t be a big realism problem :-P.

Alcomplishing those aims appears to be easier then I expected. The real challenge at the moment, is I very much would like to erect breachable “Barricades”, that will have to be shoved out of the way. Getting that working so far has been of no real luck.