Jun 252015
 

NEStalgia BoulderHey everyone! Today I’m trying to cram in as many hours as possible working on the v1.70.0 update so that I can finally get it released. Therefore, this week’s post is going to be short and sweet.

Waaaaay back when NEStalgia was just a jumble of notes in a Google Doc, I decided to avoid creating any sort of damage-dealing terrain in the overworld. My main goal was just to avoid having dead players exist in the overworld in general (as ghosts in the party or what have you), which is also why Poison can’t kill in the overworld and characters always revive with 1 HP at the end of battle.

While I still don’t want to have dead players being dragged around by their party leader, I do think that it’s about time the overworld became a bit more treacherous. In Key of the Exiles you won’t just encounter the familiar JRPG “marsh” or “barrier” type terrain, you’ll also need to be on the lookout for new types of obstacles that could send you and your party straight to the dreaded death cutscene.

Earlier today I recorded an animated gif to show one of these traps in action. It’s about 3MB, so instead of embedding it I’ll instead have you click this link to view it: Pyramid Boulder Trap!

Takes me right back to 1989...

Takes me right back to 1989…

A couple of answers to inevitable questions:

  • When one party member is killed by either an overworld trap or damage-dealing terrain, all other party members will die instantly as well.
  • Although I mentioned it above, the way Poison works in the overworld has not changed. It will still take an afflicted character down to 1 HP without killing him/her.
  • I’m very aware that players may have concerns over lag spikes etc. making these traps frustrating to deal with. My hope is that these traps will be fun to encounter, and I’m not going to make them reliant on super precise movements and timing.

That’s it for now. I’ll be back with another blog post once v1.70.0 and the Webclient beta go live.

Jun 182015
 

nes_webclient1If you’ve ever wanted to play NEStalgia on other platforms, your wait is almost over. Thanks to the hard work of the folks at BYOND (creators of the tools used to develop NEStalgia), we now have a working HTML5 client for the game that is playable in most major web browsers. That includes Mac, Linux, Chrome OS, and even mobile platforms.

This “NEStalgia Webclient” employs the same account system and can access the same NEStalgia servers as the desktop client, meaning that you can basically switch back and forth from any platform at will. Opening the NEStalgia Webclient is as simple as clicking or navigating to the URL for a server and then logging in.

The Webclient is very exciting news, though it does come with a few caveats:

  • The Webclient can’t yet be used to host or play single player games. You must join a server being hosted by someone else, such as our official servers or any public/private server.
  • This new client can indeed be accessed by browsers on tablets (etc.), though the controls and the interface have not yet been adapted to make intuitive use of touch screens. In other words, tablet/smartphone compatibility is neat, but I don’t think that playing the game on a tablet would be much fun yet.
  • Though it’s stable and works well, the Webclient is still very much in beta. You will almost certainly encounter aesthetic glitches, and your experience may vary (for better or worse) when using different web browsers.

You’ll be able to give the Webclient a spin after v1.70.0 is released (which should be sometime this weekend). [Edit: I didn’t quite get v1.70.0 finished for the weekend; my goal now is this Thursday the 25th]  I’ll post an announcement when both the v1.70.0 update and Webclient access are live. In the meantime, here are a few screenshots that I took while playing NEStalgia on various devices earlier today:

NEStalgia on Chrome OS

NEStalgia on Chrome OS

NEStalgia on an iPhone 6s

NEStalgia on an iPhone 6s

NEStalgia on a Mac

NEStalgia on a Mac

Jun 112015
 

Wouldn’t it be great if you could play NEStalgia on much larger servers? If population surges didn’t mean lots of new servers and inevitable server merges?

This week’s update probably isn’t a super fun read, but it heralds a major change that should significantly improve the NEStalgia experience. Hopefully when the Key of the Exiles expansion goes live, instead of worrying about which official server you and your friends are playing on, you’ll instead be able to focus on saving up gold to purchase some sweet ship upgrades.

Before I get started, I’ll just quickly note that NEStalgia is currently available at a huge discount as part of the Steam Summer Sale. Check it out!

The Indie MMO Problem

I apparently missed the memo about not developing an MMO style game unless you have access to MMO style resources.

The core of NEStalgia’s server system is the common “island server” design where each named server is basically a separate instance of the game running off of its own savefile database. That’s why your characters tied to the Malice server can’t be used on Midgard unless someone manually transfers your savefile. It’s also why each server has separate guild registries and market place listings. This would all be fine and good if the game didn’t have so many players; when I was originally developing NEStalgia I didn’t expect that the game would find such a large audience. It’s a good problem to have, but a problem nonetheless.

Right now a single NEStalgia server can accommodate 50 or so players online at once before lag starts to become an issue; usually each server caps at about 70 players online. This active player limit isn’t a glaring deficit in and of itself, and is actually pretty high compared to most indie games. The difference is that most other multiplayer indie games aren’t MORPGs, and thus they aren’t as reliant on maintaining balanced population equilibrium between servers, nor do they have to be 24/7 persistent worlds. For example, you usually play games like Terraria on small private servers with friends. In games like DayZ you play on larger public servers, but because each play session of the game is generally self contained, switching to a different server and starting over isn’t all that painful.

How We’ve Been Coping

Whenever NEStalgia has received a large influx of new or returning players, we’ve opened up new official servers to accommodate the population load, and then merged those servers into each other as the populations recedes. It’s hard to time these merges so that every single server maintains a satisfactory active population level, and it can also lead to players being isolated from their friends on a more popular server.

All of those factors are why server management has easily been the biggest source of frustration both for players and the dev team. As a player it’s not fun to see your server go into decline after a population surge, and as a developer it’s a huge time suck trying to stay on top of server expansions, merges and transfers. On several occasions we’ve had to open 16+ official servers at once just to accommodate demand… but even the smaller population surges tend to tangle us up in server and savefile management nightmares that bring actual NEStalgia development to a grinding halt.

From here I could  probably write a few more paragraphs about the challenges involved in finding a solution that is a good fit for NEStalgia. However, I’m fairly certain that most of you don’t care about the drawbacks of client side saving or headaches with online shared savefile databases, so let’s skip right to what I’ve actually come up with…

Server Cluster Diagram

The New Solution

The v1.70.0 update should keep NEStalgia’s core “island server” design intact while still allowing us to accommodate many more players on what is technically a single server. Instead of having every single instance of a server store its own savefile database, official servers will now operate in clusters of server instances that share savefiles. Each of the servers in these server clusters will operate under the same server name, but can have additional instances opened to accommodate demand. Ex: There might be a Midgard Cluster, with open server instances Midgard (1), Midgard (2), Midgard (3), and so on.

Like the current named servers, each server instance is its own separate world. You won’t see or directly interact with players logged in to other server instances, though you can come and go as you please between instances. For example, if the first server instance the Midgard Cluster – Midgard (1) – fills up, you can simply log off and join the second instance Midgard (2) to pick up right where you left off. The same things goes if your friends are playing on Midgard (3) and you’re currently logged into Midgard (1) – you just need to join Midgard (3) in order to play with them.

The different server instances in each cluster share the same guild registry and marketplace database. That means that if  you make a change to your guild cape or recruit a new member on Midgard (1), the change will automatically be registered on Midgard (2) and Midgard (3). The marketplace communicates between server instances as well – every instance of the server sees the same market listings, and purchasing an item on one instance will instantly take it off the market on all other server instances.

Don’t be concerned if all this talk of “clusters” and “instances” has your head spinning. All that you need to know is that you’re going to be able to play the game the same way as before, minus concerns about over/underpopulated servers. In practice all of this should be fairly intuitive even to first time players.

Making the Transition

If all goes well, I hope to get v1.70.0 and the server clusters up and running in the next week or so. The biggest concern is dealing with players who still have savefiles on multiple servers, mostly in regards to merging files and/or dealing with excess characters that can’t be merged. There’s no perfect solution to that issue and it’s probably going to eat up a ton of time, so bear with me as I get it sorted out.

Between all four of the current named servers we’re talking about 30,000 savefiles – and that’s after previously setting aside 50,000+ “legacy” savefiles back in December. Because of the sheer number of savefiles we’ll probably end up with two different server clusters, but I can’t say for sure yet. If that’s the case then we’ll only need one server instance per cluster at the moment, so you probably won’t need to even think about instancing for awhile.

I’m sure that some of you have questions, so feel free to ask away. Thanks for reading!

Jun 042015
 

NEStalgia Custom ShipFirst off, thank you so much for all of the responses to last week’s blog post! There were a ton of great questions, and the comments made in support of both the game and the new weekly blog posts were much appreciated. Receiving feedback from players on these weekly updates will be super helpful to the process, so keep the comments coming!

In this week’s update I’ll be providing a brief outline of what player owned ships are like and how they work. What follows is meant as a primer for this topic, as I’m sure that you’ll be hearing much more about player owned ships in future previews. I’m going to avoid significant story and gameplay spoilers here, but if you are completely adverse to any type of spoilers for the expansion then now would be a good time to stop reading.

How Owning A Ship Works

You’ll be boarding your future ship within minutes of starting Key of the Exiles (KotE), though it won’t be under your command just yet. After meeting some new key characters, you, your companions and Krasus will set sail for the western continent. Your primary objective is still to find all of the Luanan Runes and prevent Mardeck from obtaining their power. Thankfully, after having spent a bunch of time in Mardeck’s library, Krasus has a pretty good idea of where the remaining three runes are located.

123

Just hanging out on the deck of the ship in the middle of the ocean.

123

Krasus spends his time in the ship’s cabin reading books and giving advice.

Before long you’ll be in command of the ship, and Krasus and the other NPCs on board will stick around to help guide you. Most of the new content in the expansion is non-linear, meaning that you get to choose where you go and in what order you go there. Your ship will act as a hub for most of your activity in KotE; when you board the ship from the overworld you’ll actually go to the main deck. From there you can explore your ship and talk to NPCs, or take the helm to cruise around the overworld.

Each player’s ship is essentially a unique instance. When a group of players boards a ship, everyone will be transported to the party leader’s ship. That means that you’ll probably be hopping on and off lots of different ships during your travels, and last week jozeppi asked a good question about ship relocation:

Q) I would like to know: if one teleports via recall or a hearthstone, will the ship come along as well like in DW3, or will it be left where it was disembarked?

A) Yes. As in most of the Dragon Warrior games and other JRPGs of the era, using a Recall ability will also teleport your ship to a location nearby your destination in the overworld.

Customizing Your Ship

Because you’ll be spending so much time aboard your ship, you’ll almost certainly be interested in purchasing some upgrades to make it feel more like home…

This is the barebones interior of your ship's hull when you first obtain it. It won't stay this way forever though...

This is the barebones interior of your ship’s hull when you first obtain it.

This upgraded interior features a Companion Ranch and a Merchant to buy/sell goods from.

This upgraded interior features a Companion Ranch and a Merchant to buy/sell goods from.

There are currently five major upgrades that you can purchase that will change the actual structure of your vessel. These upgrades can be purchased in any order. Ex: you can purchase the Inn upgrade before the Companion Ranch upgrade, or vice-versa.

In addition to the functional upgrades, there are also many ways to customize the look of your ship. You’ll notice in a couple of the shots below that the ship can have different color schemes, and you can proudly display your guild’s emblem on the main sail as well. Assuming that you have enough gold banked to purchase these customizations, you’ll be cruising around the ocean in style in no time:

Walking out of a town that I just "Recalled" to, about to board my ship.

Walking out of a town that I just “Recalled” to, about to board my ship.

A ship rocking a guild emblem and custom colors.

A player ship rocking a guild emblem and custom colors.

Sailing near a big hole in the ground in the arctic north...

Sailing near a big hole in the ground in the arctic north…

Another set of custom colors on a ship exploring the world.

Another set of custom colors on a ship exploring the world.

That’s all that I have for today! Feel free to fire away with questions if you have them, and check back next Thursday for another NEStalgia weekly update.

** Note that any information presented in Key of the Exiles previews is subject to change, though I generally won’t cover a topic unless the design is fleshed out and/or it’s already implemented. **