Archive for the ‘General’ Category
Drat
Saturday, May 30th, 2009Blog technical difficulties :-/
August in review
Monday, September 1st, 2008Work done in August:
A.I.
- made the AI analyze the terrain and fortify strategic bottlenecks!!!
- made the AI recover squads after a successful attack.
- made the AI respond more intelligently when out-ranged by attackers.
- made the AI prioritize engagement against attackers that damage a base.
- made the AI not avoid enemy towers while they’re still under construction.
gameplay
- made it easier to preview windmill yield before building.
- made upgrades progressively more expensive.
- made it impossible to attack a bldg behind the fog-of-war (player must see it to attack).
- made units face & aim vertically at their targets.
audio
- added menu music.
- revamped the option gui volume controls.
- pulled in many audio bug fixes from Torque 1.5.2.
- fixed a Torque audio bug where game music got corrupted during big battles.
- fixed a bug where death sounds weren’t being played.
- added more bldg death sounds.
crashes
- fixed a crash when telling a unit multiple times to go to an unreachable tile.
- fixed a crash that resulted from attack targets would occasionaly get mixed up.
- fixed a crash due to order of data initialization.
- fixed a crash due to a race condition in switching worker modes.
general
- fixed a bug where AI workers could accumulate too many guards.
- fixed a Torque bug in rendering the selection rings.
- fixed various bugs that gave away terrain heights of fogged terrain.
- fixed some spurious error msgs that briefly appeared.
- fixed some memory/resource leaks.
- fixed glitches in the display of resources / tools carried by workers.
- got switching to/from fullscreen working, while in-game.

How oldschool are you in Counter-Strike?
Wednesday, August 27th, 2008Ah, nostalgia.
wegame.com has put up a funny quiz to determine your oldschool-ness in Counter-Strike. See how you score: http://quiz.wegame.com/oldschool_cs_quiz
I scored 62%.
I originally discovered Counter-Strike back around Beta 5.x (maybe 4.x?). Long ago, back in the dark ages (1999?). Hardly anybody remembers now, but CS was in Beta for what seemed like years. And back then, the hostage models were the scientists from the original Half-Life game :-D
When I first started playing, the P-90 submachine was unbalanced-ly good. Just about everybody would buy P-90s.
And remember the hostage-jumping bug? If you could manage to jump on top of the head of a hostage, the server would try to make him “follow” you, pushing you up. If you kept jumping, the hostage could push you up to normally un-reachable heights in the maps.
It was a pretty diabolical bug — in cs_backalley.bsp, the terrorists could use it to take hostages to the tops of buildings :-D
My favorite CS mod was assasination. I was good both as a terrorist or the VIP. I had a real knack for guessing other players’ movements, based on how the previous game round played out. It was extremely helpful, especially as the VIP, as he tries to avoid being caught!
as_oilrig.bsp,
as_tundra.bsp,
as_highrise.bsp, …
– ah, what great memories.
It’s a fun quiz, but too short! If you’re an older gamer like me, try it out.
Some recent progress
Monday, June 30th, 2008Recent progress on Orcs vs. Martians:
A.I. players now explore more
This fixes the blindness issue with maintaining a personal-view-of-the-world. Big “yay” there.
I actually had to do two different exploration algorithms: one to explore near the unit’s home base, in order to find new expansion base spots; the other to explore the entire map, in order to find enemies. Two different algorithms, for two different needs. The combination of the two seem to work pretty well; the A.I. is no longer dumb as dirt.
…In fact, they almost work too well. Despite the fact that the A.I. no longer cheats, the A.I. is once again finding my home base mighty quickly. Those meddlin’ explorers. Maybe I need to dumb down the exploration algorithms?
But it’s still kind of fun. If you can quickly build towers out a distance away from your base, and fend off the A.I.’s explorers, the A.I. takes considerably longer to figure out where you are. Muwahahaha!

