FWD: HOW TO: Use Game Mechanics to Power Your Business #gaming #gamedesign #gamedev

Posted 15 Jul 2010 — by Brandon Wu
Category Games

From HOW TO: Use Game Mechanics to Power Your Business.

Interesting read, but I mostly just wanted to post this image – a great chart summarizing the everyday challenge of gameplay balance for game designers.

And this is what perfect Game Mechanic Zen looks like:

Posted via email from Brandon Wu’s Road to Where He Wants to Be

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Unity3D Beginners Tip Of The Day: Dealing with Error “BCE0018: The name… does not denote a valid type.” #Unity3D

Posted 15 Jul 2010 — by Brandon Wu
Category Unity3D
I ran into this problem when I tried to access a function in a class/script that I've downloaded from the wiki from another script that I wrote. I kept getting this BCE0018 error telling me "The name (class name) does not denote a valid type". It took me a while to find out that it is because the script I downloaded was written in C#, and the script I wrote was in Javascript – and due to the way scripts are compiled in Unity3D, I need to have the C# script in "Standard Assets" folder and the Javascript outside of that folder for it to work. Read more on this page Script Compilation

All scripts that are compiled in this step have access to all scripts in the first group ("Standard Assets", "Pro Standard Assets" or "Plugins"). This allows you to let different scripting languages interoperate. For example, if you want to create a Javascript that uses a C# script: place the C# script in the "Standard Assets" folder and the Javascript outside of the "Standard Assets" folder. The Javascript can now reference the C# script directly.

Best,
Brandon Wu

—–
Blog: The Life and Business of Building a Game Studio from Day 1 : http://www.plinan.com
Linkedin Profile: http://www.linkedin.com/in/wubrandon
Author of "30 Day GMAT Success" http://www.30dayGMATsuccess.com

Posted via email from Brandon Wu’s Road to Where He Wants to Be

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Unity3D for Beginners: Adding Shadow / Outline, and Changing Font Size / Color on the Text #Unity3D

Posted 10 Jul 2010 — by Brandon Wu
Category Unity3D

After toying with a few different methods of creating in-game text, I decided to use guiText for it's simplicity and for all the GUI scripts you can use from Unity Wiki

Unity 3D does not have a visual GUI editor at the moment, so it isn't always obvious how to do simple things like changing the font and adjusting font size. Here's a quick note of how to get these basics done to get you started with in-game text!

1. How do I change the font size for the text for guiText objects? 

Go to Project view and find the font you are using. There you can find the setting for font size in the "import setting". If you are using Unity iPhone, right click on the font to find "import setting". If you need multiple font sizes, you can duplicate the font and have different import setting on each.  

Alternatively you can disable "Pixel Correct" on the GUIText object itself and adjust the scale. However the text might get blurry this way so I don't recommend it. 

2. How do I change the color of the text for guiText objects?

You change the color of the text by changing the color of its "material". You can find the option in the Project view with your Font. 

However if you change this color here, it will apply to all the GUIText object with this font. What if you want different GUIText objects to have different colors? I created a short script that can be attached to the GUIText object to change the color at run time. You can attach this script on your GUIText objects and select the color you want in the Inspector view when you select the GUIText object. 

The script is simple, see below:

//this script changes the guiText color of the object and should be attached to an guiText object

//from http://www.plinan.com

var TextColor : Color = Color.white; // define the color for this guiText object

function Start () {

guiText.material.color = TextColor; 

}

 

3. How do I add an outline or shadow to my text with guiText?

This is a bit more complicated. I use two methods in the game to create shadows and both require a little bit of work. 

The first method is to create a duplicate of the same guiText (with the same text but a darker color) and move it 1 pixel to the right and 1 pixel to the bottom of the original guiText object to create a shadow effect. Make sure the duplicate is behind the original object. (You can change the renderQueue (more info) of your objects to make sure the original is in front of the duplicate. ) If you want to create a border instead of a shadow around the text, use the same method, create two duplicates, and place them behind the original slightly offset to create a border.

This is what it looks like. 

This is a simple solution. However it has its problems. I need a way to display moving text, and the text doesn't look very good with this method as the two objects don't always move at the exact same time. So I had to find another way to create shadows for the text. 

Fortunately Unity Wiki provided a solution to do this with these two scripts: SaveFontTexture and TexturedFont

The basic idea is to 
1. Export the Font Texture
2. Edit the Texture so that it has your desired effects (outline, shadow, or any other effects) with Photoshop or Gimp
3. Create a Material with the new Texture you've created
4. Use the Material together with the TexturedFont shader on the guiText object.

