Apr 19 2010

New this week:

Tag: VectorStormtrevor @ 12:21 am

Further UI improvements, working on improving general usability.  I’m trying to expand on the existing features, making them more powerful and easier to use.  This has required a fair amount of “under the hood” work.  Right now, the UI is using both the old and new systems, with the old systems taking priority (that is, the new systems are only in operation when you’re not using the old systems).  Hopefully, over the next few days the old system will be phased out entirely.

Most notable new visible change is that you can now move any object around the MMO world just by clicking on and dragging it.  This includes buildings, PCs, NPCs, and monsters.  (Previously, you could only move buildings, and you had to activate a specific tool button to do it;  now it happens by default when you try to drag an object in the world).

This means that you can (for example) grab any PC and drop him into a field of monsters, or into the middle of a wide lake, or etc.  It also means that you’re no longer completely reliant on the your AI devs to place monsters for you;  you can now manually move monsters around to wherever you want, whenever you want.  If you don’t want to, though, the AI devs will still do it for you automatically.  (TODO:  devs don’t currently like it if you grab a monster out of their grip;  they’ll fight you for control of it.  Need to make the devs gracefully release a monster if you grab it from them)


Apr 06 2010

Look, up in the sky!

Tag: VectorStormtrevor @ 11:08 pm

So the thing I’m most excited about today is that I finally cracked the nut of how to get the developers up above the ground (and, for that matter, how to handle flight in general).  I was really annoyed to always have those developer cursors crawling along the ground, half-hidden under the ground!  Here you can see a group of developers that are in the process of placing some monsters (currently displayed as red boxes)

I’m also thrilled to have the mountainous region boundaries back.  I lost them for a bit after converting to the “paint-on” terrain interface, but I’ve got them back again now!  The player can use the brush tools to make the mountainous areas at the borders of each region wider, but cannot actually remove the mountain borders;  they’re permanent fixtures of the world.  Eventually, there’ll be a type of building you can place to make a small pass through the mountains, to allow subscribers to travel from one region to another.

But neither of those were really important fixes;  just little visual touches that I was glad to get in.  I also got a good start on some more game mechanics.

In the screenshot here, the big pillar in the background marks what I’m currently calling a “Grinding Zone” (suggestions for better names are welcome!)  Basically, you place one of these to tell your developers that you want there to be monsters to fight in that general area.  You will be able to (but cannot yet) specify how big the area is, what type of monsters should be there, what levels they should be, and how many you want.  Once you have “Grinding Zones” placed, subscribers will go to them when they want to fight monsters.  Alternately, you can use them as destinations for hunting quests, to force your poor subscribers to defeat twenty spiders and then return.


Apr 05 2010

Editing quests

Tag: VectorStormtrevor @ 12:19 am

Starting on an interface for editing quests today.  As you can see, it’s still really early;  not very much there yet.

Also today, massive changes and bugfixes to lots of things under the hood.  Notably, fixes to rendering of text-edit-buttons, fixes to text entry (you can enter punctuation, now!  And more than 32 characters!), added functionality to the vsBox2D and vsFont, and a couple other minor bits and bobs that will eventually find their way back into the trunk VectorStorm library.

But the fun stuff is that I made it so that the action bars can be placed either vertically or horizontally;  I’m thinking about using them instead of the old-style build toolbars that you’ll remember from earlier screenshots and versions of MMORPG Tycoon.  In this screenshot, I’ve selected a quest giver, which has opened up a quest editing action bar on the left, where I can select any of his five current quests.  Right now, I’m looking at the one labelled “Q4″, which is a fetch quest.  So far, the player can edit the quest name and description, and add quests to the QuestGiver’s list (by clicking the little ‘+’ button).  All of these new functions are being performed via the (relatively) new scripting system;  each button in the actionbars just sends a text command into the scripting system, which takes whatever action is required.  This approach really is an awful lot nicer to to write and maintain than the “every button is a different class which holds its own game logic” approach which I was using in previous versions!

But I’ve derailed myself;  I was talking about quest editing.  Right now, the actual tasks which must be performed to complete each quest are still being procedurally generated, rather than actually being settable by the player.  But I’ll get to that tomorrow.  :)

Also on the radar: I’ve been thinking about getting rid of the “context matrix” in the top right corner of the screen, which shows actions you can take on a selected object.  It just uses up too much screen space, and I think it would work every bit as well (and without intruding into the screen nearly as much!) as a simple action bar.


Feb 23 2010

Quest Givers

Tag: VectorStormtrevor @ 10:04 pm

Not much development time tonight.  But I did set it up so that you can buy and place quest givers.  And I told the procedural model building code how to make a big yellow exclamation point above the quest giver.

Also today, I noticed that I was frequently getting crashes after placing a few buildings and roads.  I eventually discovered that the problem was the monsters – they were noticing when they were placed too close to a road, and were registering jobs for developers to move them into better positions.  This was old code left over from v1.1, and I was thrilled to see it still working.  Well, mostly working.  They were registering the position they wanted to be moved to in world-space, whereas everything is now running relative to the region it’s currently in, and so they were giving the developers bad positions to move to.  (It’s a bit like telling someone where you are by telling them how far you are from the edges of your map, when you’re looking at world map, and the person you’re talking to is looking at a city map — the positions on the map aren’t going to line up properly!)  Once I fixed that problem, they’re working again.  Place a road, and developers automatically move any nearby monsters away, to keep the roads relatively safe.

Not bad for code that was originally written back when the game was entirely made of 2D vector graphics.


Feb 22 2010

Today’s stuff

Tag: VectorStormtrevor @ 9:38 pm

So today I’ve done a bunch of things.  First, I’ve made the regions slightly smaller.  This has had a lot of positive effects.  Previously they averaged about 1km by 1km;  now they’re about 700m by 700m;  small enough that you can comfortably stand in the middle and see all the way to the region boundaries in each direction.  But better, the same number of monsters in the world (about 650) looks just about right, now that they’re crammed into a smaller space!

Second, I brought back the “subregions” concept, where each region is divided into lots of smaller regions.  Last time I tried this, those smaller regions had full terrain definitions, and blending between those terrain definitions was painfully slow while building the terrain.  I’ve simplified that a lot, so now the subregions only specify a height, and that height is blended between the subregions.  It gives the terrain a nice non-uniformity, I think.  (If you view the full-size screenshot, you’ll see some blue vector lines;  those are showing the borders of the subregions)  But more than that, I’m wanting to try using these subregions as quest zones;  the player doesn’t actually create the quest zones — instead, he merely configures what should be in them and then has quests send subscribers into them.

Third, I fixed a number of terrain bugs, the worst of which was causing subtle incorrect behaviour at the north ends of regions, and some wasted CPU time everywhere else.  I also fixed a problem where a region boundary passed within 100 meters of a heightmap border, but didn’t cross that border;  it left a nasty gap in the mountains.  That’s now fixed as well.

Next step is going to be placing NPCs, and then the quest-making interface.  Hope to get most of that done tomorrow.  Crossing fingers!


« Previous PageNext Page »