MS4 Builds

Milestone 4:


There’s no real new gameplay in this milestone build. The big new features here are just additional mechanics on the placement of roads and buildings. Check the ‘New in Milestone 4’ section below for details.


  1. Click on a region, then click the ‘Activate’ button in the context matrix.
  2. Click the “Town On” button in the Terrain tab of the action bar, and place the town somewhere inside your active region.
  3. Now play as before. Inns may only be placed inside the town you’ve placed, but otherwise, things work in a similar manner to previous milestones, except as noted below.

New in Milestone 4:

  • New road placement system. Instead of “click and drag” to place the road, you now click at each point you want the road to pass through. This means that a single road can now contain complicated curves, which were not possible before. To finish building a road (and be charged for it), double-click (to make a dead-end), or click on an existing intersection (to join the road to that intersection), or click on an existing road (to create an intersection on that road).
  • Left alt + left click will ‘undo’ a click, when using the road placement tool. Should really work out a nicer interface for this.
  • Roads may no longer be dragged around after being placed. Roads may only be destroyed. (by destroying their intersections. A road must always extend between two intersections — destroy an intersection, and all connected roads will also be destroyed)
  • Roads may no longer be connected directly to buildings. Instead, roads automatically service any nearby buildings.
  • Intersections (previously: “Road Nodes”) are no longer visible except when the “place road” tool is enabled.
  • Roads may no longer be placed to pass through buildings.
  • Adds the concept of towns. Towns are walled settlements. Currently, you may place a town by using the ‘Town On’ control in the Terrain tab. (It’s badly named and in the wrong place. Sorry about that.) At present, towns have no real function, except that they’re now the only place where inns and taverns may be built. In the future, more building types will be added, which also will only be placeable inside towns.
  • Buildings may no longer be placed to intersect with other buildings, or with roads, or with the borders of towns.
  • Buildings now ‘snap’ to the sides of roads, if desired (including rotating to match the road’s direction of travel).
  • Pressing now cancels the current placement activity, even if you’re midway through placing an object (for example, a road). This includes if placing your new road would have implicitly modified another object in the world! (I’m unjustifiably proud of this)
  • Adds support for window resizing
  • UI scaling to match window size. (Or to put that differently: the UI doesn’t scale as the window gets bigger, any more)
  • Buildings no longer float on rocky terrain — they are sunk into the ground to the lowest ground point under their footprint. Note that this can lead to visibility problems for certain low buildings (such as graveyards), and buildings which have a wider footprint than their visible models (such as quest givers, which shouldn’t even be implemented as buildings)
  • World geometry builds about 4x faster than in MS3, and should play more nicely with background processes.  (Test: play music in a music application in the background, and verify that the music playback doesn’t skip while MMORPG 2 is starting up)
  • Each region now (in general) starts with more than one terrain type.
  • Each region now defines just four terrain types which may be used inside its borders. These types *should* be displayed in their information header (but currently are not), and *should* be labelled in the interface when you’re placing them down (but currently are not; instead, they are labelled as “Terrain 1”, “Terrain 2”, etc).
  • World map regions may now begin with several new base terrain types, including forests. (caveat: base forests do not currently receive trees, for performance reasons. Fixing this will be one of the main goals of the next render tech build)
  • Terrain grass clutter has been modified; it should be more visible from further away.
  • Road geometry has been tuned very slightly. It’s still blocky, but better than it was before. Still needs more work, though.

Known issues:

  • While roads cannot intersect other roads, they can self-intersect while being placed. This is an embarrassing oversight; I’ll fix it for the next milestone build.
  • Correct prices haven’t yet been set on roads or towns. Well, correct prices haven’t yet been set on anything, but they particularly haven’t been set on roads or towns.
  • Some minor issues with snapping buildings and intersections to roads. These only snap to fixed points along the road, and those fixed points are not (yet) correctly spaced. Very long roads may snap buildings or place intersections some distance away from where you wanted them.
  • Very long roads are a bad idea to begin with. The game should prevent you from creating a road longer than about 1km, but it doesn’t yet do this.
  • Clicking the ‘Quit’ button in the bottom right takes you out into a broken ‘main menu’ mode, which I forgot to disable. Oops. Just click the window’s close button to exit, instead.
  • Right now, towns are drawn with “open” walls. In the real game, town walls should sculpt themselves to match the roads passing into the town. Right now, though, there are issues with pathfinding regarding keeping subscribers from passing through town walls — particularly when there are no legal paths into or out of a town. As a stop-gap, all towns currently have openings in their walls on all four sides, and ignore any roads that may pass in or out.

(and yes, I’m still somewhat ill. But I really, really wanted to get this build out so that I could stop worrying about how late it was, and start thinking about what’s needed for the next one.)