Here's the instruction from the wiki:

Description

If you've ever wanted to get at the auto-generated font bitmap that Unity creates when importing vector fonts, now's your chance. SaveFontTexture saves that bitmap as a .png file so you can edit it, add whatever whizbang effects you want to it, and then use it as a colored font, using the TexturedFont shader and a GUIText object.


Script Setup

You must place the script in a folder named Editor in your project's Assets folder for it to work properly. When this is done, you will then have a Save Font Texture menu item in the Assets menu. Find the TrueType font you want in Unity and open the root, which reveals the auto-generated material and texture. Click once on the texture (called "font Texture") and select the Save Font Texture menu item. Choose a file name and location in the file dialog, and hit save. (Technically this script will work for any texture in Alpha8 format, if for some reason you wanted to save it as a .png file.)

Customizing and Using Font Textures

1. Get the TrueType font that you want to modify in Unity at the desired Font Size (so that you can use Pixel Correct in the GUI_Text object that will use it for crisp rendering).

2. Use this script (installed as described above) to save the texture Unity generates automatically for the font.

3. Edit that texture file in Photoshop to use in your project.

4. Create a new Material in Unity.

5. Set the texture of the material to the modified texture.

6. Set the shader of the material to the TexturedFont Shader.

7. In any scene GUI_Text objects that will use the custom font, apply the original font to the object then change its material to the custom material created in steps 4-6. 

Again, it looks like this in my game. I applied a small shadow to the text so it's hard to see but it looks very different from text without the shadow. 

Without shadow: 

With shadow: 

It helps to make the text more readable. 

By the way, if you are looking for fonts to use, I found a few at MyFont.com. They also have free fonts that can be used for commercial purposes. 

I think that's all I have to say about guiText for now. Cheers!

-Brandon Wu

—–
Blog: The Life and Business of Building a Game Studio from Day 1 : http://www.plinan.com
Linkedin Profile: http://www.linkedin.com/in/wubrandon

Author of "30 Day GMAT Success" http://www.30dayGMATsuccess.com

Posted via email from Brandon Wu’s Road to Where He Wants to Be

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Blizzard Is The Pixar Of The Video Game World #pixar #blizzard #passion

Posted 09 Jul 2010 — by Brandon Wu
Category Games

“Nothing is guaranteed, or goes as planned, but if you keep yourself grounded in what you’re trying to do – which is make a piece of artwork that people would love to watch, it touches them. And that’s the same thing that Blizzard and Bioware do – they’re making games that, when you turn the computer off, you’re still thinking about the game. There’s an important place for that.”

And that’s what keeps Pixar and Blizzard ahead of other studios – Passion for Perfection.

Read more Blizzard Is The Pixar Of The Video Game World

Posted via email from Brandon Wu’s Road to Where He Wants to Be

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Unity Beginner Tip of the Day: Rigidbody Required for Collision/Trigger Events #Unity3D

Posted 08 Jul 2010 — by Brandon Wu
Category Unity3D

“If you are moving a GameObject through its Transform component but you want to receive Collision/Trigger messages, you must attach a Rigidbody to the object that is moving.”


From unity3d.com – Unity Reference Document: Rigidbody

This might seem obvious. The rigidbody component is used when you want your game object to have physics applied on it. Unity has Ageia (now part of Nvidia) physX engine built-in, so you can easily make a game with physics in it – stuff like gravity, realistic collisions, forces, and torque. It can create some very impressive and natural-looking effect. (similar to Little Big Planet or this Unity-powered gem Cordy)

But what if you don’t want the fancy physics? You can simply remove the rigidbody component in your game. However if you have any collision or trigger messages in your game, that is, if you use any OnCollision or OnTrigger functions, they will no longer work. As stated at the bottom on the Rigidbody reference page, “If you are moving a GameObject through its Transform component but you want to receive Collision/Trigger messages, you must attach a Rigidbody to the object that is moving.”

So the bottom line is, if you don’t want to use physics for the objects in your game but need to have collisions and triggering events, keep the rigidbody component on the objects and Enable “Is Kinematic” – which disabled the object from having physics applied to it.

Posted via email from Brandon Wu’s Road to Where He Wants to Be


Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

FWD: 40 awesome examples of tilt-shift photography. #photo #art #tiltshift

Posted 05 Jul 2010 — by Brandon Wu
Category Media

Tilt-shifting, also known as Miniature Faking, is “a process in which a photograph of a life-size location or object is made to look like a photograph of a miniature scale model” basically by blurring the top and bottom of a picture and adjust the color saturation of the photo. It can create some amazing images.

I love the way they look, and would love even more if we can see a game with this kind of visual!

More at Design Float.

Posted via email from Brandon Wu’s Road to Where He Wants to Be

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

FWD: Understanding next-gen streaming game services | Web Crawler – CNET News #game #onlive

Posted 03 Jul 2010 — by Brandon Wu
Category Media

Imagine channel surfing on your couch with a remote game controller and play different games as you like. That’s how I imagine these streaming game services to be like (probably not initially but hopefully in the future). With these streaming game services, you no longer need to worry about having the latest console to play games, or having to buy/rent a physical copy of the game. It’ll be like YouTube – search and play, with no waiting in between.

Is this going to make consoles obsolete? No, not now at least. Consoles are always going to push the technology – be it graphics, 3D technology, or motion control. But streaming services will be a great way for people to easily become a gamer without having to worry about hardware by making games much more accessible – think Facebook games but with amazing production quality.

I can’t wait.

:)

Posted via email from Brandon Wu’s Road to Where He Wants to Be

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Unity3D for Beginners: Creating the Visual for the Line of Sight / Vision Cone / Field of View

Posted 02 Jul 2010 — by Brandon Wu
Category Unity3D

I put off creating a visual representation for the line of sight for the NPCs in the game for quite some time. It just seemed very complicated, especially after various forum posts I've read where everyone has different opinions about the best way to create a line in Unity3D. A lot of people also are trying to figure out how to create a line of sight (aka a vision cone, field of view) Messing with raycast seemed like a headache to me however. Anyhow, some of the options I found were:

1. Line Renderer: This is the built-in class in Unity3D. You create a game object and attach this to it. Done. The script reference is here

2. Vector Line: From Unity Wiki. "Draws a vector line on the screen based on normalized viewport coordinates." I didn't get to try it as I don't have Unity Pro yet. 

3. Vectrosity ($): This commercial plug-in is quite powerful and the interaction between the vector graphics and the 3D world is very impressive. Also quite reasonably priced in my opinion ($7, $25). 

4. Dynamically drawing on the ray: This just seemed too complicated for my simple need in the game. 

In the end, I decided to use a simple solution to create a Line Renderer object and tweak the starting and ending sizes to make it look somewhat like a cone. I created an image of a dotted line for the Line Renderer material. And I attached the Line Renderer object to the NPC object and have it drawn in the Z-axis(which is the direction the NPC is facing) by 2 units. See the image below for how I set up the Line Renderer object in the inspector. (Please ignore the transform as it's related to how my NPCs are constructed.)

And that's all! Please note that this only creates the visual of the line of sight but does not actually create a line of sight for the NPC to detect players. I will write another post on how I did that in a separate post. 

Best,
Brandon Wu

Blog: http://www.plinan.com
Linkedin Profile: http://www.linkedin.com/in/wubrandon

Posted via email from Brandon Wu’s Road to Where He Wants to Be

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Mini Game Review – Grow Island (flash browser game)

Posted 27 Jun 2010 — by Brandon Wu
Category Games

I discovered Grow Island a few days ago and was intrigued by the simple play mechanism and the degree of “Omoshiroi“ness. (aka interestingness). The player is presented on screen an island and a few buttons that represent different technologies. The player’s mission is to find out the optimal order in which to click these buttons in order to maximize all the technological advancement and see the “special ending”. Think of it as Civilization in the simplest form (with only the technology tree gameplay left).

What do I like most about the game?
1. Instant gratification. Something interesting and different always happens right after when you click on a button.
2. Fun animation sequences. The designer has a wacky sense of humor and it’s captured in his animations.
3. Easy to pick up and play, and has enough depth and different endings for players to come back for more.

Each session is short and it’s quite perfect for a little break in the middle of the day. Try it and let me know if you like it! ;)

Grow Island

Posted via email from Brandon Wu’s Road to Where He Wants to Be

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

FWD: “Extra Lives”: Are video games the next great art form? – Nonfiction #gaming

Posted 27 Jun 2010 — by Brandon Wu
Category Games

Is video game art? Can it ever be art? I’d say yes to both of these questions, what do you think?
Good article on Salon on gaming as art.

Posted via email from Brandon Wu’s Road to Where He Wants to Be

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon