Content
Not quite a Yegge long.
Thursday 2 September 2010
-
Filed under
Uncategorized
Because I clearly don’t have enough stuff on the go currently, I’ve started hacking on a tool to help with my flying – a flight management system to run on my HTC Touch 2. Yes, these kind of things exist already, but they tend to have at least one fatal flaw: extreme cost, extreme slowness, extreme lack of freedom (which I care about far more than cost) or just plain incorrect data for NZ. By “incorrect data”, I mean really basic things like placing the runways at the right aerodromes. This has since been fixed for NZFI/NZDV in PocketFMS. If you like closed-source proprietary software, and don’t mind bad performance, perhaps you should check it out: http://www.pocketfms.com/
So far, I have a toy tile renderer which should accept local or remote tiles from GM [both MT and KH servers], OSM, and possibly others; a KML polygon renderer for airspaces; georeferenced sprite support; nice font outlining for contrast; a primitive HSI, and a few other little bits. The data is all converted from CAA’s downloadable PDFs.
Here’s some screenshots of it running in the test environment:
And one (crap photo) of the renderer limping along on the crippled GDI of Windows Mobile:
Next steps:
- Uncrapify the mobile renderer
- Render correct runways rather than using my generic aerodrome sprite
- Do something about the clutter of VRPs
- Stop using GM tiles, since that’s technically against their TOS.
- Display aircraft track
- Display tags for airspace info, etc
- Provide audio and visual alerts on approaching controlled airspace, etc
::
Share or discuss
::
2010-09-02 ::
admin
Tuesday 31 August 2010
-
Filed under
Uncategorized
As part of the general polishing of everything in OpenRA, we’re talking about replacing the ingame chrome with something a little more… polished. We know we need a few things that the current chrome doesn’t have:
- Orders palette for selected units
- More useful unit stats in production tooltips
- Objectives display for singleplayer missions (oh, yeah, we support singleplayer now, sortof)
I’m currently thinking the new orders palette should be combined with the production palette – and the whole thing reworked to be more like SC / Generals / AoE. To that end, I’ve started painting new square production buttons, which are looking surprisingly like the old C&C DOS sidebar buttons. I’m not really surprised – massaging the in-game art is a far easier path to having something recognizable (with few pixels) than fussing around with captures from the FMVs. Here’s the CNC AFLD, in normal, rollover, disabled, and partially-built states. The CNC HARV is done the same way, but with a different rollover effect – which I think I like better. BIKE shows some shortcomings of this technique, though – large areas of blank, with a tiny unit in the middle.
We’ll probably do one more for “locked” tech as well, for singleplayer use. We’ll probably also use a different color for each side’s chrome – GDI will most likely be yellow, and the RA sides will be blue and soviet-red, which is a bit purer than the tone I’ve used for this Nod mockup:

::
Share or discuss
::
2010-08-31 ::
admin
Tuesday 17 August 2010
-
Filed under
Uncategorized
MSN spambots which just throw out context-free malicious links have been around for years, but recently I’ve observed a far more clever variant in the wild – it pretends to have a conversation with you, although it doesn’t care what you say at all.
Observe a sample conversation (but don’t follow the link, it’s a landing page for a $10/wk SMS scam). After you spot it the first time, the “I was better than I am! I scored X” line is an easy signature for detecting this one:
Btw, Katie Cookson and Rob Noldus: Your MSN accounts and/or machines have been owned by this thing. Please fix that soon.
::
Share or discuss
::
2010-08-17 ::
admin
Monday 19 July 2010
-
Filed under
Uncategorized
A lot more work has been done on OpenRA, including a revamp of the pregame UI. The server browser is no longer a complete hack; the lobby has been rewritten as widgets; we have real textboxes, etc;
As part of that, we’ve also thrown out the preset color palettes in favour of a custom player color system, similar to how Homeworld and Dawn of War work. Actually, it’s nowhere near as complex as DoW, but it’s still pretty awesome:

::
Share or discuss
::
2010-07-19 ::
admin
Sunday 23 May 2010
-
Filed under
Uncategorized
There are various bits I’ve written for OpenRA which analyze the game rules to aid in balancing – among them, dpstool, which determines the damage per second dealt by each unit, in ideal circumstances. Enjoy:
(more…)
::
Share or discuss
::
2010-05-23 ::
admin
Thursday 20 May 2010
-
Filed under
Uncategorized
A while ago, I wrote a quick & dirty tool to render code as a black & white bitmap, one pixel per character. Here’s the results of it, applied to the current OpenRA code base:

