Ugly Baby: “Ear-to-ear-grin-splitting, head-bobbing, whooping fun”

// May 10th, 2013 // 3 Comments » // Ugly Baby

Joyous words from a loyal fan! "North" has been playing the Early Access builds of "Drop That Beat Like An Ugly Baby" and has the response below to the latest build:
 

You guys made Ugly Baby awesome again!

It's really shaping up, now–I mean, like, ear-to-ear-grin-splitting head-bobbing whooping fun, kind of shaping up. 

Well done. Keep up the badass upgrades, you sly MOTHERHUGGERS, you.

Steam discussions boards replaced the last bit with hearts so I am guesing what Noth typed, but here is the original update notice: 

May 9th, 2013 — Ugly Baby Update — Waffles!

Are you hungry? Amy apparently wants you to be. What’s that, you say? Staying away from the carbs? Well, hopefully this update is just as delicious. 
 
GRAPHICAL USER INTERFACE: Michael went all crazy with the UI! Brand spanking new graphics to tickle your eyes. He’s a perfectionist, so he says he’s not done yet. How do you think it’s coming along? What can you figure out from it? What doesn’t make sense? 
 
GAMEPLAY: A new stunt has joined buzzes and grooves, because they were getting lonely. Meet the NEEDLE! Can you figure out how to do it? Gameplay has changed slightly, so listen closely. Get near anything to buzz an object. Orient the world to your stomach (bottom of the screen), to groove. If you hit things, you damage your sensor. If your sensor’s damaged, you can’t do stunts! As your sensor detects stuff, you build up a score multiplier, so keep doing stunts! 
 
VISUALIZER: Dave’s research continues to pay off. Play level one with some fast/heavy music. Dubstep, Rock, Death Metal, EDM. That’s all I’m sayin’.
We’d like to personally call out, the progress bar feature in this recent update was due in part to a user suggesting it. I’m an awful person and can’t remember who did originally, so if it was you, thank you, keep ‘em coming! 
 
As always, tell us what you love, what you hate, and where you think Michael’s running off to next week. He won’t tell us. 
Have you played the latest build? Tell us what you think in the Discussion Boards or on Facebook.

Concept Art!

It's been a while since we talked concept art for Ugly Baby, so let me break it all down.

Azumi Pentak is Ugly Baby's protagonist, and you'll get to know her in time. Ichiro and Jon are still working on her look and backstory. Check out some of Jon's illustrations:

azumi faces azumi fall
 
skydive azumi stand
 
azumi sketch
 
azumi 1
 
azumi key
 
vector character 3

Architecture:

We're also exploring city architecture. Jon drew inspiration from several different places (including overhead maps of landing strips) to come up with these shapes that may result in new architecture:

structure tops 
 
structure tops vector
 
connector examples + building
 

building large and small sketch
cap examples
 
city
 
accent examples
 

Building Paintovers:

Paintovers are a great way to explore new artistic directions before creating the 3D assets. As the name suggests, Jon grabbed some screenshots from the game and "painted" over them. What do you think?

paintover 3
 
paintover 2
 
paintover 1
 

The final step is to take the above and create an actual in-game test shot based on the above, as Amy did here:

UB_test_screenshot

Play Ugly Baby on Steam here!

Even Ugly Babies Need Hugs

// May 3rd, 2013 // 2 Comments » // Ugly Baby

Our good friends at Zapdot and Hybrid Mind have been working hard on Ugly Baby. Ichiro continues to rest as evidenced by this picture from yesterday. This is most excellent news because a rested Ichiro is worth at least 3 times as many points as a tired Ichiro! This week we look at visualizers and also the in-game HUD that tells you when your stunts are X-Games worthy.

Ichiro

Visualizers:

We asked Dave from Hybrid Mind to tell us a bit about his work with visualizers. He shares his thoughts and a couple of videos that showcase his work. The visualizers will work in the background while you’re flying through a level to help connect the gameplay to music. Depending on the stress and beats-per-minute of the song you pick, an appropriate visualizer will be selected to match the audio experience. This means that the level will look drastically different if you play Enya, vs. Skrillex and this will happen like magic!

The first video shows four different EQ visualizers that Dave created. These could be used as is, as a standalone app for use at a party for example…or as the basis for more complex visualizers within the game. Dave: "Often I like to create some simple prototypes first to get things working and then mess with them a lot more to change how they work and what they do."

The second video shows some visualizers that were tuned for high energy electronic dance music or dubstep. As an experiment Dave integrated the visualizer into city level 1 from the current build.

In-Game HUD/ Stunt Scoring Interface

Michael has been reading all the Steam discussion forum feedback and it should show in the next build that the team puts out. His efforts have gone into changing the stunt system and creating a new in-game HUD so that players know which stunts they nailed and how much they scored. Once the new HUD is in, players will be able to get more direct feedback on how to achieve high scores.

We started with a mockup:

point_ui_mockup_bigfont

Then took it to the whiteboard:

whiteboard_2

Then started playing with placement in game, and figuring how that would work on multiple resolutions and then gave it a little bit of depth:

3 4

We liked the idea so much, we went and created a different UI element to tie in with each major stunt: buzz, grooves and needles: 

5

And finally, we are working to hook it up in the game: 

6

Look for it in the next build!

Ugly Baby Signal Test 2 from Concept to In-Game

// December 5th, 2012 // Comments Off // Ugly Baby

Dave’s concept sketches turned into pieces turned into level design, using Michael’s Unity-side framework:

This happens when players start the level:

When they get more “signal” (the orange bits), the level becomes more complex:

Eventually, with enough signal, the level will look like this:

Yes.

Four Quick Things About Ugly Baby

// November 3rd, 2012 // Comments Off // Ugly Baby

Dave from Zapdot is working with Ichiro to create PCG worlds that respond properly to your music. And we’ve made an important stride this week, discovering a solid way to visualize beats using the BeatBox module AndyE created. This PCG city follows a few rules:

We basically create a layer of background geometry based on the song’s “stress” value. (Again, if you want to see how stress is calculated, check out this research paper here. It’s a doozie.)

For example, if a song stars out somewhat quietly (as many intros do), you’ll see the above. At a few points during the intro, we might hear a cymbal crash. At that point, we hit this:

Similarly, once we get down and dirty into the verse proper, the background resolves into this:

…and so forth. The end result would be something like this:

What’s really neat are the purple cubes you can sorta see in the screenshots. They appear to the beat, and their size depends on the momentary stress of the song.

We’re Going to PAX Prime!

// August 23rd, 2012 // 3 Comments » // DRP, Fun Stuff, Indie News, Monster Loves You!, Ugly Baby

By this time next week, we’ll be setting up for PAX Prime. I (Ichiro) am heading out on the 29th of August, and will stick around until the 3rd of September. With us will be Rohit (aka Leo) and Jonathan. Sadly, Elliot (DRP’s tech lead) will not be able to make it, but I’m thinking we should set up a two-way live stream on a mobile robot.

Anyway, while we’re out, here’s our checklist:

1. Be part of the Indie MEGABOOTH

30 indies. 30+ games. Here’s the trailer:

2. Grab a Bite with Valve

You know a publisher loves indies when you say, “Hey, want to meet with a bunch of us for dinner?” and they say, “Sure — when’s good for you?”

3. Show off DRP

“A massive, angry robot fires banks of lasers at an orphanage, slicing it apart to the horror of thousands of onlookers. You emerge from the wreckage on your jetpack, and blast at its weak points, breaking it apart like you’re dismembering a boiled lobster.” So goes our press release. And we’re ready to show off some of the latest Titans we’ve been creating. [Website!]

4. Show off Monster Loves You!

“You’re a young monster, orphaned by humans who now wear your parents as luxurious pelts. You live in the village of Omen, and your favorite snack is human toes.” We’re still working to polish the PAX Prime build with Radial Games, but it’s working on PC and iOS! Haxe for the win! [Website!!!]

5. Show the Ugly Baby?

Development is fascinating (read more about the PCG component here), but lengthy. Will we get to show off a snippet of the game at PAX Prime? Time will tell. [Website!!!!!!] Here’s the latest background test:

And So!

There you have it. If you’re in Seattle, come say “howdy”! Here are some shots from PAX East:

Sadly, Alicia (left) is staying in MA for this one. Kate (right) will be at the SEGA booth with her brethren and sistren at Owlchemy, showing off Jack Lumber.

Connect via @dejobaan and Facebook.

Ugly Baby Cities a la Amy

// August 2nd, 2012 // Comments Off // Ugly Baby

Submitted without comment, the Ugly Baby City Art, a la our 3D artist, Amy Mazzucotelli:

Ugly Baby Darkish July Shots

// July 13th, 2012 // Comments Off // Ugly Baby

Here’s what we’ve been working on over the past week. First up, the “Arc Complex” — a tunnel of vertical slabs surrounding a column of sliced washers:

Simple city lights — layers of additive-blended planes:

A test of shaders; the blue planes are from the above shot, but the purple cylinders are given a cutout pixel shader:

This is a graph of the pixel shader used to create the above. We use a lovely Unity utility called the Strumpy Shader Editor to generate the code:

We’re all about variations, so this is a variation on the above Arc Complex, as seen from above (left) and isomorphic view (right):

The “Elbows Gauntlet,” using pieces we’ve posted before. Here, each layer comprises four “elbows” that are turned at 90-degree angles, then slightly nudged:

And, finally, a nod to a favorite game:

Ugly Baby: June Gestation

// July 1st, 2012 // Comments Off // Ugly Baby

Our June, 2012 has focused on creating “patterns” — scripts that compose simple geometric solids in a scene that you can fly through. In particular, “foreground” patterns are all the pieces you’re trying to avoid smacking into when playing the game. Combine enough individual pieces (such as these arcs), and you get a tunnel:

When we begin creating one of these patterns, we typically have an end result in mind (though we may often achieve something entirely unexpected). For example, we were thinking “simple geometric city,” and decided to begin with one that represented buildings as a grid of blocks:

Interesting, but not actually a usable city. Sure, someone could live there, and it looks neat, but it’s not exactly what we had in mind, and there’s no path through it. If you played that level, you’d have to avoid this thing entirely (or smack into it and hope you had enough health left afterwards). So, to refine, we did this:

  1. Constrain it by not overlapping pieces. Pretty straightforward: generate fewer “buildings,” farther apart.
  2. Create some tall, narrow, green pieces and some short, wide, beige ones. The former represent buildings, and the latter represent walkways.
A really, really simple and abstract city representation:

There are now gaps formed in the pattern, such that the player can get through it without dying. The pieces are spaced farther apart, and there’s also a “thinning selector” that randomly tosses away buildings (to create the gaps). We can easily do all sorts of things here. For example, what if we made everything tall, and changed their colors? Here’s two lines we added to the script:

  • mutator.scale(queue, [1, 1, 16])
  • mutator.set_color(queue, hsv_to_rgb(rndsym(20), 50, 50))

And here’s what that produced:

There are all these paths you could take around the buildings, and spaces for hidden treasure (points? free gum?). Just for fun, tweaking a few parameters more (hue, scale, rotation) gave us confetti:

And constraining one dimension and using T-shaped pieces (fading from pink to red) or white 45-degree elbows looked like these:

That’s the basics of the system we’ve been working to create over the past year. Ideally, we should be able to change one variable (or two) and create something new and cool. These are simple examples, but our next step will be to layer multiple patterns to increase complexity. Here’s how we’d do a more cohesive structure like a tunnel of blocks:

  1. Create a grid of boxes.
  2. Hollow out that grid, keeping everything outside a square prism volume (a center column).
  3. Add “jitter” (slight randomization) to the remaining pieces’ lateral and vertical positions.
  4. Give them random hues (purple-blue) to mix things up.
Here’s that in action:

It’s fun to fly through, and immediately made us consider refinements. For example, if the level had an interesting skybox, we could randomly erase individual blocks, allowing the player to peek through the tunnel and see that skybox, or even to fly outside the tunnel. Or, what if we did this:

  1. Go for rings instead of a grid.
  2. Turn all the generated pieces to face vertical axis:

A simple transformation, but something that’d take a long time to do by hand, if we had to place each piece. Procedural content generation’s most powerful when you can make tiny changes to your algorithm and come up with something that changes an entire level (preferably in a useful fashion).

Now, by this point, we were getting tired of plain, untextured polygons. Fie. We wanted to try out a shader on some hexagons.

Shader (Wikipedia): In the field of computer graphics, a shader is a computer program that is used primarily to calculate rendering effects on graphics hardware with a high degree of flexibility. Shaders are used to program the graphics processing unit (GPU) programmable rendering pipeline, which has mostly superseded the fixed-function pipeline that allowed only common geometry transformation and pixel-shading functions; with shaders, customized effects can be used.

Importing a new model into Unity is pretty sweet. You just sorta drag it in there. So: hexagons:

Very orderly. Let’s add a random rotation (jitter) and a semirandom purple hue to them:

And now, the piece de resistance: shaders. We made the prisms much taller, and added a glass sahder:

Note that not only are the pieces transparent, but the glass shader allows us to create reflections (clouds!) on the hex surfaces. This is the first time we’ve done this in the new Unity prototype, so we’re excited.

Last Tidbits

Okay, last tidbits, before we talk your ears off for an hour. Tunnels in two (2!) different ways. First, using arcs in a sort-of McDonalds color scheme:

  1. Create tall, narrow arcs and short, fat arcs.
  2. Go from the level’s top to bottom — every 2m, place an arc.
  3. Rotate that arc randomly around the vertical axis.

That looks like this:

As it happened, it looked neat from the side, but flying through it was disconcerting. Perhaps there wasn’t enough information for the eye to pick out how close each arc was to you? It looked like a fun but overwhelming blur of reds, oranges, yellows; we might solve this by giving them borders to make each one more individually visible.

Anyway,  another type of tunnel was the “perturbed washer surface”:

The steps there were:

  1.  Create a “washer” (a disc with hole in center).
  2. Subdivide the surface into small squares.
  3. Push the corners of those squares up or down so that the washer looked jagged.
  4. Profit.

That was all done within Maya, using our DING utility, and imported into Ugly Baby as one solid model.

There you have it!

Much of our July involved getting Unity set up to talk to the Python-based procedural content generator. For the first time, we now have something that (as far as level layout goes) is more capable than the original 3DGS-based Ugly baby. Next up: we’ll create many more of these foreground patterns, then fill them out with backgrounds that are visually interesting.

More to come.

 

Ugly Baby’s Birthing Canals: Skyboxes

// May 23rd, 2012 // Comments Off // Dejobaan News, Ugly Baby

Skyboxes paint a 3D scene’s background elements – the backgroundiest background layer. For Aaaaa!, it’s static images of cities or planets or what is essentially “infinitely far away” from the player’s standpoint:

Most of the skyboxes we’ve used in Ugly Baby so far have been really simple gradients. In the below image, for example, we just do a fade from blue to white:

That’s because we initially wanted the player to focus on the foreground content. But screw that. Now we want the skybox to throb with the music, resulting in something that might look like this:

Visual Inspiration?

That’s not Ugly Baby, but we are researching visualizers as a source of inspiration. We’re aiming for this to be more than an aesthetic change, as we’d want to tie the music in with the visuals. John piqued Ichiro’s interest with idealizing having throbbers that signify events or (intensity) gameplay shifts.

This exciting idea, while tied to skyboxes, is actually part of a bigger problem: having events sync up at run-time to random music. To solve this problem, our research to find patterns and algorithms to detect those patterns continues.

Ugly Baby: What’s Taking So Damned Long

// May 16th, 2012 // 2 Comments » // Dejobaan News, Ugly Baby

We’re back on track to create the dazzling 3D shapes that decorated Ugly Baby’s stages for the past few years — while it’s taken us longer than we initially hoped, so many great ideas still reside in the womb that are alive and kicking, and we can’t wait to see where the baby’s future leads us.

The game started out using 3D Game Studio, and we released an early playable version on Steam during the Portal 2 ARG last year. It was the same engine we’d used to create AaaaaAAaaaAAAaaAAAAaAAAAA!!!, but we’ve switched to Unity for both Aaaaa!’s sequel as well as Ugly Baby.

Since we at Dejobaan are still unlocking the hidden powers of Unity (Owlchemy Labs helped us with Awesome and F=ma), we turned to Defective Studios to create a prototype that could analyze music and implement some new aesthetics. Based on this, we’re working on the Python end to allow Ugly Baby to recognize different types of music, which will allow us to craft levels unique to those sounds.

So, what are our next steps?

  1. Step back and pick up Unity.
  2. Bring Ugly Baby Unity up to where Ugly Baby 3DGS is.
  3. Team up with a great artist to complete the game.

That is all!