If anyone ever tells you sorting your meshes by material and minimizing redundant calls in OpenGL isn't worth your while, they're wrong.
Frame rates have been slowly decreasing as I've been adding new content. Recently my 2GHz Core i7 with NVidia GeForce GT 555M had hit an all-time low framerate of around 50FPS. I needed to do something to crank those framerates back up so players with lower-spec machines would have a chance.
The obvious candidate was the way my renderer handled materials. It didn't really do enough to tell if materials that had different settings were otherwise identical (same textures/shaders.) And it did nothing to reduce redundant state changes, happily changing shader and every rendering setting at the end of each material even if the next material used all the same settings.
As I've added more and more particle effects to The Imperial Realm::Miranda
I've started to see problems with drawing order. The most obvious problem is sometimes when the camera moves during explosions and the smoke alternates in front of and behind the flowers on the terrain. It's not so pretty. The large bulk of my particles are transparent (have cut out bits) but I have a few that are truly translucent (partially see-through bits) which really complicates things.
I watched a ton of RTS game trailers last week trying to figure out what elements people might expect in the trailer for Miranda. Besides a bunch of prerendered stuff that I'm not going to do, what I saw were a lot of explosions, some simple vehicle physics, and a lot of weapon effects that leave trails of smoke. That's not too bad a list.
Up until today I've been exporting NvOptimusEnablement to enable the NVidia card in my laptop (which also has an Intel card for 2D.) For whatever reason, it stopped working mysteriously this week which led to an hour of trying to figure out why it was all of a sudden taking 3 seconds to render each frame (Intel OpenGL is really, really sad.)
uses UDP for messaging. Sometimes it is super-inconvenient to break a message into packet-sized pieces so on top of that, I have what I call JumboPackets. JumboPackets support sending messages larger than a single packet. The cool thing about the way I implemented JumboPackets is that as far as anyone outside the networking system is concerned, they are just like regular packets - only bigger.
The one problem with JumboPackets is that they're subject to rate limiting like any other packet, so if a jumbo packet is actually 3 regular packets, it must be reassembled on the proxy, sent to the client and then reassembled again. So a 3K packet at a 1K/second send rate limit with 2 hops takes 6 seconds to get delivered. This problem gets worse as packets get larger. Recently I started experimenting with much larger datasets (more units, more teams) and discovered that some of the packets sent during the initial connection were getting quite large and noticeably slowing "load time."
In the last blog post I said I'd been working hard to get Miranda out the door. Here's some of the things I've been working on...
[Chat, building smoke, animated radar dishes, new silos and power gauge.]
Back at the end of April I decided it was time to get The Imperial Realm::Miranda
finished, so I worked out a feature development plan with the goal of releasing the game on November 9th, the 5th anniversary of the project. I optimistically believed that would be early enough to beat the AAA Christmas launch window PR blitz. The plan was:
- October 9 - Friends and Family Alpha.
- November 9 - Teaser Trailer & Limited Public Alpha.
- January 9- Beta.
- February 9 - Trailer & Launch.
The plan was aggressive, I had a lot to do, but it could have happened.
To celebrate the 5th anniversary of my work on The Imperial Realm::Miranda
I left the computer at home, took the family to Seattle, and spent three days having fun, eating well, and seeing new things.
Darth Vader's Lightsaber from The Empire Strikes Back
The Indie Game Revolution at The Experience Music Project Museum
There was a post on Gamasutra
this week about #StealKeyRequest
: phony reviewers scamming game developers for free Steam codes and then selling them on discount game key sites. That's not cool. If this happens to players of The Imperial Realm::Miranda
, at least they will know what happened.
You're right, think I've got it now. Thanks for the feedback.
Nice, but just one thing: This makes the next post and previous post links difficult to read on some of the background pictures. I'd suggest making them blue like the rest of the floating text.
Assigning Secret Lair Codes in pairs is a good idea, this way I'll be able to choose my own doom.
Hey Dondergod, since we're the only people posting here I imagine we'll have to pick opposite sides to fight on. I hope you'll be a worthy opponent :D
I did not want to ask it when you released the previous blog :P. Anyway, still looking forward to get my hands on the game!