Skip To Main Content

Update #36: Off to our elfhomes, but first...

December 18, 2012 12:00 AM

Hello, friends. The elves have been hard at work on Project Eternity, and we would like to show you our fine goods. This is a long update, but we wanted to give you more information than usual since it's the end of the year and we will be in our elfhomes for the next few weeks. First, I'd like to talk about what we've been doing with the engine and second, I'd like to talk about some of the design work we've been doing.

Resolution and Scaling

We want to run the game at various resolutions and scale properly. We've been talking about our target resolutions and looking at the best way to implement scaling. If you've played any of the Infinity Engine games lately, you may have noticed that running at high resolutions can make the game look like an RTS. Though it's nice to be able to scale up and see more of the environment, at a certain point dungeons start looking like ant farms. That's what happens when you take a game designed for 640x480 and run it at more than double the resolution. It is now the year 2012, so we're looking at supporting a range of resolutions that runs from modest laptops to Macs with crazy Retina displays.

To do this, we're going to render the game out at a target high resolution and a target low resolution. Currently, we're looking at a base resolution of 1280x720. A large number of laptops run at this resolution or its slightly bigger brother, 1366x768. It's not quite twice the resolution of the original games (640x480) due to the 16:9 aspect ratio, but pretty close. We believe that this base resolution will scale well up to 1920x1080, which would be roughly equivalent to going from 640x480 to 1024x768. In the old IE games, this gave you a slightly larger view of the world, but didn't get too crazy.

Posted Image

For our higher resolution, we are likely going to render out to a ~2560x1440 screen size, as we did with our environment during the Kickstarter campaign.

We will likely downsample these to run at 1920x1080. With resolutions above "mere" Retina displays, we will zoom out, which should allow the backgrounds to scale into outer space (close enough, anyway).

Posted Image

Movement and Combat Feel

We've been working on implementing all of the basics of party selection, movement, and combat. This includes working on personal space, ally and enemy pathing, friendly "bumping" during movement, ranges of melee attacks, attack timing and delays, target selection, and response time. A lot of work goes into making these elements feel good and feel "IE-ish" (while excluding the IE-ish things we didn't like).

We’ve also been building block-in weapon meshes and putting them in the game to see how they look in terms of scale. This has gone well, but we're still working on proportions. Some thin weapons, like stilettos, rapiers, and estocs, can be very difficult to discern, especially at lower resolutions. Their thicker cousins, daggers, swords, and greatswords, need to be "beefed up" a small amount to help distinguish them. Even though we need to make a few slight adjustments, our overall approach of making weapons with realistic... ish proportions is working well and feels similar to the characters and weapons found in Baldur's Gate and Icewind Dale.

Along with implementing the visuals of the weapons, we're experimenting with weapon statistics and mechanics. Weapons are currently classified as slashing, piercing, or crushing, which is a pretty common division of types. We're not currently using damage types vs. armor types in Project Eternity, but the damage types all have properties that suggest a certain type of usage.

Slashing weapons do the most damage when compared to their counterparts from other categories. E.g., if you compare a greatsword to an estoc to a maul, the greatsword does the most damage. When targets have little to no armor, slashing weapons are the ideal choice. Piercing weapons negate a fixed amount of Damage Threshold, which is the primary way in which armor reduces damage. Though they don't do as much damage as slashing or crushing weapons, their ability to ignore even moderately heavy armor means that it is superior to other weapons in those circumstances. While armor can negate a large amount of damage, there's always a small amount that gets through. Crushing weapons do much more through armor, which makes them the best choice when dealing with very heavily armored targets.

So far, this works well on paper, scales well, and seems to hold up in the game, but it is very "mathy" and not necessarily intuitive because you can't always guess a target's Damage Threshold simply by looking at them (as opposed to armor types, which are usually visually apparent). We will continue to experiment with this to see how it feels in the long run. Our goals are to provide tactical challenges to the player and give them to feedback and tools to adapt and overcome when they're in a difficult spot.

UI Design

Tim and I have been talking about our user interfaces recently. We want to make sure that we improve the functionality of the original designs without completely losing the feeling of those interfaces. One thing we want to avoid is making the UI too "minimalist". We don't want it to feel bloated, of course, but we also recognize that the IE games had "solid" interfaces. They looked like they were made of materials -- wood, stone, and metal -- and had substance to them. When you look at the interfaces for the IE games, they help immerse you in each setting. We'd like to do the same for Project Eternity.

Functionally, we're using Icewind Dale II as our starting point. We've been looking at inventory recently. Tim and I have designed a system that uses three types of gear storage: equipment, top of pack (this name may change!), and stash. Equipment is what your characters are currently using and have ready to use. This includes weapon sets that you can swap between during combat. "Top of pack" is a finite amount of gear that you can access outside of combat for a variety of purposes: replenishing consumables, checking out a shiny new sword you picked up a while back, etc. The top of pack cannot be accessed during combat, but is present as a strategic pool of items that you can access while exploring. The stash is where all of the "other stuff" goes: things you aren't using, items you want to sell, and various doo-dads you'll be looking at later.

When you find gear, you have the option of placing it wherever you'd like as long as there's room for it. You can use it immediately, put it in your top of pack, or just chuck it in the stash. Once an object is in the stash, you can access it at camps, your home, and similar locations. We've created this division of inventory space to add strategy to your gear loadout decisions instead of having a weight limit, while also allowing flexibility for backup equipment. Most importantly, it doesn't prevent you from doing what adventurers love to do most: loot everything they find that isn't bolted down.

Core Four Class Design and Advancement

We want our classes to feel familiar but flexible, so we've designed our "core four" (fighter, priest, rogue, wizard) to reflect traditional D&D roles and allow you to build outside of them. In our current design, each of the classes starts with two active use or modal abilities and one passive bonus.

Fighter

  • Defender (Mode) - In the Defender mode, fighters' melee attack rates decrease while their melee defenses increase. This is a particularly useful mode to enter when a fighter is blocking a route of attack to protect other party members.
  • Surge - This active ability allows fighters to rapidly regenerate Stamina for a short period of time.
  • Melee Accuracy - Fighters have inherent skill with melee weapons that is reflected by a small accuracy bonus.


Priest

  • 1st Level Priest Spells - Priests gain access to all 1st level priest spells. Priests can cast a fixed number of 1st level spells before they must rest to recover their uses. They can cast any combination of different spells up to the per-rest limit. As priests gain levels, their 1st level spells will eventually become per-encounter resources.
  • Recovery - The Recovery ability regenerates a modest amount of Stamina for allies (including the priest, if in range) in a Medium-sized area at Short range.
  • Sacred Circle - All allies standing within a Small area around the priest gain Accuracy bonus. This bonus does not include the priest unless there are no conscious allies in range, in which case it applies to the priest.


Rogue

  • Escape - The rogue may hop a short distance away and all hostiles lose him or her as a direct target for 3 seconds. After the 3 seconds are up, enemies can target the rogue normally.
  • Reversal - Reversal prepares the rogue for the next melee attack against him or her. When it hits, the rogue takes reduced damage and instantly rolls to the opposite side of the target and executes a powerful melee attack. This will even allow rogues to move past enemies that are fully blocking a path.
  • Sneak Attack - This damage bonus applies whenever the rogue "flanks" an enemy or when the rogue is hidden from an enemy. Flanking means that the rogue is within a short distance of the target and on the "opposite" side of that enemy from an adjacent ally.


Wizard

  • 1st Level Wizard Spells - Wizards can access all 1st level wizard spells immediately. Unlike other wizard spell levels, the wizard does not need to find scrolls or grimoires to use any 1st level spells. Wizards can cast a fixed number of 1st level spells before they must rest to recover their uses. They can cast any combination of different spells up to the per-rest limit. As wizards gain levels, their 1st level spells will eventually become per-encounter resources.
  • Blast - When wizards use any implement (i.e. a wand, rod, or scepter), they generate a Blast on the target. The Blast does a modest amount of damage to all enemies in a Small area around the target (excluding the target).
  • Familiar - All wizards can summon and dismiss familiars. Familiars are mobile "totems" for the wizard, providing defensive bonuses to allies near them and inflicting defensive penalties to enemies near them. Players can also access the master's spell list through the familiar, though casting a spell through the familiar still requires the master to physically cast it; it's simply targeted from the familiar. Familiars are weak and fragile. If a familiar is killed, the wizard takes damage and is unable to summon his or her familiar until he or she rests again.


As players advance their characters, they have the ability to choose class-specific abilities and more class-neutral talents (more like perks or feats) to customize their character capabilities. If you want to keep your fighters very low maintenance, there are a large number of passive fighter abilities and combat-oriented talents that you can buy. If you'd like to make a fighter that's much more "active-use" (more like a 4E fighter), you can choose to buy more modal and active abilities. Similarly, while all wizards gain additional spells, you can use talents to boost a wizard's damage with implement weapons and Blasts, making them more useful when you're not having them chain-cast a series of limited-use spells.

The same also applies to skills, which are used for a variety of non-combat purposes. All classes start out with bonuses in the skills that their classes most commonly use, but players can choose to reinforce or play against that top. If you want to make a paladin who delights in picking locks, you can do that and get a lot of utility out of the skill -- though the character will never be quite as good as a rogue who specializes in it.

We hope that these approaches use the strengths of a "role-ready" class system while allowing players a large amount of helpful flexibility in how they develop characters over a (hopefully) long and fruitful adventuring career.

That's all for this week, and this year! We'll be back in January with more details on what we're up to and where we're going in the months to come. Thanks for reading!

Update from Josh Sawyer