Category Archives: Game Logs

More fun with ArmA scripting

I spent much of my precious little free time this week playing with my chopper evacuation script again. This time, as I had planned, I cloned the escort chopper portion of the script replacing the attack chopper with a transport chopper.

Unfortunately I had quite a bit of trouble getting this part of the operation to work as smoothly as I had imagined. No matter how I got my script working it seemed that the whole rescue squad that disembarks, waits for the player to board, and then hops back on concept was destined to failure. Most likely the squad would be slaughtered while leaving the chopper and, if not, the chopper would probably be full of holes before any of them decided it might be a good idea to shoot back. I decided to simply put an infantry squad on the chopper in case it got shot down but that was it – nothing fancy. I figured the door gunners could suppress the ground a bit if enemies were around and hopefully even fire while waiting on the ground.

After doing a bit of testing with live enemies in the immediate area of the landing zone I was pretty dissatisfied with the whole thing. The Blackhawk barely returned fire at the enemies on the ground and often got shot down or, better yet, destroyed after landing on the ground. Still, it was pretty exciting, dynamic stuff. Here’s proof:

I spawned standing only a hundred feet or so from a full squad of enemies who were luckily all facing the other direction. I quickly jumped to the ground and dialed up both an escort and an evacuation choppers on my radio. Soon enough I got to see the awesome sight of both helos flying in together as if in formation over my position as I crawled behind some bushes – the Cobra coming in low over the enemy squad and the Blackhawk swinging around to make a quick landing on the nearby beach.

After a few short bursts from its miniguns the Blackhawk actually lands quickly for once so I leap up and make a mad dash towards it, circling around rocks and bushes to put some soft cover between the now very aware enemy squad an I. As I’m about 20 feet away from the Blackhawk… BOOM! A massive explosion! Most likely from an enemy RPG. It doesn’t blow the Blackhawk up but definitely disables it. The living squad and crew members immediately disembark just as I make it to the door of the chopper… Doh! The squad begins to spread out and take cover behind the unexposed side of the Blackhawk, the sound of bullets spraying its thin metal armor deafening.

The Cobra swings in a few more times over the enemy squad unleashing a small volley of rockets and then zooms off towards the enemy armor in the distance to do what it does best. The remaining enemies continue lighting up our position with automatic weapon fire as they start to slowly advance on the sight of the downed Blackhawk. As the volume of fire lessens slightly I decide to creep up through the underbrush to see what is left of the OPFOR.

I come across a couple of bodies of the friendly squad from the downed chopper and grab myself an M4 and an AT4 so that I can actually defend myself. I crawl up further and spot an enemy laying a couple of hundred feet away and hear the crack of his weapon’s report as he evidently spots me as well. I duck behind a small bush and then peep out to finish him off. Suddenly our Cobra is back although all it is doing is hovering over the enemies and not actually shooting at them… I really need to look into that. At least its letting me know there are still enemies around. As I crawl forward a bit more I see another and immediately start trading shots with him only this time I’m not having much luck actually hitting him. Luckily another friendly soldier takes a knee 15 feet or so behind me and is able to finish him off. Sensing his work is done the Cobra zooms off back to base.

Well, I’m stuck out here with a handful of soldiers I have no control over (something else to add!) and with no way home I might as well go over the hill and see what kind of damage the Cobra did to the enemy armor I had setup for earlier escort request tests. I slowly make my way over hill after hill until I can just barely make out the thick black smoke of a downed tank – I’m close. As I crest the next hill I come across an lone BMP-2 sitting in a small valley. He doesn’t see me so I sprint out, take a knee, and launch my AT4 at him – direct hit but oddly not much happens. Doh! This one has already been destroyed by our Cobra friend. I’m so out of practice…

Don't pilots get paid too much for this shit?
“Don’t pilots get paid too much for this shit?”

I again very, very slowly make my way over the next hill. This time I can see the smoldering wreckage of another BMP and a couple more wrecks as well. Strangely enough I don’t see any of the enemy soldiers that I know should be in the area. I do see what appears to be two intact BMPs although they don’t seem to be manned. I put my AT4 on my shoulder and carefully toast both vehicles and now that I’ve effectively announced my presence I see a small group of enemy soldiers make a dash out of some bushes and onto their bellies – time for some action! I start lighting them up but it quickly becomes apparent that their are way more of them than I expected never mind that I’m having serious issues with actually hitting any of them because of the distance.

After moving back and forth between bushes to attempt to conceal myself somewhat, popping out on occasion to try to take out some of my targets, I pretty much finish off the last of the guys I can see and at last stop taking firing. That was an intense little firefight! I cautiously creep forward just a bit more and suddenly hear the roaring of a tank, possibly multiple tanks, starting up. They wouldn’t be moving unless they had a good reason to – they spotted me!

I dart 20 or 30 feet back to where I came from and dive behind a bush and a large protruding boulder. It sounds like they’re getting closer and closer – what in the hell can I do? My AT4 is empty and I’ve got nothing else that can harm a BMP let alone a T-72. Then it pops into my head – my Cobra escort made it back to base… he should be available for another mission! I quickly dial him up on my radio and try to stay calm as I listen to the loud engines and crushing tracks of the enemy armor getting closer and closer. If they see me before my air support comes, which will probably take quite a while, I’m done for.

Watching the fireworks.
“Watching the fireworks.”

Finally after what seemed like an eternity of hiding curled up in a bush making peace with my maker I hear the all too familiar sound of the Cobra’s rotor slicing through the air. It slows down drastically as it sees the enemy armor, at first I think he might even be going down, but no, he launches a couple of missles and soon mops up the remaining enemy armor on the beach. Thanks, that was intensely close!

In the commotion I saw several more enemy soldiers running around so I inch around, assault rifle dug deep into my shoulder, looking for any sign of these stragglers. An enemy machine gunner unleashes a massive spray of fire at me but totally misses and I smirk as his tracer rounds spray ridiculously far off target. I spray indiscriminately at the bush he is taking cover behind and the fire sppm stops – one down! I inch forward a bit more and squeeze off a few well aimed rounds at another enemy who is taking pot shots at me from prone position about 40 feet away. I slowly make my way forward, towards the sight of the majority of the now destroyed armor, as the Cobra circles over head.

Black smoke fills the horizon and then, suddenly, the sound of a new engine and the addition of a new, brown, puff of smoke joins the others making an obvious contrast. What the fuck? Someone just jumped into another abandoned BMP! The chopper appears to be out of ammo as he circles it harmlessly and I still have no means of taking something like this out on my own. Hoping the luck is on my side I slowly approach the body of the last enemy I shot and… eureka! He had an RPG!

Well, it might have seemed like a good place to hide...
“Well, it might have seemed like a good place to hide…”

I grab the RPG, reload it, shoulder it, peer through the sight, and squeeze the trigger resulting a direct hit to the back of the BMP before any of the crew even have a chance to notice me. MISSION COMPLETE! Man, what a tense and action packed little scenario, especially considering it all started out as such a simple little code test. Damn, I love this game! 🙂

ArmA Editing

This is a direct follow up to my earlier post here.

Right now my scripting efforts consist of a relatively small amount of changes. One of the very first thing I did was change what our player’s pilot character was going to be equipped with. Normally “pilots” come with an assault rifle which works a lot better for helicopter pilots than it does aircraft pilots. Our guy is stuck only with an M9 pistol, 4 magazines for it, a couple of smoke grenades, and the ever-trusty binoculars.

My biggest concern initially and what other than fine tuning the mission’s objectives originally inspired this whole excursion into scripting was communication. I felt the scenario would feel a bit more realistic if I could make the base/tower/controller/whoever be able to talk to our pilot while he was on the mission, particularly when around the airstrip and as objects changed. I also figured it would be nice to have our pilot respond – whole conversations in other words. Once I figured out how to do this it meant if I wanted to be fairly thorough with my communications, which I did, I’d have to do a lot of scripting to make trigger some of these messages.

Somewhere in here I developed my evacuation idea. After a few hours of working on it (which have included way too many tank-busting flight tests but I’m still trying to keep used to the flying mechanics and whatnot so I have an excuse!) here’s what I’ve got done:

We now join our script already in progress.
“We now join our script already in progress.”

First off I’ve only added the escort attack chopper routines in so far. The player radios in for an evacuation. The game then spawns a helicopter and its crew in a predetermined location. We set a waypoint for the player’s location at the time they called us and head to it in seek and destroy mode. I also set a variable around this point to denote that an mission is in progress and added in a check which disallows a call if the previous mission hasn’t ended so they can’t summon 300 helicopter (which is damn fun by the way!) When the chopper gets semi close to the waypoint it kicks off a timer. The chopper will then hang around blowing enemies up or just hovering around like an idiot until it runs out at which point we’ll set another waypoint and make it active so that it can return back to its spawn site, land and then be deleted from existence. We’ve got a lot radio messages along the way too.

My next order of business is to add in some status checks for the health of the vehicle. My decision to add in radio messages meant that, in my mind, I’d need to do some scripting in order to account for some conditions in which we might expect messages but not be able to easily send them. Specifically in this case I’m going to send a message when the chopper gets damaged and when it gets destroyed.

The damage part was pretty easy. I added a trigger to check to see if the chopper had acquired a certain amount of damage yet was still alive and if so I had the chopper send a radio message to the effect that he was taking damage. I set this to run only once, so once it triggers the first time that’ll be all we get. I threw a couple of Shilkas on my test map and after playing it enough times to have them actually manage to damage it before it blew them to hell it worked perfectly.

Runner up in the most boring screenshot of the year awards, 2008.
“Runner up in the most boring screenshot of the year awards, 2008.”

