8 min read

 

Unity 3D Game Development by Example Beginner’s Guide

Unity 3D Game Development by Example Beginner's Guide

A seat-of-your-pants manual for building fun, groovy little games quickly

Read more about this book

(For more resources on this subject, see here.)

Technology is a tool. It helps us accomplish amazing things, hopefully more quickly and more easily and more amazingly than if we hadn’t used the tool. Before we had newfangled steam-powered hammering machines, we had hammers. And before we had hammers, we had the painful process of smacking a nail into a board with our bare hands. Technology is all about making our lives better and easier. And less painful.

Introducing Unity 3D

Unity 3D is a new piece of technology that strives to make life better and easier for game developers. Unity is a game engine or a game authoring tool that enables creative folks like you to build video games.

By using Unity, you can build video games more quickly and easily than ever before. In the past, building games required an enormous stack of punch cards, a computer that filled a whole room, and a burnt sacrificial offering to an ancient god named Fortran. Today, instead of spanking nails into boards with your palm, you have Unity. Consider it your hammer—a new piece of technology for your creative tool belt.

Unity takes over the world

We’ll be distilling our game development dreams down to small, bite-sized nuggets instead of launching into any sweepingly epic open-world games. The idea here is to focus on something you can actually finish instead of getting bogged down in an impossibly ambitious opus. When you’re finished, you can publish these games on the Web, Mac, or PC.

The team behind Unity 3D is constantly working on packages and export opinions for other platforms. At the time of this writing, Unity could additionally create games that can be played on the iPhone, iPod, iPad, Android devices, Xbox Live Arcade, PS3, and Nintendo’s WiiWare service. Each of these tools is an add-on functionality to the core Unity package, and comes at an additional cost. As we’re focusing on what we can do without breaking the bank, we’ll stick to the core Unity 3D program for the remainder of this article. The key is to start with something you can finish, and then for each new project that you build, to add small pieces of functionality that challenge you and expand your knowledge. Any successful plan for world domination begins by drawing a territorial border in your backyard.

Browser-based 3D? Welcome to the future

Unity’s primary and most astonishing selling point is that it can deliver a full 3D game experience right inside your web browser. It does this with the Unity Web Player—a free plugin that embeds and runs Unity content on the Web.

Time for action – install the Unity Web Player

Before you dive into the world of Unity games, download the Unity Web Player. Much the same way the Flash player runs Flash-created content, the Unity Web Player is a plugin that runs Unity-created content in your web browser.

  1. Go to http://unity3D.com.
  2. Click on the install now! button to install the Unity Web Player.

    Unity 3D Game Development by Example

  3. Click on Download Now!
  4. Follow all of the on-screen prompts until the Web Player has finished installing.

    Unity 3D Game Development by Example

Welcome to Unity 3D!

Now that you’ve installed the Web Player, you can view the content created with the Unity 3D authoring tool in your browser.

What can I build with Unity?

In order to fully appreciate how fancy this new hammer is, let’s take a look at some projects that other people have created with Unity. While these games may be completely out of our reach at the moment, let’s find out how game developers have pushed this amazing tool to its very limits.

FusionFall

The first stop on our whirlwind Unity tour is FusionFall—a Massively Multiplayer Online Role-Playing Game (MMORPG). You can find it at fusionfall.com. You may need to register to play, but it’s definitely worth the extra effort!

FusionFall was commissioned by the Cartoon Network television franchise, and takes place in a re-imagined, anime-style world where popular Cartoon Network characters are all grown up. Darker, more sophisticated versions of the Powerpuff Girls, Dexter, Foster and his imaginary friends, and the kids from Codename: Kids Next Door run around battling a slimy green alien menace.

Completely hammered

FusionFall is a very big and very expensive high-profile game that helped draw a lot of attention to the then-unknown Unity game engine when the game was released. As a tech demo, it’s one of the very best showcases of what your new technological hammer can really do! FusionFall has real-time multiplayer networking, chat, quests, combat, inventory, NPCs (non-player characters), basic AI ( artificial intelligence), name generation, avatar creation, and costumes. And that’s just a highlight of the game’s feature set. This game packs a lot of depth.

Should we try to build FusionFall?

At this point, you might be thinking to yourself, “Heck YES! FusionFall is exactly the kind of game I want to create with Unity, and this article is going to show me how!”

Unfortunately, a step-by-step guide to creating a game the size and scope of FusionFall would likely require its own flatbed truck to transport, and you’d need a few friends to help you turn each enormous page. It would take you the rest of your life to read, and on your deathbed, you’d finally realize the grave error that you had made in ordering it online in the first place, despite having qualified for free shipping.

Here’s why: check out the game credits link on the FusionFall website: http://www.fusionfall.com/game/credits.php.

This page lists all of the people involved in bringing the game to life. Cartoon Network enlisted the help of an experienced Korean MMO developer called Grigon Entertainment. There are over 80 names on that credits list! Clearly, only two courses of action are available to you:

  • Build a cloning machine and make 79 copies of yourself. Send each of those copies to school to study various disciplines, including marketing, server programming, and 3D animation. Then spend a year building the game with your clones. Keep track of who’s who by using a sophisticated armband system.
  • Give up now because you’ll never make the game of your dreams.

Another option

Before you do something rash and abandon game development for farming, let’s take another look at this. FusionFall is very impressive, and it might look a lot like the game that you’ve always dreamed of making. This article is not about crushing your dreams. It’s about dialing down your expectations, putting those dreams in an airtight jar, and taking baby steps. Confucius said: “A journey of a thousand miles begins with a single step.” I don’t know much about the man’s hobbies, but if he was into video games, he might have said something similar about them—creating a game with a thousand awesome features begins by creating a single, less feature-rich game.

So, let’s put the FusionFall dream in an airtight jar and come back to it when we’re ready. We’ll take a look at some smaller Unity 3D game examples and talk about what it took to build them.

Off-Road Velociraptor Safari

No tour of Unity 3D games would be complete without a trip to Blurst.com—the game portal owned and operated by indie game developer Flashbang Studios. In addition to hosting games by other indie game developers, Flashbang has packed Blurst with its own slate of kooky content, including Off-Road Velociraptor Safari. (Note: Flashbang Studios is constantly toying around with ways to distribute and sell its games. At the time of this writing, Off-Road Velociraptor Safari could be played for free only as a Facebook game. If you don’t have a Facebook account, try playing another one of the team’s creations, like Minotaur China Shop or Time Donkey).

Unity 3D Game Development by Example

In Off-Road Velociraptor Safari, you play a dinosaur in a pith helmet and a monocle driving a jeep equipped with a deadly spiked ball on a chain (just like in the archaeology textbooks). Your goal is to spin around in your jeep doing tricks and murdering your fellow dinosaurs (obviously).

For many indie game developers and reviewers, Off-Road Velociraptor Safari was their first introduction to Unity. Some reviewers said that they were stunned that a fully 3D game could play in the browser. Other reviewers were a little bummed that the game was sluggish on slower computers. We’ll talk about optimization a little later, but it’s not too early to keep performance in mind as you start out.

Fewer features, more promise

If you play Off-Road Velociraptor Safari and some of the other games on the Blurst site, you’ll get a better sense of what you can do with Unity without a team of experienced Korean MMO developers. The game has 3D models, physics (code that controls how things move around somewhat realistically), collisions (code that detects when things hit each other), music, and sound effects. Just like FusionFall, the game can be played in the browser with the Unity Web Player plugin. Flashbang Studios also sells downloadable versions of its games, demonstrating that Unity can produce standalone executable game files too.

Maybe we should build Off-Road Velociraptor Safari?

Right then! We can’t create FusionFall just yet, but we can surely create a tiny game like Off-Road Velociraptor Safari, right? Well… no. Again, this article isn’t about crushing your game development dreams. But the fact remains that Off-Road Velociraptor Safari took five supremely talented and experienced guys eight weeks to build on full-time hours, and they’ve been tweaking and improving it ever since. Even a game like this, which may seem quite small in comparison to full-blown MMO like FusionFall, is a daunting challenge for a solo developer. Put it in a jar up on the shelf, and let’s take a look at something you’ll have more success with.


Subscribe to the weekly Packt Hub newsletter. We'll send you this year's Skill Up Developer Skills Report.

* indicates required

LEAVE A REPLY

Please enter your comment!
Please enter your name here