The leap of faith

So I’m not completely certain about this yet, but I’m going to announce it anyway.

I’m going to be releasing the third milestone build of MMORPG Tycoon 2 on January 6th — that’s just over two months from now.  It’ll be a free download from this site.  And if all goes well, it’ll be the first fully playable version of MMORPG Tycoon 2.

Of course, if all doesn’t go well, then I’ll release whatever I have anyway.  And the fully playable version will follow shortly afterward.

Here’s what I intend to have in that build of the game:

  • Modification of terrain, both on a macro (world) scale, and on a micro (region) scale.
  • Medium-sized world (similar amount of land to one of World of Warcraft’s main continents).  Right now, it’s somewhere around 20 regions per world, on average, although it varies from world to world (procedurally generated)
  • Configuring regions (purchased, not-purchased, level ranges, terrain type, name, etc)
  • Placement of buildings, roads, etc.
  • The best AI for simulated PCs in any “MMORPG Tycoon” build so far.  The players will visibly emote to show their reactions to things (using little thought bubbles over their heads).  The player will be able to interact with these simulated PCs in various ways.
  • First-pass economic systems — both in terms of earning money from subscribers and paying for various costs.  Note that F2P payment systems won’t be in place yet — I need to figure out how to represent the economics of F2P games inside the MMORPG Tycoon 2 simulation.  (It’s kind of distressing that I’ve spent so long on MMORPG Tycoon 2 that radically new business models have appeared and so become commonplace as to be obviously missing from my simulation, now)

Notable things which will NOT be present:

  • Guilds and Parties.  I really, really want to implement simulated PC parties and guilds.  These AI features have always been on the back-burner, though.  I’ll get to them eventually, but they won’t be in time for this build.
  • PVP.  PVP would actually be really easy to implement.  But it’s not important enough to go on the main list of things for this build.  The logic around when to initiate PVP would actually be more difficult than the PVP itself.
  • MMORPG tech tree.  I’m just not going to have the time to implement a tech tree for this build, so it won’t be present.
  • Scenarios.  I’d really like to have a quick and dirty tutorial.  But I’m not going to guarantee that for the build.  The build will be free-play only, not a scenario.
  • MMORPG rule editing.  The basic MMORPG rules won’t be editable in this build — the rules of the simulated game will be static.
  • Saved games.  I’m chagrined at not having support for these, but.. it just isn’t going to be done in time, with the rest of the work I need to get done.  It’s probably 70% implemented already, but.. it’s not what I want to be spending my time on right now.
  • Visuals will be very similar to what you’ve seen in screenshots so far.  The core of changes to the game will be in terms of game mechanics and UI, not to the models or shaders being used.  So we’ll still be stuck with a lot of programmer art for the 3D world.  Sorry about that!  :)

Notable big tasks which I need to get done for this build:

  • I need to fix the Windows build.  MMORPG Tycoon 2 is using the VectorStorm library’s SDL2 branch, and I haven’t yet quite succeeded at getting it to run on Windows machines, since upgrading from SDL1.2.  Although it’s pretty close — I’m probably just missing something small and obvious, now (I get an OpenGL initialization error during startup).
  • I need to refactor the terrain generation system.  It will be substantially simpler than it was before, and should also use a lot less memory.  (I’m hoping  to bring the game’s memory footprint from around 800 megabytes of RAM down to about 80 megabytes, almost entirely through this change).  My plans here will also make scenarios and save files much smaller and simpler.  And should make the terrain look a bit nicer, too.
  • Need to add some simulation of the underlying game servers — reinstate the “per-region” maximum population which was in MMORPG Tycoon 1.0 and 1.1 (potentially let players buy extra servers for a region, to increase the maximum population threshhold in a particular region?).  And the large-scale “status view” for displaying this data to the player.
  • Financial data — provide a window showing a player their incoming and outgoing funds for a financial period (probably “per day”).  I already have this data — just need to display it.

There are some big updates.  I’ve had a few brainwaves over the past two weeks which have overcome almost all of the technical roadblocks I’ve been struggling with over the past year, and so I’m suddenly steaming ahead again.  Feels nice to be so productive, once again!

Will post more in the near future, but the big new idea that solves the worst of my technical problems is adding simulation of game patches.   If I simulate game patches, then everything becomes less challenging, technically — I don’t have to update full-resolution world terrain in real-time on slow machines while people are editing, the way I did before — instead, I only need to update a low-resolution preview.  The real full-resolution terrain then only gets generated when the patch goes live, and I can take as long as I like to do that terrain generation (It’d be fine to take a couple of seconds in order to roll out a patch, instead of having to complete the whole process in under 0.016 seconds, as I currently need to).