Sunday, June 9, 2013

Ground and Space Movement in SWIF

Hey guys! This blog's a bit overdue - sorry about that! We've had a lot of design questions up in the air with no real answers to them, so we wanted to hold off on posting another blog until we had something finalized. Or at least nearly so.

So today, I want to talk about new area and movement mechanics in ground and space. Instead of just telling you how they'll work, though, today I'm going to *show* you how they'll work. Take a look!

One thing I want to note about this design is that, for blind players (and people who just want to see it), there *will* be options to adjust your prompt to show numbers, rather than bars. What I'm showing here is the current mockup for the default prompt.

Now, there are a few things the mockup doesn't show about movement, so I'll explain them here.

Firstly, moving to *anything* that you can see in the people, places, and things sections of the map is as simple as "goto <whatever>." So to move to Dracken, "goto dracken." To move to that lightsaber on the ground, "goto lightsaber." However, more arbitrary movement is also possible, and there will be a number of convenience functions to help with that - you can "go 2n3w" to move two meters north and three west, or you can "takecover" to instantly travel behind the nearest obstacle between yourself and your opponent to hide from laser fire, or you can go "toward" anything on the map by an arbitrary amount. Additionally, there will be functions for "rush" and "kite" - kite will try to keep you as far from your opponent as possible while still being in range to fire your own weapon, while rush will try to keep you as close as possible even if they move around. With this, movement speed will be a real thing, and forcers with force speed will gain the advantage of being able to quickly close ground between yourself and your opponent to get within sword range.

This movement even extends to complex pathfinding. For example - in the current game, if you want to go from the lavish hotel to the workshop behind the pawnshop on Coruscant, you have to type "se;e;ne;d;sw;n;n;n;e;n;nw;w;n," which gives no indication of where you're going and requires a lot of random direction memorization. This can quickly become labyrinthian if, say, you're trying to go from the Tatooine landing pad to the Krayt dragon nest - a command that becomes "n;n;n;w;w;n;n;n;e;e;e;s;s;s;s;e;e;s;s;e;e;e;s;e;e;n;u." Using this new system, going from the hotel to the pawnshop is as simple as "goto pawnshop." Going from the landing pad to the krayt dragon nest is as simple as "goto krayt." (This won't work for everything - for example, many buildings may have rooms named "upstairs," so you won't be able to go to "upstairs." It will only work for rooms that are sufficiently uniquely named that the code can determine without any ambiguity which room you wish to go to.)

Secondly, as the above may suggest, combat will actually become more tactical, as every weapon and skill will have a different range, and you will be able to block many abilities by putting an obstacle between yourself and your opponent. This, hopefully, should make the game considerably more interesting.

Thirdly, as you can see, space is also going to be moved to using the same system as ground. This will mean a shift from 3D space to 2D space, but there are a number of advantages to doing so:
  • Most notably and most importantly, it makes space much more playable and approachable, especially for new players. Once you can move through the newbie academy, you can move through space - the two will have few, if any, differences.
  • Nearly as importantly for both players and developers, though, is the fact that using the same system for both means that a lot of development work can now be done in both places at once. We can use the same code, the same level editor, etc, etc, and just set a flag limiting travel to ships only, and we'll have space in. This means faster development, fewer bugs, and you guys get to play the game sooner.
  • The shift to 2D space allows us to leverage the map functionality - something that is impossible using text for 3D space.
Additionally, this change to both ground and space opens up one more nice avenue of potential exploration for us: Eventually, development time allowing, we may develop a custom client for SWIF (with full trigger, alias, timer, scripting, etc. of course). If and when we are able to do that, having this sort of representation of our areas internally means that our custom client would be capable of implementing a real-time 2D representation of the game world, which would mean we could show you where players are, when they move, and even during combat, could animate all the attacks - all the while still maintaining full telnet compatibility. (It should go without saying, though, that for the sake of fairness, even players with that client will have to type in all commands the same as users of any other client.)

One of the biggest advantages of this change, from a content design standpoint, is that this manner of level design - ditching the "rooms" for open areas of arbitrary shape and size that can be traversed in any way by the players - is that it makes the world more seamless and contiguous, and opens up a lot of design freedom to allow us to make the world as flowing and consumable as possible. It will eliminate the need for repetitive room descriptions, meaning that we can make room descriptions far more meaningful, as there will be fewer of them overall. And of course, it opens up limitless opportunities for interaction by you guys as players.

Now, to close up, I want to say that, while we feel good about this change as a whole, this is not a finalized design - not until you guys sign off on it. A change this big is bound to impact the players, for better or for worse. We hope, of course, that the change will be for the better, but we want to know what *you* think before we move forward with this plan.

So! Please, leave some comments, here or on facebook, or send a tweet to @ForgetInfinity, and let us know what you think! We're excited about this new concept, and we certainly hope you are too!

Thanks for reading!
Glitch