dibs

Unity

Recommended Posts

So like lots of people I'm pretty much 100% sure I have the best game idea ever and the skills to pull it off.

I was looking at the unity website and it says you can get a basic dev version for free? Am I reading that right? What will I be limited to since I don't understand the jargon there. Am I better off trying it in java or something.

It's actually just a little side project for me to tinker around with to learn a bit more about games. Also, totes best game 4eva.

Share this post


Link to post
Share on other sites

The limit will be... your imagination. :tup:

Share this post


Link to post
Share on other sites

The big missing features for smaller games are the profiler (making it easy to see how to make your game operate more efficiently), shaders (access to the displayed pixels for neat visual effects), real time shadows, and render-to-texture (for mirrors and such). But you still get most of Unity's feature set, and they just recently opened up building to Android and iOS for free, which is exciting!

 

I've heard good things about this tutorial sequence, which teaches C# alongside Unity: http://catlikecoding.com/unity/tutorials/

 

It also depends what you want to do. Unity is built for 3d games, although there are external libraries (some free, some paid) to dig around to make the 2d stuff a little easier. If you just want to get going with 2d game design, I'd recommend Flixel (AS3 is very easy to pick up with a Java background), Game Maker or Multimedia Fusion.

Share this post


Link to post
Share on other sites

Unity is weird...the free version is sufficient to make a game (paid versions seem to mostly help upgrade performance, portability and graphics). Some people love it, but I hated trying to learn it! I'll probably go back to it someday :) but like a lot of "accessible" game tools it often seemed like I was fighting to learn which triple-nested menu button would permit me to do something that I could easily imagine doing in the code.

 

So my barely-informed summary would be: making a practice game in Unity is about half "learning to program 3d games" and half "learning to use the Unity application", and the latter feels like the big half. =P If you're okay with that, it's probably the fastest and easiest route.

 

If you are like me and want to get straight to the programming (either because you already know how to program, or because that sounds like a more interesting thing to learn) then I would go with a slightly less automated game engine. If you go that route I recommend looking at jMonkeyEngine 3.0, which is the only game engine I've tried thus far that doesn't make me want to punch a hole in my laptop. ^_^ It comes with a fairly pain-free installer and its own custom IDE like Unity, but is a lot more code-focused.

 

That being said, I started my three-dimensional journey by messing around with Unity and making a basic physics-test-thing, and maybe it was secretly super helpful for the basic concepts like scenes and 3d orientation and lighting and terrains. It's nice to be able to experiment with that stuff and not worry about compilation errors. =)

 

(I also second the recommendation for Flixel for 2d stuff...flash games are the easiest to get people to play, anyway, and if you need it to become a not-Flash game you can apparently port it to desktop or other platforms using HaxeFlixel, which I have not tried)

Share this post


Link to post
Share on other sites

Aside from making iOS and Android versions free, they're also going to add stuff like real-time shadows (when using a directional light) into the Free version. Which is awesome.

Share this post


Link to post
Share on other sites

Well, I was going for a 2D so thanks for the recommendations. :)

Ill prob grab unity just to try it out too. I have a pretty good idea how to model geometric shapes at least since I did lots if that in college! If i ever try a 3D game it will basically be Cloud Strife hands for everyone!

Anywhere I can get some free imagination?

Share this post


Link to post
Share on other sites

The few times I've played with Unity, I've loved working with it (as a programmer at least).

 

Chris originally pointed me at this book, which I found to be pretty well written (It's about Unity 3, but is probably still pretty relevant to 4 for beginners):

http://www.amazon.com/Unity-Development-Example-Beginners-ebook/dp/B005OYJUIU?tag=idlthu-20

 

This guy also has a podcast/Youtube channel with some Unity tutorials that are pretty helpful:

 

(Learned about Random.insideUnitSphere from that, which is tons of fun :))

Share this post


Link to post
Share on other sites

Thanks for the posts Tabacco, I've been thinking more and more about this and after the last cast, I think I'm going to try either game maker or unity out. I need to get learn some basic programming or scripting to get something cobbled together.

 

Just ordered that book, the reviews on amazon made it seem like something I can understand.

Share this post


Link to post
Share on other sites

I've attended several PAX panels that were geared toward making games and both Unity and Game Maker are consistently recommended starting places.  I've had both on my computer for a long time and have yet to do anything with either one, so I sadly have no first hand advice.

Share this post


Link to post
Share on other sites

That book's probably pretty good if you're new-ish to programming. I actually ended up skipping several sections that were pretty basic (like looks and conditionals).

 

Worth noting that Unity actually supports three programming languages: C#, Javascript (kind of), and Boo. I don't know anything about Boo, except that it looks a little like Python. The flavor of Javascript was just different enough from regular Javascript that I found it frustrating, so I personally prefer C#, since it is at least just plain old C#.

Share this post


Link to post
Share on other sites

I have started using Unity recently. I find it nice to have something that I can use to make a quick 3D environment with lighting and cameras and stuff, without dealing with a lot of 3D image code. (OpenGL and DirectX were the banes of my college existence.)

As for 2D development, while a lot of people have recommended Flixel, I haven't used it so I really can't say anything one way or the other. However, I used to use GameMaker a lot during high school. It seems very simple and plain at first, but with some creativity it can be a powerful tool.

