What remains

Mostly for myself, here’s a list of what remains to be done with MMORPG Tycoon 2.

DESIGN:

  • Need to decide what to do RE: buildings.  Should buildings just be procedurally generated (or artist-created?), or should I be building a system which allows players to create their own structures within the game itself?  Need to make a call on this ASAP;  I’ve been procrastinating about starting either approach of this for far, far too long.
  • Related to the above, what precisely is the visual functionality of raising/lowering the “level” of buildings/roads?  If they’re procedurally generated or artist-created, then this might just mean “make them taller” or “make them more ornate”, but if these structures are player-built, then I don’t really want to touch them, and maybe there should be no visible changes when a structure has “level-up” or “level-down” used on it.
  • Also related to the above, how should the player be editing the world map?  Should he be using the “paint on” system which I’ve been playing with so far?  Or what about building oddly-sized “cells” inside each region, and changes to the map are made by assigning the changes to each “cell”?  (This isn’t far off from what most Tycoon games do).  This has the benefit of making things a little more regular and simple;  no grabbing a single vertex and extending it up into a 500 meter tall spike, for example.  On the other hand, the player couldn’t grab a single vertex and extend it up into a 500 meter tall spike if he wanted to.
  • All three of these points are basically the same point:  Is this game a game in which the player places pre-built structures and assembles pre-built ground, or is this a game in which the player constructs the structures and designs the ground?  I very much want it to be the latter, but the UI for giving a player that sort of ability is not trivial at all.   Need to pick one option, and kill the other.  Stop wasting time by kicking this decision down the road.

Core simulation systems:

  • Open passes which allow PCs to move from one region into another, through the impassable mountains.  (These probably get implemented as “buildings”, which appear on both sides of the mountains.  That is, treat them as tunnels through the mountains)
  • Method for setting property values on a region.  Most critically, level range.
  • MMORPG tech tree.
  • Inventory, for limited-use collectable build actions (awards).
  • Add “point of interest” building type.  No particular in-game function, but PCs — particularly exploration types — will occasionally travel to visit them.
  • Consider spending some time tuning random generation of class/monster powers.  Right now, the randomly generated powers are the same, which means that a PC and a monster of equal level, both starting at full health, will each win a fight about 50% of the time.  This doesn’t seem right, compared against real MMOs, where the player should win most of the time.

AI:

  • PCs store memories about recent events.
  • PCs group into parties to go adventuring.
  • Once a PC has gained too many levels for its current region, try to find a path to a new, correct-level region.
  • CONSIDER:  PCs form guilds.  PCs form attachment to their guilds in a similar way to how they form attachment to the MMO now;  having guild support in your MMO and a strong guild presence will tend to keep guild-affiliated subscribers even if they’re not in love with the MMO.  Downside is that if you’re relying on guilds to keep subscribers present, then a guild collapse may result in many of its players leaving.  I like this idea, but is it interesting for a game?  Can players influence this in any meaningful way?  To be considered.
  • If a PC wants to do a quest, but doesn’t know of a quest giver with an available quest for their experience level, generate a bad memory and cheat to find a new quest giver of an appropriate level.  (Imagine that the PC has access to something like Wowhead)
  • PCs, as a group, evolve popular attack strategies over time.  (Imagine that they have access to something like Elitist Jerks)

Metagame:

  • Scenarios: Series of pre-set game scenarios with objectives for the player to meet in order to progress.  Ref: Roller Coaster Tycoon.   These should be considered as “tutorials”, to teach the player how to play the game.  Each of these scenarios are confined within a single region of a larger MMO (although many of them may exist within different regions of a single MMO), and each should probably be focused on a different facet of the game.  (For example, Scenario 1 may be entirely based on terrain shaping, Scenario 2 be about building placement, etc)
  • Free Play: The player gets full control of an MMO.  Probably want to give the player a set of starting MMOs to select from, here;  a WoW-style one, a sci-fi one, etc.  Which then can be modified to the player’s tastes.  Player should also be given an option about how large they want their MMO to be.  A full WoW-sized MMO takes up a LOT of memory/CPU!  Most players will be happier with a much smaller one, but I’d like to keep the option open for folks who want the whole thing.
  • Add optional missions for the player, which give bonuses if completed.  Lots of the development time is going to go into creating these missions, and the system for when they’re presented to the player.  (See UI for the missions, see Core systems for the bonuses)

UI:

  • Chat interface for PCs and system messages.
  • Interface for presenting the player with their current missions, and available ones to accept (see “Metagame”, above)
  • Inventory interface for MMO building awards (see “Core simulation systems”, above)

Graphics:

  • Pick whether PCs, NPCs, and monsters should be representational or iconic, and set up proper graphics for them, one way or the other.
  • Implement several more terrain types.
  • Make the ground clutter system work for more than one terrain type.
  • Need to replace current “umbrella” trees with nicer (and less polygon-expensive!) trees.
  • Spruce up paths/roads.
  • Nicer procedurally generated buildings.
  • If rendering performance becomes a big issue, spend some time working on graphics batching some more;  there should be some big savings to be made here!