One very important aspect of game development is utilizing the best tools for the job. When using a robust game engine like Unity, sometimes it's easy to think you have everything you need, and forget to plan ahead for those time-consuming tasks down the line.
But then again, while we'd all love to have the time to create our very own personalized engines tailored precisely for our game designs, you'd be killing yourself to "reinvent the wheel". It is more prudent to ask which parts of a game's development will benefit most from special tools.
The answer to that question for Newborn Bard has been:
1. Scripting audio and music events.
As my first exercise in extending the Unity editor, I created a custom editor class for our "Jukebox Trigger"-- an all-purpose trigger which can 1) Fade to a new track; 2) Trigger a 3D audio source; 3) Trigger a new oneshot clip; 4) Fade out all music. Each of these have a set of parameters such as FadeTime, Volume, AudioClip, and Delay.
I wanted to make the trigger very easy to use for Aaron while he strings together all of his awesome and complex music tracks, ambient tracks, sound effects, and musical transitions. The purpose of my simple dev tool is to hide the unused parameters. Checking a box for an Jukebox action not only sets the trigger to perform that action, but reveals only the relevant fields. A trivial behavior, yet it does so much for usability.
-
2. Assembling perspective based puzzles and props.
I take it as a good sign that our absolute most needed tool was for assembling and tweaking our perspective-based puzzles, one of the main mechanics of the game.
The perspective puzzles are based on the principle that there is one precise point in space at which all of the pieces of the puzzle line up perfectly.
You might not have to try to set this up to understand that making any adjustments manually mean you have to start from scratch. We've done this dozens of times--hours wasted because we didn't develop the practical tools we needed. Finally, however, we have a programmatic solution. A simple script does all of the heavy lifting, by following the same steps we humans did. The order is very essential:
Stack all of the pieces and position them relative to the origin.(GroupPosition)
Scale all of the pieces relative to the origin. (GroupScale) Along with the position, this is how the puzzle will appear when solved & assembled together.
Offset each piece by its own individual offset. This is equivalent to scaling each piece by a prosthetic pivot point at the puzzle origin. (PerspectiveOffsets)
For movable pieces which the player must push into position, offset their X position by discrete whole units. This ensures that pieces can be pushed in stepped increments and still always line up at the solution. (SlideOffsets)
So you do yourself a favor. If you find you're doing a repetitive action, take a minute to consider how many more times you'll have to do it, and how much effort it will take to automate that action.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
After much experimentation with different visual styles we settled on remixing the work of the Hudson River School painters. The narrative of Newborn Bard centers around themes from American Transcendentalism, a literary and philosophical movement started in the mid 19th century by Ralph Waldo Emerson and a group of like-minded writers, and poets. We saw a unique oportunity to add some historical context to our narrative themes by using actual paintings from the same time period. Both Transcendentalism and the Hudson River School emphasized the power and beauty of nature, and in fact many of the Hudson River School painters were directly influenced by Emerson's writings on nature.
The screen shot above shows a semi-secret cliffside area from Newborn Bard. The hills in the background come from a painting by Thomas Cole titled The Oxbow. (pictured below)
Here are some other paintings we are using. See if you can spot the borrowed trees in the screen shot at the bottom.
Kindred Spirits, Asher Durand
Summer Afternoon, Asher Durand
Copyright issues (for those interested):
After a little research we determined that all of these Hudson River School paintings (dating from the mid to late 19 century) are old enough to be in the public domain, and as long as we use public domain photos of these public domain paintings we are in the clear regarding copyright.
Today we added some simple AI to a butterfly critter to populate our forest. These butterflies like to land on the player when he stands still long enough, but will run away from him when he chases. Each butterfly adopts a slightly randomized personality based on several variables and four AI states: Idling, Seeking, Sitting, and Fleeing.
In deciding how to approach the music of Newborn Bard I was inspired by playing games like Journey and Proteus where the music reacts to the player. Music in games has always been a tricky problem, because music is embedded in time. Yet games are not. In games the player controls the flow of time. In an attempt to better understand this problem I decided to play Journey and pick apart how the music works.
In analyzing the music of Journey I came up with a vocabulary to use when thinking about the game. Response points are what I am using to refer to the game states in which the music is changed in someway. A game with no response points would have one song that plays when you start the game up and doesn’t stop until you turn the game off. On the other end of the spectrum imagine a virtual reality game where every tiny movement of your body is being tracked and translated into sound. This would be maximizing response points. Proteus, a beautiful game where the soundtrack is dynamically generated based on what the player is looking at, lies at this end of the spectrum. Typical response points include level switches, going from a menu to a new scene, cut scenes, getting a game over etc.
The music of Journey has many more response points than your typical game. This results in many shorter pieces of music working together to change with the player in real time. The triggers are usually cutscenes or level switches (like the one right before the 1:00 mark in the video below). There are a few very creative response points. For example towards the end of the first world there is a sequence many refer to as The Slide. Anyone who has played Journey will no doubt remember the sequence. Here is a video:
Notice at 2:30 a background loop has been triggered and the way forward is made clear to continue The Slide. The next action music cue doesn’t come in until the players feet hit the ground in the next section of the world
In Journey much effort went into disguising response points to create the illusion of a linear music score like you would have in a film. This is not surprising considering the composer Austin Wintory had a background in film composition. The result is a score that is not only staggeringly beautiful, but seamless in its transitions, and different every time you play it.
So the question regarding Newborn Bard was, how many response points should there be and where should they be? We decided to use music to emphasize the different parts in each level, and to help tell the games story.
The video below shows a mockup of how the music on the first level will work.
The player starts by an old record player piping out old world European music. As you walk away it fades and slowly a string pad fades in and increases in volume as you approach the title. When all the letters line up to form the title, the theme begins looping. Lastly as you enter the puzzle area a new piece starts up as the other two fade away. The fades are necessary because a straight cut to a new piece of music would be jarring. I also figured out a few other tricks for hiding response points. Since we are working in Unity, we have the ability to access in game audio effects. The reverb filter applies reverb to an audio clip in real time. This makes a fade out much harder to notice and hopefully keeps the player immersed in the game.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
It's week 4, and our character is starting to come alive!
I'm using Spine, an incredible skeleton-based 2D animation software, for our main character. It's allowed for some awesomely smooth animations to be (almost) painlessly exported for use in Unity. Spine assets also allow for some very exciting runtime capabilities, but for this project we'll be keeping it pretty simple, with maybe some animation blending techniques later in development.
Shown first, above, and fresh out of Spine, is a "walking up" animation. This was a good milestone on the art front because it required a nearly complete skin for "facing up" (or "facing positive-Z"). These skins take a lot of time to draw up and pose, but the time investment is quickly redeemed during the animation phase. More time and more reusable textures means more animations and a more lively character.
Also above is a small glimpse of the Dopesheet in Spine. There you can edit the keyframes and timing of all aspects of the animation, from bone scales & rotations, to sprite color, to draw order. On the +Z walk you can see multiple sprites for the feet.
For our third week of updates, here are the top-down layouts of the first "chapter" of Newborn Bard. Chapter One consists of five scenes, each with a puzzle taking the player one step deeper into the forest.
The shapes above are the actual physical barriers forming the boundaries of each scene. These barriers are invisible in-game, but allow us to construct the meat of the level design and gameplay flow before adding in the pretty-looking graphical boundaries, which are themselves just layered billboards of textures.
Form & Function
Most of the Chapter 1 scenes follow the same basic structure with two main components:
Adventure area: These tend to be long, narrow, and horizontal--three features which intend to direct the player along with out getting too lost or distracted. These areas contain plot elements, story clues, and detailed environments to explore.
Puzzle area: Since the perspective-based puzzles rely on Z-depth, these areas naturally open up into the background, allowing more freedom of movement.
Additionally, there are hidden areas to discover--but no spoilers here!
Light & Color
By applying light to the "invisible" barriers and ground planes, we can take a nice look at the flow and function of the scene lighting.
Green: Dense forest, adventure areas
Purples & blues: Puzzle zones and secret areas
Oranges & Pinks: Open skies, clearing, scenic environments
This video demonstrates the most basic permutation of our game mechanic. We plan to have two other variations of this mechanic, which the player encounters in later worlds. All the puzzles in the first world have two basic aspects to them: the position of the draggable puzzle piece and the position of the player. We chose to introduce these elements one by one, so in this first puzzle when you drag the puzzle piece into the proper position you are already standing in the right place to solve the puzzle. In later levels you will have to drag the piece(s) then go and find where to stand so that the pieces line up.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
Here we go! After 6 weeks of real development on our 1-year-old idea, we are finally ready to begin sharing development progress for Newborn Bard.
We are Aaron Lemke and Damon Chandler, and we'll be posting updates showing new features, art, music, mechanics, and design discussions.
Please feel free to Ask us anything, and Subscribe to our Youtube channel. Our game looks best while in motion, so we will be sharing most of our content in video form.
We are looking forward to sharing and hearing your feedback!