Tag Archives: mapping

Brecourt Video Update

I’ve still been putting a lot of work into my Brecourt Manor map lately, and it feels like it’s over half complete.  I’ve got a lot of the hedgerows placed, so it’s mostly a matter now of filling in the fields and making everything look natural.  The map’s script has also come a long way (at over 700 lines so far) but still has a lot of tweaking left to go.  However, I’m feeling a lot more comfortable with LUA and the SCAR functions, so it should go quickly.

A couple weeks ago, I dabbled briefly with the Unity engine to see if it was viable for another project I’ve been longing to make.  There’s a lot to learn up-front about Unity before you can get anything even playable (take Quaternions for example), but then things start to come together.  In only a few days, I made from scratch a basic tank that drives around and shoots with (mostly) realistic physics.  I must say, though, that this is the most math I’ve done since college.  😕

Posted in Gaming, Modding | Tagged , , , | 1 Comment

Brecourt Manor in CoH

A few months ago, I released my first singleplayer map for Company of Heroes.  I had a lot of fun scripting the scenario, which is done entirely in LUA, so I was eager for another map to work on.  And it didn’t take long until inspiration hit me in the form of re-watching Band of Brothers.  The prominent engagement in the second episode is the assault on the guns at Brecourt Manor.  The episode must have inspired others as well, since several video game recreations already exist; most notably in the first Call of Duty.

However, all the existing Brecourt Manor assault recreations have major accuracy flaws.  The CoD one has fairly accurate trenches (where the guns were located), but the context is very flawed (e.g. Easy Company did not subsequently attack the manor itself).  There is also another Brecourt map made for CoH, but being that it was made for multiplayer, balance concerns forced them to change almost all the geography other than the trenches.

So to distinguish my attempt from all the others, I decided to make what I hope is the most accurate portrayal of the battle.  To achieve this, I first gathered up as many maps as I could showing the fields and hedgerows where the battle occurred—present day Google maps, 1947 aerial map, D-Day recon map, and a map apparently provided by Maj. Winters.  I then layered and lined up the maps in an image editor to create a composite image of the most accurate map I could make.  That image appears below.

Brecourt Manor Assault Template Map

Brecourt Manor Assault Template Map

You can see on the above image that I’ve already established the playable area (red rectangle) and the map boundaries (green rectangle) for the CoH map, with the gun trenches located in the center.  But the next step is where the real magic happens in making this map as accurate as possible.  In a process I first used in my Ogledow map, I took a greyscale version of the composite image above, saved it to a bitmap, and then copied its raw bytes into a data format called a “stamp”.  The CoH WorldBuilder uses these stamps to let you copy map data between maps, but using this technique, one can also copy data from images into maps.  The result can be seen in the below images.

The result being an extremely accurate template by which to “draw” the actual map content.  This is about as far as I got when I first started working on the map since Serpent 3 was nearing the end of its life at the time.  But I just recently got back into it and I’ve made some pretty good progress, although I’m nowhere near done.  I’d say I’m to a point where it’s playable, though.  (Props to the guys at Relic that actually make these maps from scratch.  It takes forever to get them to look realistic.)

Posted in Gaming, Modding | Tagged , , | Leave a comment

File Lister and Company of Heroes

A new version of File Lister is in beta now. I’ve been repeatedly finding it useful both at home and at work, so I figured it was the most deserving of an update. Besides a few bug fixes, there are also performance improvements, some more regex matching options, and the addition of counters and regex capturing groups in the output format. I’m hoping to release a final version within the next month. And this next release may not even be the end of the updates to File Lister as I’m also looking at adding features like command line modes in the future.


Hurtgen Forest at night

I’m also trying my hardest to get my Company of Heroes map finally done (damn me and my perfectionism!), even if there’s no one around to play it anymore. It’s just too good and too close to completion to let it go unfinished. There’s just 1/8th of the playable area left to create and some of the out-of-bounds yet to be filled with trees–it really shouldn’t take but another concerted effort of a weekend.

And I’ve finally decided on a name for the map: “Hurtgen Forest“. Since my map is pretty much a fictional setting, I didn’t want to be too specific with the location. Though, I had always considered that it would probably be named after some area in Belgium or northwest Germany.

Posted in Miscellaneous | Tagged , , , | Leave a comment

Keeping Busy

Posts have been slow to come lately, but of course, this doesn’t mean I haven’t been working on anything. In addition, school just ended at the beginning of the month–this time for good, or so I think. I haven’t actually gotten my diploma in the mail yet. But, I’m pretty sure I graduated.

And now I’m being bombarded with queries about what, when, and where I’m going to get a job. So far, I’ve taken a passive approach to finding employment and, even with that minimal effort, have had a couple offers already. I think once I decide I’ve rested enough and start looking in earnest, I won’t have much trouble finding a great job.

Naturally, now that I’m done with school, I have a bunch of academic papers that I’m wanting to add to the site. Previously, I would just upload a Word “Web Page” version of papers, link them, write a little blurb, and that’d be it. However, I’ve grown weary of the full-frame white document backgrounds of all my uploaded papers and the disconnected feeling it brings to the site’s style. At first, I went about rectifying this with another PHP script where you pass in an ID for a particular paper listed in a database. However, I ran into a snag with this method because Word always exports Web Page image paths (and also <a name> internal links) relative to the document, and the script’s path would differ. My first fix was a client-side workaround using the <base href> tag which forces a document’s path to whatever you want. This worked decently enough, but of course, you can never be too sure of client-side support for a rather obscure tag (though FF2 and IE6 did seem to support it). My final fix was to “include” the wrapper script in the document itself (thereby eliminating the need for the aforementioned fix), obtaining the calling document using the $SCRIPT_NAME environmental variable. From there, the wrapper script reads the calling document’s title, url, body contents, and style contents, outputting them where necessary and giving the page a clean, stylized, embedded document look.

So far, I’ve only applied the wrapper script to some of the existing academic papers. This is taking longer than it sounds because I’m having to redo the Web Page export from Word. Apparently, in Word 2003, there is an option to export a “Filtered” Web Page, which removes all the Word-specific markup and reduces the file size by about 4KB + 10% of the overall size. I’m also doing more robust linking, both internal and external to the document. It should be fairly impressive once everything, previously existing and new, has been updated and linked into databases–I’ve even got some source code to put in this time around.

I’ve been working on the Company of Heroes map mentioned last time some more. I haven’t made a lot of progress, but nevertheless, I’m almost done with the playable area of the map. Beyond the playable area is the “out of bounds” (OOB) area, which is mainly just for making the map setting look realistic and “not like a table-top” so they say. It’s basically the same idea as my wrapper script, smoothing out the differences between the playable area and the surrounding environment. The OOB won’t take nearly as long to construct as the playable area has, though, because it will mostly be low-poly pine tree groves and the stream and road rolling off into the distance. Anyways, here’s a screenshot of the area I have been working on lately–a raided German AA site. It looks a bit stylized because I’ve been playing around with filters for the final version’s loading screen.


In other news, I did my first No-DVD crack for a game last week. Of course, I can’t give any more information about availability of the crack or what game it was for. But still, it’s a notably L33T personal achievement and a stepping stone in my learning assembler (or disassembler rather) through practical uses. Previously, I’ve already done a bug fix for a game in assembler and a mod for a game in pseudo-assembler. Besides a thorough disassembler (like IDA), I’ve learned the best tools are NOP (No Operation) and JMP (Jump) to either “comment out operations” or make conditional statements (various forms of Jump If) always or never take the jump. Even though I love this kind of reverse engineering programming/troubleshooting, sifting through millions of lines of assembler code takes a lot out of a person, and thus I don’t expect to be doing a lot of it in the near future.

Posted in Academics, Modding, Troubleshooting, Website | Tagged , , , | Leave a comment

Killing Fields

Regretfully, it’s been more than a month since my last post. Mainly, I just haven’t found the time, which is funny considering I only have classes three days a week this semester. Some of the reason for my lessened time is that I’ve been working on a new Company of Heroes map/scenario. You may recall about this time last year, I was dabbling in making a map based on my university. That map was doomed from the start because it was too large, and the gameplay suffered as a result of building scaling issues.

Thankfully, my new map is very small, so I may actually finish it. It was inspired while I was playing through the Panzer Elite campaign of the COH expansion pack, Opposing Fronts. One map called Best (after a town in Holland) has an expansive pine forest area littered with makeshift fortifications and the occasional burning tree/scorched earth. I found it made for very intense combat weaving through the trees and defenses. Perhaps I just wanted an excuse to play around with the World Builder again, but the burning pine forest was the early inspiration.

    The main physical features of my map include:

  • A stream that divides the two players’ halves of the map
  • A road that runs perpendicular to the stream, crossing it with a simple earth and stone bridge
  • A small church with adjacent parking lot and graveyard
  • Farmland where the axis base is
  • The rest of the map is all pine forest with some clearings for the various control points and existing defenses.

Obviously, the bridge over the stream is the major chokepoint; however, the stream is shallow enough to allow crossing at any point. The resource control points are arranged so that advancement will take considerable time (i.e. there is little fuel). Unless one chooses a doctrine that has tank reinforcements, it’s unlikely the game will take long enough to see tank combat. The map focuses on infantry combat, as tanks are difficult to move through the forests and the one road is easy to defend. The choice of doctrines, units, and strategies is immensely important in this small map as the room for error is minimal.

Of course, I am equally concerned with the visual appeal of the map. For each of the 11 sectors, I have gone through the laborious task of adjusting the heightmap through coarse and fine brushes, painting the various terrain tiles, adding decorative and defensive 3D objects, laying out texture splines for paths and edging, placing splats (basically texture patches) to reduce terrain texture redundancy, and finally placing grass (where applicable). I’ve even gone through the trouble of creating time passage through environmental changes (mainly lighting, fog, and sky adjustments). I’m hoping all this work is producing a believable world for the player that is nearly on par with Relic’s (the developer) maps. I’ve noticed many COH mappers don’t even bother placing much more than roads, buildings, other 3D objects, and the necessary control points and HQ.

However, while I was mapping one day over spring break, a most unfortunate tragedy occurred. Our newest kitty addition to the family, “Crush”, was killed in the street. I had trouble not being overcome by flashbacks for a while. I had to watch helplessly as he died when only three hours prior, we had cuddled up for a nap together. A sweeter, more lovable kitty I have never known. As such, I will dedicate this map to him, and in it, I have composed a digital grave for him to cat-nap forever.

Posted in Modding | Tagged , | Leave a comment