The second part, checking to see if the chopper was down or not, was quite a bit harder as in the interest of more accurate radio messages I had to check if the chopper had been destroyed outright, if the chopper had been destroyed but the crew had survived, if the chopper was fine but the pilot was dead, and if the chopper was fine AND the crew was fine, but they had made an emegrency or crash landing.

To accomplish this I ended up having to add four separate triggers for the four conditions. I had considered making one simpler trigger set off a script to check the other conditions but ended up doing it this way. I also added a global variable which each of them would set on activation which they’d check so we wouldn’t get cascading messages if, say, the chopper started to crash-land, then the pilot got killed, then the chopper blew up, then the gunner died. I also used this new variable to abort the rest of the original script which meant that unneeded waypoints wouldn’t be set, invalid radio messages wouldn’t be sent, the crashed units wouldn’t be mysteriously deleted, and the “in progress” global variable I added wouldn’t be reset, therefore further evacuation requests would be unavailable.

Another BMP-2 is sacrificed to the scripting gods.
“Another BMP-2 is sacrificed to the scripting gods.”

I think the script is pretty much done now. Next I’ll need to duplicate attack chopper script for the transport helicopter and then modify the hell out of it to take into account landing, loading, the additional waypoints, and all that fun stuff.

Pac’d Weekend! Ok, I suck at puns.

This weekend gave me the biggest span of game out worthy free time I’ve had in quite a while and to be honest I didn’t quite know what to do with it all. I started out on Friday night by packing in a few hours of Grand Theft Auto 4. On Saturday morning I spent a couple of hours working on my latest round of Armed Assault scripting changes then I decided to mix it up a bit and play a couple of Xbox 360 demos – I ended up grabbing the Penny Arcade Adventures: On the Rain-Slick Precipice of Darkness demo as well as the Civilization: Revolution demo. While those (slowly) downloaded I played a ton of Pac-man: Championship Edition. On Sunday I got the urge to install Titan Quest Gold and ended up sinking a couple of hours into that. I wrapped up my evening by putting another dozen Pac-man: CE games in and grabbing two new achievements in the process.

I take a few different issues with GTA4 which I’ll expand on in a future post but overall it is great. I feel like I’m progressing very slowly through the story, however, and don’t feel like I accomplish much in a single sit-down with it which considering my fairly casual gaming schedule is a bit of a bummer.

The Penny Arcade game left me with mixed opinions. I’ve been a Penny Arcade fan for a long, long time, and still read it regularly. Their forums are also some of my favorite gaming forums to hang out at. Suffice it to say I enjoyed the hell out of both the humor and the artwork in the game. While it definitely feels like it has highly polished and well presented the game mechanics themselves left a bit to be desired. I have a feeling they’d work better with a mouse than a controller but I think I’ll settle for the 360 version so that I can grab some of the achievements therein. Yep, that means I’m planning on buying it although probably not until I have an entire day free in which I can attempt to beat the whole game in one or two long sittings. Maybe a slightly more in depth review when that happens.

Civ:Rev threw me for a loop. I’d dabbled with the first two Civ games in the DOS days but I’ve never been a big Civ guy which is odd since I do generally prefer turn based strategy to real time strategy and I’ve played a heap of RTSes. I’m not sure why I’ve never really explored the genre much but I’m thinking about picking up Galactic Civilizations II if that helps. 🙂 Anyway, it didn’t gel well with me but I had to end my game a wee bit early and, even if I didn’t, I was almost at the end of the demo anyway. Despite this almost as soon as I ended it I was pining to play it again. I suppose that is that legendary Civ addictiveness kicking in!

Yeah, I took a picture of the side of a fucking mountain. Go me!
“Yeah, I took a picture of the side of a fucking mountain. Go me!”

I bought Titan Quest Gold a while back after hearing about it and seeing screenshots of it here and there for a long time. I’m a big Diablo series fan and have, in the past, put forth some considerable effort into finding and trying some of the other Diablo clones out there. With that Titan Quest is definitely the best Diablo 2 clone I’ve tried so far! Nice 3D graphics, good artwork, mostly smooth gameplay, a decent interface, and a great setting. I can’t wait to put more time into this and considering how long it apparently takes to beat I just hope I don’t get burnt out before its over with.

Pac-man: Championship Edition is awesome. I don’t have much to say about it other than that it amazes me how well Pac-man‘s gameplay has aged. It is still fun and the intense feelings I did when avoiding some really pissed off ghosts with no more lives, barely missing them, and pulling off some generally ballsy trickery is rarely duplicated in modern games anymore. If you’re even somewhat of a fan I urge you to get Pac-man: CE a try. I’m currently working on trying to “beat” the “Challenge 1” mode. I’ve developed a strategy which I’m pretty sure will take me there but it is taking a bit of time to work the kinks out of. Still, I managed to grab the King and 200,000 point achievements attempting it. Damn, this is another game that is stupidly addicting – I wish I could play it RIGHT NOW!

Note: I don’t have any good system for taking screenshots of console games yet. I’ll probably just end up snapping some crude pictures of my TV with a digital camera. Lame.