Getting Started Making Multiplayer Games In Unity

31 posts

Flag Post

Hey everybody, this is going to be a video tutorial series on making multiplayer/social games with the Unity3D game engine, plus Roar as a social/login backend and Photon for multiplayer.
Disclaimer: This tutorial is going to use Unity. If you don’t like Unity, please do not take it out on me by leaving yet another ‘Unity Sucks’ comment. If you don’t like the thread, please quietly leave. Thank you.

Disclaimer 2: This tutorial is not going to teach you how to use Unity, or how to program. Instead, I will refer you to the following sources:
Getting started with the Unity Editor: http://docs.unity3d.com/Documentation/Manual/UnityBasics.html
Getting started scripting in Unity: http://docs.unity3d.com/Documentation/ScriptReference/index.html
And finally, www.google.com is your friend.

This guide assumes you have downloaded and installed Unity, and have created a new project. Be sure to watch the videos in HD for best results.

Part 1

Assembling your toolkit

Part 2

Handling user accounts with Roar

Coming Soon: Creating a main menu, Connecting to Photon, Sending Friend Requests, Creating an item store, Equipping and Consuming items, Awarding Experience, Creating a Daily Lottery

 
Flag Post

Considering that making a multiplayer game takes so much work and effort, it’d be easier for users to follow in forms of video tutorials, I’d imagine.

 
Flag Post
Originally posted by lSWATLLAMA:

considering that making a multiplayer game takes so much work and effort, it’d be easier for users to follow in forms of video tutorials, I’d imagine.

Oh no. I personally despise video tutorials because the pacing is almost always awful. In the (hundreds?) of video tutorials/classes I’ve watched, only one series was paced in a way I liked (Great job Deke McClelland!). Anyway, text tutorials are much better in my opinion.

 
Flag Post
Originally posted by BobTheCoolGuy:
Originally posted by lSWATLLAMA:

considering that making a multiplayer game takes so much work and effort, it’d be easier for users to follow in forms of video tutorials, I’d imagine.

Oh no. I personally despise video tutorials because the pacing is almost always awful. In the (hundreds?) of video tutorials/classes I’ve watched, only one series was paced in a way I liked (Great job Deke McClelland!). Anyway, text tutorials are much better in my opinion.

Hear, hear.

 
Flag Post

I can see why you would prefer text tutorials, since I hate leaving in the middle of the tutorial and then finding my way back, but I learn better from hearing.

 
Flag Post

Unity? Noooooo.

I love the 3D Buzz video tutorials. They are awesome. Educational and entertaining.

 
Flag Post
Originally posted by GameBuilder15:

Unity? Noooooo.

I love the 3D Buzz video tutorials. They are awesome. Educational and entertaining.

What’s so bad about Unity? Has to be the best game engine I have ever worked with, period.

 
Flag Post

What other game engines have you worked with?

Not to be rude to you but it is possible that Unity is the only game engine you’ve worked with. D:

 
Flag Post

I’ve tried using UDK.
I’ve tried using Torque.
I’ve tried using NeoAxis.
I’ve tried making Flash games.
I’ve tried making Javascript games.
Never had much success with any of them.
Only with Unity have I actually made any substantial progress on a game.

 
Flag Post

Unity isn’t nearly as good as the Unreal Engine. Unity games are unplayable for a lot of people.

 
Flag Post

What’s so bad about Unity? Has to be the best game engine I have ever worked with, period.

I’ve tried using UDK.
I’ve tried using Torque.
I’ve tried using NeoAxis.
I’ve tried making Flash games.
I’ve tried making Javascript games.
Never had much success with any of them.
Only with Unity have I actually made any substantial progress on a game.

Torque isn’t an IDE like UDK and Unity are. I don’t know anything about NeoAxis. Flash games aren’t quite an engine, but flash is the format for the games. Javascript is a programming language.

Unity isn’t nearly as good as the Unreal Engine. Unity games are unplayable for a lot of people.

The first sentence is true. The last sentence is only true to Linux users and people too lazy to install it.

 
Flag Post

(long rant coming up, be prepared)

Unity may not do some of the things Unreal does out-of-the-box. What Unity does is provides a system that is fundamentally more manageable and extensible than anything the Unreal engine will ever be.
The Unreal engine was originally designed for a single purpose: To power the Unreal Tournament game. To this day, the Unreal engine remains largely unchanged in structure from the original version. Sure, you could make an adventure game, or a puzzle game, or any game, if you hack away at the engine long enough. Their entity system is a complete mess, because it’s based on inheritance. For example, I wanted to create a hovercraft, and I thought to inherit from SVehicle, but that didn’t give me the functionality I needed, so I looked at the subclasses, and found that there was way more than I really needed, and it was very tightly coupled with Unreal-specific gameplay (multi-seat vehicles, gun positions, and a lot of other stuff that I just didn’t need).
On the other hand, Unity being component-based means that, if you do it right, you’ll rarely run into this issue. The design encourages components that function independently of each other, but still work together to create any gameplay you can think of.
Plus, some things aren’t built into Unity but just about anything can be added if you need it.
As for the unplayable bit, I have RARELY encountered anything of the sort. People having problems with Unity games loading, or crashing, or anything else considered ‘unplayable’ happens to maybe 2-3 people a month (at most), out of thousands of people a day playing the game (referring to another person’s game, not mine), and this is for the browser version (standalone builds are MUCH more reliable)

 
Flag Post
The last sentence is only true to Linux users and people too lazy to install it.

False. I have it installed, use Windows and can’t play over 95% of Unity games.

 
Flag Post

As for Torque, it DOES have a built-in level editor.
NeoAxis is almost exactly the same as Torque, but not very well optimized, especially graphically.
As for Flash games, I’ve tried custom-built game engines, as well as the Flixel engine (great engine, but no level editor, and I hate the lack of many GUI features)
As for Javascript games, very similar story to Flash.

 
Flag Post
Originally posted by Senekis93:
The last sentence is only true to Linux users and people too lazy to install it.

False. I have it installed, use Windows and can’t play over 95% of Unity games.

OK, so Unity games don’t work on your machine. You are one user out of thousands (millions?). If 90% of comments on every Unity game was ’Doesn’t work’, I’d probably agree that Unity was unreliable. But that’s not the case. On the whole, Unity is very reliable.

 
Flag Post

Unity crashes my browser.

 
Flag Post

My argument still stands.

 
Flag Post

Well, since this isn’t an argument about game engines, I would assume that such argument will cease to persist.

 
Flag Post

FINALLY. I can get back to tutorial making :D

 
Flag Post
Originally posted by PhobicSoft:
Originally posted by Senekis:
The last sentence is only true to Linux users and people too lazy to install it.

False. I have it installed, use Windows and can’t play over 95% of Unity games.

OK, so Unity games don’t work on your machine. You are one user out of thousands (millions?). If 90% of comments on every Unity game was ’Doesn’t work’, I’d probably agree that Unity was unreliable. But that’s not the case. On the whole, Unity is very reliable.

Well, many can’t even comment because, you know, unlike with Flash Player, to kill the stupid Unity game you have to shut down the whole explorer (or tab, if you use Chrome).

But anyway, there’s no point in starting the 100th edition of the “Why Unity sucks” thread, plus it’s hard to validate any argument which involves numbers when Unity staff refuses to share statistics about users. I guess they have something to hide.

 
Flag Post

Alrighty then, let me put up a disclaimer:
IF YOU HATE UNITY, LEAVE THE THREAD NOW PLEASE, WITHOUT LEAVING A ‘UNITY SUCKSCOMMENT. THIS THREAD WILL CONTAIN CRAPTONS OF UNITY

Thank you.

 
Flag Post

Unity works nicely for me. Anyway, a good Unity tutorial would probably be a nice things for lots of people, especially one that includes all steps in the Unity workflow. I do know of a 270 step tutorial here

 
Flag Post

Yes, actually I think I am going to make a video series, much easier than writing out every step. Sorry to the people who prefer text tutorials, although a video tutorial is going to be much more descriptive than anything I could write.

 
Flag Post

Unity may not do some of the things Unreal does out-of-the-box. What Unity does is provides a system that is fundamentally more manageable and extensible than anything the Unreal engine will ever be.

Why’s that?

IF YOU HATE UNITY, LEAVE THE THREAD NOW PLEASE, WITHOUT LEAVING A ‘UNITY SUCKS’ COMMENT. THIS THREAD WILL CONTAIN CRAPTONS OF UNITY

I like Unity, but you will get a lot of “BLAH I HATE THIS SHIT” comments.

False. I have it installed, use Windows and can’t play over 95% of Unity games.

On my old computer, the one unity game that didn’t run very well was Red Crucible 2. It usually crashed, but that was due to a lack of power, not Unity itself… unless you count how verbose Unity games are when they shouldn’t be so CPU intensive.

As for Torque, it DOES have a built-in level editor.

Now, back on topic.
Most like text tutorials, and those are the preferred method. Before you get into multiplayer games, you have to explain hundreds of other things in Unity, and teach the scripting or refer us to other references.

 
Flag Post

Why’s that?

Unity is fundamentally more manageable and versatile than Unreal because Unity uses component-based architecture, whereas Unreal uses inheritance to define the functionality of entities. At some point or another, every developer has run into situations where inheritance produced issues that proved difficult to solve. Component architecture completely solves all of the issues associated with pure inheritance.

Before you get into multiplayer games, you have to explain hundreds of other things in Unity, and teach the scripting or refer us to other references.

I’m not going to teach scripting or the Unity editor itself, because there are so many hundreds of resources on that, at this point yet another would be redundant. However, I will refer you to other sources.
Getting started with the Unity Editor: http://docs.unity3d.com/Documentation/Manual/UnityBasics.html
Getting started scripting in Unity: http://docs.unity3d.com/Documentation/ScriptReference/index.html
And finally, www.google.com is your friend.