As always, the new version of C# comes packed with new features that are apparently supposed to make life easier. That was definitely the case with C# 3.0, adding support for concise lambda expressions, expression trees, local variable type inference, extension methods, and a few other good bits. (There was also a good pile of [...]
Content
File: Uncategorized
OpenRA TilesetBuilder – Making custom terrain slightly less disgusting to work with
I’ve been slowly figuring out the Dune 2000 file formats and writing converters for its assets to sane formats, with the end goal of being able to play d2k as a mod in OpenRA. One of the things involved is making a new tileset from the original .r8/.r16 terrains. This sucks so much that I [...]
We’re still working hard on OpenRA, and it’s starting to pay off. Most games play to completion now, rather than desynchronizing. The highlights: We had a great semi-public playtest in the weekend, which involved about 100 downloads and many games played, giving our new teamplay code a good beating. This has also shown up a [...]
Here’s a superb example of all that "integration" you’re paying for when you buy Microsoft Office. Not only do I have to go find the app, I also apparently have to read the manual before I can send bits from my email to it. Seriously, how difficult would it have been to make this do [...]
Here’s a couple of videos showcasing new features in OpenRA. First: the new support powers palette & behaviors. This isn’t the full set of support powers – Nuke, Spy Plane and Paratroopers are shown. In the second part I demonstrate our build queues, bulk queuing, build tabs, automatic tab switching, etc. As always, the latest [...]
People have been confused about this (mostly my fault, because the weapon positions in the official version of the code have been horribly wrong for a while), so here’s how the various offsets work. There are three spaces involved: Unit-space. offsets[0] is the displacement of the turret (or fixed gun) along the longitudinal axis of [...]
It’s been said that there are many ways to skin a cat. I imagine that’s true, although I haven’t felt the need to explore any of them, let alone enumerate them all. Assuming that various methods exist, however, it’s reasonable to then assume that they have a range of advantages and disadvantages. Perhaps one method [...]
Until today, I had made good use of the C#3 collection initializer syntax, but hadn’t thought to write a class that could accept it. Here’s the requirements: You must implement System.Collections.IEnumerable. The implementation is never actually used. For each set of types you want to use as an initializer, there must be a method Add() [...]
I finally got fed up with the level of brokenness in our RA-style shroud code last night, and implemented a real visibility system. We basically have an integer counter for each terrain cell now, which is incremented for each unit which can see the cell, and decremented when it leaves. The RA-style stuff is handled [...]
I’ve got rid of the old placeholder art for OpenRA’s naval unit tabs, and made the Allied aircraft tab a helicopter (more appropriate given that we’ve given all the helicopters to them!). One more thing to strike off the `polish` list; we’re looking vaguely respectable now: