Directory of All Essays

Thursday, August 21, 2008

Shade: Prototyping Challenge results

It is time to give out awards to the Shade Prototyping challenge!

Every prototyping challenge I release is a grand exploration of a particular gaming system. The concept often sounds coherent on paper, but in reality it is composed of a series of small experiments involving movement, pacing, emergence and more. After every prototype, it is worth sorting through the experiments and seeing which ones are worth investing in further and which ones should be left behind.

Game design is a process, not a bolt of lightening from the blue. You build an experiment, reinvest in the things that work and try to fix the things that are broken. After iteration upon iteration, the game emerges. In this spirit, these awards are not the end of the Shade project, but instead are an opportunity to identify the next steps.

Even in these simple prototypes, Shade shows promise as a game concept. It just needs pass upon pass of polish to turn into something glorious.


Bronze awards

First, the bronze awards. These go out to the wonderful souls that made a game.

Of great interest was the fact that most people attempted 2D implementations of the concept. This makes sense considering the wide availability of 2D tools and skills on the market. Now that I have a better understanding of the dynamics of the game, I may release an updated version of the challenge in the future that includes a set of 2D graphics and a tweaked design that allows for an easier 2D implementation.


Silver award
We had one Silver award this time around.


The silver goes to Aras Pranckevicius for his lovely 3D implementation of Shade using Unity. I got a solid 5 minutes of fun out of his prototype and lots of ideas on what to do next. You can play it here:
Without further ado, let's get into a critique of the game as it stands now. I'll be use Aras's prototype as the baseline since it include a large number of interesting experiments in action.

Moments of genuine fun
First we'll start with the elements that were distinctly enjoyable. These are seeds that can be extended much further. You always want to try to identify these dynamics early since they can act as a focal point that guides the project. When you start cutting experiments, knowing where the core fun lies can help prioritize your culling.

1) Searching for the perfect mushroom is exciting: I had a surprisingly enjoyable time finding a good sized mushroom to take back to the drop point. Scarcity emerged as a major theme of the game. Potential improvements that can focus in on this include:
  • Increase the types and varieties of mushrooms. The act of finding something valuable in the scarce wilderness has all the hallmarks of a hugely addicting activity.
  • Create different growing cycles: Have some rare ones grow slowly or only grow quickly in the presence of other plants. If the player harvests them all at once, they are gone. This adds a resource management element to the game the reinforces the sense of scarcity and value.
2) The dynamically changing world is exciting. I didn't know where a mushroom might appear. In an early prototype, mushrooms would grow in the shadow of other mushrooms. The fact that the world was living and growing was immensely satisfying.
  • Implement Munchers and Bushes: These will add immensely to the gameplay by creating a dynamic ecosystem.
  • AI Seed transporters: Add simple AI driven characters that pick up seeds and move them to new locations will very quickly create amazing patterns. For example, one type of seed transporter might move small mushrooms 2 feet away from any other mushroom. Another might move seeds into the shadow of a smaller object. These simple rules will create all sorts of interesting patterns.
  • Vary the sizes of elements: Have some objects the grow very large. These will dynamically change the landscape over time and in turn create a wildly varying shadowscape.
  • Add more elements that grow in the shadows: The patterns that came about from mushrooms growing in the shadow of mushrooms was one of the more interesting emergent properties of the simulation. It was cool! Combined with a moving sun, all sorts of interesting hedges should pop up.
Moments of potential fun
The following elements were intellectually interesting, but didn't quite leave me as entertained as I was hoping. This is quite common and just means that you need to invest a little further in the idea.

3) Jumping from shadow to shadow
: It was interesting picking my way back through the 'shadowscape' of the level. A journey back to home base where I needed to precisely plan my movements gave the mushroom hunting experience a nice tension. However, in the prototype level there were a lot of sunlit areas and relatively small obstacles. As such the decisions made on the return journey weren't that interesting. Some improvements
  • Bigger, more maze like obstacles: I notice that when I'm walking around outside, I often have to make a distinct choice: should I got left around a large building sitting in my path or right? I rarely remember the future shadow terrain on each side of the building so I end up making a short term decision to reach the easiest shade. This often hurts me in the long run.

    By adding bigger obstacles that take time to navigate and that block off other options, the player is asked to make movement decisions that have a cost. In the best of worlds, players will find themselves jumping from shadow to shadow only to end up further and further from their goal. Some will heroically find their way back. Others will remember their failure and carefully plot out the terrain the next time around. Either way, it creates more meaningful decisions.
  • More contiguous areas of shadow: Taller objects would help as would objects that are skinny at the base and bulbous on top like trees. The amount of shadows is something you'll need to balance for.
  • Hungry monsters: The tension can be ramped up by including shambling monsters that move towards you when you have a mushroom in tow. Normally, they can be quite docile and may not even move. But as soon as you get a mushroom, they turn red and make their way towards you. One touch and your mushroom loses extra power. This adds some tactical and time-based pressure to your shadow picking steps.
4) Mini Map
The minimap solves an important problem: How do I find my way back home. However, it also removes a bit of the tension that comes from wandering and finding new paths.
  • Use a beacon system instead: Instead of a mini-map, a directional highlight like the ones used in Shadow of the Colossus or Knytt would do the trick quite nicely. A little glow at the edge of the screen or a compass that always points towards home help orient the player, but don't give away the terrain.
Things that didn't quite pan out
The following are things that didn't quite work and I don't see useful ways of making them a key part of the experience.

5) Gathering long strings of mushrooms: Once you start gathering long strings of mushrooms it becomes hard to keep them out of the sunlight. I noticed that as soon as I gathered more than one mushroom, I would simply zip to the goal as fast as humanly possible and ignore all tactical decisions. This is an example of a fun idea that actually reduces the complexity of the rest of the game.

Conclusion
The prototyping challenge doesn't really end until someone creates a game worthy of a gold award. So far gold is still within reach. There are some extremely promising mechanics at play in the shade prototype and I'm open to discussing and iterating on further tweaks if anyone wants to take the design further. Feel free to post to this thread if you come up with something cool. Who is going to grab the first ever gold award in Lost Garden history?

For inspiration, I leave you with this simple game that also uses some of the growing ecosystem elements we see hints of in successful Shade prototypes. It was built in 48 hours and easily has more than 15 minutes of game play. If this fellow can find hours of fun in a short prototyping exercise, I'm convinced that you can take your existing Shade prototypes and turn them into something wonderful.
Best wishes,
Danc.

Labels: ,


Read more!

Saturday, June 28, 2008

Shade: A game prototyping challenge


As a redhead, there's a little game that I play every day in summertime called "Stay in the Shade". The rules are simple: make it to my destination as quickly as possible while avoiding all possible sunlight. This involves hopping from shade patch to shade patch. The cost of failure is the dread Irish Tan. These bizarre antics were inspiration for a game design called Shade.

As with any of the designs you find on this site, I heartily encourage you to prototype it and use it as a learning project. I know that there is a group of you itching to try out the latest 3D engines with sex-a-licious real-time shadows. This is your chance to finally use the technology in a way that produces meaningful game play.

I'll give out the much coveted Bronze, Silver, and Gold Lost Garden badges to anyone who creates a worthy prototype.




Basic gameplay
You play the part of a rugged mushroom rancher who must collect adorable sentient mushrooms living in the shade. All you need to do is run up to a planted mushroom and touch it. It will pop out of the ground and start following you around. Lead it back to the start location and you'll be awarded multiple point based off its size.

Unfortunately, it is a scorchingly hot day. You can meander about the landscape of giant grassy blocks with impunity due to your meglo-awesome wide brimmed hat, but the mushrooms wilt quickly in sunlight. To lead them back successfully, you'll need to keep to the shadows and plot the optimal path home.


Basic Elements
  • Player: The player can move about on a 2D plane using the arrow keys or a joystick.
  • Blocks: Strewn about the landscape are blocks that cast shadows.
  • Planted mushrooms: In the shadows of the blocks, planted mushrooms will slowly spawn over time. If left alone they will slowly grow in size.
  • Mushrooms: If the player runs into a Planted Mushroom, it will pop out of the ground and start following the player's motions exactly. If multiple mushrooms are collected, they will follow in a line behind the player. A mushroom can last in direct sunlight about a second before they expire. This amount of time is cumulative and is shown by slowly shrinking the mushroom as it is exposed to more sunlight.
  • Homebase: This is a spot on the ground that you need to lead the mushrooms back to in order for them to be counted.
  • Mushroom score: In the upper right hand corner of the screen is the HUD. The most important element is the Mushroom score that shows you how many mushrooms you've collected so far today.
  • Day timer: The day slowly progresses from morning to evening over 15 minutes. The shadows change position as the day progresses.
Winning the game
The game is over at the end of the day. Total mushrooms collected is entered into a highscore table.

Technology

We've had lovely real time shadows for quite some time, but very few designs take advantage of the technology. Luckily there are an immense number of cheap 3D engines that can pump out real-time shadows. Some options:
Not so long ago, this tech was the exclusive domain of techsperts like id and Epic. But now there are no excuses. And the very clever folks will figure that you can make this game in a 2D engine with a little finagling.

Art

Since this design is likely a 3D game, I'm not providing art assets. I recommend that you use cubes and other primitives for the various elements in the scene. They are inexpensive, highly effective and can always be replaced at a later point with more advanced models once you've proven out the gameplay.

With this type of game, a good amount of pleasure will come from the motion of the mushrooms following the player and the movement of the shadows over time. Slick graphics can enhance this, but they aren't necessary to find the fun. Again, no excuses.

Advanced gameplay
Once the basic gameplay is in place, there are immense opportunities for more interesting variations.
  • Movable blocks: Blocks that you can push around allow you to create optimal paths for harvesting mushrooms.
  • Muncher: Once a planted mushroom grows to a certain size and it is hit by the sun, it turns into an AI driven creature called a muncher. Munchers find a nearby green block (also known as a bush) and start munching on it. This reduces the size of the block and therefore the amount of shade it provides. Munchers can be stunned and killed by running into them repeatedly.
  • Bush seed: A dead muncher turns into a Bush seed. A bush seed is an object that can be collected by running over it with the character. If you press a button, the bush seed is planted on that location and begins to grow.
  • Multiple days in a row: What happens to the landscape if you let the world run for multiple days? With the inclusion of bushes and munchers, we have a self balancing ecosystem. As you plant more bushes, there is a greater chance that mushrooms will turn into munchers, which in turn reduce the bushes. Can you turn a simple landscape into a mushroom plantation?
Balancing
This is the sort of game that lives or dies based on balancing all the various elements. There are a number of variables that you'll need to mess about with
  • Size of the blocks
  • Number of blocks and shadow area
  • Spawning rate of mushrooms
  • Size of mushrooms
  • Amount of sunlight to kill a mushroom.
  • Speed of the character
  • Size of the map.
  • Size of the viewport onto the map.
I don't have the answers. You'll get the answers by iterating on the basic design dozens, if not hundreds of times. Keep me updated and I'm happy to provide feedback on works in progress.

The Lost Garden Awards
Once again I'm giving out the always desirable Lost Garden badges for any prototypes that result.

  • Bronze Medal: You built an interesting software toy. If you make an attempt at a design and it is interesting to futz about with, you get the Bronze Medal. Most people never get a Bronze medal due to the simple fact that they prefer to sit around and think rather than make something. Simply by doing (instead of not doing), you join an elite club.
  • Silver Medal: You found the fun. You've iterated on your design and have identified a few key elements that make the game enjoyable. There is at least 5 minutes of interesting play. It likely isn't polished and some of the higher order reward loops are broken, but the core is there. If past challenges are any indication, I'll give out only a handful of Silver Medals per challenge.
  • Gold Medal: You made the fun repeatable. The game that you've built is entertaining enough that I'm willing to play it for 15 to 20 minutes. This is a hard level to reach and it is only populated by the most elite cadre of weekend warriors. An entire production team could be seeded by your efforts. To reach this level, you've made some critical design steps beyond the initial concept and built unique and sustainable gameplay based off dozens of game play iterations. To this day, no one has won a Gold Medal. You could be the first.

You need to post a public, playable version in order to be eligible. I'll issue the rewards about one month after the initial challenge is posted. If something comes in after the original deadline has passed, I'll add it retroactively to the award post. If you win a Bronze or Silver, you can still come back later and make an attempt at the Gold. Anyone who gets a Gold medal is an automatic rock star in my book.

What do you get if you win? First off, you get the right to post a snazzy LostGarden medal on your website. Most importantly, you get that warm fuzzy feeling in your tippy-tip toes that stems from a job well done.

Conclusion
Shade is an interesting game design to me for the following reasons
  • Exploration-based play: The joy is in exploring the ever changing landscape and finding mushrooms and interesting paths back home. It is more strategic than action oriented.
  • Simple controls: All you need to play are directional controls and one button. It should be pretty easy to pickup.
  • Non-violent: In general there is very little combat. I like this. I can imagine the title having a very meditative feel.
  • Uses real-time shadows for some unique gameplay. Real-time shadows have been used for sneaking games, but little else. Surely it is time to expand the number of games that use this fascinating technology.
Enjoy! If anyone makes something and puts it online, I'm happy to discuss it on the website in a follow up post.

take care
Danc.

Past challenges
Mockup


Labels: , ,


Read more!

Tuesday, May 27, 2008

Lostgarden looking for brilliant programmer in Seattle

a mystery project

Summer project time! I've got an intriguing new design that is best explored by the sort of in-person rapid prototyping that I love. To that end, I'm looking to team up with a talented programmer or two from Seattle/Redmond. It's a bit like getting a band together.

My dream is to meet up every Sunday at a local coffee shop, riff about what we've done that week and come away energized and ready to build some more.
  • Location: Seattle/Puget Sound area is a must. (Otherwise, it is hard to do the coffee shop thing)
  • Skills: Solid Flash, Flex or Silverlight skills. Previous experience with Java, C++, or C# is great as long as you are willing to learn Flex. Back end skills are also helpful. The project is 'technically interesting' and is best tackled by someone who is more of a programmer than a scripter.
  • Time commitment: 10 hours a week for about three months. Anything less I've found doesn't make it worth your time.
I'd contribute art, design and Cheetos (organic or radioactive). If you are interested, drop me a note at Danc [at] Lostgarden [dot] com. Send along a portolio if you've got one and tell me a little bit about yourself.

Take care,
Danc.

Labels: , , , , , ,


Read more!

Saturday, March 15, 2008

The Randomly Reinforced Lost Garden Prototyping Awards

What a whirlwind of a month it has been. GDC was crazy fun, the latest beta of Expression Design came out at MIX, and I decided to take a leap and start in a new position at work. In the meantime, some great games were created in the last prototyping challenge.


Let's reward awesome developers

You know what? I think it is time for an award ceremony. I've been meaning to do this for a while, but never got around to it with the previous prototyping challenges. Here are the awards and how they are handed out:
  • Bronze Medal: You built an interesting software toy. If you make an attempt at a design and it is interesting to futz about with, you get the Bronze Medal. Most people never get a Bronze medal due to the simple fact that they prefer to sit around and think rather than make something. Simply by doing (instead of not doing), you join an elite club.
  • Silver Medal: You found the fun. You've iterated on your design and have identified a few key elements that make the game enjoyable. There is at least 5 minutes of interesting play. It likely isn't polished and some of the higher order reward loops are broken, but the core is there. If past challenges are any indication, I'll give out only a handful of Silver Medals per challenge.
  • Gold Medal: You made the fun repeatable. The game that you've built is entertaining enough that I'm willing to play it for 15 to 20 minutes. This is a hard level to reach and it is only populated by the most elite cadre of weekend warriors. An entire production team could be seeded by your efforts. To reach this level, you've made some critical design steps beyond the initial concept and built unique and sustainable gameplay based off dozens of game play iterations.


You need to post a public, playable version in order to be eligible. I'll issue the rewards about one month after the initial challenge is posted. If something comes in after the original deadline has passed, I'll add it retroactively to the award post. If you win a Bronze or Silver, you can still come back later and make an attempt at the Gold. Anyone who gets a Gold medal is an automatic rock star in my book.

What do you get if you win? First off, you get the right to post a snazzy LostGarden medal on your website. Most importantly, you get that warm fuzzy feeling in your tippy-tip toes that stems from a job well done. This is a geeky challenge done for lurve of the game.

The Results
In my mind, the entire point of the Player with Your Peas exercise was to take a complex design with some potentially messy rat holes (user created levels, physics, path finding, oh my!) and see if you could quickly find the fun. Let's see how folks did:

Bronze Medals

All the prototypes were enjoyable for a couple of core reasons. First, building a world out of little blocks seems to be pleasant at a very simple level. Second, for those who implemented pathfinding, there is something inherently interesting about watching little creatures navigate your world on their own.


Silver Medals

Richard Sims' prototype came closest to capturing the fun. He focused on the falling peas portion of the design and managed to add in a solid pass at the combo scoring system. This moved his prototype beyond being merely an intriguing software toy to the point where one could imagine there being a real game. I played with it for more than five minutes.
Some lessons from Richard's prototype that are worth noting:
  • Focus on prototyping the important gameplay, not the tech: What was nice about Richard's prototype is that he skimped on much of the climbing and jumping portions of the design. Those weren't key to the 'fun' of the design so they could be done later. Knowing what to test first out of your usually exhaustive brainstorming session is a great skill to hone. Just because something is hard (like the pea pathfinding) doesn't mean it is the first thing to tackle.
  • Answer at least Three Why's: Richard's game links together several game atoms together in a sequence. Simple actions have meaning within the game. Most of the other prototypes only had isolated game atoms. There was very little reason for doing things. Here's a little description of the Three Why's that illustrate how they are used:
    • Action: First ask"What is your player's core action?" In this case, it is building blocks.
    • Why? Now ask "Why?" The answer is to give something for the peas to bounce against.
    • Why? Ask "Why?" again. The answer is because the peas generate combo points if they hits lots of blocks.
    • Why? Ask "Why should I care?" once more. Because combo points increase your main score and you need to get as big of a score as possible.
    • Good enough! At this point, the player who is clicking to add blocks probably has lost interest in asking why he should be building blocks. There are enough overlapping reasons that the justification circuitry in his brain is satiated. He'll keep building blocks until all the subsequent game atoms are exhausted.

Gold Medals

No one captured the Gold Medal on this challenge! Doh. This award remains wide open until someone submits an amazing prototype with 15 solid minutes of play. Hmm...I wonder who can make a Gold Medal version of Play with Your Peas...

There were several others folks that worked on the game, but I didn't have public links to all the playable versions. If you have some more, send them my way (danc [at] lostgarden [dot] com) and I'll add them to this post. Yes, Harold, I'm looking at you.

Woot! That was fun. Now I feel like Jon Stewart. Except less witty. Or famous.
Danc.

Labels: , ,


Read more!

Saturday, September 15, 2007

Tree Story wireframes


I've been dabbling with quick wireframes to explain the design of Tree Story. There are two common ways you can look at a spec.
  • One is that of the blueprint, a plan that will be rigorously followed by production workers in order to achieve the end result. In this model, the team members are followers who are expected to implement a list of fixed details, not innovate.
  • The other is that of a communication tool. As a communication tool, you are trying to seed key concepts in your team so that they can take ownership and run with the idea during implementation. In this model, the team members are ultimate owners of the final design and the 'designer' is more of a facilitator of the process. Any spec exists only to spark conversation so that the team can build up a shared understanding of the feature's goals.



I've found that text is rather horrible as a communication tool, especially with small teams. It takes too long to iterate on and starts bogging down as soon as there is more than one person editing the document. Even worse, text fails horribly when describing anything visual or tactile.

Instead, I'm a big believer in using storyboards augmented by multiple discussions around a whiteboard, especially for early discussions. The story boards / paper prototypes can be quite concrete, but they are still visual and tactile enough for two or three people to stand around and comment on.

The iteration process is straight forward:
  • Whip up a quick storyboard. Limit yourself to spending 30 minutes to an hour on it. Make it very rough.
  • Print your latest 'official' wireframe on the biggest paper you can lay your hands on,
  • Tape it to a whiteboard and nab the first person you spot on your list of influencers.
  • Brainstorm around the idea. The taped version acts as a starting point for the conversation and an anchor if the conversation gets lost.
  • Immediately update the wireframe with the new thoughts.
  • Rehang it on the wall. Ideally look for a spot with a lot of traffic.
  • Rinse and repeat.
Within a short period of time, you have a design that:
  • Is easily understood in a glance.
  • Is understood by multiple team members. The story board acts as quick reference to your indepth conversations.
  • Is up-to-date.
  • Is a conversation starter for the rest of the team. I've had the best results when my desk is positioned near where the drawings are hung and I can leap out and chat with people wandering by.
Example wireframes
Here's a stab at some wireframes for Tree story. Sorry that we don't have a good white board built into this blog. Someone needs to fix that. :-)

The basics of communication
In Tree Story there are NPCs you can chat with. Here is how.













Picking up objects
You can also pick up objects and drop them where you desire.
















Planting seeds
A special type of object is a seed. It lets you grow new platforms in the world.








Each seed creates a different type of tree. Use different sized
trees to reach different areas or grow interesting fruit.




These were done in a vector drawing tool because I find wireframes use a lot of objects that are the same. I personally prefer to copy and paste instead of spending time redrawing. However, they could just as easily been done by hand. They are likely a bit more detailed than necessary, but I'm compensating for the rather low bandwidth nature of a blog.

take care
Danc.

Weather system
PS: Here are some additional wireframes that describe how a sunlight and weather system might work. This could be used with Clint's idea for the weather trees and machines.






Labels: , ,


Read more!

Saturday, September 01, 2007

Celestial Music


Yesterday morning I woke up from one of those startlingly lucid dreams where I was playing a completed game design. I tell my wife that odd ideas are like exotic fruit and if you fail to jot them down, they will rot away, never to be tasted again. So here are my quickly captured notes of what is, literally, a dream game of mine. :-)

Imagine, if you will, a space strategy game. You start out with a single planet surrounded by hostile enemy planets. Your goal is to clear the map of enemies and create a galaxy spanning civilization. All pretty standard stuff.

The difference is that you fight and grow using music that you compose by building your empire. This is where it gets trippy.



Planets as sequencers
Watch this movie clip of a multi-touch music creation tool. It is wonderfully bizarre.




The basic gist, multi-touch madness aside, is that smart objects positioned on a flat screen can be used to create music. Link them together using a directed graph and you have a pretty competent music sequencer and sound effects generator.

The game design leap is that these objects can also be planets in a strategy game. Each planet has a different effect.


  • Forest planets are sources for sound effects
  • Water planets are filters for distorting a sound.
  • Cities planets are sequencers for taking a sound stream and playing it out over time.
Throughout the design, you’ll see that every element can be seen in two ways. One is as an element of a song. Two is as part of a game.

Linking planets
Each planet has a space port. You can drag a space lane from a space port to another nearby planet.


In the process, you connect a sound source to a sound processor. In very short order, just by linking up space lanes, you can create a giant sequenced sound machine. At the same time, you are directing trade and setting up your space empire.

Setting properties on planets

Each planet is a fanciful user interface that lets you adjust the properties of the filter.
  • Planets have a sun. You can adjust the time it takes for the sun to go around the planet in order to adjust the timing of how long a sound plays. In the game this is described as planetary engineering
  • Distance from the other planets effect the volume of the source sound effect.
  • City planets allow you to adjust the height of the cities, thus allowing you to adjust how you sequence a sound source.


Music = culture = resource
Each planet produces a sound. Some generate sounds. Others take in sounds and modify them. The stream of sounds produced by your planets is what most folks would call music. It also represents ‘culture’ in the game. Culture is the resource that makes everything in the game work.

Culture pools in planets that are the final destination of sound streams. They collect it in real time. Culture can be spent on upgrading your planets and creating war ships, defending against attacks.

The enemy does not sleep
You are not alone in the universe. There are other planets on the fringes of your empire. They send ships to destroy your civilized worlds and knock them back into desolate husks. They’ll disturb your carefully calculated rhythms, disrupt trade routes and generally cause your empire to devolve into chaos, then silence.

If a planet is attacked enough, it will be turned into a dead world, devoid of music.

Spending culture
Luckily, you can use your culture to both defend, fight back and ultimately conquer the enemy planets.

Some planets have industrial complexes. An activated industrial complex sucks in culture and converts it into ones of three main types of ships
  • Defenses: The planet builds a shield for fending off enemy attacks. It can take X damage per second. Defenses tend to beat equally matched ships.
  • Attack ships: The planet can send out a stream of attack ships. If the planet is poorly defended, the planet is slowly bombed into the stone age and reduced to a simple forest planet.
  • Ambassadors: Ambassadors convert dead planets into player planets.
At first you defend against attacks. Then you fight back. Eventually you conquer the enemies and make their worlds yours.

The benefits of conquest
Conquest is great. Capturing new worlds allow you to build more complex sequences of sound. This means more interesting songs. It also means that culture accumulates faster and allows you to expand your empire further.

Some planets have tidbits of plot, mysteries, single use powerups, treasures and other rewards. Conquest advances the player in the game.

Culture is multiplied by audience appreciation
An empire is a song. As a song it can be shared with your friends outside of the game. At any point, you can send a link to your empire to a friend. They can check it out and simply by the act of listening to your song, your empire gains marvelous bonuses.

If they like, your friends can rate the song. This gives you even more bonus culture. If they like the style of your songs, they can subscribe to your various empires. This gives you even more bonus. By sharing your creations with the outside world, you gain resources that let you advance your single player game.

A game that encourages the creation of great songs
The game is balanced to encourage this. During the early stages of creating your empire, there is enough culture in random combinations of planets to conquer a fair portion of the map. Eventually, you start running out of culture. You’ll come across powerful enemies that you cannot defeat unless you start sharing your songs with others.

Good songs, as judged by an audience of your peers, will gain you greater rewards than random garbled messes of sound. Judging music is hard for a computer. However, it is easyier for people. The design harnesses your friends as our AI judgment algorithm to encourage and reward the user to become a great composer.

Some maps can be explored and beaten if the player creates songs that are enjoyed by one or two people. Other maps require that the player create songs that are loved by hundreds.

The enemy as a tutorial
The map creation for the game is tricky since it serves two purposes. The first is to provide a challenge to the player. This is pretty straight forward level design and deals with choke points, resources, power ups etc.

The second, more devious goal, is to teach the player compositional structures. The enemy worlds are a nodal graph of a song just like the player’s worlds are a graph of a song. The level designer composes the enemy empire as a song.

All the various tricks of making a song are there for the player to see. The way that you distort a basic sound into something intensely cool. The way that you use a sequencer plus a snare sample to create the beat. All of it is visually laid out as a working model for the player.

When the player conquers the enemy worlds, they are essentially deconstructing the level designer’s song filter node by filter node. The player is then asked to put their newly acquired node to use. The easiest thing would be to replicate what was already done.

What we have is an experiential lesson in music composition masquerading as a game.
  • The player observes a functional model.
  • They dissect the model to understand its parts
  • They are required to reassemble the model and make it work again.
  • They are rewarded for making something better than the original.
Conclusion
I finally got around to reading Rules of Play by Katie Salen and Eric Zimmerman. The tome repeatedly emphasizes that you can analyze a single game through multiple perspectives. Celestial Music is a game that is two things simultaneously. It is a strategy and it is a music creation tool. It is also, by the fact that is both of these things, a system for exploring and learning music in a user friendly manner.

Games lubricate experiential learning about a system. Plunk an inexperienced person down in front of a piano and some sheet music and they will become frustrated. Sit that same person down in front of a game like Celestial Music and they will slowly learn. The result may not be Mozart, but it will certainly be music.

As I awoke groggily from my dream yesterday, I was left with the amazing memory of playing this quirky game. Sound and visuals flowed throughout the screen like some clockwork instrument pulse with life. There was no real distinction between building something beautiful and playing an enthralling game. Delightful.

Take care
Danc.


References

Human computation
Humans are far better at some activities than computers. Luis von Ahn is a computer scientist at Carnegie Mellon that studies how to tap into the abilities of people to solve hard problems like image recognition or human identification. He uses games as his medium. The fact that people are better than computers at determining what is meaningful music is leveraged in the Celestial Music design.
http://video.google.com/videoplay?docid=-8246463980976635143

The Rules of Play
I rather enjoyed this book's emphasis on the Magic Circle and how it interacts with culture at large.
http://www.amazon.com/Rules-Play-Game-Design-Fundamentals/dp/0262240459/ref=pd_bbs_sr_1/102-3229846-3699357?ie=UTF8&s=books&qid=1188672917&sr=8-1


Labels: , , ,


Read more!

Sunday, August 19, 2007

Tree scribble



I've been filling notebooks with extensive sketches of worlds built out of a single homegrown tree. Houses, monuments, clouds, vines and more, drooping, draping and bursting forth in a blossom of growth.

Last night I had a chance to jot down some of the graphics in Painter. My few hours of effort resulted in a basic tree trunk, some foliage and a little girl. Overall, I suspect this would be a pretty easy game concept to get up and running.

Further implementation thoughts
Harold stopped by last week and we brainstormed a little on the Tree Story idea.
  • Collision detection: The foliage uses 1/2 circles as a the collision detection zone instead of the typical rectangles you find in most platform games. This should give the worlds a bit more of an organic feel and results in some simple controls. For folks that have been playing with the Space Cute graphics, you may be able to reuse your existing collision detection systems.
  • Bundling to create platforms: By overlapping a few simple foliage brushes, you can create interesting and realistic trees.
  • Blurry parallax layer for depth: You can create a feeling of depth by putting blurred foliage on a parallax layer behind the main action. Scroll this layer at a slower pace than the main layer that the player is on and it will seem like the scene has perspective.
If anyone is interested in playing with some of the graphics, let me know and I can upload a few in a more reasonable form. Before implementing images, I'd recommend first creating two simple prototypes:
  • Movement prototype with primitive half circles for terrain and a blob for the player to test out movement and the 'fun factor' of the design.
  • Tree prototype: Use long rectangles and half circles to see if you can auto-generate interesting trees.
Hope you are well on this rainy Seattle sunday afternoon. :-) I think it is time for a bit of tea.

take care
Danc.

Labels: , , ,


Read more!

Saturday, June 30, 2007

Tree Story



I just wanted to share a quick design that occurred to me this morning. This isn't a design challenge since I don't have new graphics for it. We watched My Neighbor Totoro recently and my brain has been quite inspired by the scene where Totoro grows a giant tree from a seedling. I imagine that with a sufficient level of polish, this game might inspire some of the same feelings of delight and awe.

So I present to you Tree Story, a platform game where you grow trees in order to collect all the pieces of your broken heart.


The Tale
One upon a time, a young girl in love sang a most beautiful melody. A Bird of Fate, called by her song, blew through the window and struck her full upon the chest. Her heart shattered and she could love no more. Full of sorrow, she left her lover behind and began wandering the earth. She sits now alone on a land that borders a distance sea. All around her is emptiness. The only thing she owns is a single seed. If she plants it, it will grow into a tree. Perhaps, if she is strong enough, she can regrow her world and rediscover the pieces of her heart. Only then can she love again.

Movement
You control a character that sits in the middle of a scrolling screen. On the screen is a simple scape made of branches and foliage. At the bottom of the screen is the sea. You start on a small island in the middle of the sea.
  • When you press left and right, you can walk around the circumference of the tree foliage until it becomes completely vertical. Your character is always oriented relative to the normal of the foliage.
  • You can jump using the jump button (the up arrow)
  • When you jump, you jump straight out from the normal of the foliage. However, gravity points downward.
  • You have some slight air control when in the middle of a jump using the left and right arrow keys.
  • If you hit another bit of foliage, you grab on and reorient yourself to the new foliage.
Objects
There are many objects that are strewn about the world. You can interact with them in a variety of ways.
  • Picking up a seed: If you happen across a seed object, you can pick it up by running into it. You can only have 1 seed at a time, so if you run into another one, you will ignore it.
  • Using a seed: You can plant a seed by pressing the action button. When the seed is planted it will sprout into a tiny branch with a new bit of foliage. This slowly grows on its own until it reach a small fixed size.
  • Picking up flowers: If you happen across a flower object, you can pick it up by running into it. You can have as many flowers as you want at a time.
  • Growing a branch: If you stand at the base of a branch, you can feed it flowers in order to make it grow. By standing at the base of a branch, a HUD appears that instructs you how to perform the basic growing action. Hold down the action key and press up. Your flower count will decrease and the branch will grow. I can imagine turning this into a simple rhythm game, but for initial prototyping it is okay to keep it simple.
  • Bending a branch: You can also bend a branch. Stand at the base of a branch. Hold down the action button and press left or right. Your flower count will decrease and the branch and its foliage will grow. Branches can only be bent so much.
  • Chopping off a branch: You can remove a branch. Stand at the base of a branch. Hold down the action button and press down. A meter builds up and you give the base a mighty blow. The branch and any attached branches will be turned back into seeds that fall to the ground.
  • Picking up a star: Stars hang in the sky. Most of them you cannot reach. However, if you grow a tree, you can climb upon it and reach a star. When you catch a star, it pops and spits out a random prize. The prize could be a branch seed or it could be a dozen flower seeds. The prize falls down and rests upon whatever foliage it hits. Flowers seeds immediately blossom into flowers when they hit foliage.
  • Picking up a heart: If you happen across a piece of the young girl's heart, you can pick it up. Collect enough pieces and the girl is able to love again.
The basic game play

You start with a single seed that grows into a tree. You climb upon the tree and reach new stars. When you collect them they sprout into seeds and flowers. When you collect the seeds and flowers, you can grow new branches off your old tree. This in turn allows you to reach more stars and grow more branches. Eventually, you collect all the hearts and win the game.

Advanced game
There are numerous types of seeds, each of which creates a different branch.
  • Tall branches
  • Fat branches
  • Branches that sprout extra flowers all on their own.
  • Branches that sprout a specific type of seed if you feed them flowers.
  • Branches that are homes for little creatures. They tell you hints, bits of story and give you goodies. Give them a seed of the desired type and they may give you a rarer seed in return.
  • Branches that teleport you to another sister branch
  • Branches that sprout powerups that give you temporary flight or super jumps or double the number of goodies that you get from stars.
When night falls, more stars appear. When day comes, more flowers sprout and trees grow larger. There is a natural rhythm to the game world, despite its simplicity.

Winning the game
There is only one level in the game. This is not a puzzle game where you beat carefully designed levels. It is a playground game where you build and build and see how far you can get. The more hearts you get, the closer the girl becomes to achieving true love. Players who win will have built hundreds of branches and their tree will cover the entire map.

The game can be won, but it can't really be lost. If you come back to your saved game later, new flowers will have sprouted and new stars will have appeared. The little creatures on the map will have new trades and they'll let you know that they missed you.


So there you have it. There is a dash of Animal Crossing mixed with a hint of Knytt and a whiff of Little Big World. And of course, the spirit of Totoro. In my head, at least, it all seems like a pleasing way to spend an afternoon. :-)

take care
Danc.

Labels: , ,


Read more!

Saturday, June 02, 2007

Latest crop of sweet prototypes (with source!)

Update (6/6/07)
Ezin has made the source to his delightful Flash-based prototype available. If you want a jump start on how tile layout and shadows work, this is a great starting place. Thanks, Ezin!
___

Folks have been busy! The PlanetCute prototypes got off to a great start last week and there is still some great work being done with the SpaceCute concept. I count 11 glorious links to check out and analyze. If I missed any, let me know. Big kudos to everyone who has participated so far.



Think of these as inspiration for your next iteration. The challenge goes on. Each example here was done in a few stolen hours over the course of a week or two, so the challenge has proven itself to be quite feasible. For those with little time, I find it heartening to realize that the real trick to making a game is simple. Consciously set aside a few hours each week and create something.

As promised, here they are...


Sokoban, baby
Kev over at cokeandcode.com built this wonderfully polished sokoban game that add the additional madness of height to the puzzle. I still can't get by level 2, but the first level had me grinning. :-)


Platform madness
Prisselle created an adorable platformer


My Game Builder: Web-based game editor
The creative team over at Jolly Good Idea is using PlanetCute tiles in their amazingly extensive online game building tool. This is a great example of Flex in action. It was created by one programmer in his spare time over the course of half a year. There is a full on pixel editor, mapping tool and system of setting up basic game mechanics.

Quarry game
Brwn 2.0 (aka Ahad L. Amdani) posted a game of his that used a similar stacking mechanic. It is a good source of inspiration and shows how stacking can be combined with cute little semi-autonomous agents.
PlanetCute in 3D!
n.n. listened to the feedback about the perspective and height and wondered what the game would be like in full 3D. I can't wait to see where this goes.


Terrain effects and patterns in GodCute
Ezin is closing in on getting the core mechanic working. He has the terrain moving up and running. The shadow system is in place. He's added a wonderful set of terrain rules that result in grass growing over exposed dirt and stones sinking into water.

The first case of pattern matching is working, but there is no reward or feedback system for completing patterns. Enjoyment level is low. I'd recommend adding a scoring system temporarily to encourage the player to have a reason for completing patterns.
Shadows and vertical tile movement in GodCute
Corsix extended his wonderful little editor to include some of the concept of moving tiles around. He also implemented the shadow system to great effect. In particular, we see the inclusion tiles moving up and down independent of the grid. This is an effect that I suspect can be quite useful as we move forward in the prototyping. Just because the tiles are blocks doesn't mean that all mechanics need to take place on a grid.

Corsix also improved on his map generation algorithm to create smoother, more visually appealing maps.

Phage: Game demo
Matt came up with an interesting variation on Every Extend. He says "The object of Bacteriophage is to kill as many bacteria with each available Phage as you can. You begin with 10 Phages. Simply move your Phage to the place of your choice on the screen, preferably near large numbers of bacteria, and left-click to blow it up. Right click to randomize the field for better shot looks. Your phage will detonate and expand for a brief time before vanishing, killing any bacteria that overlap or come too near it. You get increasing numbers of phages as bonuses for "fighting off" a series of bacterial infections each 5 levels, so use your phages wisely."

Why shadows matter (and first prototype!)
Bjoernke started things off with this great demonstration of how hard it is to correctly interpet height when the shadows tiles aren't used.
Perspective is confusing
Hunty came to a similar conclusion with his Flash-based demo. He raises the very interesting point that perhaps the perspective is inherently flawed. This point spawns some good discussion and leads to improved shadows, better map generation and how the limitations of the perspective can be used to benefit the game.

SpaceCute lives! And Thrives!
And last, but certainly not least, Scooter over at 2bitarcade.com produced a very polished SpaceCute prototype. Love the stars and the bounciness when you hit something.
Till the next crop...
Wow. You are all amazingly creative and productive. Remember however, this is just the beginning. Once the basic engines are up and running, that is when the real fun begins. I'm looking forward to seeing more experiments with the basic mechanics of the game. The core activitity of moving blocks is remarkably enjoyable by itself. Now is the time to wrap a game around that. Just ask the following questions:
  • What does the player do?
  • What is the feedback (reward or punishment) for doing that action?
  • How do they use the skills, resources or tools gained from successfully mastering the action to do something new or better?
Never stop prototyping.
Danc


Labels: , ,


Read more!

Sunday, May 27, 2007

CuteGod: A prototyping challenge


It is once again time for a prototyping challenge! The rules are the same. You are an elite programmer that wants to make something fun without spending ten years in art school learning how to draw stick figures. I provide some easy-to-use graphics and an intriguing game design for you to riff upon. Send me the links to your masterpieces and I'll post them for folks to enjoy and critique.

This time, we are tackling an ancient, yet still fascinating, genre that is long overdue resurrection: The God Game.

Back in the day, there was a game call Populous where you played a god. You mucked about with the land, zotted unbelievers and created a verdant landscape populated with bustling villages and happy followers. This week's design, CuteGod is a god game on a smaller, more casual scale. I've reworked the mechanics to be more prototyping friendly, but the spirit is the same. You play a simple village god who seeks to make his people happy by fulfilling their heartfelt prayers.

I've divided the challenge up into two sections. The first is the core mechanic and the second challenge adds a bit of depth to the game. We are using the PlanetCute prototyping tiles and the set has been updated with 20 new objects in preparation for the challenge. You can download them from the resource section of the post.


Challenge Part I: Core Mechanics
Have you ever experienced the simple joy of sorting your Legos? This is a broadly enjoyed activity for many folks whether they express it through a love of beading or shopping at Organized Living shops in the mall. The core mechanic in CuteGod is one of sorting tiles and completing simple patterns.

As with all mechanics, the written design is a starting point. Prototype, experiment and see what works. The idea is to create an activity that is intrinsically pleasurable and can act as a foundational activity for other game mechanics.

The map
The land starts out with randomly sorted PlanetCute prototyping tiles, piled up to five levels deep. Tiles can stack up on one another to form hills and valleys.

There are several types of tiles:
  • Basic tiles: There are a few basic tiles, grass, dirt, water.
  • Rare tiles: Each basic tile has a rare analogue such as emerald, ruby or sapphire. There may be a handful of these tiles in the entire level and are used to create advanced patterns or increase the completion bonus of existing patterns.
  • Immovable tiles. These stone tiles create the foundation of the level.
Player action
You can drag tiles around. Tiles can be dragged on top of other visible tiles. By dragging tiles, you rearrange the map to Your liking.
  • Picking a tile plays a cool sound effect and the tile is sucked up into the air.
  • An indicator shows where you can drop a tile. As long as you can touch it with your cursor, you can drop a tile there.
  • Dropping a tile has a quality clunking noise. The tile drops into place with a small bounce.
The villagers
Sad villagers wander about the map looking for a place to live. If you click on them, a thought bubble appears showing you a pattern of tiles they need in order to build a happy home. This pattern is known as a prayer and acts as a mini-mission. It is your job as a god to do something about such heartfelt desires. Clicking on the thought bubble automatically accepts the prayer.
  • Finding villagers and accepting their prayers gives you a small amount of points. A small animated heart floats up from the villager to let you know this is a good action.
  • The prayer pattern flies over into the prayer list.
Patterns
Patterns are a set of tiles in a prearranged order. For example, a simple pattern might be a grid of 4 dirt blocks arranged in a square all at the same level. Completing a pattern builds a structure and gives the player points.

Prayer list
Along the side of window is a list of patterns that various villagers want you to build. This helps you keep track of all the requests.

Partially completing a prayer
As you build out the pattern, the tiles glow when they are assembled in partial patterns. The appropriate prayer pattern also glows. This intermediary feedback lets the player know that they are progressing along the right path.

Completing a prayer
When you complete particular pattern, the tiles glow, the villager smiles and bounces over to location of the pattern. Blocks rain down from the sky and assemble the house. For each block that falls, you get points. When the house is complete, particles go off and flower spring up around the house.
  • The finished house will pop out the villager upon completion. He will be happy.
  • Some advanced patterns will also pop out a treasure box upon completion.
Simple levels and winning conditions
CuteGod is about playing in a sandbox, not so much about winning. However, it is easy to add levels to the game to give the prototype a sense of completion.
  • Each level is a new initial configuration of tiles and patterns that the user needs to build.
  • Each level has an overall goal of reaching X points, where X is might be 10,000, etc.
  • When the goal is reached, a 'win' message is shown.

Challenge Part 2: Treasures and Spells
Once you have the basic engine running and the gameplay feels good, here are some additional mechanics that should improve the rhythm and addictiveness of the game.

