March Update: Discord & GDC Prep

Community Design Development

image

Greetings!

Progress has been steadily moving forward on a myriad of smaller fronts.

To Start: Discord

We now have a Discord server: [https://discord.gg/Kw9g2XM]

Feel free to join up, hang out! Swing on by if you’re interested in Attunement or in a friendly game development community!


Loadout Builder

An improved loadout builder has been a long desired feature. The ability selection process in Ritehaven is partially tedious but this is a problem no longer!

On the left side, you can see two initial sketches of the LoadoutBuilder. I started by tabulating the necessary contents and then evaluating where specific content should go.

image

And here’s the functional prototype

image

Pressing Start within Ritehaven now opens the new Loadout Builder, where the player can quickly select their desired abilities and intended key bindings. When the builder is closed, it applies any kit changes to the player.

The Builder is currently disabled during matches and available in the main menu. There is a chance a specialized area in Ritehaven will be used instead of the [Start to Open Builder] approach, but overall the Builder is an improvement.

Ritehaven Improvements

Ritehaven, the playable main menu has been moving forward. Jarell is modeling and UVing the models necessary.

image

The fancy pagoda below is where players go to begin a match. Here’s a dev image of several concepts we explored.

image

Ritehaven is moving forward nicely.

Console

image

One development tool implemented in Attunement is a Console.

It is populated with a wealth of commands that can be used to modify the game state. These commands are particularly useful for understanding or recreating specific game states.

This console came from the Asset Store: [Dev Console](https://assetstore.unity.com/packages/tools/gui/dev-console-16833)

Refactor to StatusData

One of the programming systems that was revamped was the Status system. Previously, to give a player a status, a long function call with a myriad of defaulted parameters was needed. Sometimes the needed parameter was near the end of the options. This led to non-useful and confusing calls.

image

(Note, this was only 3 of the 7 different variants of the AddStatus method)

I refactored most of the content of Status into StatusData. Now we can use a builder pattern to define the behaviors a status should have then pass that single object into BaseShaper.AddStatus() and it’ll do the rest.

image

I even made the old functions just create StatusData to avoid needing to replace ALL instances of the different AddStatus functions.

image

I even plan to make an asset type that will contain a StatusData, allowing for easy configuration within the editor as well as migrating functionality out of hard coded values. This won’t happen until later however.

Auto Climber

image

When a character runs towards a knee to waist high wall, a small subroutine occurs. The character auto-climbs a short distance onto the wall.

The autoclimb subsystem makes it easier for players to navigate the environment smoothly while not expending jump charges for minor height differences. Do not mind the lack of animations, those come later in the development process.

It uses raycasts to check penetration depth. If the leg height raycast hits and the shoulder-cast doesn’t hit, it engages the autoclimb.

There’s an informative gif of this process on our [Twitter].

Seattle Indies Show & Tell

Attunement was showed at the Seattle Indies Show & Tell last month.

Fun event with a handful of people coming by. Gathered a slew of useful feedback & bugs to fix.

The best feeling by far was the younger kids who played for a while, then left to check out the other games… before coming back to play. They enjoyed the variety in the combat & took to it pretty quickly.

The other rewarding aspect was how many of the recurring design problems (player identification, enemy tracking, lack of damage feedback) did not reappear in this play session. It appears that subsystems like the target indicators, vibrant outlines, hit confirmation, and off-screen indicators are doing their jobs.

The largest current issue was tediousness of changing loadouts in the main menu – which the LoadoutBuilder has been constructed to address!

Future Characters?

image

I will say hardly anything on this topic, but indicate we are moving forward in this category. We intend for different characters to have core personalities which influence gameplay, while still allowing selection from the broad pool of abilities.

This image is of a character concept.

Closing

Well, that’s a general summary of January, February and March.

The next post will probably be a [Design Focus] article (with gifs) that will dig into how abilities impact play patterns and player strategy.

The post after that will address a more complex pivot in design objective. Short version is it’ll be the addition of non player vs player content so Attunement can have greater longevity. Multiplayer-only games need a wide player base to succeed and we don’t want to fail for that reason. It’s still VERY up in the air, so stay tuned for details as they arrive.

As always, thanks for reading!

 

[Original Post from Tumblr Blog]