Jul 13 2009

Make a sandwich and grab a soda

Tag: Full Games,MMORPG Tycoontrevor @ 7:29 pm

One continual problem that games have to cope with on modern game consoles is the speed with which data can be loaded from modern high-capacity storage devices (generally some form of optical disc).  As games have become larger and larger, it takes longer and longer to load the data from the disc.  CDs, DVDs, UMDs, and BluRay discs are fantastic for storing lots of data, but they’re typically painfully slow at accessing that data.

On XBox 360 and PS3, the solution which they’re taking to the problem is to optionally install the game data to the console’s built-in hard disk.  This means that they can still use the standard DVD-based authentication (like it or not), but enjoy the faster data access times of loading data from the system’s fixed hard disk.  One of the first games to actually do this was Capcom’s Devil May Cry 4, which is notable by Capcom’s blog immortalising the phrase “Make a sandwich and grab a soda”, to refer to almost any lengthy automated process which must be endured before the player can actually begin playing.

In MMORPG Tycoon 2, the world map is about 400 square kilometers of terrain, within which the player can craft his MMORPG world.  The initial state of this terrain is all procedurally generated (although it can be modified by the player at any time).  The procedural generation process is slightly slow;  if I generate all 400 square kilometers of terrain at the time when the MMORPG is first created, it takes almost a minute to calculate on my laptop, and creates about 120 megabytes of “cache” files (and both of these numbers are likely to rise, as development continues and the procedural generation becomes more sophisticated).  An alternate approach would be to let the player begin playing immediately, and instead generate and cache areas the first time the player actually looks at them.  This would lead to some stuttering the first time the player visited any particular part of his world, instead of the single monolithic “install” of his MMORPG world when he starts a new game.

What do people think?  If given the choice between occasionally stuttering gameplay, and a potentially lengthy startup process when starting a new game, do you have a preference?


Jul 12 2009

Making UI Space

Tag: Full Games,MMORPG Tycoontrevor @ 6:19 pm

MakingSpaceAMakingSpaceB

I’ve mentioned before that one of the big reasons for stopping development on MMORPG Tycoon 1.1 and jumping straight into 2.0 was that I was adding enough customisation that I couldn’t cleanly fit everything on-screen using that vector font any more.  Here I’ve got a side-by-side comparison of the (current) design GUIs from MMORPG 1.0 (left) and 2.0 (right).  While the vector font is definitely more stylish, and I’ve got a couple little one-pixel-out glitches in the bitmapped font drawing, you can see that I could make the bitmapped fonts smaller, or put much less empty space between lines, without sacrificing their legibility.  The glowing vector fonts, on the other hand, must be drawn big, and need a lot of empty space to keep their glows from overlapping and obscuring the text.

(Note that this isn’t what I imagine the MMORPG Tycoon GUI will look like when I’ve finished with it;  it’s just some minor tweaks on top of the 1.1 codebase, intended to test the bitmapped font rendering within a GUI)


Jul 11 2009

Sky falling video

Tag: VectorStormtrevor @ 7:06 pm

I’ve kind of been sitting on this for a while, but finally decided to go ahead and upload it somewhere.  It’s kind of low-resolution and I’m not thrilled about dropping the frame rate to 30, but it’s much more comprehensible than the still from the last picture!


Jul 05 2009

The Sky is Falling

Tag: VectorStormtrevor @ 11:58 pm

MT_SkyFallLots and lots of stuff been going on, lately.  Most notable is probably this prototype for the “taking the MMORPG offline” sequence, in which the sky breaks up into hundreds of pieces and explodes away.  The still probably doesn’t do it proper justice.

Other fun stuff includes further rendering optimisations (got VBOs fully working, got my shader-based rendering path to run just as fast as the fixed function pipeline, etc), and a fully functional 2D UI system, based around a button bar at the bottom of the screen.  However, I’m not entirely sure how I’m going to take a screenshot of that button bar just yet;  the UI slides out of view when you’re not actually using it, and my screen capture program takes mouse focus away from the program while it makes the screenshot.

I’m sure I’ll figure something out, though.  :)


« Previous Page