TTLG|Thief|Bioshock|System Shock|Deus Ex|Mobile
Page 1 of 2 12 LastLast
Results 1 to 25 of 34

Thread: Let's talk Unity

  1. #1
    Member
    Registered: Jan 2001
    Location: the Sheeple Pen

    Let's talk Unity

    I wasn't sure whether I should post this under the "What are you making?" thread or not, but I know that there are some Unity wizards here on TTLG who might want to share their experiences and tips, so a dedicated thread might not be a terrible idea.

    So I wanted to ask you guys for some useful tips for a beginner! You see, I've got a bunch of very vague game ideas - nothing concrete at all - but making a game has always been a bit of a dream of mine. I thought that Unity might be a good choice to start with, but the problem is that I don't really even know where to start. I have a little experience with Java from years ago, and I'm really not an expert programmer or anything, but I've figured that with Unity I could still be able to create something, and with a little encouragement I might even get interested in coding again.

    I've seen a bunch of guides on the internet - I even got myself something called "The Ultimate Guide to Game Development with Unity 2019" as it had got some good reviews and it promised to cover the basics. However, I also read that some parts of that guide were originally written with Unity 2018 in mind, and even some of the updated parts aren't totally up to date with the newest version (2020?) of Unity. Are the differences between the different versions really that big? Obviously I don't want to spend my time and energy on learning some wrong or outdated techniques.

    Perhaps I should just get the software and see what happens when I dabble around with things, but right now the whole concept of Unity feels a bit overwhelming to me. Question for the Unity veterans amongst us: can you remember what your first steps in the world of Unity were like? Do/did you find the interface intuitive to use? For me the amount of dropdown menus and everything looks a bit scary, but then again so does DromEd for example, and I managed to create a little bit something with it.

  2. #2
    Judith
    Guest
    As a content creator and mostly Unreal user, I hated the clunky navigation and axes messed up for no particular reason (Z is Y, and X is Z so you have to set up custom pivot for a model every time before export). The standard shader is also a bit odd, it has weird slots and naming instead of typical PBR roughness / metallic setup. But there's a more familiar mode (I think it was called Autodesk material or something), and the FBX support is very good. I used FBX game exporter to update models directly from scene in modelling app, and once I alt tabbed to Unity, they were updated in a sec. Same goes for any textures and code. You can use VS code for that, and the setup is really straightforward.

    IMO the main advantage is that Unity is lightweight and fairly fast, you can easily make simple stuff for it on an older laptop. IMO Unreal always had much better UI and navigation, but it's also kind of a bloatware at this point (it has tons of subsystems, so it needs a fast workstation).

  3. #3
    Member
    Registered: Aug 2004
    I started with the Roll-a-Ball tutorial, didn't take me long to get up and running, but then I'm an experienced professional programmer.

    I find Unity kind of... Finicky? Like, there's a lot of weird bits and strange decisions and stuff to keep track of. But there are extensive tutorials and a lot of people using it to help.

    Really, just do one or more beginner tutorials that are as similar to what you want to work on as available.

  4. #4
    Member
    Registered: Jun 2004
    Definitely +1 to Pyrian's note about Unity being finicky and having a lot of strange "gotchas" (especially later on if you start digging into deep profiling or console porting). I also wouldn't worry too much about about Unity 2019 vs 2020 tutorials as there are content updates all the time and whatever you learn will likely be changing anyway - just get a solid baseline of understanding how the engine works and then go read official Unity docs for the most up-to-date features.

    (Odds are half the new versions' bell and whistles are half incomplete, and potentially will ALWAYS be half incomplete. I wouldn't bet my money on using anything new just yet, unless just for dicking around. Unity has a bit of a reputation about introducing new features in lieu of polishing/stabilizing existing ones. Case in point: I've recently been playing with the Terrain system which has been in Unity forever and, while it gets the job done, it is just awful to work with)

    One thing the Unity does have going for it is it's sheer flexibility - you can really do A LOT with the engine and create your own editor tools. Heck, odds are somebody already did it, so looking through the Unity Asset store can save you boatloads of time. Tho be careful to make sure whatever coding assets you get are a) recently updated and b) have responsive devs; again, with how fast Unity changes, it's not uncommon for older assets to be flatout broken (or just be awful in the first place, coded by a lot of other Unity newbies). So you'll need to do some research, but the more established and well supported assets (like Odin editor extensions, ProBuilder/Bolt which have been acquired by Unity, Playmaker etc.) are really solid

    (Art assets are far more forgiving and usually age pretty well)

  5. #5
    Member
    Registered: Mar 2001
    Location: Melbourne, Australia
    As a fellow indie game developer, I'd recommend Game Maker. Unity and particularly Unreal are far more programming heavy. Unreal is only good if your doing a 3D game, has VERY long load times, and slows Visual Studio down for 15-20 minutes on first opening it up each time. Unity in comparison opens up fast with none of the slow down. Unity does alright at 3D too but lacks the shine compared to Unreal.

    For dipping your toes in, go with Game Maker. Look up a whole heap of tutorials, try out stuff, rinse repeat till you get to a level your happy with. Same goes for Unity if you decide to stick with it, as there is A LOT of resources out there for it.

    The important question is what kind of game are you seeking to make?
    Last edited by icemann; 11th Oct 2020 at 00:07.

  6. #6
    Level 10,000 achieved
    Registered: Mar 2001
    Location: Finland
    Yayyyyy, Tomi is getting into gamedev!

    Learning Unity is the same as learning anything, the hardest part is staying commited. For me, making a routine out of it helped. I woved that I would spend at least 1 hour every evening, Monday to Thursday, learning Unity or making something in it. I downloaded a Punch Clock app and started punching in around 18:00 every night. Tho when I got to the chapter on Rigidbodies and Joint physics I gotta kinda distracted, trying to attach 2 long poles at either side of a capsule and trying to make it walk around, before ya know it I'd made some kinda... fella on stilts? Anyway, I'm gonna second Pyrian's suggestion of doing the official tutorials at https://learn.unity.com/ Maybe start with Navigation in the Editor and then work from there.

    And don't worry too much about versions. I'm using Unity 2019.4.4f1 at the moment. I'd say just get the latest 2019 LTS version. LTS stands for Long Term Support, which means everything should be hunky-dory if you wanna return to the project a few years down the line.

  7. #7
    Member
    Registered: Jan 2001
    Location: the Sheeple Pen
    Quote Originally Posted by icemann View Post
    I'd recommend Game Maker.
    Ah, I always thought that Game Maker is a bit of a toy that can't be used for anything slightly more complicated, but looks like it's been used for a bunch of pretty good games! I don't necessarily have anything too complicated in my mind, but I think I'll want to check out Unity first. In a way I'm looking forward to a bit of coding, just to prove myself that I can do it. There doesn't seem to be a free version of Game Maker either, not even a free trial. Thanks for the suggestion though!

  8. #8
    Member
    Registered: Jan 2001
    Location: the Sheeple Pen
    Okay, I've now taken my first steps in the world of Unity. It still does look a bit scary, but I've already learned a thing or two. I've been getting used to the interface, placed some objects and assigned attributes to them, played around with them a bit, and even made a script that makes a cube move to the right on the screen! Doesn't get any more basic than that, but it's been interesting so far and quite fun too.

    So far I've gathered that Unity is capable of pretty much anything, but the fact that you can import certain ready-made things makes things much easier for the developer. Is it common practice that game devs import things from the asset store or whatever, and just tweak them to their liking? I mean, if I wanted to make some sort of a game where the player throws a bouncy ball against the wall, could I just simply import some set of physics, and then play around with the attributes to make everything feel right, without having to code in the laws of the gravity, collision detection, and so on?

    Henke (or anyone else who uses Unity), what is it in the development of Stilt Fella that took the most time and effort? About how much time have you spent on writing actual code compared to making your magic in the... uh... editor?

  9. #9
    Member
    Registered: Mar 2001
    Location: Ireland
    One of the advantages of using a popular game engine is that a lot of things have already been done for you, either in the engine itself, or by third parties through its related marketplace, so you don't have to re-invent the wheel.

    There's no reason why you shouldn't make use of third-party content to help you, especially in areas that you're not that skilled in.
    The hard part is finding the good ones.

    I'm not that familiar with Unity specifically, so I'm talking generally here.

  10. #10
    Member
    Registered: Aug 2004
    Quote Originally Posted by Tomi View Post
    I mean, if I wanted to make some sort of a game where the player throws a bouncy ball against the wall, could I just simply import some set of physics, and then play around with the attributes to make everything feel right, without having to code in the laws of the gravity, collision detection, and so on?
    Physics is built in, and works great for most relevant applications. A good rule of thumb I promote is that if you're using physics, stick with physics, and do every interaction with forces and joints. The interface between hard-coded positions and physics is the source of most "physics" glitches, as it treats such interference as "physics, except with unlimited force" and putting infinities into physics calculations is just begging for some random piece to rocket off into the sunset.

  11. #11
    Moderator and Priest
    Registered: Mar 2002
    Location: Dinosaur Ladies of the Night
    I tried out using Unreal for scene creation here recently. It was strange, because no matter what I tried, I could not get rid of these spludgy artifacts on my imported models when I went to bake my lighting. I tried arranging my shadow UVs 50 different ways, and went through every bake quality option, but those artifacts were still there. I spent hours looking for a solution, but never could find one.

    Tried importing my models in Unity's High Definition Render Pipeline, and they rendered perfectly, no shadow bake errors whatsoever.

    ...go fig.

  12. #12
    Level 10,000 achieved
    Registered: Mar 2001
    Location: Finland
    Tomi, you'll want to do the tutorials on Rigidbody physics. Everything you need for the game you describe is already in Unity, no need to import anything.

    As for what took most time in SF... everything. I had the physics and controls set up, and the fella was walking after a few days with the project. Naively I though "ok well I'll just spend another week with this, add some levels, and I'll be done!" Nope, it ended up taking 3 more months to finish the game. You'll likely find that making a rough prototype of your ball-to-the-wall game is quite easy, but polishing and adding all those things that make it feel like A Proper Game, like audio, graphics, menus, options, win/lose states, save/load systems, implementing feedback from testers... Well, it all adds up.

  13. #13
    Member
    Registered: Jan 2001
    Location: the Sheeple Pen
    Thanks for the replies! The ball-to-the-wall game was just an example, but I will start with something as simple as that. So far I've been playing around with primitive objects and writing a couple of really simple scripts. The player (a blue cube) can move around the bottom of the screen and shoots little spheres to destroy the enemy (a red cube) that moves left and right at the top of the screen. The objects now destroy on collision (no physics involved yet, only triggers) and I even semi-accidentally managed to map in gamepad controls. When I start to implement actual physics, I'll be sure to check out some proper tutorials for that.

    And yeah, I'm starting to realise that even though Unity has already taken care of a lot of things, it still takes a fair amount time to create even something as simple as my little training project here. Of course an experienced programmer would be able to do all this basic stuff very quickly, but they'll have their more advanced problems to solve. I want to understand how everything works, not just copy/paste lines of code from some APIs and examples.

  14. #14
    Level 10,000 achieved
    Registered: Mar 2001
    Location: Finland
    Well, you're picking this up much faster than I did.

  15. #15
    Member
    Registered: Mar 2001
    Location: Melbourne, Australia
    Be sure to supply screenshots. Be great to see your development.

  16. #16
    Member
    Registered: Nov 2003
    Location: The Plateaux Of Mirror
    Man, I was hoping this was a thread about a Salt N Pepa/Queen Latifah mashup, but nope, it's just more nerd shit.

  17. #17
    Moderator and Priest
    Registered: Mar 2002
    Location: Dinosaur Ladies of the Night
    You're a nerd, you nerd!
    Last edited by Renzatic; 13th Oct 2020 at 17:10.

  18. #18
    PC Gamering Smartey Man
    I <3 consoles and gamepads

    Registered: Aug 2007
    Location: New Zealand
    I can think of a few indie developers who rebooted development of their games, switching from Unity to Unreal. There must've been a good reason for that.

    System Shock 1 remake by Night Dive.
    New Blood Interactive making DayZ clone, The Dead Linger.
    Asylum, spiritual successor to horror adventure game, Scratches.

  19. #19
    Member
    Registered: Mar 2001
    Location: Melbourne, Australia
    SS1 remake has turned out pretty good, though whether or not the change in engines has been of major benefit is debatable. Sure lead to a big chunk of time wasted.

  20. #20
    PC Gamering Smartey Man
    I <3 consoles and gamepads

    Registered: Aug 2007
    Location: New Zealand
    Quote Originally Posted by icemann View Post
    SS1 remake has turned out pretty good, though whether or not the change in engines has been of major benefit is debatable. Sure lead to a big chunk of time wasted.
    Yeah, they got high off their own egos and started going down some ambitious beyond their means "reimagining" direction, blowing through all their crowdfunding money. The refocused plan from the last couple years or so seems to be going well, they post regular KS progress updates.
    Last edited by EvaUnit02; 15th Oct 2020 at 11:56.

  21. #21
    Member
    Registered: Mar 2001
    Location: Melbourne, Australia
    Yes. Much debate has resulted from those, in the direction of enemy designs etc. But with the refocus, the change to regular KS updates, use of discord, and the Twitch streams have been excellent in keeping everyone up to date.

  22. #22
    Level 10,000 achieved
    Registered: Mar 2001
    Location: Finland
    Hey we haven't heard anything from Tomi in days. What happened? You better not have given up on your gamedev dreams, OR ELSE

  23. #23
    Member
    Registered: Jan 2001
    Location: the Sheeple Pen
    Quote Originally Posted by henke View Post
    OR ELSE
    Code:
    {
         Destroy(tomi.gameObject);
    }
    ?

    Oh, I'm still here! I've had this week off work, and since the corona cancelled my plans for the week, I've been able to concentrate on Unity for a couple of hours each day. Instead of just fooling around by myself, I started kind of a tutorial for a simple 2D space shooter game. I've been implementing new game mechanics and features a little by little, and it's all starting to make sense already. I'm getting better at coming up with solutions all the time. The most difficult thing is having to remember to "link" the scripts with the objects, and checking one box here and another there, and that sort of thing. So far I've been doing better than I expected though.

    Before starting to make something by myself, I think I'm gonna finish this tutorial first, even though it's much larger than I initially thought. It covers animating sprites and a bit of UI design and sound effects and everything. I might also check out a tutorial for some 3D project with proper physics as well, because I really don't know what to expect from the physics engine.

    So yeah, I'm still very much enjoying all this, but at the same time I try not to overdo it, as I don't want to get burnt out and lose my interest after a while.

  24. #24
    Member
    Registered: Jan 2001
    Location: the Sheeple Pen
    I just discovered the post processing effects in Unity.

    Whoooooo! Gonna turn Bloom intensity all the way to the max!

    So yeah, instead of doing some proper coding and stuff, I spent quite a lot of time just playing with these effects today. I didn't even know that such thing exists in Unity. I'm sure that I could come up with a bunch of really neat effects, once I learn how to control them through the game code.

  25. #25
    Judith
    Guest
    Yeah, the postprocess layer is cool, although it's easy to go overboard with this

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •