June Status Report

Here’s a bunch of info and design snippets that I’ve never gotten around to mentioning.

Rebalancing Efforts:
I’ve been working on fixing tons of bugs and data errors recently. Monster’s stats were a buggy mess of random numbers and weird stuff, so I did a lot of house cleaning. I tried to keep monsters at roughly the same power levels, but that wasn’t always possible. Hopefully it’s not too jarring! We’ll get the kinks out of it over the next couple of weeks.

Probably the biggest change is that the goblin dungeon is significantly more dangerous. That’s intentional — the first part of the goblin dungeon isn’t supposed to be soloable unless your combat skills are in their 30s! But it was soloable by pretty much newbies.

The crypt dungeon is supposed to be where newbies go first. But that dungeon is terrible for newbies — too short, too dangerous, bad loot.  So I’m working on a mega-update to the Crypt, adding a bunch of new areas, new sub-bosses, and some weird stuff. There’s a new skill or two to discover, too.

When the crypt is in better shape, I’ll touch up the goblin dungeon, expanding it a bit and adding some more activities. And then I can finally get around to the third dungeon, which is aimed at players with combat skills in the 40s. (There’s also a bunch of mini-dungeons that flesh out the level range.)

Power Regeneration

After the monster tweaks, monsters often take a bit longer to kill, which means that you can run out of Power more easily, so Power regeneration is really important.

The main way to regenerate power is eating stuff. You can have a “Food”, a “Drink”, and a “Snack” item all working at once, and their effects stack together. The game doesn’t bother to teach you this crucial tip, but it’s totally worth your effort to combine drinks and foods and snacks.

A good source of easy-to-obtain Food and Snacks is chicken. There are only a few Drinks right now, but more will be added soon. In the mean time, you can make Mushroom Smoothies with the mycology skill.

Appreciating flowers will buff your max power capacity. This also indirectly buffs your power regeneration, because players regenerate a base rate of 10% of their max power each update. So the higher your max Power, the more you’ll regenerate each time.

The Mentalism skill is so good at regenerating Power that it’s a bit overpowered, and will probably get toned down at some point. Battle Chemistry can give you a golem that regenerates a lot of Power too.

Using comfortable furniture will give you small regeneration boosts, but there’s not a lot of furniture in the game yet, so that’s not too easy to do. There’s also tons of potions and items that can regenerate various things, and many more to come.

Oh, also, a note about health regeneration: when I updated all the monster stats, I also fixed some player stats. Players now get a lot more Max Health as they level up. As a side-effect, the health-regeneration items are now underpowered. So those will get powered up soon.

Skill Caps: Most skills go to 50 right now, but eventually they’ll go higher. When the game is launched, you’ll be able to level most skills all the way to 100. But the skill cap is actually 125. To get the last 25 points, you raise other skills that give you “synergy bonus levels” in that skill. (Some skills can already go past 50 because of  synergy levels from other skills!)

I did it this way because I wanted to minimize the amount of grinding players perceive. Not necessarily the amount of playing you have to do… but how tedious it is. When you notice the grind, it’s because there’s too long of a delay between getting new abilities, or because you’re doing the same thing repeatedly for too long.

So that’s why I don’t let you just grind those last 25 levels of each skill. Instead, you have to go off and level other skills, which will feel less tedious because you’ll be able to see progress easily, and you’ll be getting new abilities all the way throughout.

(My plan is that there will actually be more than 25 synergy levels out there for each combat skill… but only the first 25 levels of each skill will count.)

Leatherworking: Let me describe leatherworking very quickly. There’s not a lot to it so it doesn’t need a dissertation: you put the leather into the recipe box, plus a gem or crystal, and you get out a magic armor. It’s kind of tedious to level right now, but that will get better as more recipes are added.

One of the interesting things is that you can put any gem or crystal into the armor. Most crystals are keyed to common treasure effects — if you put a moonstone in, you’re going to get Werewolf buffs, the same kind as if you’d found a random loot item with werewolf buffs. But there are also other crystals that have their own unique effects. There’s only one of those unusual crystals in the game right now, but I’ll be adding more and more.

By the way, it’s not at all obvious, but in the game’s fiction, you aren’t actually putting the crystals in your armor directly. You’re supposedly taking the magic out of the crystals and infusing that magic into the armor. The crystal disintegrates when that happens. But I neglected to mention that little bit of fiction anywhere, so if you just go by the recipe, it looks like you’re sewing diamonds into your shoes.

On Crafting vs. Loot: As I mentioned a while back, my plan for high-level crafting is that it will be able to augment treasure items. Basically, every treasure-effect comes in a number of levels. So a crafter will be able to “level up” one of the effects on your item for you. There’s always a chance the item will explode, killing everyone in town, though. (I kid. Well, I exaggerate…)

But while that little mechanic makes crafters valuable to everyone no matter what loot they’ve found, it isn’t very satisfying for crafters themselves, especially at low level. Nobody will care enough to get their Shoddy Terrible Hat of Worthlessness leveled up by a crafter. They’ll just find a new hat.

So that’s why you can also craft random gear, much like you’d find in random loot-drops. Crafted random items have two advantages over loot drops: you get to decide what skill you want the item to focus on (based on what crystal you use), and you can access unique effects that never show up in loot (by using unusual and rare crystal types).

 Earning Favor With Random Gifts: Right now, you can give NPCs just about any high-value item and earn favor with them (unless they actively hate the item). Things that they like will be worth more Favor, but any random stuff will work.

This is temporary to help you test the content. A lot of the items aren’t in the game yet, so it’d be tedious otherwise. For instance there’s an NPC who loves seeds… and he will be amazingly happy if given rare seeds. But there’s no rare seeds in the game yet, and the existing seeds are too common to be worth much as gifts.

Eventually, giving NPCs random stuff will not earn you very much favor at all — maybe 1/4th of what it does now. You’ll need to focus on the stuff they like. That will mean that some NPCs are much harder to curry favor with than others — and that’s intentional!

Exactly How Gifts Work: Usually, the Favor from a gift is based on the coin value of the item. If they “like” an item, that means you’ll get up to twice its value in favor. If they “love” something, you’ll get 2x to 5x its value in Favor.

If they don’t care one way or the other about something, you’ll get 100% of its value in Favor, but that’s temporary. Eventually you’ll only get 25% of its value.

There’s one more key detail: some items have different values for different categories. For instance, there’s a junk item called “Elven Verse”, which is worth just 20 coins. Give it to an arbitrary NPC and it’s a 20 dollar gift. But this item is also tagged as being Poetry worth 100 coins. If you give this gift to a poetry lover, they’ll perceive it as a 100-coin item (and then double or triple that value depending on how much they love poetry).

I’m explaining all this so that you can help find bugs during development. If someone says they love gems, but they don’t give more favor for a gem than for a random item of the same value, that’s a bug! Eventually, though, all this stuff should be opaque to players. They won’t care about the formula, they’ll just give the poetry to the guy who loves poems and be done with it.

Monster Vulnerabilities: they’re not very fun. I suspect the current approach is a dead end. Either there are too many possibilities and it’s too hard to plan for it, or else there are too few possible vulnerabilities and it’s easy to plan for — letting you do 300% more damage routinely. Or the third option is that they’re boringly predictable but don’t do much extra damage. In which case, meh, why are you bothering?

The goal of the Vulnerability system is a good one: I want it to add a little bit of spontaneous quick-thinking reaction to combat. But I don’t want it to be totally mindless (as in “push the X button when X is on the screen”), because that will get too repetitive in an MMO that you play for hundreds of hours. It needs to require a little bit of thinking. Not a lot… just a second’s worth.

It also needs to be complex enough that I can tie in abilities and equipment to it. So… lots of goals, which is kinda deadlocking my creativity here. I’m gonna just ignore this topic for a month or two to let my subconscious percolate on it. But in the mean time, if you’ve got an idea for a fun reactionary mini-event that takes place during combat, I’m all ears!

Teleportation Bug: Until tomorrow (Jun 2), don’t use Teleportation circles to go between areas in the same zone. If you do, you’ll get stuck teleporting forever, unable to move, until you log out. This is a very embarrassing bug, but if you think of it as a Transporter Malfunction, it’s a lot cooler.

Feedback: I’m sorry if I haven’t replied to your feedback! I try to reply to six or 10 of them each day, but some days I get a whole lot more than that, and I just don’t get to it. But I am reading them all, and reacting to them all as best I can. Please keep feedbackin’, it’s one of the main reasons I’m able to make as much progress as I am.

Thanks, and will talk more soon!

Posted in Project Gorgon | 4 Comments

Notes During A Slow Upload

Since I don’t have my own operations team, I’ve had to build my own ops scripts and tools. I’ve just made some changes to them to accommodate new hardware, so now I have to watch for bugs… and it takes many hours to do an entire build. So that’s fun.

In the mean time, here’s some random unimportant thoughts.

Bits are Bad (Or at least, limiting)

My first love was bit-math. When I discovered the concept in junior high, it was like voodoo magic. And all the time I was failing out of high school, I was filling notebooks with designs for BBS software, carefully packing everything into the fewest possible bits.

This made sense in the late 80s and early 90s. There wasn’t a lot of RAM to go around. It makes less sense now. You no longer need to bit-pack everything… but a lot of things can still benefit from it.

If you’ve ever wondered why you can’t stack more than 64 of a block in Minecraft, it’s because of bit optimizations. There are only five bits for the stack size of a block. (EDIT: not true, see comments.) They do this because they want to have a lot of stuff in the world, and saving a few bytes on every object can really add up.

In the previous iteration of the MMO engine (“Project: Frontier”), I also wanted to have a lot of stuff. So I used bits to represent each item in your inventory. Every item got 32 bits total: 16 bits determined the item’s type, 8 bits determined the stack size, and 8 bits were for “flags”, which are indicators like whether the item was soul-bound to you, or a temporary item, or so on.

That implementation is a pretty classic approach for MMOs to take, but it’s not good for Project: Gorgon. Items in this game have a million uses, and they need way more than 32 bits’ worth of info. So nowadays items can have arbitrary data attached to them. There’s no inherent size limit.

But the old 32-bit part is still there. Arrows can only stack to 250 because there’s only 8 bits for the stack size. And since there’s only 16 bits for type IDs, that means I can’t have more than 65,536 different types of items. I already have about a thousand… I could easily blow past 65k in a few years!

So I’m going to reorganize the bits… I don’t need the “flags” bits, they get done a different way now, so that gives me 8 bits of breathing room.

You might wonder why I don’t abandon it entirely. It’s only partially to save storage space — that’s not very expensive anymore. The bigger benefit is saving bandwidth. Most items in your inventory really can be completely described by just a type ID and a stack size. The networking protocol takes advantage of that to optimize how much data is sent between the client and server.

But if I ever end up with more than 4 million types of items, I’ll be really and truly out of bits. Well, I’ll have bigger problems at that point, I’m sure…

New Monsters A’Comin

Today’s server update adds a new sand-worm monster, which is one of the models for sale in the Unity store (from the ever-awesome Kalamona). The LOE team has also gotten me a new goblin and hag model, which I’m going to start integrating next.

The Legends of Etherell guys have been working out their animation pipeline — it’s not as easy as it might look, especially when we’re trying to reuse as many animations as possible between different models. But the pipeline they’re developing should work well for their own MMO also, so in some ways, I’m happy to be their guinea pig. There’s a few more monsters in their pipeline for me, including an orc, a treant, and I heard Vince is working on improving the wolf you turn into as a werewolf. Woo!

With the new monsters I’ll be finishing another section of the goblin dungeon, and starting on the third dungeon.

Kickstarter Part 2

I’ve spent a bunch of time this week trying to fix issues that show up for new players, because I’m hoping to start drumming up more testers this week. And from there I’m hoping to do another Kickstarter. This time, the MMO will be running throughout the Kickstarter duration, so it shouldn’t seem like vaporware.

I’m still working on the plans for that. I need to get it going, but the last one was … well, very stressful… so I’ve been putting it off a little. But soon!

About The Strange Order of Implementation

I hope that the stuff I’m adding is keeping testers reasonably entertained, but I know the order of implementation could be better: it’d be better to add more content, more areas, more dungeons, before adding yet more weapon types. But there’s a reason for the order I’m doing. Each step adds new tech. For instance, archery added fletching boxes that advance offline. That’s new tech! (And buggy… hopefully fixed today!)

And today, I added a seemingly-pointless feature: if you stand in a cooking fire, it burns you. I didn’t add this because I care whether you stand in cooking fires or not (because I don’t particularly care), but because it was a way to test other new tech. That tech is very versatile and will be important for the new super-boss encounter I’m working up to.

Other things have gotten blocked by tech issues; for instance, geology should have gone in by now, but it’s got some tech design flaws. (Geology will be the way you find most crystals and gemstones. Right now, gems just “show up” on the landscape, but that’s a stopgap.)

In addition to the new tech stuff, I’m also trying to add some new content every week. But man, it’d be great to have someone help me on that. I can only do a few NPCs worth of content a week while I’m doing all this other stuff. If the Kickstarter goes over the minimum, I’m hoping to use it to hire some content help.

Other Content In the Works

I have a lot of content in various states of implementation. Some of the short-list items are:

  • leather armor crafting
  • an update of the goblin dungeon
  • fleshing out the castle courtyard
  • fleshing out Sie Antry’s homestead (some of that happened in today’s update)
  • Myconians
  • mushroom farming
  • Some extremely silly new skills like Iocane Resistance
  • The first Ultra-Boss, complete with her own Fate Worse Than Death
  • A new quest line for animal-cursed players (giving them access to content that other players get later, so they have more to do while they’re cursed)
  • The Dickweed combat skill
  • Fleshing out Carpentry
  • Fleshing out Teleportation

and a few more.

As always, your in-game feedback is amazingly useful. I love it, keep it comin’! I’m really backlogged and unable to respond to all feedbacks right now, but I’m reading all of them, and replying to a large number.

Okay, looks like the script finished, so it’s time to put up the new version of the server. More later!

Posted in Uncategorized | 6 Comments

Gorgon’s Archery System

The next combat skill will be archery, and I wanted to talk about how it’s going to work. Well, I’m still coding it right now — in fact I’m taking a break to write this post — so I’m sure some details will get hammered out. But I plan to implement it this way and then get your feedback on it.

How Archery Works

Archery is a combat skill that, naturally, requires a bow. Bows go in your off-hand slot, not your main-hand slot, so you can use a bow with a sword or a staff, or whatever you like. However, there’s an animation that plays when you first use a bow skill: you have to get the bow off your back. And when you switch to your other weapon,  you’ll first put the bow away. This animation is short (less than a second), but you wouldn’t want to interleave bow-sword-bow-sword, because then it’d be really noticeable.

Archery attacks use arrows. There’s no “ammo slot” on your character, though. I never liked ammo slots. They’re simultaneously too micro-managey (having to drag arrows manually into the slot) and too restricting (since only one kind of arrow can be used at once). I just don’t see how an ammo slot is very interesting: there’s no choice to be made, usually.

I try a different tack. When you use an Archery ability, the appropriate ammo is automatically taken out of your inventory. Normal attacks use normal arrows, and that’s the most common arrow you’ll need. In fact, if you just want to use the bow to “soften up” monsters before switching to your sword, that’s all you’d need to carry around. But the fun stuff comes from the crazy specialty arrows.

“Net arrows” can entangle enemies; hollow arrows can be filled with various substances, like acid or poison; hook-shot arrows yank enemies toward you (great for pulling a bad guy off your weaker teammates). That sort of thing. Again, you don’t have to worry about the ammo personally — you just have stacks of it and it gets automatically consumed when you use the ability.

How does archery compare to the other primary ranged-attack skill, Fire Magic? Archery does a bit less damage per second, but has a lot going for it:

  • It costs less Power
  • It doesn’t induce as much Rage as fire does
  • It has more optional utilities (such as crowd-control)
  • It has access to more damage types — piercing, acid, poison, and fire — whereas fire magic is mainly just hot and cold

Critical Hits

I wanted archers to feel kind of like rangers — masters of the woods, experts about the creatures in it. So I wanted to reward archers for learning about creatures.

You may have noticed that recently when you autopsy a corpse, you sometimes get Anatomy XP for the specific kind of animal you autopsy. (Dissecting a pig might give you Non-Ruminant Ungulate Anatomy XP, for instance.) Those anatomy skills have lots of uses, but for archers the point is real simple: the more anatomy skill you have, the bigger the chance for a Critical Hit with your bow.

Just to warn you, this is something you work toward, not something that’s particularly useful at first. Early on, a 1% critical hit chance is boring and almost meaningless. But eventually they’ll happen pretty regularly.

How much damage does a Critical Hit do? That really depends on your equipment. The base bonus is 25% more damage, but equipment can dramatically increase that. Equipment can also change the meaning of your criticals — making them into Stunning Criticals or Depressing Criticals or Terrifying Criticals, etc.

Fletching

So about those arrows!

You may have noticed that each combat skill has non-combat aspects. Swordsmen have to practice their calligraphy to gain the focus to be amazing swordsmen. Fire mages have to research their spells using expensive materials. Martial artists have to meditate at special locations to unlock their combos — and so on and so forth. (Not all of them are in yet — Staff fighting particularly misses out here.)

So archery has two non-combat parts involved. First, there’s raising the anatomy skills, as mentioned above. Next, there’s the art of making arrows. “Fletching”, as we MMO developers call it. (“Fletching” is actually a noun, like “scaffolding” — it specifically means the feathery bits attached to the end of the arrow. But long ago, people who made arrows were called “fletchers”, so now MMOs call arrow-making “fletching.” Just roll with it.)

Fletchers start out by getting some lumber carved into the correct approximate shape. (A low-level Carpentry recipe.) Then they treat the arrow shafts with chemicals, and they wait for them to dry. This is a real-time check: it takes several minutes for the low-level arrow shafts to dry, and for the mid-level ones, a few hours or so. Eventually at max level it might take upwards of 24 hours to dry a bundle of arrow shafts. (You don’t have to be online the whole time, though, of course, and you can dry a whole bunch at once.)

Why do I do this? Because it helps reinforce the importance of planning. If you’re a high-level archer and you didn’t remember to make arrows last time you played… you’re going to have to use crappy store-bought arrows, or buy some from another player.

Once your arrow shafts are dry, you attach whatever is needed for that particular arrow. Some arrows require fancy things, like chips of gemstones, but most just need some feathers and an arrowhead. Arrows are made in batches of 100, so you don’t have too much micro-managing to do.

There’s also a way to get your arrows back sometimes. When you autopsy a corpse, there’s a chance you’ll get back the arrows you shot into it. Handy for the more expensive specialty arrows. And… eh, I’ll just stop there. There’s some other odds and ends, but that’s the gist!

I’ll be back soon with a more general update. Lots more to talk about, stay tuned.

Posted in Project Gorgon | 5 Comments

Try the new stand-alone clients

We now have stand-alone game clients ready for testing! These should give you better frame-rates in general. If you’re up for testing, please give them a whirl:

Windows:

  • Download the launcher at http://projectgorgon.com/WindowsLauncher.zip
    • (Under Chrome, if you get a scary warning about how this file doesn’t get downloaded very often, choose “Keep.” Nobody’s downloaded it before because it was just uploaded tonight!)
  • Unzip it (for instance by right-clicking the file in Explorer and choosing “Extract All…”)
  • Run the WindowsLauncher program inside.
    • (If it asks if you want to unzip everything first, say yes.)
  • The game itself will download now. When it’s done, press Play to play.
    • If the launcher ends with an error message, please let me know what the error is, and then close the launcher and restart it. (We’ve been having intermittent “can’t reach host” errors all night for some reason.)
  • Login to the game and see if it works right!

 

Mac:

  • Download the launcher at http://projectgorgon.com/MacLauncher.app.zip
    • (If you’re using a browser other than Safari, you’ll need to manually unzip the program; Safari will unzip it for you.)
  • View your Downloads directory in Finder, and find the MacLauncher file. Right-click it and choose Open.
  • It will download the game client. When it’s done, press Play to play.
    • If the launcher ends with an error message, please let me know what the error is, and then close the launcher and restart it. (We’ve been having intermittent “can’t reach host” errors all night for some reason.)
  • Login to the game and see if it works right!

 

Thanks!

Posted in Project Gorgon | 10 Comments

What is Lag?

I get a few reports of “lag”, and while I really appreciate the reports, just hearing about lag by itself isn’t enough to diagnose a problem, because there’s a lot of different kinds of lag. It’d be like a doctor trying to treat cancer just from hearing “it’s cancer.” Gotta know what kind, at the very least! So here’s a quick guide to the kinds of lag you might see:
 

CDN Lag

Symptoms: It takes forever to download the game levels. Or when you get into the game, the “fog” of dynamic objects doesn’t disappear for a very long time.

Cause: This is caused by a problem with our Content Delivery Network (CDN). Basically we use an Amazon service to deliver the game files to you. The files are placed on computers all over the world, so no matter where you are, you should get a good connection speed. (That’s the whole point of the CDN: faster downloads.)

This can break because, well, Amazon’s CDN isn’t always the most pervasive CDN out there. There are some areas where it doesn’t give a good connection 100% of the time. I can’t necessarily do anything about that, but I still want to know when and where it’s happening so I know how seriously it’s affecting people.

It can also happen if you’re very unlucky: the files on the CDN get “refreshed” once per day, and if you’re the first person into the game after a refresh, you’ll end up having to wait for the files to be downloaded and cached by the CDN before they get delivered to you. This is especially bad right now because you might be the only person online at certain hours of the day, and might have to wait for a whole lot of files to get refreshed.

Alternative Diagnosis: It’s also possible for the “fog” to never go away because of a game bug. Basically if there’s a problem while downloading, the fog can get stuck. You can see if this happened by bringing up the Debug Console (Ctrl+Shift+the * on the num-pad). If you scroll down in that console you’ll see error messages if that’s what happened.

Reporting: Let me know where in the real world you are (general country/state/province). If it’s only a certain object that remains permanently foggy, let me know that too.
 

Graphics Lag

Symptoms: The game seems choppy, the camera jerks around, and things blip about. In the worst cases, it’s like you’re watching a slide show on your screen.

Causes: This can happen for lots of reasons, but the main reason is that the graphics in an area are too heavy for your computer or video card. I still have a lot of clean up to do in that regard. But if you notice graphics lag where there wasn’t any before, that’s important for me to know!

Graphics lag can seem to fix itself after a minute. This happens because the game detects the lag and automatically down-grades your graphics quality until the lag disappears. That fixes the lag, but the world looks uglier. The game might also periodically try to raise the graphics quality back up, which may cause occasional bursts of lag to reappear. You can turn off this automatic raising/lowering feature in the options. Under Graphics, look for the checkbox at the bottom labeled “Auto-lower graphics settings”.

Reporting: When reporting graphics lag, see what your FPS (frames per second) is. This is shown at the bottom of the bug reporting window. Also let me know if this has happened before, and if it’s reproducible in one area or seems like a sporadic thing.
 

Main Server Lag

Symptoms: You click on something in the world to interact with it, like picking up an item off the ground, but it takes a second or more before it works.

Causes: There’s two causes: the server could be having a hard time keeping up, or you could have a bad connection to the server. Check the “ping” number on the Bug Report window. If it’s over 1000, that means the server’s connection to you is sluggish.

If that number is low (250 is a good low ping), and you’re still seeing lag, the server is probably freaking out. A few weeks back this was happening a lot due to a memory leak that left the server starved for resources, but I think I have this all fixed up now.

As far as I know there’s no main-server lag anymore: the corresponding meter on my admin screen is a beautiful flat line. So if it happens again, its very important to hear about!

 

Chat Lag

Symptoms: You try to chat, and the words take a long time to show up.

Causes: This can happen if the chat module gets bogged down. But first, make sure this isn’t Main Server Lag, above. Try throwing an item on the ground. If you can interact with the world just fine, but chat still takes a long time, it’s chat lag.

It’s pretty much impossible for only chat to lag right now, because the chat server is currently living together with the main server, so if your chat lags, the rest of the server should be lagging too! But in a few months this will be a separate kind of possible lag.
 

Monster Lag

Symptoms: You can pick stuff up off the ground just fine, and talk to NPCs, but when you try to fight a monster, they react sluggishly — possibly taking two or three hits to the face before they fight back. Your knockback attacks may also take a second before the monster starts flying backwards.

Cause: This happens because the physics sub-server gets bogged down. Each “zone” of the world has a program that makes the monsters fight and makes NPCs move around. If they get bogged down, things can’t move or fight well.

This is happening more than I like right now because I don’t have enough computers to run all the physics sub-servers, so they can get starved for CPU. I’ve ordered new hardware to fix this soon.

I can usually tell when monster lag happens because I see it in the error report on my admin dashboard. However, I still appreciate hearing when it happens! It helps validate the admin panel reports.

 

Stuck Player Lag

Symptoms: A “stuck player” just can’t move. The world seems to be acting just fine around them, but they can’t friggin’ move, or they can’t control their character. (And it’s not because a monster Stunned them or because they’re dead.)

Cause: This isn’t usually “lag” in the sense of something taking too long. It usually happens because of a game bug. The most recent case was when I set up the animations wrong on animals, so players who were Deer or Cows would be unable to move for a second whenever they talked to an NPC.

Reporting: Since this is usually a bug, I need to know exactly what you were doing, as best as you can tell. If you were talking to an NPC, fighting a monster with a certain ability, etc. Whatever you can tell me will help me find it.

 

Rubber-Banding Lag

Symptoms: You try to walk forward a bit and then blip back to where you were, like a time warp happened.

Cause: This can happen if the server thinks you’ve moved farther than you should be able to move: it “bounces you back” to a place it knows you were a moment ago. The server does this to keep people from hacking their client and blipping through doors and such.

But I’ve actually got the rubber-banding logic turned off right now, so you really shouldn’t see rubber-banding lag. If you do, let me know about it!

 

Other Lag: Usually a Bug In Disguise

Most other “lag” is really a bug. For instance there’s currently a bug if there’s too many items in an area. Instead of old items being cleaned up, new items are getting wiped away instead! This will be fixed later today. But in the mean time, several players perceived it as “item lag”, because the items weren’t showing up when dropped. In actuality the items were being disintegrated one second after you put them down. Oops.

Anyway, I really appreciate all bug reports, and I definitely don’t want to discourage you from reporting a kind of lag that isn’t on this list. Just make sure to describe the behavior you’re seeing, so I can figure out the cause.

I’m bashing a lot of bugs, but we’re also adding new features and content, so new bugs keep cropping up. But we’ll get there! Things are going pretty well right now, actually, and I’ve got some new skills to launch soon, so I’ll talk to you about those soon. See you in game!

Posted in Project Gorgon | 5 Comments

The flying animal fiasco

Thought I’d do a short post about an amusing bug. It’s actually been happening occasionally for a while, but after a recent update it became pretty much 100% of the time: certain monsters, like great cats, would charge at you, ready to attack, then leap forward — and instead of landing, they would simply fly right over your head, and keep on going up into space.

Wait, panther, we were fighting! You can't just fly away!

Wait, panther, we were fighting! You can’t just fly away!

This took an entire day to track down, but here’s what happened. First, the panther’s physical body is really just a sphere-ish kinda shape:

The green circle is the cat's physics -- where it can collide with things.

The green circle is the cat’s physics — where it can collide with things.

When it comes time to move the monster around, the graphic of the cat is unimportant. The invisible sphere is what moves around, and the graphics are just drawn on top so you can tell where the heck it is.

The problem came on the server. The server doesn’t bother with the cat graphics at all — why should it? But without any graphical shape, it’s extremely hard to debug. So when I was first debugging the server, I made it draw a little capsule overtop each creature.

This is that same cat, as seen by the server's debug-viewer

This is that same cat, as seen by the server’s debug-viewer

So what went wrong? Somewhere along the way, I must have mis-clicked in Unity, and I gave that little white capsule physics — it became tangible. This meant the cat had two physical forms: the sphere and the capsule. They were both “the cat.”

When the cat wanted to pounce on someone, it moved the green sphere toward them. But then it noticed it was “bumping into” the capsule representation of itself. It decided “oh, I’m standing on something,” not realizing that it was standing on itself! So then it tried to climb over the capsule, which is impossible since they were connected. As soon as the sphere moved, the capsule moved with it.

So the poor cat just kept climbing up its own capsule, often for miles, until it would twist and turn in a way that didn’t register as being “on top of” the capsule for a moment. At that point, it would plummet out of the sky. This is why some players reported seeing monsters hurtling toward them like meteorites.

As soon as I made the capsule intangible, everything was fine again. It just took hours to find the problem.

Well, on the bright side, at least some cats and pigs got to see outer space.

Posted in Project Gorgon | 8 Comments

Grab Bag Update: Web Player, Skill Swapping, Languages

A quick update on lots of topics:

Unity Web Player Performance Sucks

It comes and goes, the web player. It depends on so many things: the browser, the OS, and the version of Unity. Right now, it’s pretty godawful for lots of people. If you’re on a Mac, it drops key presses, which is infuriating if you’re trying to chat. And on a PC it can get bottlenecked on mouse events, which is slightly less torturous, but also annoying.

It also loses frame-rate on all platforms, which causes the game to downgrade its graphics to Butt Ugly Mode. It runs significantly better in the stand-alone version.

So this is a big issue for me. I wanted to always support a web version, but if it’s going to suck, I don’t want people seeing the game like that. I can optimize performance in the web player, but it takes a LOT of time, and is it worth it?

But that’s a less-pressing issue than what I should do right now. I don’t have time right now to try to optimize the web player on every OS/browser combination.

So maybe I should switch to standalone game clients for now. The problem? There’s no patcher. That means people will have to manually download a new zip file every other day they play.

Fortunately the zip file is pretty minimal, because the game will still stream most of the assets. So we’re talking about a 100mb zip. Most people won’t have too much trouble with that. It’s just the annoyance factor of manually doing it.

(There are patcher solutions, but they’ll require a lot of prep work. I think it would be premature to set up a patcher right now.)

NaCl Builds Don’t Stream Scenes

The other thing I can do is provide a NaCl build of the game. That is Google’s Native Client, and it runs well in Chrome. But I think you have to manually turn on NaCl support, and anyway not everyone uses Chrome!

But I’d at least provide it as an option, except that it doesn’t stream-load like the web-player does. What I mean is that in the web-player version, you’re busy making your character while the world downloads in the background. With the NaCl version, you have to wait for the 100mb download to finish before you can begin playing at all. That’s not the best first impression. Actually, it’s kind of worse than making you download a zip file, because at least that’s a better-understood process. If you’re looking at a loading bar for 100mb of download, you’re likely to start wondering if it’s broken, or if you’re insane or what.

So anyway that’s why I haven’t used a NaCl build so far. I assume it would perform better once it got loaded, but I haven’t actually tested it out much.

(I can eventually fix this by streaming scenes a totally different way, as Asset Bundles, but I’d like to wait on that for a little while. It’d be even more variables added to the mix.)

How Bad Is The Framerate?

So I think the framerate issue is making the game un-fun for a lot of people. But I don’t really know for sure. I’m going to wire up the client so it tells the server its framerate every few seconds, so I can see how bad people have it. That should tell me if framerate is causing new players to abandon ship or not.

I’ve only had a couple hundred people try the game, and of those number, the gameplay times are pretty reasonable. In fact, if these were random people off the street, I’d say the game is retaining players at a really great ratio!

However, most of these people have been fans of the game, so I actually expected even higher average playtimes. There’s lots of possible causes of that, though…

More Direction Tools

After talking with some players, I’ve decided that there really needs to be some better hints to the content. I mean, it’s an exploration game, and I want you to just go poking around and find cool stuff. But a lot of people have been aggressively trained not to do this by other games in the MMO genre.

So I’m implementing the “Stuff To Do List” real quick. Basically it’s just a check-list of stuff to find in the first couple of zones. It’s not a complete list, but enough to hopefully teach players that there’s tons more stuff out there.

The danger is that once they complete that list, they’ll assume they’ve done everything and quit. So do I keep making more checklists? I guess that’s reasonable. The later ones will be kind of vague, just so you know there’s stuff out there.

But I still don’t want to put everything in a list… so I need more advanced ways to convey that there’s lots of stuff out there for you to find.

More Communication Tools

The average player never speaks, and most players don’t even open the Chat window for very long — it’s clunky and large, and if there’s no chatting, what’s the point?

This makes the game feel even more barren than it is, so I’m working on that a little. First I’m doing the obvious thing and adding a “ghost” mode for the chat window. So you’ll see player chat appear in a translucent box briefly, even if you don’t have the full chat window up.

Fiddling With Combat

Right now I have a little experimental GUI addition: there are two tiny dropdown boxes, one next to each skill bar. These let you change to other combat skills really rapidly.

Earlier in the blog, I said that you wouldn’t be able to change skills except at “Designated Changing Stations”. The reason is that I didn’t want you to feel like you had to constantly swap your skills… but practically speaking, it doesn’t seem to be a big deal, at least right now.

So I figured I’d see what happens if you go to the other extreme and make it super trivial to change skills. This feels to me like it goes too far… seems to tell new players “you’re going to need to change skills all the time.” But early on, that might not be such a bad thing. Most players right now are sticking with the two default skills even after they get new ones. That’s not necessarily the optimal way to play. Or at least not the most fun.

Eh, I dunno what’s best. Thus the experiment! I’ll see if I can gather some feedback about this new GUI approach.

Racial Languages

And now back to unimportant minutia!

I’ve been mulling “racial languages”. This stems from the idea that a Werewolf should be able to understand another Werewolf, even if they have low Beast Speech skill and just sound like growls to other players.

First, I’ve sped up how quickly you learn Beast Speech, so this isn’t even an issue for as long. (It was never supposed to take too long.) But eventually I’d like to get it so that other Werewolves always understand each other (and other Cows understand each other, etc.) When I do that, I’ll also have the tech for racial languages.

At this point, racial languages don’t make sense to add, because they divide players up rather than helping them communicate. But nevertheless, elven players have expressed interest in being able to speak Elvish. Maybe if I can think of a clever way to use the idea… any thoughts?

(But if Elves get Elvish and Rakshasa get Rak, what do Humans get? It’s assumed the default language is the Human language. So do Human players just not get a special language? Well, I could always give them an alternate human language. Say, French! Heh.)

Anyway, things are still chugging along. I’m hoping to start drumming up some more playtesters soon… in fact, I was going to do that today, but decided I needed to figure out the web player issues first.

A content update is in the works, with some new armor appearances, quests, dungeon areas, and more, so stay tuned!

Posted in Project Gorgon | 25 Comments

4:30am Update

As I write this it’s 4:30am, that unpleasant time of night when you can’t predict whether the Burger King drive through is going to sell you a Whopper Meal or a Croissanwich Meal. (It was the latter, and I am sad.) I’ve just arrived at the tiny Elder Game office to work on MMO bugs. I figured I’d give a brief status update while I eat this surprisingly greasy breakfast sandwich.

I had some great days last week, getting a ton of bugs fixed, but they left me pretty tired. Yesterday I alternated between sleeping continuously and waking up just enough to play Bioshock for a few hours, then falling back asleep. I’m less tired now, but Bioshock is still at home beckoning… so I am here at the office instead!

(If you skip on testing Project Gorgon to play Bioshock Infinite, I won’t blame you. But it’s a pretty short game, so remember to come back!)

What Players Are Saying

The feedback from the MMO has been great, and I really appreciate every piece of info you’ve sent in. Please keep sending info, it’s my best way of telling what’s going on right now. And if six people report the same bug, that’s not a waste… that means I should prioritize it!

It’s actually pretty hard for me to get a read on the general opinion of the game… some people really get into it. Others think it has potential but aren’t really hooked in its current form. Others quit within a minute or two.

The game does seem similar to other MMOs at first, so that may be part of the problem. But then again, it is similar to other MMOs in many ways. I’ve been aiming to improve on existing MMO tropes, not replace them.

For instance, rather than replacing hot bars, I want to show hotbar-style combat in the best light possible. But I’ve still got a long way to go there, I think. And anyway it’s not an approach everybody will enjoy.

Several people have mentioned how “adventure-gamey” it feels, and I’m glad of that, since it’s intentional. People who see the game as a pseudo-adventure-game seem to enjoy the exploration elements. People who play it like a regular MMO miss a lot of stuff… for instance, it’s possible to get out of the tutorial dungeon with a mere two skill sets, or a whopping six skills, depending on whether you do the adventure-y parts or not. (They can always go back later to find them, or find the skills elsewhere in the game… the problem is just that it can be boring having only two skills.)

I don’t telegraph how this works well enough, and lots of people seem to be missing big cues. Maybe those players aren’t going to like this game anyway, or maybe I just need to find a way to get them in the right mindset. I’m hoping for the latter.

In the short term what I’ll do is add a little note before you log in, trying to get you in the right mindset before you start. That’s heavy-handed, but it’ll work during alpha. Eventually I’ll redo the newbie experience entirely, but I don’t feel like I’m ready for that yet… I don’t really understand everything that needs to be focused on well enough yet.

Engine Status

The Gorgon Engine itself is holding up well. The physics-processing units are CPU-bound, meaning that there’s a bit of lag in moving monsters around sometimes, but it’s pretty mild right now. I can wait on optimizing that part. If a bunch of players join in and make the lag noticeable, I’ll just rent another server and run additional physics units.

The “brain box” that ties all the physics units together is using almost 0% of its CPU, which is good since there’s only a few players online at once. (If necessary, I can set up multiple linked brain boxes, but I’d prefer if I can use one brain box for an entire world — it’s much simpler!)

However, that brain box is using way too much memory. It’s a Java program, so the memory graph naturally looks like a buzzsaw due the garbage collector — and that’s fine. But the low point of the buzzsaw graph slowly climbs up and up and up throughout the day, until it suddenly plummets all the way back down, or it runs out of memory and crashes the server.

This means that some game system is retaining a ton of memory, and very occasionally cleaning itself up. I’m not sure what’s going on there. I’ve used memory profilers on my test server, but it doesn’t show anything… this leak is only detectable when multiple people are playing for hours at a time.

So I’m going to have to do memory profiling on the live server… something I’ve never done in Java before. So look forward to that sometime this week! Hopefully you won’t notice a thing… it will use more CPU, but the brain box has so much CPU to spare that it shouldn’t be detectable. But we’ll see!

What’s Coming In The Next Week

I’m working on some serious bugs tonight, such as “I gave Joeh a gift and suddenly he Despises me and won’t talk to me”. After that I’m going to work on improving corpses — making them easier to loot and less cluttery when there’s dozens of them. (It’s not as simple as melting them away, since you may be planning to come back and harvest those corpses, or autopsy them, or just plain eat them…)

After that, I’ll look into the friendly-fire bugs, fix up some missing Favor quests, and then probably on to the third dungeon.

And also, somewhere in there, profiling the server’s RAM usage.

What’s Coming This Month

And beyond next week? I have two more combat skills and four more non-combat skills that are partially done… including huge ones like pet taming and armor crafting! I intend to get those finished up in the coming weeks. I’ll also be fleshing out the rest of the NPCs so they have Favor quests, and  adding more things to do on the landscape and in the dungeons. There are a bunch of new monsters waiting in the wings from the LoE team, and handy new skills like teleportation. Lots of content, in other words.

At this point, with so few players, I’m skipping things like grouping features, custom chat rooms, guilds, and so on. Those will come when the average load is more than three players!

However, this is just my current plan… your feedback can really change my direction, so if there’s pressing issues keeping you from playing (or at least from enjoying yourself), please let me know!

Posted in Project Gorgon | 29 Comments

Pre-Alpha 3 server is live!

The server is finally live! Visit projectgorgon.com to log in. Your old characters should still work, if you had any, but I haven’t tested that very well so if you have problems, let me know.

If you’ve never tried the game before, just say you’re a new character and you’re in!

If you have trouble seeing the screen (e.g. it’s very very small) try one of these links instead:

http://www.projectgorgon.com/1024×768.html

http://www.projectgorgon.com/dynamicsize.html

 

I’m already working on some bug fixes, but because my network at the office is acting up, I’m doing the builds from home, which means it takes about 4 hours between updates. (Uploading from home is very slow.) So there’ll be some improvements late in the night, but it should more-or-less work right now. Let me know if you spot any problems!

Thanks!

Posted in Project Gorgon | 10 Comments

ETA

Some unexpected delays! I estimate the servers will be online at 8pm Eastern time (about 2.5 hours from now).

If you were waiting, sorry!

Posted in Project Gorgon | 5 Comments