I was not at my sharpest yesterday so I decided to tackle something I thought would be easy and pretty helpful: Windowed Fullscreen. Windowed Fullscreen is a window rendered on the regular Windows desktop but with no window decorations and on top of the Windows Taskbar. It looks just like Fullscreen, but it avoids the screen flashing it takes to get into Windows' real Fullscreen mode (which I also have since it allows you to set the resolution and color depth independent of the Windows desktop.) Windowed Fullscreen doesn't work as well as Fullscreen if you have multiple monitors since there is nothing to constrain the mouse to the game window.
Since warning messages bug me, I took another crack at finding a solution to this warning message today. I'm building with the Windows 7.0A SDK which has a defective mt.exe...\compatibility.manifest : manifest authoring warning 81010002: Unrecognized Element "compatibility" in namespace "urn:schemas-microsoft-com:compatibility.v1".
Microsoft's official instructions are to install the Windows 7.1 SDK, but it wouldn't install for me because I already had the 8.0 SDK. Apparently this is a pretty common problem with a really messy
This week I built a single file downloadable installer for Miranda. This had been on my wishlist for awhile. I had planned to use a regular Windows installer, but I had the patcher built so I thought I'd see what else was needed to make it into a full installer. It turned out to be easy to install the files, and kind of challenging to hook it into Windows. It was the first time I've built a Windows dialog in 8 years!
Something I think is really important in shipping a product is getting the number of bugs down to zero. The fewer bugs you have, the less people will need to rely on support, and the more time I can spend adding features. I used this theory on a previous product with considerable success.
So before I send the game out for people to play I thought it would be good to have web-based crash reporting in place.
I've never been happy with the look of the in-game map. This week it occurred to me that maybe a topographical map would be a more in the theme of the game and a military-strategy-friendly way to go.
The Miranda map is made with WorldMachine
. A little Googling led me to discover that WorldMachine can generate topographical maps
of the terrain it renders. This seemed a whole lot easier than writing a topographical map generator into the world importer I wrote for Miranda, so off I went.
I brought the image into Gimp, inverted it (since the terrain in WorldMachine is flipped on the Y axis in Miranda) and got this:
Originally I looked at old maps and experimented with using a tea-stained paper background, but that didn't really go with the hi-tech nature of a future spacefaring society, so I used Google image search to search for "cool topological map" and found this neat old source of inspiration (12MB).
Next I took the image from WorldMachine, added a transparent layer, then used Gimp's select color to delete the black, then select color again and bucket fill with "Fill Whole Selection" checked, to change the white to blue. I pieced together a background and cleaned it up with the stamp tool and a soft brush, then I added a grid with Filters|Render|Pattern|Grid. Then I added a legend, making up some lore-consistent details, and the final map looks like this:
[The full 2048x2048 image is 5M so it will take a while to download if you click it.]
The map covers the entire 20x20km test area I'm currently running.
I was looking at Twitter today and realized I haven't posted anything about The Imperial Realm :: Miranda
since the beginning of May. Still here! Working hard. Well except last week.
Since around March I've been working pretty consistently on the trailer for the game. I worked out a script, did the voiceover recording, put together a roughcut using beautiful hand-drawn storyboards like the one below, hunted down some music, and started showing it to people looking for feedback. Since then I've been building all the features into the game that I wanted to show in the trailer. This is not going to be a prerendered scandal like Crysis 2's trailer, I'm using almost 100% in-game graphics.
I am not a lawyer. This is not legal advice.
If you want to contact press (or anybody) that you don't have an existing relationship with about your game, you have until July 1. Canada's new anti-spam law will come into effect on that date and the implications for anyone with a commercial message are huge.
Did this screenshot a while back for a magazine but it didn't end up being used. The game looks a lot different now but I really like this shot so I thought I'd share it. I'll be showing off the new look in the Reveal Trailer in a few short weeks.
The Imperial Realm :: Miranda - In Search of Prey"In Search of Prey" gives a hint of the scope of Miranda's single 90,000 square kilometre environment. Anything in the screenshot can be driven to without any loading screens. The area they are searching is known as The Wasteland and it is the most inhospitable part of Miranda. The only life there are a few hardy insects and some curious flowers.
If you're not happy with the quality of your screen capture, just write out the frames as bitmaps then put them together after with a video tool.
Half day coding this up, tried it, crashed, then I did the math. 30FPS * 1920 * 1080 * 3 bytes per pixel = 178MB/s. That's a lot more than the 40MB/s my disk drive can do. Tried a few different things. The best I could do is about 15 seconds of video using PNG with fastest compression and 512K chunk disk writes before it runs out of memory and crashes.
Oh well, at least the game can take its own screenshots now. And I have a shiny new "crash the game" button.
Looks like libavcodec
is the way to go with this.
"I've seen [formations] done really well ... but the guy did spend something like 4 to 6 months on a 2d grid working on just that problem all by itself. And he had done it before."
The one thing you really need to nail with an RTS is unit movement. Unit movement has a surprising number of elements that all have to come together brilliantly to produce smart looking unit behaviour on the screen:
- Long-distance pathfinding
- Short-distance pathfinding
- Collision avoidance
- Collision resolution
- Steering & Animation
The Imperial Realm :: Miranda - Formations
This screenshot shows Miranda's new unit movement systems in action. I still have some work to do on collision resolution, but it is already looking pretty sweet. First, you will notice that the tanks are moving in a square formation. There are some units that are out of position because they've just gone around those buildings (you can tell from the dust trails,) but they'll all eventually get back into a neat grid layout. In the bottom left corner is the formations flyout menu ready to select one of the available formations. Once one is selected, the menu shrinks to display just the selected formation.
I'll be announcing all the options and prices pretty soon.
Hey rob, how much will the ultimate version cost? :D
I spent a lot of time looking at key-value stores for this since I mostly don't need relational features. Finding none of them particularly ideal, I pretty seriously considered developing my own file-system based key-value store with versioning, ...
Interesting to hear your approach. Personally, I made something similar, that I moved every to be "storage" from HD to Database, but now I'm just migrating it back to harddrive. Mysql is simply not fast enough, I switched to Postgre (much better ...