Heavily armed, and no place to go
Stack-based unit modes now work
Finally.
One benefit of this feature is that all movement code is now factored out into its own stack element, making movement “smarter” for all modes. Whether a unit is harvesting, building, or just marching somewhere, the unit now intelligently re-paths around unexpected obstacles, no matter what its mode is.
End User License Agreement
Got that written.
To write it, I read the EULAs from about 10 other games, to familiarize myself with their contents and how much they varied from game to game. The verdict? They differ a lot in format and wording, but all contain pretty much the same stuff, or different subsets thereof.
Here’s an interesting question. Are EULAs themselves copyrighted? Instead of writing my own, could I have just copied a EULA from another game? or would that have been some kind of infringement in itself? No idea. Just to play it safe, I rolled my own.

Flattened never-explored terrain in the 3-D view (a fog-of-war feature)
This feature was another Big Thing to me, having been on my to-do list for nearly 2 years.
If you played one of the beta releases or are a long-time blog reader, you may remember this issue. The way I used to “hide” unexplored terrain in the 3-D view, was to color it black. But, you could still see the silhouettes of hills, and water showed up plainly. Those were big problems, because terrain elevation and water locations are key elements to the gameplay (elevation provides all kinds of bonus, and water makes trees grow faster). Being able to see those two things gave the player way more info than they should have had.
My solution? Dynamic terrain height alteration. Initially, all terrain that’s not explored is set to be one meter above sea level. That flattens all hills; and since it’s above sea level, the “false” terrain hides water that lies beneath it. (All terrain still starts out black, so you just see black.) As units explore and new terrain is revealed, the game “pops” the elevation of tiles to their true height. For hills, the terrain gets popped up, and for water, the terrain gets popped down. And of course the black is removed, painting the tiles with their correct textures.
It seems to work fairly well. At first, I was concerned about performance. Could Torque alter terrain heights fast enough for changing fog-of-war? In OVM, fog-of-war gets updated twice a second, so Torque is now modifying terrain heights at (up to) twice a second, for potentially dozens of tiles at a time. The verdict? I haven’t profiled it yet, but Torque seems to do it plenty fast. No noticeable slowdown. Wahoo!
Visually, I generally like the way it looks, though with… reservations. When exploring high areas, you’re constantly seeing artificial “canyons”, that aren’t really there. It’s definitely…different. See for yourself.
Here’s a unit exploring a hilltop, where fog of war covers the interior of the hill, creating an artificial “canyon”.
As the unit explores, the canyon fills in.
Also, when you spot enemy buildings, if you haven’t seen all terrain they sit on, the effect is…interesting.

Hmm.
My thoughts are, it all looks kind of neat, and visually it’s very striking. But it’s also distracting. Those artificial canyons really draw the eye to them, but since there’s nothing really there, I feel like it distracts the player too much.
I think this feature is going to need further fine-tuning.
Rally points are now visible
I used a little 3-D model of a banner, from the good folks at Frogames, to mark rally ponits. The banner is dynamically recolored in the player’s color:

The banner appears & disappears as you select & de-select the base building; pretty standard RTS fare. It also runs a nice animation of being blown in the wind.
…and
…and besides the above, there’s been lots more internal bug fixing, refactoring, renaming, optimization, pulling out of one’s hair, and what-not. All the usual trials and tribulations of software development.
In contrast to the aforementioned progress, A.I. has not gone so well. I made a serious effort to smarten-up the “unit-level” A.I., i.e. what units do on their own (mostly in regards to fighting) when the player isn’t actively directing them. But I haven’t been able to come up with algorithms to do it. It’s been pretty hard to do, despite the fact that I can pretty well visualize the behavior I want them to have. Bummer.
I also haven’t yet made much of an effort to smarten-up the high-level, strategic A.I., either.
And now for something completely different: a photo of NASA research aircraft. Just thought I’d include this since the aircraft look so cool :)

Screenshots
Monday, January 21st, 2008Even Less is Even Better
Saturday, January 12th, 2008Found & fixed a bug (of mine) that was occasionally duplicating OpenGL textures. OVM’s memory consumption now barely goes above 500 MB. : )



