Buried Treasures
As you dig about, you’ll discover buried treasures. These are magic chests that contain a variety of interesting and useful things.
  • Click on the box to open it. The box fades out in a glorious burst of particles and the item inside pops out.
Buried mana
Some treasure boxes simply have bonuses of buried mana. Bonus points increase the user score for no additional work.

Buried spirits
You can also uncover buried spirits in treasure boxes. These are ancient villagers from ages past that require truly opulent homes. They give you a new mission and extra bonus points if you bring them back to life.

Buried Spells
You can find spells in treasure boxes. These are special actions that give you useful tools for manipulating the environment.

If you click on a spell icon on the map, it activates. If it requires targeting, your cursor turns into the appropriate spell. Click on the spell again to cancel. If it does not require targeting it becomes active immediately.
  • Boom: You can blast a house to pieces. This allows you to build it again for more points, or you can get to the stuff underneath. All the house pieces disappear. You can also use the boom spell quickly dig through a hill.
  • Find Tile: Finds a block of a specific type. For example, ‘Find Grass’ would cause the top level tiles wherever buried grass tiles are located to glow.
  • Find Rare: Highlights any rare tiles.
  • Bonus: Increases the bonus that you get from completing houses in a particular amount of time.

Future ideas
If the core mechanic is interesting, we can introduce additional layers of complexity and rewards. The future ideas section is a brainstorming list to get your creative design juices flowing.
  • Economy: Points are really money. :-) As you gather them, you gain the ability to purchase more land, more villagers, visits to other maps, tiles, rare patterns, clothes for your villagers, etc.
  • Additional prayers: Some villagers will become unhappy again, even after they get a house. They request gardens, bath houses, etc. You get loads of bonus point if you assemble these touching their existing abode.
  • Marriage: If you put a man and woman’s house next to one another, they will fall in love and you’ll get a marriage bonus. If you wait long enough, they’ll have a small child who can request a house of his own.
  • Stacking objects on villagers: You can stack tiles on a person. This allows you to keep track of the tiles that a particular villager requires and gets the tiles out of your way.
  • Complex patterns: Advanced patterns can be quite complex. We’ll have to see if this is an enjoyable avenue of advancement.
  • Fast completion bonuses: If you complete a pattern quickly after receiving the prayer, you get a bonus.
  • Minimum number of moves bonus: If you complete a pattern within some number of moves, you get a bonus.
  • Time sensitive prayers: Instead of prayers just waiting for you to click on them, a prayer starts floating up in the sky. If you don't catch it in time, the prayer is lost and the little villager is unhappy.
  • Scrolling maps: Larger scrolling maps gives the user more things to think about.
  • Water: You can drag water onto crops to soak them. This will cause some to grow and yield new treats like mana or spells.
  • Pests: Pest come through and damage crops and buildings. You can drop rocks on them or pick them up and drown them in water.
  • Player on the map: It would be possible to add the player as a character on the map. This gives the player someone to identify with and adds more gameplay possibilities. It also gives a focus point for scrolling. To move, just drag your avatar to a new location and the screen scrolls accordingly.
  • Web-based play: It would be great if this was an online game with instant access and no install. Other players could come visit your realms and chat.
Long term vision
CuteGod is a paintbox game. Ultimately, the user should be able to organize and paint the world that they desire. By carefully managing their tiles, collecting the right patterns and spending wisely, they can create a little living world that is their personal space.

Conclusion
This challenge is an interesting exercise because you get to see the craziness that happens when you prototype an original design. In my limited knowledge of games, the dragging and arranging of tile patterns to satisfy the prayers of little villagers is an uncommon mechanic. There aren't a lot of example to fall back on when something isn't working.

That means much of your prototyping time will be spent balancing and exploring with the new game system. Build the initial game, but don't be afraid to take in new directions if you discover interesting sources of fun. If you end up with something that is truly, horribly unenjoyable, certainly share it! Everyone will learn from both the dead ends and the successes.

For those of you who wonder why there aren't more original games, this can be a great learning experience. The first lesson is that original design isn't usually constrained by technology. I've intentionally kept the engine requirements rather low tech. Instead, the biggest challenge becomes the mental shift from 'implementing a spec' to 'finding the fun in a new game system.' These are two very different skills. If you merely implement an original design, you'll often end up with unplayable garbage. Instead you have to dig for the fun.

In today's risk adverse game development culture that focuses on rapid implementation of a spec, many game developers never master or know how to manage the process of finding the fun in a new game design. It is a process that requires slack time in the schedule to experiment and balance your game. It requires tight collaboration between design and development usually in small groups, not large silos. It requires the ability to try out multiple things at once and pick the best option, not the only option you have time for.

So here is an opportunity that only a few commercial game developers get a chance to regularly engage in. Have fun. :-) I'm very much looking forward to see what you make!

take care
Danc.

Prototyping Resources
Download the PlanetCute tiles: I've added over 20 more tiles and objects. The shadow system is improved, you can build full houses and there are hearts, gems and stars.
Shadow Tile Placement: One of the first problems that prototypers run into is that their lovely work doesn't look like my mockups. This is because my mockups use the miraculous height improving power of the shadow tiles. I updated them in the latest .zip to be even more effective. If you haven't downloaded the PNGs lately, I recommend you do so since some of the graphics and some of the tile names have changed.

Use the diagram below to write your clever algorithm for automatically placing shadow tiles appropriately. (It is an endearing puzzle all by itself)
  • Tile A is on level 1
  • Tile B and C are above Tile A on level 2
  • For each of the 8 directions of the compass, tile B will cast a shadow on tile A. In order to simulate this effect, I've created 8 shadow graphics. If you are Tile A, check the rules. If a rule is true, place the appropriate shadow tile. You can have multiple shadow graphics on top of the same tile.
  • Special case A: When two tiles are on the same level in the diagonal pattern shown below, you need to place Shadow Side West.
  • Special case B: When a tile is at the very top of the stack and there is nothing north of it, you can reused the Shadow South graphic to give the edge more emphasis.




Populous: The original God Game. This genre eventually morphed into more mundane sim and building games, but the fire and brimstone original concept has rarely been revisited. This game was a formative part of my youth. The mechanics of CuteGod are slightly different, but the setting remains an homage to one of histories great original game designs.

Labels: , , ,


Read more!