Share this post


Link to post
Share on other sites

My only experience is beginner html that I learned in 1999, so hopefully this book will be for me. So far I'm just used to kismet in Unreal, but maybe some of the logic is similar to programming?

Share this post


Link to post
Share on other sites

So I take it that me programming in C++ with the Allegro library and using Paint.net to draw all my bitmaps is an incredibly inefficient way of making my game?

 

Sweet. I wouldn't have it any other way.

Share this post


Link to post
Share on other sites

There's nothing wrong with doing it the way you are. In fact, in some ways you'll be exposed to things people using things like Unity might never have to deal with, and that learning can be very valuable.

(Also, there's nothing wrong with Paint.net, and those assets need to be made somehow!)

Share this post


Link to post
Share on other sites

There's nothing wrong with doing it the way you are. In fact, in some ways you'll be exposed to things people using things like Unity might never have to deal with, and that learning can be very valuable.

(Also, there's nothing wrong with Paint.net, and those assets need to be made somehow!)

 

Thanks! I like to think of it that way too. In my case, I am just making a game for my own satisfaction and for the thrill of creating something. I absolutely love programming and just going through the process of building all of my classes and refactoring my code to make it more efficient is almost like playing a video game in and of itself.

 

But I suppose if I was making a game that I intended other people to play I would probably use something like Unity or Game Maker to facilitate the process and allow me to focus more on the higher level stuff.

 

Also, how prevalent is the use of C# for making video games? I always thought C++ was more commonly used because it allows for better performance, multiple inheritance, and the use of pointers but lately it seems like I've been hearing a lot about C# being used to make games. But keep in mind, all of the programming I have learned has been what I've taught myself plus some stuff I've learned on the job and a bit in school (but that was mostly just C and some Verilog) so I probably have no idea what I'm talking about.

Share this post


Link to post
Share on other sites

Unity uses C# as a scripting language, most people making games in C++ use it for writing the engine. It's more common to use a mix of languages - a very common one is C++ for the engine and Lua for the scripting and gameplay.

 

The reason for this is that C++ is very efficient but it is also a pain in the ass.

 

You've likely also heard people using C# to make xbox games - XNA was a library intended for use with C#.

 

What you should do is use a language you're comfortable with. There are very few 'wrong' answers, at least for hobbyist developers - Naughty Dog used to write games in Perl, which is madness. As you become more proficient with programming, your productivity goes up by orders of magnitude, so don't be afraid to learn new languages and don't feel like you have to learn the "right" language the first time. You'll catch back up. Hobby projects where you're just messing around are great because you'll feel no pressure to cut your losses when, like all programmers do at some point, you inevitably write yourself into a corner and the game stops working and you have no idea how to fix it.

 

By the way, take a look at source control utilities. Mercurial and Git (via GitHub) are popular and free, and if you're diligent about saving changes to them, they allow you to undo large chunks of development and put it back to a state where it was working. You can also split off new branches to dick around with something, and merge it back into the old version if it turns out it was a good idea.

Share this post


Link to post
Share on other sites

If you're working on a game with multiple people, Git, Hg, etc. almost certainly won't work well for your project. With the exception of the scripts, everything is a binary, which doesn't play nice with a shared-checkout system. The free version of Perforce is probably a better starting place for games since it provides exclusive checkouts of specific files. If it's just you, though, Git is awesome.

Share this post


Link to post
Share on other sites

Thanks for the advice guys! Really appreciate it.

Doesn't Visual Studio 2012 also offer a free version of Team Foundation that supports up to five developers or something like that? I know 2012 express version has quite a bit of functionality compared to what 2010 had and I thought that was one of the features. And the integrated workflow stuff is really nice too.

Share this post


Link to post
Share on other sites

I've worked quite a bit in Unity. What was said earlier is super true. Much of Unity's learning curve is learning the "unity method" of doing things. It's not like lots of other game engine scripting languages. Learning the component system, which is basically how objects can most efficiently communicate is certainly different then other engines. However once you get the hang of it I really do think it's an excellent tool. It's totally viable to use the free version of unity through most of your development and then only upgrading to pro when you're shaping it for release and are worried about profiling performance and adding more nifty graphical effects.

 

Unity is also now offering a 75/mo sub service to pro (with a 1 year commit). So if you can't pony up 1500 all at once you can still get in on pro use. 

Share this post


Link to post
Share on other sites

Unity actually hired Will Goldstone who made most of the training materials I used when I learned Unity. He's running all the stuff on their official site now and it's actually REALLY good. There's free http://unity3d.com/learn/live-training/'>live training as well as IMO really good http://unity3d.com/learn/tutorials/modules'>tutorials. I actually learned Unity initially by working through Will Goldstones learning Unity book for Unity 3. I'm not sure if he ever released a Unity 4 version of the book...

Share this post


Link to post
Share on other sites

I've been looking at trying to learn Unity for a while.

So far the only thing I accomplished was drawing/texturing a height map and adding in the prefab first person camera controls. Which is honestly half way to the design I've envisioned.

I don't really want to start from the ground up and have been looking for just the bits I want to implement, but maybe I'm getting ahead of myself.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now