Need serious Unity3D advice...

Discussion in 'Game Development (Technical)' started by elias4444, Feb 2, 2009.

  1. elias4444

    elias4444 New Member

    Joined:
    Oct 12, 2006
    Messages:
    294
    Likes Received:
    0
    Well, a while back I mentioned that I'd consider giving up on my own Java based engine if Unity3D would allow their indie version to create Windows playables. Looks like that's about to happen now. :rolleyes:

    SO, I need some serious Unity3D advice. Up until now I've always built my own game engine, done my own graphics, etc.. Is Unity3D really that simple to develop a game on? Or do you still end up basically programming everything via one of the approved scripting languages? Is the networking implementation any good? Is game performance good, bad, ugly? Can you just throw in HUGE objects for terrain and let the engine parse what parts are on screen for rendering? Or do you have to split things up yourself? Am I going to run into any roadblocks using the Indie license version instead of the Pro?

    Any testimonials, good and bad experiences, would be GREATLY appreciated right now while I try to make this decision.
     
  2. Diragor

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    293
    Likes Received:
    0
    I haven't completed or released a game with it, but I've used it enough to help a little.

    It really is that simple to get things into a scene and have them moving around and doing stuff. I don't know exactly what kind of simplicity you expect or what will impress you, but obviously the best way to find out will be to get your hands on the trial version and go through the tutorials. If you don't have a Mac, you could still read through the tutorials right now to get an idea what the engine does for you, what the IDE can do, and what you'll have to write code to do.

    For the terrain, my understanding is that unless you use the built-in terrain engine, you'd have to split it up yourself. You can't drop a giant mesh in there and expect it to chop it up automatically.

    I wouldn't call any limitation of the Indie version a roadblock, really, but I think the most important thing missing (besides Windows deployment in the current version) is the shadowing and advanced shaders.

    I can't comment on the networking implementation, and I haven't really pushed the performance of the engine in general. It seems fine to me based on some of the demos I've played on my machines. You can check out the island demo and Avert Fate on their gallery (with the web player).
     
  3. KNau

    Original Member

    Joined:
    Jul 29, 2004
    Messages:
    1,165
    Likes Received:
    2
    What I'm curious about is the scripting language for Unity 3D (specifically Boo). Do you have access to the full power of the engine with it or do C# users get low level access and everyone else is crippled? Are all script implementations the same in terms of abilities?
     
  4. Diragor

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    293
    Likes Received:
    0
    "Unity supports three scripting languages: JavaScript, C#, and a dialect of Python called Boo. All three are equally fast and interoperate. All three can use the underlying .NET libraries which support databases, regular expressions, XML, file access and networking."

    http://unity3d.com/unity/features/scripting
     
  5. DGuy

    Original Member

    Joined:
    Jul 28, 2004
    Messages:
    131
    Likes Received:
    0
    I've had Unity for just over a year.

    My first tinkerings with it had me going as low level as I could, almost totally bypassing the Editor and doing everything via code only. I've got over 20 years of programming experience, and going it code only was just how I felt comfortable doing things.

    I began to realize, though, I was fighting against the engine: doing my darnedest to not make use of all the time saving features and functionality Unity provided. As I realized this, and began to do things more and more in the "Unity" way, I became even more impressed with the program.

    Now, working on my first real program with Unity, and being under a tight deadline to complete it, I am very, very pleased with how quickly everything has come together. How, any way I think to solve a problem, Unity has a ready made solution built in, or has the functionality such that a little coding will get the job done.

    I'd highly recommend giving Unity another serious look! :)

    As far as Boo goes: Yup, any features/functionality your can access in C# or Javascript, you can access in Boo. Boos' actually a very cool language: It writes quick like a scripting language, but has all the type-safety/checking of C# (while being much less verbose). BTW, a new version of Boo just came out.

    BTW, "Unity3D" is the name of the web site; "Unity" is the name of the program. :D
     
  6. TentMap

    Original Member

    Joined:
    May 21, 2006
    Messages:
    4
    Likes Received:
    0
    Is there any word on a release date for the PC version?

    We've been using C# at work for over a year now and I can't wait to try it with a decent engine.
     
  7. DGuy

    Original Member

    Joined:
    Jul 28, 2004
    Messages:
    131
    Likes Received:
    0
    The makers have stated they are hoping to have it ready by GDC'09, which starts March 23rd.
     
  8. Matthew

    Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    493
    Likes Received:
    0
    I imagine Unity will be able to release 2.5 by GDC. They're very good at making important deadlines, and they realize GDC is their big chance to make a splash with the Windows release. I've heard they'll have 20+ staff at their booth.

    If you're curious about the engine, I would recommend finding/borrowing a Mac and checking it out now, though. Why wait? They have a free 30-day trial version on their website, and you can email sales@ if you want to get a trial of the Pro version (shadows, render textures, some other small stuff).

    For terrain, you'd likely want to use their own terrain engine rather than importing gigantic pieces of geometry. You can stitch together terrains, and even stream them if you're doing a web game with a small footprint. FusionFall, the Cartoon Network MMO, uses a 16x16 grid of terrains (each is a square kilometer, I think--it takes a long time to walk across their world).

    And, yes, Unity really is quite frictionless after you figure out the paradigms. As mentioned, all languages have the same exposure to the engine, which is pretty low-level if you want to go there. You probably don't, though; it's much better to embrace the functionality and organization Unity provides. I did an overview write-up here that covers how Unity is set up: http://technology.blurst.com/unity-basics-overview/
     
  9. MrPhil

    Original Member

    Joined:
    Aug 4, 2004
    Messages:
    671
    Likes Received:
    0
    What are experienced Unity users views on games types that are more 2D, for example Cliffski's Kudos 2?
     
  10. DGuy

    Original Member

    Joined:
    Jul 28, 2004
    Messages:
    131
    Likes Received:
    0
    All my Unity stuff so far has been strictly 2D. And its been pretty much a breeze, even when making use of the built in PhysX physics engine.

    Setting up Unity for 2D:
    Code:
    _camera.orthographic	 = true
    _camera.orthographicSize = _gameScreenPixH / 2.0f	// keeps ratio of 1 gamescreen pixel == 1 physicalscreen pixel
    //_camera.orthographicSize = _physScreenPixH / 2.0f	// stretches gamescreen to height of physicalscreen (1 gamescreen pixel >= 1 physicalscreen pixel)
    
    You can create 2d sprites at runtime using code only, at runtime by instantiating "prefabs" you've already created, or at edit time by placing your sprites into the scene using the IDE (and with a little code, you can lock your sprites to specific depths while moving them around within the scene.)

    Making use of the physics engine involves, basically, attaching a "Rigidbody" to your sprite, attaching the "Collider" of your choice (ex. Box, Sphere, Capsule, etc.), attaching a "Configurable Joint" to your sprite, then configuring the joint so rotation is only allowed about the z-axis and transformation is only allowed along the x-/y-axis. Then your off and running!

    There are several means of selecting objects using raycast, or bounding boxes. It's even easy to get down to the texel level and examine alpha values.

    If the scripts attached to your sprite inherits from the Unity "MonoBehaviour" class, and your sprite has a collider of anytype, you get all the expected mouse events (i.e. OnMouseOver, OnMouseDown, OnMouseDrag, etc.) plus a bunch of others related to collisions, updating, GUI, physics, pre/post rendering and more.

    So, while Unity does not officially have out of the box 2D, and 2D is not really mentioned much in their literature, its' very capable of doing 2D only games.

    HTH
     
    #10 DGuy, Feb 4, 2009
    Last edited: Feb 4, 2009
  11. Acord

    Acord New Member

    Joined:
    Jul 26, 2008
    Messages:
    1,217
    Likes Received:
    0
    I was really wondering about the 2d capabilities myself. While there certainly shouldn't be an issue, I've found that animating sprites in a 3d engine is a pain due to antialiasing and masking that acts wierd at a distance.
     
  12. DGuy

    Original Member

    Joined:
    Jul 28, 2004
    Messages:
    131
    Likes Received:
    0
    Well, I found that telling Unity to create mipmaps when importing textures (this can be done on a texture-by-texture basis, btw) and telling it use bilinear or trilinear filtering (again, can be set texture-by-texture) and blurring my alpha values slightly, goes a long way towards keeps my 2d graphics smooth at any depth (well at least until the depth of the far-clipping plane).
     
  13. elias4444

    elias4444 New Member

    Joined:
    Oct 12, 2006
    Messages:
    294
    Likes Received:
    0
    Well... does anyone have anything bad to say about Unity? Not that anyone has to, but so far it sounds like a slam-dunk decision to buy it.

    Does anyone know if Unity games are ever accepted by the major portals? Or Steam?
     
  14. DGuy

    Original Member

    Joined:
    Jul 28, 2004
    Messages:
    131
    Likes Received:
    0
    My personal gripes:

    1) I wish there were OnDisplayChanging and OnDisplayChanged events. Currently when CMD+F (the predefined fullscreen-toggle) is pressed Unity just switches to fullscreen, without notifying your app. As a result, the nice aspect you've set up so your 2d graphics look good, makes everything look stretched in fullscreen if your running on a wide-screen monitor. While you can poll the 'Screen.fullscreen' to see if the screen mode has changed, a heads up along with the ability to specify which fullscreen mode to actually switch to (Unity just trys to use the one, I believe, closest to your window size) would be nice.

    For 3D, this really would not matter, but for 2D it's an inconvenience.

    2) A few gripes about the interface, which will probably become moot with the next version, as in addition to Windows support, the big TODO for the release was to make the interface more flexible and configurable.

    3) I wish the docs, which are pretty darn good, would not only explain what everything is (sometime a little to briefly), but also more the how and why. How do I use it? And why would I want to?

    But again, I sure the docs will get a refresh for the new version so this may become moot also.

    So there, I've said something bad about Unity ... :D

    Oh, and as far as portals, I believe Shockwave.com is the only larger one that for sure take Unity content. And the impression I get (from replies to inquires that have been posted on the Unity forums) is that other site, may not accept it now, but are in no way opposed to accepting Unity stuff in the future.

    My guess is when the windows version comes out, and more and more people start asking game sites about using Unity based content, we'll see more Unity stuff.
     
    #14 DGuy, Feb 4, 2009
    Last edited: Feb 4, 2009
  15. whiteblot

    whiteblot New Member

    Joined:
    Feb 2, 2009
    Messages:
    1
    Likes Received:
    0
    First I would like to say hello to everyone as this is my first post here.

    Regarding new windows version of Unity (that I'm looking forward to) I have a question about splash screen mentioned on unity forums. It is going to be visible on both mac and pc in every game created with unity indie. Does anyone know how is it going to look like? Personally I don't like this idea as games with generic unity splash screen at startup won't look very professional for customers who would like to buy our future games, don't you think?
     
  16. sindisil

    Original Member

    Joined:
    Feb 26, 2006
    Messages:
    115
    Likes Received:
    0
    Perhaps not. Which is why they give you the option of purchasing Unity Pro, which shows no splash screen.
     
  17. Andrej Vojtas

    Andrej Vojtas New Member

    Joined:
    Jan 9, 2009
    Messages:
    352
    Likes Received:
    2
    You might find this useful for 2d games:

    community resource: Sprite Manager: to speed up rendering of all sprites in one pass (Sprite Manager registers the sprites to one mesh, handles movement as vertices movement): http://forum.unity3d.com/viewtopic.php?p=117060#117060
     
  18. Diragor

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    293
    Likes Received:
    0
    For iPhone games, using Unity Indie + iPhone Basic, it's a black screen with a white unity logo in the middle and the text "Made with Unity". I wouldn't be surprised if it's the same for the desktop Indie version.

    My big problem with it is that it's 10 seconds long, which for my dumb little toy project is nearly as long as they'll actually use the thing. I would think 3-5 seconds would be *plenty* of time for people to get the message.
     
  19. Matthew

    Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    493
    Likes Received:
    0
    It's shown for the duration of the loading period. If the logo is shown for a long time, your game content is larger. It isn't on a timer or anything.
     
  20. MrPhil

    Original Member

    Joined:
    Aug 4, 2004
    Messages:
    671
    Likes Received:
    0
    Thanks for all the feedback on Unity and 2D. I'll have to check out 2.5 when it hits Windows.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer