Levels


In today’s screenshot, you can see a small swarm of AI developers zipping around adjusting the levels of a group of monsters.  Today I’ve implemented the version of level-setting that I’ll be using for the M1 build (and possibly beyond that!)  Here’s how it works:

  • “Grinding Zones” have a ‘level’.  You can adjust that level by clicking the ‘Raise Level” or “Lower Level” button, when the grinding zone is selected.
  • All monsters also have a ‘level’.  The AI developers do their best to make sure that the monsters within a grinding zone have a level which matches the level set on the grinding zone.  (Though there are lots of monsters, so it can take a little while for the AI devs to finish converting the monsters to the new level, when you make changes)
  • AI developers will also once again move monsters around to keep them away from roads, or to keep them inside their grinding zone if you move it, and will remove them if their grinding zone is removed.
  • Hunting quests inherit the level of the grinding zone that they send players to (and therefore, the level of monsters that the players will be fighting).
  • Fetch quests inherit the level of the region that they send players to (and therefore will all be level 1, in the M1 build which focuses on starting regions).
  • Quests give XP rewards based upon their level, relative to the level of the character that completes them.  (Higher-level quests give higher XP, lower-level quests give less XP)

This means that at level 1, “fetch” quests will reward players just as much as “hunt” quests do.  But as players gain levels within the region and progress to higher level grinding zones, those hunt quests become worth more experience than the fetch quests.  This means that subscriber AI should begin to prefer ‘hunt’ quests as they gain levels within the region.

It’s also worth mentioning that all buildings now have a ‘level’ which can be adjusted using the same “raise level”, “lower level” mechanism.  This isn’t wired up to anything yet, but I imagine that in the end, this will progressively make buildings larger and more complicated and impressive, and will draw subscribers to those buildings.  That might be something for M2.

Regardless, basic gameplay functionality is (I believe) now complete.  The remaining tasks are all either M1-specific UI work which won’t be kept for M2, or else AI work for subscribers.

Here’s my list of remaining tasks for M1:

  1. Subscriber AI should prefer to do quests of a level matching his own level.  (however quest level is determined.  See above.)
  2. Subscriber AI needs to send their player to a new region, once they’ve out-levelled their current region, or if they become bored and decide to go exploring.  (For M1, characters will despawn and their subscribers will unsubscribe upon reaching the region exit, after scoring)
  3. For M1 only, implement a simple on-screen scoring system to report the number and percentage of characters to exit the region.  Bonus points for characters who are level 5 when they leave, and for subscribers who are not bored at the time that they leave the starting region.  Maybe also bonus points for more time taken before leaving?  Not sure about that one.
  4. For M1 only, automatically place a region exit at one edge of the starting region, locked so that the player cannot move or destroy it.
  5. For M1 only, remove “capital city” from the building interface;  M1 is about building a starting area, so having a major capital city is not appropriate.
  6. For M1 only, remove “game mode 3” from code+data.  Not going to tip my hand about that one just yet.  :)
  7. Create a simple (but easily recognisable) visual model for graveyards.
  8. Set up a simple system for writing out OpenGL driver and performance data to a text file, to help tune performance and find what sort of hardware I need to support.
  9. Win32 build.  (the Win32 build is, sadly, extremely out-of-date at the moment.  It’s Visual Studio project really needs some love, to bring it up to date.)