Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411273 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 02:57:00 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsBurly Men at Sea - A Folktale Adventure [Available now!]
Pages: [1] 2 3 4
Print
Author Topic: Burly Men at Sea - A Folktale Adventure [Available now!]  (Read 13136 times)
dmcondolora
Level 0
***

Left Brain


View Profile WWW
« on: March 11, 2015, 09:24:16 AM »



A folktale about a trio of large, bearded fishermen who step away from the ordinary to seek adventure.

Set in early 20th-century Scandinavia, the game's story branches through discovery in a series of encounters with creatures from folklore. The player acts as storyteller and wayfinder, shaping the narrative around the characters through interaction with their environment.

Available now on these fine storefronts!

Steam (PC/Mac)
Humble Store (PC/Mac/Android)
Itch.io (PC/Mac/Android)
App Store (iOS)
Mac App Store (Mac)
Google Play (Android)




Background
The game actually originated as a name: for reasons since forgotten, we were once convinced that “Burly Men at Sea” was a great name for a coffee shop. Brooke later co-opted the name for this game, and we love it.

We’re drawing a lot of inspiration from the remote fishing villages of Norway, along with Scandinavian folklore. Mythological creatures and fantastical situations will be the norm on this strange voyage. We’re designing Burly Men at Sea with a branching storyline, so you can have multiple unique adventures.

Pre-production began shortly after our first game, Doggins, was released in 2014.

The Team
Brain&Brain is David and Brooke Condolora, a husband-and-wife indie dev team. I (David) handle the programming and sound design, and Brooke is the artist and animator. We share/split design and writing duties, with Brooke being the lead designer and writer on this project.

Info
Website: burlymenatsea.com
Platforms: Mac/PC/iOS/Android, with more TBA.
Release: 2016

I’m excited to share Burly Men at Sea’s development with the awesome community here! We’d love any feedback you have as the game takes shape. Thanks for checking it out!

- David
« Last Edit: September 30, 2016, 02:55:44 PM by dmcondolora » Logged

MereMonkey
Level 2
**


Creator of Music


View Profile WWW
« Reply #1 on: March 11, 2015, 09:56:33 AM »

Brooke your artwork is so pleasant to look at, can't wait to hear/see more from the two of you!
Logged

My Site  -  My Twitter - *GASP* MY SPINACH PUFFS!
dmcondolora
Level 0
***

Left Brain


View Profile WWW
« Reply #2 on: March 11, 2015, 11:59:36 AM »

@MereMonkey: Thanks a lot! I'll post again later this week with more art and info. Smiley
Logged

GroZZleR
Level 1
*



View Profile WWW
« Reply #3 on: March 11, 2015, 01:56:03 PM »

As a big, bearded man, I approve.  Dig the overall aesthetic so far, looking forward to seeing some screenshots / mockups.  Followed!
Logged

dmcondolora
Level 0
***

Left Brain


View Profile WWW
« Reply #4 on: March 13, 2015, 10:50:43 AM »

@GroZZleR: Awesome, thanks for the follow! Hopefully this post will deliver more bearded-goodness.

Let's talk about dialogue!

Unlike Doggins, dialogue is a big part of Burly Men at Sea. But being a bit of a twist on the adventure genre, we're trying to tackle dialogue in a different way. Rather than having dialogue trees, the characters will take part in (relatively brief) scripted conversations that reveal character and push the story forward, but keep you from getting tired of clicking through options and prevent you from reading the same dialogue more than once.

There are a couple of things to point out:

  • Conversations contain not only spoken dialogue, but description. This is intentional, as we're going for more of a story-telling feel, and trying to keep some distance between you and the characters. You're not playing as them, but you are telling their story.
  • An anchor icon signifies that this is the end of the conversation. Lines of dialogue are displayed one at a time, with a ships wheel icon signifying that the conversation will continue when you click.

Brooke is writing all of the dialogue, and she's doing it in Twine, a web-based tool for creating text-driven games. This allows her to set up nodes that represent the branches of the story, and actually gives us the ability to play through the game before we have any art or code. This helped us create a strong blueprint for the game before we began production, and allows us to easily visualize the game so we can see which branches might need more content, or which sections are too fat.

To actually incorporate the dialogue into the game, I created a simple markup syntax, along with an AppleScript utility (called BurlyWords) that reads the file and adds it to a Numbers spreadsheet, which serves as our dialogue database.
All of the lines are contained in the database, along with information such as which character is speaking, where the dialogue takes place, notes about implementation, etc. Each line also has a unique 'line code' identifier and is part of a scene, which is a group of lines. Here's what the database looks like:


Most of my ideas for the dialogue database were stolen from a fantastic talk that Anna Kipnis of Double Fine gave about their dialogue system, which you can watch

. There's also an extended version of the talk on the GDC Vault, and an interview with her about their dialogue system here. If you have dialogue in your game, I highly recommend checking them out!

Next time: coding up dialogue in Unity!
« Last Edit: August 06, 2015, 04:00:59 PM by dmcondolora » Logged

Ninety
Level 1
*


turnip boy


View Profile
« Reply #5 on: March 14, 2015, 04:20:19 AM »

The name alone is gold. Art looks great, love the mockups (perfect font/palette choice).
Logged

dmcondolora
Level 0
***

Left Brain


View Profile WWW
« Reply #6 on: March 15, 2015, 08:26:03 AM »

@viridian: Thanks a lot! Brooke is intentionally using a limited color palette (and limited shape language as well, but that's a post for another time). Here's an image that represents the current palette being used for the backgrounds:


She also wrote more about her process of balancing background and character color here, which includes another process image and some things we learned from hand-drawn animation.
Logged

dmcondolora
Level 0
***

Left Brain


View Profile WWW
« Reply #7 on: March 17, 2015, 10:04:54 AM »

When it came time to implement Burly Men at Sea's dialogue system, I took a look at a few third-party options, but most were deep and involved, with far more power and features than we needed. While dialogue plays a large role in our game, we're intentionally avoiding dialogue trees, and our presentation is simple. Why not write my own system?

I'm relatively new to game programming, and even newer to Unity, so before I show any code I should acknowledge that this is likely not the best way to implement this system, and I welcome any feedback you might have. I'm also sure that BMaS's dialogue system will change and improve over time, as we're still relatively early in the production process.

After the dialogue is written and entered into the database (see this post), it's exported in JSON format. I use the free SimpleJSON library to import the file into Unity, and that's where the fun begins.

I created a namespace called BurlyDX (DX is a common shorthand for dialogue in the film industry) with three classes: DXLine, DXScene, and DXScript. When brought into Unity, the database-exported JSON file is read in as a DXScript, with each scene in the file becoming a DXScene, which is in turn made up of an array of DXLines.

Here's the basic code, minus various member functions:

Code:
public class DXLine {
public string lineCode;
public string lineText;
public int length;
public bool waitForTap;
public string actorName;
}

public class DXScene {
string sceneName;
int sceneLength;
DXLine [] dxLines;

public void InitScene (JSONNode newScene) {
sceneName = newScene[0]["scene"];
sceneLength = newScene.Count;
dxLines = new DXLine[sceneLength];

// Fill the scene with dialogue lines
for (int i=0; i < sceneLength; i++) {
// Instantiate a new Dialogue Line
dxLines[i] = new DXLine();
dxLines[i].InitLine(newScene[i]);
}
}
}

public class DXScript {
int numScenes;
DXScene [] dxScenes;

public void InitScript (TextAsset dxFile) {
// Parse the JSON file and then initialize the dialogue script
var newScript = JSON.Parse(dxFile.text);

numScenes = newScript.Count;
dxScenes = new DXScene[numScenes];

// Fill the script with dialogue scenes
for (int i=0; i < numScenes; i++) {
// Instantiate a new Dialogue Scene
dxScenes[i] = new DXScene();
dxScenes[i].InitScene(newScript[i]);
}
}
}

Once setup, this structure is pretty simple to use. For example, when you arrive in the Fishing Village at the outset of the game, a single function call kicks off the entire opening dialogue scene:

Code:
dxSystem.SayScene("The Bottle");

I can also display a specific line of dialogue by passing in a particular lineCode. So far, I'm pretty happy with this relatively straightforward approach.

The dxSystem variable above is an instance of the DXSystem class, which controls how dialogue lines are displayed. I started out using Unity's built-in Text Mesh component to display dialogue, but it proved to be pretty limited, particularly because it lacks any sort of text wrapping. After spending a few hours trying to write my own TextBox class, a couple of folks at GameNest pointed me to TextMeshPro, a Unity Asset. While overkill for my needs, it has text wrapping and an SDF font creator, both of which are very useful. I bought it and haven't looked back.

Dialogue lines are displayed one character at a time, unless the user clicks/taps, which results in the entire line being instantly displayed; this should be a familiar setup for most players. A small 'ships-wheel' icon then appears and rotates until the user clicks/taps again, triggering the next line.

This post is getting rather long, so I'll end it there. If you have any questions, feel free to ask away!

Next time: Chickens! (Yes, chickens.)
Logged

dmcondolora
Level 0
***

Left Brain


View Profile WWW
« Reply #8 on: March 19, 2015, 08:30:31 AM »

In contrast to Tuesday's code-heavy post, today's entry is all about visuals. During their adventure, the titular Burly Men at Sea will encounter all manner of exotic creatures, both real and mythical. Let's look at one of them: chickens.

Populating one of the buildings in the fishing village (seen at the top of this thread), the design for the chickens veritably popped out of Brooke's head and onto the screen. They're partly an homage to the Cucco of Zelda fame, and are definitely informed by her experience growing up on a farm in rural Arkansas. Here's one of her first sketches, along with her initial idea for how they would be animated:


And here's the final design and animation:


When you walk into the Chicken Shed in the village, you're greeted by a flock of these chickens, all pecking and hopping at random. We programmed them to have a life of their own, ambling about the room searching for bits of unseen food on the ground. They're also an example of how we're trying to build interactivity and a sense of play into the world: tap a chicken, and it will flutter and scurry away.

The Chicken Shed is also home to a highland cow:


Like the chickens, you can interact with the cow, and it doesn't exactly like you touching it.

Next week: vector graphics in Unity!
Logged

and
Level 6
*



View Profile WWW
« Reply #9 on: March 24, 2015, 12:13:46 PM »

Ah I love this art! Posting to follow.
Logged

ZeroTec
Level 1
*



View Profile WWW
« Reply #10 on: March 24, 2015, 01:28:52 PM »

hahaha, the chicken is more than awesome  Kiss
Logged

TheChaoticGood
Level 1
*



View Profile WWW
« Reply #11 on: March 25, 2015, 07:53:42 AM »

I like your art style. It's super clean. And I agree, make the game about the chicken. Chicken at sea. Chicken of the sea?
Logged

marksands
Level 0
*


View Profile
« Reply #12 on: March 25, 2015, 09:56:14 AM »

Instant fan! I'm excited to see where this game goes.
Logged
AD1337
Level 9
****


Lucas Molina


View Profile WWW
« Reply #13 on: March 25, 2015, 01:48:35 PM »

dat art
Logged

dmcondolora
Level 0
***

Left Brain


View Profile WWW
« Reply #14 on: March 26, 2015, 09:34:08 AM »

Wow, thanks for the comments everyone! You can see more of Brooke's work in our game Doggins, and in her personal portfolio. We're really excited with how Burly Men at Sea is developing visually. In fact, we made some significant game design changes early this week that should make it even more visually striking.

Speaking of art, let's talk about how we're putting those beautiful illustrations onscreen!

While she usually starts with sketches on paper, Brooke does nearly all of her finished artwork in Sketch, a vector-graphics application on the Mac. When we did Doggins, she would export the art, add texture in Pixelmator, and then send it to me to put into the game. We also created sprite sheets for all of the animations. Pretty standard stuff. For Burly Men at Sea, Brooke was wondering if there was a simpler way. Could we skip having to turn her art into raster images? Could we display vector graphics in Unity?

Enter RageSuite, a package that adds a host of vector graphics capabilities to Unity. Now, Brooke creates the art in Sketch, exports an SVG, and I import that directly into Unity. That's it. No raster images. No sprite sheets. In fact, almost every piece of art in Burly Men at Sea is now vector and rendered in real-time via RageSuite.

Here's what the Fishing Village looks like in Sketch:


And imported into Unity:


Using vector art has a few advantages:

  • Smaller game footprint. Currently, all of the artwork in the game amounts to 2.2MB. By comparison, a single sprite sheet for Brave Beard was 200KB.
  • Lower texture memory usage. I'm less sure about this one, but I'd imagine we're using very little texture memory, as every object is made up of splines filled with solid colors.
  • Resolution independence. We can scale up and down as much as we want; the artwork won't break down. This is really helpful when deploying to a number of platforms with different screen resolutions. For Doggins, we created two sets of assets, one for low-res devices and one for retina displays. This not only increased complexity, it more than doubled the storage space needed for the artwork. Now we work with a single set of assets that will always be sharp, even on extremely high-resolution displays of the future!

There are also a few disadvantages:

  • Performance impact. Vector graphics take more CPU power to render than simple bitmaps and sprites.
  • Increased scene complexity. This is both bane and boon: when I import an SVG file into Unity, it recreates all of the layers that were in the original file (as you can see above). This gives me a lot of flexibility to move individual objects, resize pieces of scenery, and adjust layering order, but it's also typically overkill, and adds potentially hundreds of unnecessary GameObjects to the scene.
  • Inconsistent results. RageSuite's SVG importer isn't perfect, and some SVG files import beautifully, while others are broken in unpredictable ways. I wrote a Sketch export script for Brooke that looks for known problem areas before exporting, but we're still learning what those problem areas are. In particular, it's impossible to predict whether or not a boolean object will work.

Still, we think the pros outweight the cons. We're not really aware of another game that's used vector graphics this detailed in this way before, and its exciting to be sailing into stranger waters!
« Last Edit: August 14, 2017, 01:44:54 PM by dmcondolora » Logged

dmcondolora
Level 0
***

Left Brain


View Profile WWW
« Reply #15 on: March 26, 2015, 01:09:04 PM »

Here's RageSuite in action, showing the editable splines (being rendered as a mesh):

Logged

Alberto
Level 0
**



View Profile WWW
« Reply #16 on: March 26, 2015, 04:22:04 PM »

Love the art and colors, seems very peaceful.  Smiley
Logged

ScaryPotato
Level 2
**



View Profile
« Reply #17 on: March 26, 2015, 05:54:40 PM »

Such a charming style! Like everyone else, I can't wait to see more Smiley
Logged

Daze Hill
Level 0
**


View Profile
« Reply #18 on: March 26, 2015, 07:32:52 PM »

Trying to achieve a similar art style, I'll take some notes!
Logged
dmcondolora
Level 0
***

Left Brain


View Profile WWW
« Reply #19 on: March 31, 2015, 10:33:25 AM »

One of the design challenges of this game is that it’s called Burly Men at Sea, not Burly Man at Sea. That plural creates an important distinction: this is a game about a group of people. But since it’s also a folktale, we’re trying to keep some distance between the player and the Brothers Beard. You don’t control the Brothers; rather you’re the storyteller, influencing their world. And while they do react to you and move, you’re never controlling a specific character or Brother.

So how does one player move a group of three characters?

Currently, the player moves the camera, and the Brothers Beard follow it. Right off the bat this creates a different feel, a slight disconnect that broadens your perspective. To give the characters a sense of individuality, one is randomly chosen to start moving first, with the other two following at random intervals. This gives an impression of inner monologue: “Hey, Brave Beard is walking that way. I wonder what he saw? Guess I’ll check it out, too.”

The Brothers will continue walking as long as you’re moving the camera. If you change the direction the camera moves in, the Brothers stop, a new one is chosen at random to walk in the direction of camera movement, and the other Brothers follow suit. When you stop moving the camera, the Brothers walk to the center of the screen, nicely lining up.

In practice, it looks like this:


There are a few unsolved problems:

  • The Brothers tend to stack up. Right now they don’t know anything about where the others are, so if they hit a barrier, they’ll all stack up perfectly, leaving only the top Brother visible.
  • They can also become too spread out. Depending on how long it takes for them to start walking, the distance between them can become pretty large. There needs to be some space, but they should all be on screen at any given time.
  • Their movement doesn’t reflect their personality. With names like “Brave Beard”, “Hasty Beard”, and “Steady Beard”, the way they should move is obvious, but right now they all move identically.

I’m going to spend the rest of the day working on these problems. Once the character movement is satisfying, even if not yet perfect, I can move forward. There is much to do!
Logged

Pages: [1] 2 3 4
Print
Jump to:  

Theme orange-lt created by panic