Pages

Thursday, October 16, 2014

When Two’s a Crowd...

I've recently managed to outpace my proofreaders, so I switched off writing to work on something we’ve wanted to get to for a while, character portrait presentation.

We wanted to experiment with multiple speakers on each side to give the impression of the player's party participating in a discussion (or argument) as a group. First pass implementation of this was easy, but had a few glaring problems...


Even though Scylax is the one speaking, Nephele appears bigger and louder. (We had looked at our character designs next to each other before, but never overlapping, so this is the first time we were really made aware of discrepancies of height and body proportions.) Additionally, Scylax's wide-spreading coat ended up intruding on the dialogue text, even though that position had worked for other (narrower) characters.

To fix this, we're giving each character portrait its own set of presentation variables that track its size and position for each slot. So when Nephele's not speaking, she shrinks a little and backs up. And when Scylax is speaking, he doesn't scoot forward quite as far as other characters do. We also decided to dim characters in the background.


Which looks a lot better.

Also, as of right now we haven't really solved when we should put characters on the same side in a conversation. We just always do it with the party (even if there are no NPCs talking), which is serviceable, but probably not as good as it could be. We'll keep mulling over it, but if you have any ideas for when groups of characters should be displayed, or any examples of games that solve this problem well, we'd like to hear about it in the comments.

Saturday, October 11, 2014

Level construction and keeping focus in the Unity editor

Up until now, creating the geometry for a level in Hellenica was controlled entirely through keyboard input. Here's what it looked like:


It's a cinch once you pick up the hotkeys, and now that I've been using it for a few months, constructing the geometry for a level is one of the quickest parts of the process.

Recently, we've been thinking about how to layer on Valery's art to make our environments more appealing. I decided it was going to be cumbersome and complicated to paint specific faces of the level blocks using keyboard hotkeys. The time had come to add mouse picking to the editor interface.

I immediately ran into issues dealing with Unity's default mouse picking behavior, though. Whenever you click on a GameObject in the scene view, Unity changes its focus to that new object! Generally, this is exactly what the user wants. In our case, however, painting tiles becomes very difficult when every click changes the user's selection!

After some internet research and experimentation on my own, I ended up with a solution that works well for us. It comes down to overriding Unity's GUI focus for the duration of the painting operation. Here's a quick sketch of how this is done:

 ...
else if (Event.current.isMouse)
{
process_mouse_input(Event.current);

// if we detect a left click while the mesh editor is selected,
//   do not allow Unity to change our selection. assume we're editing
//   until we release the left mouse button.
if (Event.current.type == EventType.MouseDown && Event.current.button == 0)
{
    // hotControl is a static variable that Unity uses to track the
    //  active GUI control
GUIUtility.hotControl = m_editor_control_id;
}
else if (GUIUtility.hotControl == m_editor_control_id &&
Event.current.type == EventType.MouseUp && Event.current.button == 0)
{
GUIUtility.hotControl = 0;
}
}
 ...

I begin overriding GUIUtility.hotControl on the MouseDown event and hang on to control until a corresponding MouseUp event to guarantee that the editor captures clicks as well as sustained drags.

m_editor_control_id is generated as follows:

m_editor_control_id = GUIUtility.GetControlID(this.GetHashCode(), FocusType.Passive);

As you may be able to tell, this solution isn't perfect. Any gizmos that end up in front of the level mesh will be unresponsive to mouse clicks so long as the mesh remains behind them, as the mesh editor is now all-consuming. (Muahaha.) But, it works well enough for us to get started painting levels.

Here's a quick gif of a paint job I did with some test tiles:


I have no doubt that this system will keep evolving as we go. If anyone out there has any ideas for improvement, let me know!

Friday, October 3, 2014

Welcome to Level 6

**This post contains vaguish spoilers**

This past week I've begun work on the sixth (of 8) levels of social hubs in Hellenica. This is taking us to the final stretch of the story, and setting up all the good dramatic twists/betrayals and deaths that mark the act 2-3 transition.

Social hub six is also probably going to be the last social hub the player makes story-shifting choice in. One reason is because the cumulative weight of all the previous choices is making writing scenes at this level more difficult. My current social hub in particular feels like it's 80% devoted to either tying together the various plot threads that could have lead to this point or setting up the various choices the player will have going forward.

A lot of the difficulty is the NPCs, which will follow their own paths through Hellenica mostly regardless of the players’ actions. Maybe you've bumped into them before and have some catching up to do. Or maybe you have no idea who they are and what they stand for, but they might be important for the way the plot’s about to turn. My current social hub features an intersection of 3 such NPCs, so getting the player up to speed without grinding the story's momentum to a halt is a significant challenge.

The second reason we’re doing away with branching for the rest of the game is to really commit to each of six endings. We never liked games where you could just reload a few minutes from the end, make a different choice, and then get a completely different ending. It frequently felt unearned, and the plot would often have to twist itself to justify how this one final decision was more important than any other decision you made the whole game.

The Hellenica approach is completely different, with your last storyline-affecting choice happening at the end of act 2. The whole climax and conclusion are a reflection of all the previously made choices. This will hopefully lead to better narrative flow to the conclusion, as well as making each ending feature enough callbacks to previous choices to make it a unique experience.

Wednesday, September 24, 2014

Valery has joined your party!

Sorry folks, this last week has seen a whirlwind of activity on our end, both with Hellenica developments and life events. We didn't forget you all, though!

Today I want to announce one fantastic result of this activity, and that is our partnering with a new combat artist! For the longest time, we've been unable to show the gameplay of Hellenica because of our placeholder artwork. I'm already in the process of integrating new art, so soon we can start showing you all more of what we're working on.

So who is the artist? Valery Kim is a pixel artist that found us through the TIGSource forums. She has a unique style and a solid background working on other games in our genre. Here's some of her work:


You can check out her live blog here for more.

Now, for a little Hellenica teaser, here's the test submission that made us choose Valery in the first place:


There's much more to come, stay tuned!

Thursday, September 11, 2014

It takes a Village...

During my first video game release party, five months after I had begun working in the industry, I approached the lead designer of Saints Row 2 to offer him a compliment, "You made a great game." He corrected me, "No, we made a great game." If I still harbored any illusions of a superstar designer driving a game's creation, they were shattered that day.

Even if Kurt and I are the only full-time developers working on Hellenica, we've had the support of a plethora of talented people. And since we've gotten even more help than usual lately, I thought it'd be good to recognize the different people involved and the help they provide.

Within the past week alone...

Numerous friends and family have played through an alpha build of Hellenica and given great feedback with regards to usability and difficulty, and the occasional bug or grammar mistake.

My friend, Topher, also found a particularly rare bug, where a line would be repeated if you took a very specific story path (3 in 58 chance). Additionally, he provided feedback about how our UI reads to his color blindness.

My friend, Bergy, provided Greek culture consultation, discussing the finer points of the Oracle at Delphi, the river Styx, and Athenian politics, as we worked to mold these elements into great conclusions(plural) to our JRPG-styled story.

Our writer, Siobhan, helped edit new bits dialogue we added to improve narrative flow where playtesters were confused.

We worked with YDY on our last set of character portraits.

My brother explained to us why one of our character's muscles were physically impossible, and helped us give feedback for YDY to iterate on.

My friend, Maja, advised us on the mechanics of female poses (also for a character portrait). My girlfriend also allowed herself to be thusly posed as we iterated towards a more reasonable stance.

We conducted a combat artist search and asked a wide array of gamer friends to give us feedback on the final candidates we had selected.

And honorable mention to my mother, who has (before this week) proofread all of Hellenicas 4800+ lines.

Another honorable mention to Daniel Thomas, who the week before last finished up his work on Hellenica’s backgrounds, which drew nothing but praise during our playtest.

Hellenica wouldn’t be where it is without them, and Kurt and I are very grateful.


Wednesday, September 3, 2014

Hellenica Characters: Reworking Diona, Nephele, and Nyx

Now that we've wrapped up most of our character portraits for Hellenica, we had some time to go back and revise some of our earliest characters. We realized that the first pieces we worked on with our previous artists didn't quite match up with the style we established with our current artist. Ack! Who will save us now?!

Oh, I guess our current artist. Probably.

So, we had her do a little touch-up work. Here's a process shot of how our characters were transformed:


Nephele and Nyx were fairly straightforward. We shrunk their heads and eyes down a bit to be closer to the mostly realistic character proportions of our other characters. In Nephele's case, we had to make her nose and mouth a little more well-defined as well.

For Diona, we made similar adjustments to her facial features, but in the end we just weren't happy with the way the pose was working out. During her conversations in game, she looked unbalanced and a bit awkward. So, starting again from the sketch stage we put together something more natural. We already had a great color scheme worked out, so it was a little easier than completely starting from scratch.

And that's that! As on the internet, photoshop can fix any problem. What do you think? We're hopeful that once players get into the game they'll never even know that these three characters were originally done by a different artist!

Monday, September 1, 2014

Seeking an experienced 2D artist!

The time has come again for us to open the gates of the Dragonloft and seek out a talented artist to help bring Hellenica to life. If you're a regular reader here, please help us in the search and share this link with any artists you think might be interested in creating Hellenica with us. For those arriving for the first time from Twitter or other internet tubes, please take a look at our job description to see if you're interested! Take some time to check out the rest of this dev blog too, we've already done a lot of neat work!

(The job post in full..)

Hello! We're the Dragonloft.

We're game developers with AAA experience who are working on our first indie title, which aims to take the endearing JRPG genre and rework it to function in a tighter-paced form.

We've been iterating on the game in some form for just over 2 years, and we're at a point where we'd like to find a dedicated artist to bring our isometric characters and environments to life.

We have a unique Greek Steampunk setting which reimagines the cultures and people of ancient Greece in the wake of an industrial revolution, blending iconic landmarks like the Parthenon and the Colossus of Rhodes with the gears, smoke, and inventiveness of a steampunk world.

We're looking for a dedicated individual that can make our isometric tactics gameplay visually inspiring and delightful. We look to the original Final Fantasy Tactics for style direction (see examples here), but may be open to other ideas if you can convince us of your skill and dedication. We believe that the artist really needs to own the vision to do their best work, so as long as the style serves the gameplay (easily readable, enhances the tactics gameplay) and fits the technology (2D sprites and tile sets), we are somewhat flexible.

The right person should have experience doing environment tile sets, animated 2D character sprites, and animated 2D effect sprites. Some comfort with technical art is required as well, given the focus on character animation and our desire to craft our levels from shared tile sets. Also, let us know if you've used Unity before.

We're looking for someone that can begin working right away, as we're hoping to wrap up development on the project early next year. We're only interested in hiring dedicated contractors for pay, though terms are negotiable depending on your preferences.

If you're interested, please respond with any relevant past work, your usual rates, and your availability.

You can reach me here: kurt@thedragonloft.com

Thank you for your time! We look forward to hearing from you.