Epic Trip Complete! Website Down! Crew Sim Up! Chaos!

Phew! What a week. After multiple days of driving, flying, crossing time zones, speaking French, and navigating bureaucracy, our cross-country trip is complete. Looks like we may be cleared for moving to the US! Now begins a new laundry list of things that need doing before we can uproot and relocate. Lawyers, accountants, movers, landlords...we're in for some fun now!

Also, to make sure things were not too boring upon my return, the website died. By all accounts, it was a spammer clogging the system via a security hole, and the hosting provider suspended the website until we could root it out. It took a few hours, but I think we've cleaned the offending spam script and patched the hole(s). Still, we'll be keeping an eye on things just to be sure. Sorry about that!

And despite the whirlwind of activity above, I still managed to get some tinkering done on the prototype. The main feature is status text above each crew to help me see what's going on:

IMAGE(http://bluebottlegames.com/img/screenshots/screenshot-2016-01-29.jpg) Riveting, I tell you. RIVETING.

Long-time readers will recognize this from the old Haxe version of the prototype. This is basically the same AI code running in Unity, with UI text floating above each crew member. I hastily added some code to spawn extra crew with a keypress, and can fill up my ship layout and watch them go.

As usual, it wasn't too hard to port. The main issues were learning how Unity handles UI vs. the way Haxe/Flixel did.

So far, I think the main issues are some visual glitches. I've got the UI text setup to stack vertically if it overlaps, but it breaks if there are more than two crew on the ship. (Which I think is a simple error in my code.)

Also, the timing of the UI text updates is a bit off from when the AI is acting. The last action sometimes lingers over the crew too long, and other times, the text appears and disappears too fast to read. Still other times, the text doesn't update until too late, often after the action has happened.

I need to sort this out for more accurate testing/debugging. It might be that I can't rely on the timing of the action queue being cleared. Or I may need to do some special handling to make sure actions aren't firing before the AI has pathfinded to its goal.

But the good news is that these issues are more shallow and shouldn't be hard to fix conceptually. Just details. A more complicated and challenging task lies beyond that: figuring out how to present these AI interactions to the player so they can watch it for entertainment.

Talking heads on the bottom of the screen, with a dialog scrolling past?
Roguelike general message log with all on-screen participants sorted chronologically?
Text bubbled above each AI?
Let the user focus on individual conversations and hide the rest?

Tough decisions!

Comments

Magi's picture
Magi

Where are the push-ups? :(

The Science&Sorcery Mod deal with nanobots. travel to the astral realm.

Kaaven's picture
Kaaven

Talking heads... Now you simply have to have talking heads. If the game is supposed to be at least somewhat character driven, you need to make the characters somewhat unique and quickly recognizable. With the character sprite types you have seemed to settled on, the visual customization of the actual avatars wont work at all (your game cannot have customizable hats at this point, which makes it pretty much a failed endeavor anyway... ;). So, you are left with no other choice but to have really pretty talking heads :D


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

dcfedor's picture
dcfedor

@Magi, the furious push-ups are still there. Never fear!

@Kaaven, I'm tempted by the talking heads, too. Visually, I think it's the most interesting option. It'll mean a new batch of art, though, and has some technicalities that need sorting out.

Seen any good examples out there to maybe emulate? The first thing which came to mind for me was Target Earth, but now that I look at it, it was only ever one talking head at a time:

IMAGE(http://i108.photobucket.com/albums/n22/gg80/Target_Earth_U_006.jpg)

in my head, I remembered it being more like:

IMAGE(http://nectargamestudios.com/blog/wp-content/uploads/2015/05/dialog_wip-825x510.jpg)

though that one probably dominates the screen too much. You'd have to exclusively read the conversation or watch the rest of the ship unless the dialog window was smaller. It could also be something like this:

IMAGE(https://lostinthezone.files.wordpress.com/2015/01/tactics-ogre-let-us-cling-together-screenshots.jpg?w=620)

which keeps the dialogue from obscuring the main view while allowing for headshots.

The other questions are, what is the rest of the ship doing when this dialogue pops up? Do we only see one conversation and miss all others that are happening? How does the player focus on a conversation or switch to another one?

As for character customization, I think it'll still be possible. I saw an interesting approach on Twitter:

IMAGE(https://pbs.twimg.com/media/CYCLO5xW8AAsxrl.png)

where each of the character parts is a separate sprite that animates like this. I think the animations could be improved, but the setup seems pretty modular/customizable and still compatible with the sprite style I've been using.

Dan Fedor - Founder, Blue Bottle Games

Kaaven's picture
Kaaven

You will probably want to keep only one character talking at the same time, not to overwhelm the player. Especially since it is supposed to be game player from the captains perspective, so I imagine those would mostly be random confirmation barks: "Toilet in room 7 cleaned!", "We're low on supplies!", " The auxiliary generator is on fire!" kind of deal. Plus some mission to-and-fro.

So if I'm right a dedicated comm panel would serve really good both for playability and GUI stylization. Either a sidebar or a bar at the bottom of the screen (like in those Japanese / RPG Maker style games). It could simply disappear when no one is talking so it would give player more space most of times.

IMAGE(http://i1302.photobucket.com/albums/ag130/Kaaven/output_3ogoNH_zps8mucwy3q.gif)
;)

---

Talking about the character sprites - I didn't said it's not possible. It just won't be enough. Scale those twitter dudes down to your prototype size, take away the weapons and add the blurry lighting of yours and the dudes will be basically recognizable by color - red one is captain, blue one is pilot, etc. Good for RTS, but a bit too little for a game in which you want player to get attached to the dudes (which is essential if you want the Firefly/Alien experience).

So giving them faces on top of the slightly different color of the shoulders is pretty much mandatory ;)

Also, both the body sprites and the faces should be made of different parts which can be combined together - otherwise drawing each dude individual might be too much to handle or could simply restrict you down the line. Having 3 of each basic facial features will give you basically endless combination of faces, on the other hand.


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

Malacodor's picture
Malacodor

Those guys from the last pic look like they were waiting to be patted down by a police officer. The characters in the linked video look like DJs operating turntables.

Ran around with a clown mask before it was cool

Rovlad's picture
Rovlad

I guess it depends on the amount of dialogue you're planning to have in the game. Up until now I thought that there'd only be generic lines describing what characters are talking about (pretty much like in your screenshot), but if you're planning on having distinct personalities rather than randomly generated crew, then it comes down to how much of written stuff there is going to be.

Last screenshot appeals the most to me though, since it's 1) not blocking the view, 2) shows off two characters at the same time and 3) allows for faster reading/skipping compared to the first screenshot.

dcfedor's picture
dcfedor

@Rovlad, you're correct. It's still supposed to be generic chatter. So, like the screenshot's "telling ___ war stories" rather than "hey ___, remember that time we stormed the Luna base in August?"

However, I do want distinct personalities to show through these generic interactions. I'd like for there to be a gruff man-at-arms and a sniveling mechanic. It might mean I need multiple versions of interactions for each major personality type, or limiting which interactions each personality can use.

E.g. a defiance by a character may elicit harsh replies in the gruff crew, but backpedaling in the sniveling crew. That's basically how the sleep tree already works. A tired crew will continue sleeping while a rested one wakes, based on the conditions they have active.

@Kaaven, I think you're right that the single speaker UI is the easiest to follow. I found your gif entertaining :)

I'm hesitant to give up concurrent conversations on a ship, but maybe conversations other than the current focus can just be represented by blank word bubbles to show that they're happening but out of earshot.

As for sprite customizability, that shouldn't be an issue. The way the animation rig is setup, each sprite has several independently-moving parts. It can be more or less, but the screenshot I showed has (from top to bottom):

  • Hair
  • Head
  • Shoulders
  • Upper Arms
  • Lower Arms
  • Upper Legs
  • Lower Legs

It might even be too much variety for the reason you cite: sprites are so small it doesn't matter. I may have to play with size a bit to find the right balance.

And yeah, modular faces will probably be necessary if I go this route.

@Malacodor, they do, but I suspect that's just their version of the 3D modeling "t-pose." The videos show a bit more how they would look in-game, where sometimes arms and legs aren't visible. I agree the animations look weird, though. I'm hoping that's something better animations can solve.

Dan Fedor - Founder, Blue Bottle Games