2 comments ::
Share or discuss
::
2010-05-20 ::
admin
Wednesday 19 May 2010
-
Filed under
Uncategorized
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 Absolute Garbage, such as SQL-like query comprehensions thrown in too, but I’m here to talk about new screw-ups, not old ones.)
Redmond seems to have missed the mark on 4.0 though. The vast majority of the added stuff seems poorly thought out or just plain not useful. First on the bashing list is the support for named and optional parameters in C#.
According to Microsoft, the main motivation for this was to ease COM interop. In case you didn’t already know, you need this junk because the Microsoft Office APIs are so horrendously awful and have 20 parameters on every function, most of which have to be set to the appropriate “missing” value for any sane use. This was apparently not a big deal when using a lame language like VB6, because instead of any sensible language features, they had added junk to cope with exactly this failure. VB.NET apparently got it too, but I’ve so far managed to avoid deeply learning that particular abomination.
So what’s wrong with named/optional parameters?
- Default values are baked in at the call sites, so you can’t go back and change default values on public methods without recompiling every bit of dependent code. That’s a problem if you’re in the business of shipping libraries.
- You can’t call a function that takes optional parameters from within a lambda which gets converted to an expression tree. Enjoy, a shiny new error message:
CS0854: An expression tree may not contain a call or invocation that uses optional arguments
- There’s a correct way to fix the Office API. That is, to issue a new API that has sane method signatures and generally doesn’t suck. Adding features to your language as a deodorant is doing it wrong.
I’ve never pined for optional parameters in C#. I hated the damn things in C++, and I see no reason why C# should be polluted with every godawful VB.NET misfeature, as seems to be current strategy. I also have no particular longing for named parameters – the IDE can already tell you the parameter names, doc comments, etc, so there’s no reason to pollute the source with them too. Again: if your API sucks so hard you need a language feature to paper over it, it’s your API that’s the problem.
One final comment: Insisting on feature parity between C# and VB.NET is batshit insane. Please. They are different languages. C# is the best language we have today for concisely GettingStuffDone. VB.NET allows a lot of morons to feed their families, and also keeps them out of my way – a similar role to Java. More seriously, let them evolve in different directions. Otherwise there’s no point in having two syntaxes, you’d be better off killing VB.NET.
2 comments ::
Share or discuss
::
2010-05-19 ::
admin
Tuesday 18 May 2010
-
Filed under
Uncategorized
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 wrote a tool, which allows you to drag out tile outlines, and set terraintypes. It then spits out all the files required for OpenRA to use it as a tileset, or almost so. In practice, you still need a few manual tweaks.
If custom terrain in OpenRA is interesting to you, grab the tool. It’s in the git repo @ http://github.com/chrisforbes/OpenRA

::
Share or discuss
::
2010-05-18 ::
admin
Tuesday 11 May 2010
-
Filed under
Uncategorized
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 lot of areas where the game needs more work, particularly in the pathing support.
- Matthew (beedee) has put together a great new website for us, which you can find at http://open-ra.org. There’s still a lot of work that needs to be done, but our conversion rate has skyrocketed, so he must have done something right!
- We’ve also got prebuilt packages for a few major Linux flavors up on the website now – currently supporting Arch Linux and RPM-based systems. Debian/Ubuntu users can use the RPMs via Alien. We might also offer a native Debian package soon. Users of other distributions can either use their equivalent of Alien, or build from source. Follow the instructions at http://open-ra.org/getinvolved.html
- Similarly, we’ve got prebuilt packages for Mac OS X up on the website. They’re kindof large, though – blame nVidia for producing ~30MB Cg binaries for that system. We’re still hoping to do something about the bloat, but for now, at least it WORKS.
- We’d like to welcome a new
minion team member – Booom3. So far he’s been helping us add hotkey support for the building palette, which is much appreciated.
- The Windows build now includes a fully-functional map editor. It’s also available for other platforms if you build from source. The editor supports both RA and CNC, and apparently WORKS too, since I built a new 3-player map “Snowy Ridge” using it. Check it out:
As always, keep playing the game; let us know when you find stuff that doesn’t work quite right, and drop into freenode #openra for a chat with the developers if you have any questions.
Thanks!
::
Share or discuss
::
2010-05-11 ::
admin
Tuesday 4 May 2010
-
Filed under
Uncategorized
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 something useful?

::
Share or discuss
::
2010-05-04 ::
admin