Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1028768 Posts in 41317 Topics- by 32922 Members - Latest Member: sjgriffiths

August 01, 2014, 05:53:15 AM
TIGSource ForumsDeveloperTechnical (Moderators: Glaiel-Gamer, ThemsAllTook)How good is Unity really?
Pages: 1 [2]
Print
Author Topic: How good is Unity really?  (Read 2138 times)
J-Snake
Level 10
*****


a fool with a tool is still a fool


View Profile WWW Email
« Reply #15 on: December 22, 2012, 12:58:50 PM »

May be you can take a look at monoGame. It is inspired by xna but tries to take it multiplat.
I haven't tried it yet but I keep hearing positive feedback so far.
Logged

Independent game developer with an elaborate focus on interesting gameplay, rewarding depth of play and technical quality.

Super Metroid Tournament: http://forums.tigsource.com/index.php?topic=38039.0

TrapThem: http://steamcommunity.com/sharedfiles/filedetails/?id=222597670
SolarLune
Level 10
*****


Hmm.


View Profile WWW Email
« Reply #16 on: December 22, 2012, 03:12:23 PM »


My main concern is optimization. Unity is a "one size fits all" sort of engine (as I understand it), so I'm worried it doesn't optimize well for individual creations. Take for example a game like Terraria. That was a "simple" game (graphically speaking), with thousands of blocks per world. A game like that can be easily optimized when making your own engine, but how well would Unity handle that many objects? Some engines would outright choke trying to update everything every frame.

Any advice or feedback is appreciated! Thank you!


I don't use Unity, but I think that a lot of the principles used to make a game like Terraria would transfer from engine to engine.

Merge objects into single draw batches as much as possible and update objects only when you need to. If you have dynamics physics, it might be best to have them update when something gets close to them, or for objects that are physics enabled (sand or water, for example). Try to do something like change a landmass (i.e. add a block or remove a block) only when the player clicks or performs the action, rather than checking every game frame, and so on.

It should be possible to make a voxel / block building game in most engines and frameworks (Flash, Unity, UDK, BGE, Pygame, Game Maker, etc).

I have been using Unity for the last 3 years. (2 years professionally and now almost a year indie) I think it appeals differently depending on what kind of developer you are. I am less of a programming nerd and more of an allround kind of developer, i like to focus on the product and not get snowed in to much on the technical. I love Java, C#, ActionScript 3 etc, never gotten down to C++ level because i dont see the point, i just want to focus on getting stuff done. I think some C++ people who like to roll their own lower level stuff might not like it as much. I think Unity is the best thing i ever used, before that i used XNA and FlashBuilder, before that BlitzMax. In Unity i just get quicker and easier results, less reinventing the wheel, more time spent on the actual game. Thats my 2 cents.

I might add that my game is 2D, more info here: steveolofsson.tumblr.com

That's also how I feel about the BGE - it's quick and easy to use, and extendable enough to do what I want. Most of the time, a developer's not going to find an engine that does everything necessary and is efficient. Either it's going to do everything you need and you'll need to optimize it, or it will be exceptionally efficient and you'll need to implement what you want (and also optimize that implementation). Unity, as far as I can see, has a ton of great features, but the main downside would most likely be the need to purchase them for a rather large sum of money.
Logged

nikki
Level 10
*****


View Profile Email
« Reply #17 on: December 22, 2012, 03:54:49 PM »

@op
Hard to get  a meaningful answer over such subjective material.
maybe for starters define 'good'.
and then say what you want to achieve and maybe someone can point out why unity would be a good tool or not.

now it's just unprecise language war waiting to happen
or the answer will likely be 'it depends'
Logged
elias4444
Level 0
*


View Profile
« Reply #18 on: December 23, 2012, 09:53:08 AM »

Thank you everyone for the feedback!

I'm still a bit stuck between going with Unity or sticking with my own homebrew Java/LWJGL engine. My wife reminded me this morning that I'm in this for fun, not to be making money (she's a very wise woman), so that means sticking with something free and that won't stress me out trying to relearn with new stuff.

This does seem to be the constant question I run into: what programming language? what game engine? what platform(s)? It's terribly stressful trying to decide the path to put the remainder of my mental faculties into (I'm guessing I don't have enough left to learn much more... getting kinda old for this).
Logged
Klaim
Level 10
*****



View Profile WWW
« Reply #19 on: December 23, 2012, 03:29:32 PM »

Your wife seems wise indeed. If it's just for fun and you don't have particular need for the game, use what you know. If you have particular needs, use these needs to drive your tools choice. If you do it for fun but you want to "learn", then choose something you don't know but still will be fun.
Logged

http://www.klaimsden.net | Game : NetRush | Digital Story-Telling Technologies : Art Of Sequence
deathtotheweird
Guest
« Reply #20 on: December 23, 2012, 04:43:31 PM »

Unity is free, you don't need the pro version to get a lot out of it. and if you have somewhat of a brain, learning it is the most painless thing I've ever had to do. so I wouldn't worry about those two factors if I were you.

why don't you just try it? use it for a few weeks, and if you don't like it go back to what you're used to.

you're making too big of a deal out of something so simple.
Logged
Trystin
Level 4
****


Nyoom


View Profile WWW Email
« Reply #21 on: December 24, 2012, 03:21:03 AM »

why don't you just try it? use it for a few weeks, and if you don't like it go back to what you're used to.

Time is money
Logged

nikki
Level 10
*****


View Profile Email
« Reply #22 on: December 24, 2012, 04:14:59 AM »

Quote
Time is money

knowledge is power



But all dumb quote cliches aside..
Try it out and see how it feels.
and still I'm wondering : is your goal to make a terraria-like game ?
or was that just an example ?
Logged
elias4444
Level 0
*


View Profile
« Reply #23 on: December 24, 2012, 07:21:56 AM »

Terraria was just an example. Though whatever i make will be constrained to a 2 axis system (even if i use 3D objects).

Edit: I suppose I should mention that I just stumbled upon LibGDX too... It looks very promising.
« Last Edit: December 24, 2012, 07:31:53 AM by elias4444 » Logged
InfiniteStateMachine
Level 10
*****



View Profile WWW Email
« Reply #24 on: December 24, 2012, 03:17:42 PM »

+1 for going with your wife's advice  Smiley
Logged

mjd
Level 0
**


View Profile
« Reply #25 on: December 31, 2012, 08:48:34 AM »

Personally just started using Unity too after many false starts over the years with various techs and engines, mainly around Java and C#.  I'd recommend it for people who just want to create a game and not worry about the plumbing.

What I personally find Unity really good for is the non-functional stuff.  By that I mean that anyone can knock up a very basic 3d "engine" with some sort of library providing rigidbody physics just by following a few tutorials.  What Unity brings to the party for me is that it comes with a nice polished tool set - e.g. in the past I've created fairly functional "engines" but I've wasted so much time setting up level editors/loaders, sorting out texturing meshes, loading sounds etc - basically all the stuff that is totally separate to the actual "engine" but totally vital.  Unity provides all this supporting tooling in a nice polished and scaleable way and that is a major win for me.

As others have pointed out, if you want to go off-piste and do something like terrania or if you want to go for a whole extra dimension and go all 3d minecraft style then you're going to need to get your hands dirty and do some custom coding as just creating a grid of say 1000x1000x1000 cube meshes isn't going to work on today's hardware in Unity.   

I doubt that any general purpose game engine will be able to do minecraft style things out of the box - you could probably do minecraft in unity or other engines but either way you'll need to get your computer science hat on and start thinking about some serious graph theory so you can do all the good stuff like finding disconnected graphs, only rendering leaf nodes etc etc.  Its not trivial.

tl;dr - unity is good for fairly straight "simple" games, minecraft is going to need custom work in anything.
Logged
indietom
Level 2
**

Tom


View Profile Email
« Reply #26 on: December 31, 2012, 09:41:16 AM »

If you want to work on big games, console games or on big companies you need c++. But if you just want to make small - medium games for fun or for selling then unity could work.
Logged

Code::Blocks
This is my profile, there are many like it but this one is mine.
userXDev
Level 0
**


View Profile WWW
« Reply #27 on: January 22, 2013, 05:08:47 PM »

I absolutely hated Unity the first time I used it. I thought it wasnt intuitive and preferred XNA over it, and cursed it. But after giving it a second chance I've grown to love it.
It really does allow you to get a prototype for a game built quickly and its very easy to use when you get the hang of it. The visual interface really helped me speed up production of my first game by months, but maybe thats because I come from a design/multimedia background and I'm used to designing things in that way. I'm mainly using it for 2D(using Orthello for gfx) which isnt really what it was designed for, but it does the job well.
I guess as with any software it really depends what you want to do with it, for me its perfect.
Logged

AlexStv
Level 0
**


Based on real events!


View Profile
« Reply #28 on: January 22, 2013, 06:05:35 PM »

I have a little bit of experience with unity form the past year or so. It the beginning I had a lot of trouble getting it to do anything beyond the standard functions without massive workarounds. What I realized is that the built in functions work wonders for what they're made for but if they don't match your aims well enough don't try to modify them, do it yourself. However I also found that unity is certainly capable of doing these things, just don't expect it to work out of the box.

A lot of people mentioned minecraft, now I've posted this on tig before but this is my implementation of block terrain like minecraft's with fully destructible/ editable terrain. I've seen better implementations as well, my water is still pretty fiddly but it's finite. Terraria is another thing, it's 2d so you'll always get better performance with a 2d based engine but it would be doable, although you would end up doing a lot more of the work yourself that with a more standard game and this is the case for most examples.

Unity can handle a lot more than people assume, there are functions to do the low level stuff as well as the regular stuff so if you feel like it you can do things your way. My block terrain uses the mesh class to generate chunks of visible faces generated from an array and updated when blocks in the area are changed. It's more work than an fps or other straight forward unity games but still less work than lwjgl in my opinion.
« Last Edit: January 22, 2013, 06:12:04 PM by AlexStv » Logged

Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic