A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'General Discussion' started by Deleted User, Jun 7, 2016.
From the documentation:
Well we need to talk to Unity about this. It's clear console does suffer a bit here, and the new cinematic effects could well make use of it. I was however under the impression that for image effects, we already made use of depth buffer for free. This shows you how out of touch I've been in Unity 5 recently. I mean, common sense?
I think he referred to Forward. It's "free" in Deferred, but it's way more expensive in forward than it needs to be.
I believe it's this issue : http://forum.unity3d.com/threads/po...atedepthtexture-why-is-it-even-needed.197455/
Haven't looked into it in a while, but I wouldn't be surprised if nothing changed on that front.
Now I'm confused. Care to outline it in few short sentences?
Basically, I saw "Lab" on steam, and I assumed you're talking about that one. I didn't check it out because I don't have a VR headset.
How's this unity related?
Nope. When you request depth buffer access in image effect, unity goes ahead and rerenderes the whole frigging scene into a render target as a separate rendering pass using a replacement shader. Then it passes that render targets to the shader as a texture. That doubles scene polycount.
This might've changed (I bet it didn't), but that's how it's definitely worked in earlier 5.x versions. 100% sure of it.
You also cannot grab depth buffer for free and reuse it. I wasted a lot of time trying to make it work, it simply doesn't happen and can only be done in GLSL mode.
Because they can }
I've been dealing with this S*** the time I wanted to bring order-independent into unity. Also, you can see all that happening in the frame debugger.
I think it happens because of multi-platform support. I believe on at least some platform grabbing z-buffer is a problem (especially if you want to bind it as a texture later). Forcing scene redraw to render target is a dumb but sure-fire way to guarantee existence of valid depth texture. Oh, and if you requested depth-normal surface, the scene is going to be redrawn anyway with replacement shader.
Also see this: http://forum.unity3d.com/threads/po...atedepthtexture-why-is-it-even-needed.197455/
and this: http://forum.unity3d.com/threads/reuse-depth-buffer-of-main-camera.280460/
If you change visible layers on camera and call Render(), then camera will recompute ALL shadowmaps for ALL lights it can see. Because reasons. It is sorta logical, BUT if you wanted to hide objects without recomputing shadowmaps, you can't do that. For same reason you can't really pass a delegate to a camera.Render to filter out objects you don't want to see or at least specify which ones must be rendered with a replacement shaders (when you need to decide it on per-object basis, not on per-tag basis).
It is possible that things are not that bad in deferred renderer, but it is how it works in forward.
AFAIK overwatch is forward+ and has almost no dynamic lighting. This is why it is 1080p 60fps on console. We can't get those framerates in Unity until something changes.
Hmm. I think it *might* be possible, but I wouldn't bet on it. You'd need to throw away most of unity to make it happen.
Was looking at my Analytics page and saw a huge amount of traffic coming from here lol.
I am the developer of Hero. Thanks for giving your feedback on the game. I always look at ways to polish since working on it for 3 1/2 years. If you guys have any questions I'd be happy to answer them about the game.
Heres the Made with Unity Article I wrote about it on how the whole thing started:
Too late saw it xD
But thanks for the feedback!
Just keep doing it. Most of that lot above having a moan haven't even done pacman
Well thanks for playing my game. Glad you enjoyed early access. The first episode of the game is really coming together and is almost playable in its entirety before I go into polish mode before release.(gotta finish designing a few more levels and cinematic)
I will keep that in mind
The Lab Renderer is the custom renderer Valve wrote for The Lab. They released the renderer (not the actual Lab games) on the Asset Store a couple of days ago:
@bakershah thanks for dropping in. I'm curious as to how much time (hours) you put in up to the point of the current beta that I tried this week? Just a rough estimate is fine if you didn't track hours. Basically trying to get a feel for the level of effort because 3.5 years could be 1,000 hours for some people and 10,000 hours for someone else just depending on available time.
Also... can you share any of the greatest challenges you ran into and how you overcame them?
And... how has your workflow changed between the beginning of the project and currently?
Well to answer your question:
1). I can't really estimate the amount of time considering the last 3-4 years have been on and off working on it. Especially in the middle i would have to take breaks trying to figure out what to do with it as I was developing it cause I had my fair share of burning out when working on it. 1000 hours for sure though.
2). Biggest challenges were scope and technicality. When I started it, I was a naive student who wanted like any kid to make an open world game like skyrim and I quickly realized it wasn't possible. So I went for semi open world like witcher 2 where the environments are open but the gameplay is linear.
Technicality was trying to figure out how to integrate systems in which as you mentioned I had to cut a lot of corners. The biggest pain in the @$$ was trying to get a mini map system and the save system to work properly. Failed multiple times trying to do it cause it just wasn't working how I wanted it to. A lot of these issues required me to pivot =. From making it a semi open world to having the game play be a simplistic RPG and just using the basics.
3). The beginning of the project was me really trying to get all my mechanics and game play systems up and running and working. Now most of my time goes into the levels and creating content for the game. so its scripting cinematic's doing level layouts etc. Surprisingly I dont really do too much pre production because its just me doing the development and if I get a idea that I think will be cool for the game, ill just go in and try it.
@bakershah thanks for taking the time to answer.
I think something at least some folks might find interesting is ....
How did you stay motivated for these 3.5 years to keep working on the same project?
Did you do any smaller simpler games during this time just to give yourself a break?
My motivation was just wanting to make a game I could show my family and friends and be proud of. To be able to say I got a game on steam and published was a big factor for me. I did take breaks in between to work on other projects for school and work and that helped keep the creativity fresh in my mind., which leads into the second question.
I made lots of other games for school( I am studying game development). I've also worked at a few mobile game studios and shipped a couple of mobile games. This helps again by working on different things when I come back to Hero with a new perspective and improve my work a lot more. Hero was actually the first project I started in Unity. When I started conception of the game I didn't even know how to navigate around Unity. I didn't know what a audio source was and I didn't even know how to code. A lot of the development was learning as I go. I used a lot of my classes to further the development along. For a programming class I had to code a combat system. for a design class I made the boss level for the game. That helped speed things along as it became also a school project and something I wanted to work on.
you can see the other games I have worked on if you want at my website:
The OP article reads "Why don't big companies use Unity..."
Obsidian created Pillars of Eternity with Unity. Or is that not a big enough company?
As for all the "Unity Sucks" style comments - It's easy to blame the tool when the craftsman fails to create a masterpiece. I love Unity with its warts and all.
Pillars of eternity is a retro top down akin to games made nearly 10 / 15 years ago, not exactly pushing the boundaries of what's possible (even if it is one my personal favourite types of games, love me some BG.!).. I'm more impressed from a "technical" standpoint by the likes of Pamela.!
Also the article specified they worked for the likes of EA / Ubisoft, not sure exactly what projects the guy from the article worked on.. But the companies have released some pretty big games so I've heard..
As for Unity, I'm indifferent towards it.. If Unreal didn't exist I'd use it, but it does so I don't and that's about all there is to it.!
Bah, everyone knows EA and Ubisoft games are 10% game and 90% always online DRM. Hehe...
Oh BTW, this was an RPG protoype I did (by myself and took on an artist for a bit) in the Unity 3.X / 4.X days.. It feels like forever ago.! 85% of it was pre-made assets (art) but it all worked, it had a full story / quest / dialogue / combat system and if I'd of stuck with the pre-made assets I could of released it years ago.
It took around six months to make? Again all that needed doing was stock artwork meshes replacing (that would of taken a year (or less?)).. In my grand wisdom (or lack thereof) I decided the game (4KM X 4KM) was too small and the project wasn't "ambitious" enough.. Also had some major issues cramming that game into Unity 4.X's 32-Bit editor..!
I just wasn't happy with it, the graphics were subpar (IMO).. I didn't want to rely on stock assets and it just needed more depth..! So I scrapped it and moved onto <Insert Prototype number here>..
Ok, look: have you showed this to anyone else? If so, have you listened to them? The graphics are great, very high quality, not just the assets but the composition and finishing touches. It's very hard to recognize stock assets in a well made scene too. Visually, you had something, really.
But if it needs more work on the idea, then that's a good reason.
I think you should inspire yourself in the stories told here and just finish one game! You will find it not good enough, that's normal, but just go from start to finish on something. That is a bigger "level-up" than ultra-quality-nothings.
He's showed it off a few times here and he's ignored our "WE WANNA PLAY NOW" messages.
How do you do a game without scenes or is there something in the 1st 5 pages of Unity docs that tell me that?
@ShadowK I think it's safe to say I am not the only one who thinks this game looked awesome. Can it be improved? Sure. Certainly artists could critique it and say change this and change that, you need more this and you need less that. But that will always be the case. I think no matter how good something is people sooner or later will nitpick it and find something that can be improved.
Anyway, yes I think it would have been awesome had you stuck with this and completed the game. Made your $20 million and hired more artists to do your next game with even better graphics (and gameplay).
Over the decades I have done a lot of pixel art. I don't consider myself an artist by any means. I am a programmer who has done a lot of low color pixel art out of necessity. But I don't like to take the time to do so. I really don't. It is just too dang time consuming and it is never finished. Truly something can always be changed. A tweak here. A tweak there.
Now I am not pretending I could ever get anywhere close to what you have in the screenshots above. Definitely cannot. Nope. Not at all.
For example, I just came here to check the forums after spending some time making some art for a game. I actually decided to take some time on the art like I used to long ago instead of rushing through it.
So instead of knocking out everything in 15 to 20 minutes I spent 15 minutes just choosing the colors in my palette for the background, player, enemies, etc in this area of the game. Then I spent 30 minutes pixeling the player sprite and 6 enemies with 2 frames of animation each. Of course, different iterations, playing around with the designs. And one of them is actually just a clone recolored. Then I tacked the stage background. This last piece I spent 45 minutes on mainly just trying out different things to see exactly what I liked best. And what did I get out this 90 minutes? Here is a screenshot of a mockup of the images simulating the game in play. 22 colors.
Am I happy with it? Yes. Can it be improved? Absolutely. Immediately my eyes are drawn to the foreground that kind of sticks out like a sore thumb. Overall I am happy with the color choices made but can they be improved? Sure. And look at the alien sort of skull & crossbones thing (a mine). That one kind of bugs the hell out of me as I look at this screenshot.
But the thing is when a person is playing the game they really are not going to pay much attention to it. Other than trying to avoid it or destroy it. Same for the foreground. I think most folks will instinctively realize they will crash into that area. If not the first time they do they will know. So everything here works as far as being enough to make a game.
I could certainly spend another 90 minutes and revamp it all but dang man there is only so much time we have in this life. If I spend all of my time just redoing everything over and over and over I am not going to end up with anything except some nice looking graphics and really "beautiful" code. lol
You are extremely good at what you do. But man just do it. Make something, do a bit of tweaking call that sucker done and knock out a small game. Just for the hell of it. And I bet what you consider barely passable will be received by others as "holy $4!7!!!! this is awesome!"
We have one scene, that contains a gameobject with a script on it called "Engine.cs". That initializes the game and everything is loaded and unloaded into that. Everything is dynamic in the game, so there is nothing to store in scenes. (also no conflicts, lost references, etc.)
OK, I figured it was something like that thanks.
I gotta give it to @ShadowK he can start some epic threads.
Video!! I remember these screens from way back when. You should totally finish this bad boy.
I've never seen those Mk4 assets look so good, it's incredible how good composition can make stock assets look not remotely stock.
I think I never really liked deferred. It kept pushing me to add more realtime lights, because otherwise, what's the point? But you really don't need that many realtime lights, like... ever. Forward has been semi abandoned by Unity for a while now. Maybe it's time to show forward some love?
Would a feedback entry for forward+ help? I don't think one exists (I looked, I only found this : http://forum.unity3d.com/threads/implements-forward-its-faster-than-deferred-rendering.132312/ )
Man, you guys are making me want to switch back to forward with all this forward+ stuff. I just dumped a ton of time into learning to write good shaders for deferred and I totally regret it now.
I've been doing this a long time and I can do better, SO MUCH better.. I'm not in a rush, so I don't understand what's the hurry? I mean everyone seems to be in a rush to release something. If I was in @frosted's position I would of released it a long time ago, but I have enough to keep me going for a fair while.
I probably do grossly overestimate the requirements of gamers (the majority, not the vocal minority). To me anything of lesser quality than Witcher 2 isn't worth it (which I could be right or way off base?). It's food for thought though, Witcher 2 is actually a relatively small and linear game compared to what we're working on at the moment although it's a great game.. I keep forgetting you have to start from somewhere, the difference between Witcher 2 and 3 is night and day epic.. With what you get out of the box in engines nowadays, it should be so much something like Witcher 2 should be more straight forward.
Amongst perfectionism being a major flaw, it probably does explain my stance on Unity. I imported quite a large portion of our game and the editor just ground to a halt (Enlighten takes days to build etc.). That's not a good sign to start with, it doesn't give the impression it was made to make the sort of games I want to make.. But in all fairness I'm probably in the 0.001% who actually wants to make massive RPG's etc. so why should they care?
If I did make something more akin to Witcher 2, then I don't believe it would really matter what I use. Just whatever is easiest..!
Someone mentioned @Aras was interested in having a bit of a poke around, putting his grand will to work on the ultimate Forward renderer. Could be internet rumour! or conspiracy.
Regarding deferred - it's fallen out of favour here because a) we have enlighten.... we don't need a lot of real lights any more! b) MSAA is still very sweet indeed and there's alpha to coverage advantages among others c) way less bandwidth burn... and that's the major killer a lot of the time.
Also some people like mobile and vr for it. I like it for normal desktop and console too!
Thoughts from experts welcome!
Like everything there's pro's and con's to both, what you might consider is switching based upon the scene you're in.. For openworld daytime scenes (I'd be tempted to use it with TOD as well) then you want to use FR, for internal scenes where you may need ample amounts of point lights and extra shiny soft particles (in the G-buffer) then you may consider deffered.
AFAIK in Unity it's pretty simple to do. This is the major bugbear I have with Unreal, I really wish they had a TDR / FR+ grid setup..!
It's funny but I've found myself better accepting of older games lately. It may simply be that there aren't as many titles filling the niche I enjoy or it may be the games are at least somewhat similar, but I found I'm able to enjoy some of the older Elder Scrolls titles.
These days I'm far more put off by the responsiveness of the controls and the mechanics. Morrowind was definitely an improvement over Arena and Daggerfall visually but the controls just felt clunky and there was little to no feedback during combat. Oblivion and Skyrim are both great here.
Well the only problem I have with forward at this point is that you can't have HDR if you'll be using MSAA.
What Vavle did with The Lab Renderer is a good starting point for a Forward+ renderer. I've digged into all their code which is pretty clean btw, changed a bunch of stuff including shadowing filtering and made it multiplatform ready (well almost, there's few things that I need to change to make it work on all platforms).
I found a terrible showstopper bug with Unity and DX11. This is the kind of stuff that really put me out of my nerves with Unity cause I know I can't fix it because it's pretty hardcoded somewhere.
Wow. I always thought that was a weird quirk exclusive to Oblivion. Today I learned otherwise.
As a huge Unity fanboy, I have to say the OP is about right. It's a great tool for figuring stuff out quickly, trying lots of ideas and that in itself can save a lot of time and money. The quicker to test/fail, the faster you can move on to a better idea. However, for pure speed, optimization it gets difficult. "Silky smooth" is not something I experience easily or hear people describing performance of a Unity game. Maybe that's not even possible using an engine, seems like the best performing games are using a 'roll your own' approach.
Scenes are a complete nightmare in a group, and yet the whole engine is built around the concept. Glad to hear there is a workaround, but the rest of us don't have access to that!
Games like Hearthstone, where probably the biggest challenge was multiple iterations of ideas, I would imagine it was a great choice. Depends on the project, and the knowledge of the team using it.
Why wouldn't you?
Cache server saves lots of time (asset server is obsolete).
I am very optimistic regarding rendering for some reasons :
- VR brings lots of cheap GPU horsepower in desktop - mobile
- Render loop threading in 5.4 gives impressive results.
- Exposing the render loop as Joachim mentioned in Unite 2016 will open the road for customized workflows. The black box will open, soon@.
I don't think you are too far off. I played ~18 hours of the Witcher 2 and found it pretty boring. It's likely that I would have stopped playing a lot earlier (or not have bought it at all) if it was an ugly game.
Spot on description of what I dislike about doing artwork!
I can relate. Yesterday I spent ~5 hours tweaking my World Machine setup and some textures to go from this:
Only to realize that I didn't really improved the thing with all those hours thrown at it. I should have prototyped gameplay instead and save the fiddly art tasks for later, but I always get sidetracked into those.
I think there are more people who care about the artwork than you might think. I've heard people refuse to play games because they were "too ugly" for them (7 Days to die was the example in that case). And I think it's no coincidence that a game like Ori sells really well and got a lot of media coverage. Sure there are exceptions towards both extreme ends of the spectrum. Purely business wise, I'm don't think skimping on the art is the best strategy.
That's so true though. I never finish anything because of the reasons you mentioned . For me it's art and polish, I don't care much about what pros would think of my code, but if it's not "perfect" from the user experience side, it feels like crap to me. I could easily spend a few hours just tweaking the math behind cameracontrols or something like that ^^.
You can have ONE scene, boot master control script from there, and then do the rest through your code.Also CommandBuffer might be of interest.
You totally can, just because it isn't built in doesn't mean you can't build it. If you don't want to use scenes, just build something to load stuff in at runtime. Although I always used scenes, I definitely built in enough stuff that does most of the population at runtime to know that it isn't that hard to do.
The big problem is figuring out how to build an effective workflow around that kind of process and how to organize your work.
There are a lot of skills that one needs to develop to be successful at making games, not all of them are related to tech, presentation or gameplay. Some of those skills also revolve around being able to compromise your vision, learning to cut corners, and perhaps most important: organization.
@bakershah may not be a lighting guru - but he clearly has talent and skill in some of these less tangible aspects of game dev, and has tangible results to prove it.
Anyway @ShadowK, not trying to give you too much S*** - but as a long time forum buddy of yours I'd really like to see you actually put out a game already!
I'm always keen on hearing some good advice, because I'm not good at any of these skills.
That's the sort of stuff a developer says, not a business entrepreneur. All it really translates to is I'm making compromises because I can't create the game I want to make, at what point does it become a S***ty generic version of a better game that didn't have to compromise? As a consumer, what makes me want to buy your game over others? Should you get preferential treatment because you're an indie?
You have to remember from a consumer standpoint you're a nobody trying to get their foot through the door, there's many graphically / system "challenged" games amongst the flood (some of them are actually pretty damn good). So you can compromise all you like, doesn't make it a good idea.
There's a reason most professional companies spend two years prototyping (which they hardly mention) and three years + making RPG's, they are complex by nature and there's a lot to screw up.. Not that I want so spend 5 years making a game, I'll of course take a simpler path.
Speaking of which, that's why many dev's opt to do great simple games and many a time it works.! If you can't handle larger projects, it's sound advice.
I've owned businesses, I've been working with games since the dawn of this millenium.. It was never easy or quick to make the games you wanted to make, just because some dev's now have a place to dump their trash doesn't mean it's wanted.
The fact is this question is something game developers need to ask themselves at absolutely every level of development from AAA to hobbyist. Nobody can ever do absolutely everything they want to, some things need to be scrapped, features need to be cut, content needs to be cut. Every game needs to make compromises.
Learning what to cut while avoid becoming a "S***ty version of a better game" is literally half of the art of game development.
I think that one of my big mistakes (one of many) on the first major iteration of my project was underscoping. I made the mistake you're scared of - I cut almost everything that would make the game work, simplified it to the point where it wasn't fun. I cut the wrong corners and produced something boring. But you can also go too far the other direction and refuse to make the cuts and compromises that need to be made and you'll never finish.
Finding that balance is absolutely one of the hardest things in the dev process and I'd wager it's also one of the biggest determinants of success.
No it doesn't, if you're a lone wolf making a flappy bird clone.. What needs to be compromised exactly? It's something some dev's bash out in a day, it's because the scope and complexity is fundamentally low. It's called staying within your limits.
What you have to be is smart and experience helps too, especially with timing and scope limitations.. Mistakes happen though and this isn't restricted to "indie"..
I'll take Dragon Age Inquisition for example, as much as I love Bioware it was a pretty poor show of a game. Around 40% of that game could of been cut and it would of been better for it, they weren't "cutting corners".. It was just an accumulation of bad idea's.. For all the "world space" it was just a linear / repetitive clickathon.!
You're supposed to cut things because it adds nothing to the game and / or drags the experience down.. Not cut corners because you're unable to make the game the way it should be in the first place. If you're having to "compromise" you're just over-reaching..
I understand my game never be "perfect", never seen a game that is.. I understand that time is better spent on certain things as opposed to others, the artwork in Skyrim wasn't exactly top tier but it was beautiful in it's entirety.. Seems it did pretty well. Although it was still a professionally made game bound to certain standards, if you can't reach said standards as a competitor then what's the point?
If you're a hobbyist wanting others to enjoy your game, knock yerself out. If you're a professional asking for money, it better be good (across the board, I'm talking sound / UI / graphics / mechanics / AI etc. etc.)..