It's time to apologize lol. Btw the video I'm referencing was set to private a while ago cuz I thought I was right but I was a dummy. ► Enroll in my 3D workshop, free!: www.fulltimegamedev.com/opt-in-15-minute-3D-game ► Learn how to become a full time game dev, free: www.fulltimegamedev.com/opt-in-how-to-make-six-figures ► Make your game instantly beautiful with my free workbook: www.fulltimegamedev.com/opt-in-instant-beauty-color-workbook ► Get my 2D game kit, free: www.fulltimegamedev.com/opt-in-2D-game-kit ► Join my 2D character workshop, free: www.fulltimegamedev.com/opt-in-2d-character-art-workshop ► Wishlist Twisted Tower: store.steampowered.com/app/1575990/Twisted_Tower/ ► Learn how to make money as a TH-camr: www.fulltimegamedev.com/opt-in-indie-game-income-workshop
Hi, Thomas! I've been developing my game for VR for a little over a year. I heard you mention Probuilder and thought I'd mention that those meshes are also poorly optimized. In case you haven't yet, you should consider exporting them as an FBX and using a non Probuilder asset for your final product. Keep up the hard work!
I'd wholeheartedly recommend Bakery over Unity's built in lighting system. Not only does it look infinitely better but the bake time goes from hours to minutes. it also completely works with light probes so it really can be a drop in replacement for Unity's baked lighting. I believe there is also a realtime lighting addon for Bakery too.
@@michaorzechowski4948 Bakery Preview Realtime is just a tool to see what the bake will look like, in "real time".. I have not found any great realtime tools. Kronnect has an asset called Radiant Global Illumination which fakes RT lighting with a post processing effect. The little I tried it in an indoor setting I wasn't extremely impressed but I need to give it some extra effort, I think. Bakery and Magic Light probe is definitely the way to go if your level is static. Mine is procedurally generated and mobile, so I either go with no lights and get the game done, or spend a bunch of time trying to make scenarios where lights come into play and then setup the generator to use those textures instead. A lot of work.
@@michaorzechowski4948 Yes. By "not amazing," I mean that the RT preview isn't entirely accurate. Even with the preview, you have to do your bakes, run the game and tweak for disparities. It does have it's uses though.
Glad to hear your take on 3D has changed. I’ve been following your journey since I purchased your 2D course and oddly enough I remember when you said 3D was easy. I also remember feeling upset with that comment. I had been struggling in 3D in my journey with Unreal, idk why it made me feel less than everyone else and thinking game development wasn’t for me. Though with time I found my peace and strength to continue my journey, I’m happy to see your progress and your growth as a 3D dev. On a positive note, I’m glad you returned with father I’ve been waiting for it’s release for some time, hopefully we see it soon. Last note. Regarding the name change I think Happy Hotel is a nice name, I’m not sure if it’s taken but the name itself has a catchy ring to it best wishes on your journey and looking forward to future updates.
@@plagiats Very talented? I would dispute that. He can't code, used visual scripting plugins for the entire game, used entirely assets from the asset store, and created an extremely janky and buggy game with terrible animations that only sold well due to the fact it had a nice story and the asset packs he used looked really nice in screenshots. I'm not saying it's objectively a bad game, it's not my cup of tea but other people liked it, and i'm not dissing the guy for making it, or for his skill level, but he is not what i would call 'very talented' when it comes to game development. I think this steam review hit the nail on the head: "feels like someone wanted to make art but realized they had to make a game too, and game development wasnt their strong suit"
They didn't have to go and 'fix' anything. They just chose to port to a platform they originally had no designs to target, as part of the porting process they had to also port/adjust the assets. Nothing was actually broken about them tho.
What he meant is that the assets are out there. You don't have to make everything from scratch. The most time consuming part about achieving a style is creating the assets.
@@andrewhabroad I totally understand what he meant, just couldn't help myself not to mock that phrase, given the topic of this video :D But anyway - realising that making a 3D FPS is not easy doesn't automatically means that you already see the rabbit hole's end.
@@frostreaper1607 Programs like Substance Painter are designed to help you work easier, but the quality demanded by AAA studios is also higher, than in times, when 3D models were textured in photoshop with UV outlines on the background (which sometimes is still the case btw). It tooks some skill and time to make good textures. Applying smart materials is not texturing, it's a pre-junior artist approach and definitely wont let you have Wolfenstein quality assets.
@@nekronavt +1. Nevermind lighting, fog and other atmospheric qualities you need to make outside of popping static meshs into a world> AND remembering that sound plays a major part in how it feels so you need to implement all those atmospheric sounds but in a way that sounds natural depending on the players position. Heck it would be tricky enough to make the original Wolf3D wolfenstein with an entire environment made out of sprites
@@NaudVanDalen You still have to bake the lighting, but I think Unreal does more of the heavy lifting for you compared to Unity. I'm not an expert though so I could be wrong
@@NaudVanDalen If you use Lumen, you don't have to. If you don't use Lumen, baking the lighting is one click away and it doesn't take as long, but of course it depends on the size of the map. Generally 5 minutes is the average wait time with it taking longer when you make an executable of the game with highest lighting quality possible.
I think that when it comes to 3D, it's easy to see the HUGE amount of purchasable assets and models and have the level building click as a more advanced form of legos, and conclude that's easier. And in some ways it is, but what's not as obvious is that people's expectations for a 3D game are WAY higher than they are for a 2D game. Similar to the expectations on live action superhero movies vs cartoons - you can have one or two gameplay mechanics in a 5 hour long short story in a 2D game like Neversong (which I finished last month, great job btw) and people will love it, but that same content in 3D doesn't feel rich and complete enough. So you need a longer story with more maps and more gameplay mechanics to make a 3D game than a 2D game to get to the same level of player satisfaction. Not to mention that the more realistic your art style, the more realistic folks expect the gameplay. Zelda or Mario in 3D is allowed to have some wonky physics or impossible jumps, but do the same thing in Last of Us or Red Dead Redemption 2 and folks won't go for it. (Why the lowpoly/stylized option has more benefits than just performance) When it comes to speeding up workflows - I don't know Unity as well as Unreal Engine, but there are ways of using Python scripts to script repeatable actions in the Unreal Engine or Unity editors for doing things like placing objects procedurally and whatnot. That may be something to look into for things like placing the reflection probes at specific places in the map and stuff like that. Regarding your question about Unreal Engine vs Unity for 3D - I have a bit more experience with Unreal Engine than Unity for that, and what I've seen so far, Unreal Engine does handle more things "for free out of the box" like a player controller and stuff like that which you often have to buy in Unity. Unreal Engine also has tools for splitting up large maps into dynamic smaller maps so you can do larger open world games where things are loading/unloading as you run around a lot easier out of the box as well, but most of that could just be my preference - if you like what you're using then great. Cheers
Even having the assets is not a good point, because if you built a game only out of assets, you're just going to have a generic game without any personality.
@@AmodeusR I woudn't say that, being able to make good use of assets is VERY important and honestly most concept art is done with kitbashing anyway. It's a matter of using what'cha got, but as he says at a point you're gonna need stuff you don't have, and creativity can only take you so far. So it's not about personality, it's about being EXTREMELY sure that what you're getting works for your needs. Cuz you don't need to model another barrel, there's 150000 packs of cool barrels, it's fine. The asset store's great, but it can be a trap, you go to it to solve problems you already have, not to maybe solve problems you might have in the future. that way leads to Bad Times.
What's even the point of high end games? If it fulfills 90% of the player's expectations (life changing) while looking amazing and costing 100 million dollars, people are gonna think it's worse than a 2D game made in 2 days by one person that fulfills 200% of the player's expectations (nothing special).
A useful rule of thumb is that for every engine feature that adds an additional category of asset, the development cost of a scene correspondingly goes up. Thus, designing for a single-screen game with looping background music(which can have a static background, a hardcoded collision setup, and one prerecorded track), is simpler than doing the same for a scrolling tilemap game with environmental sound(because now there's a tileset, tilemap data, a camera, and a whole bunch of triggers, volumes and material assignments for ambience). Likewise, a game that uses keyframe animation is easier to plan than one that deforms meshes, but the cost of making a rig can pay off if you have a lot of animations per model or are retargeting that animation data. By the time you get to doing 3D, you have meshes, textures, materials, lighting, etc. It's hard to keep control over these more complex assets, and scope creep can sneak in really easily simply by deciding to show something representationally(e.g., opening a door) instead of abstracting it into a piece of UI or a scene change. With AAA budgets there's a presumption to what's taking place: designing towards maximizing the *hardware* budget means pushing as much as possible through the engine, which means that the art pipeline is dragged along to keep up with what the engine can do(because that's what, historically, has created great trailers and screenshots). But we're well aware with this generation of hardware that it isn't the constraint on the experiential aspects of most games anymore; the new Last of Us and the old Last of Us are hard to tell apart at a glance. Embracing retro looks, Nintendo-style art direction with more stylization, targeted use and occasional reuse of assets, or proceduralism in the art style(e.g. No Man's Sky) tends to be the way to get to something appealing while keeping the development cost sustainable. But there isn't a magic way to remove the effort once you've committed to having an asset exist: either you make the asset by hand, or you make it procedurally and then your asset is the configuration data. Even if it's "just" a piece of text, that's still a way of adding scope. Machine learning AI will probably make it less insane to work with so much detail in the future because it lets things stay flexible throughout the process; ideally, you just hand it a greybox and a finished example and say "populate it like that". But even then, there's still going to be some ways to blow up the scope.
I solo developed and released an FPS this year and I can confirm that EVERYTHING Thomas just mentioned is correct. If anything he's downplaying just how complex the process is. Anyone considering it really needs to understand what they're getting themselves into. Once you move into a 3D space the complexity of the process grows exponentially. And you've gotta manage all this technical complexity without forgetting to design a game that is actually *fun* for people to play... 0_0
Ask somebody who is used unity and unreal. The pipeline is a lot easier to make an FPS for unreal. However a lot of the issues you'll having appeal more to do with how you set up your pipeline. I would focus on level design with the bare minimum of visual fidelity until you know how all the mechanics will can play then worry about baking and rendering if you're working on a team and one of you is an artist and the other one is a programmer. Split it up so you only have to worry about the lighting and the shading at the end that's going to be the most time consuming. Also you can set the lights to be animated. Around the emission spot so they just have the appearance of emitting light without them actually emitting light. And just have the closest one a mid light and then bake. It doesn't matter if the light behind you will you cannot see is visibly fasting light or not you can set it up through a raycast function so just shoots out from your main point of view and then even deviated by a few lights to change the effect so there's no glaring differences but it's been a while since I've had to mess around with unity Rader engine
Thanks for talking about this. There are so many tutorials to create games and the indie market is getting flooded with games that are not made right because people do not understand this. I am a programmer and I try to tell people this is really hard. Sure you can make something but to make it work well too and have everything, is very difficult. I am glad to see people who have an audience, talk about these issues.
for last 3 month i'm working as technical artist intern , every day i learn new stuff about light baking and optimization ...., sometimes its really hard , never imagined these kind of features in my games!
Hey Thomas, I'm proud to be apart of the GameDev community especially yours throughout the years. I especially have gained an idea for my very first game idea I'm slowly putting into action of a simple fun arcadish style game to help me get my feet wet with for the taste of the action. Starting out nice and small and putting my big adventure game project pushed back until I gain more experience. :)
IIRC, for the gun clipping thing, there's a trick where you disable depth test on the shader somehow and perhaps modify the gun/hands' rendering order to be the last always. That way they always render on top of everything. That said I'm not sure it was the full solution, I only remember the concept. But supposedly, using multiple cameras means you lose any effects from other objects in scene since you basically render them in isolation and composite them on top of main camera result (meaning cleared depth buffer, thus no effects stemming from depth buffer data). Not to mention any post effects that would incur cost if done twice for the second camera.
This was a great video. It’s been a while since I’ve seen a video of yours that felt like YOU. Also your Shooter looks fantastic, gives me a Kino Der Toten mixed with this robot wave shooter that I used to played. It looks amazing, loving the lighting and look.
Awesome video, Thomas! You put a lot of thought into these and it shows. Lots of great points. I completely dropped Unity for Unreal because of shaders and lighting. I tried migrating an existing project to URP, Unity's DEFAULT material bombed right out of the gate, and I realized I needed to escape while I still had most of my hair. Never looked back.
I am beginning to understand why it takes Bethesda so long to make each game. Not that I thought it shouldn't have before, but doing all of this for the whole world where multiple types of enemies can spawn in each area. Good lord.
Great video Thomas, as usual! Thank you for sharing the story and lessons learnt. I found myself in this exact mindset - I also felt a few times making 3d game will be much easier 2d. I am so happy I haven't decided to give it a try though haha. Good luck with further endeavors! I am sure you will surprise us very soon with another hit game!
I went and started on making a 3d VR game with a similar mindset (only I straight up abandoned any focus on making the graphics any good due to the sheer amount of work to make assets). What was really surprising to me is the SHEER AMOUNT OF TIME SPENT OUTSIDE OF PROGRAMMING. The stuff for polish -> textures, modeling, animation, musics, sound effects. I didn't even bother messing with light baking, but its all very very tedious. And the cameras. For the VR game I'm still working on, I have a camera for the skybox, a camera for the targeting boxes, a camera for the cockpit (its like an x-wing simulator), a camera for the targeting computer (like I said, x-wing), a camera for the UI. Effectively that's 6 cameras to manage! I'm going to finish this game eventually, but when I started the project, I was targeting the Quest 1. By the time it's finished, the Quest 3 will already be out and the expectations for visual fidelity will be roughly on part with games made for the playstation 3 by that time!
Also you don't technically need a second camera if you rae using URP or HDRP. URP has camera layers but you can also create separate forward renderer that will render objects on specific layers always in front. HDRP is more limited in that regard, you can use custom passes to render things on top, but can't doo stuff like changing objects FOV relative to camera... as far as i'm aware of
Camera layers can't give a correct shadow result . Like you want the first person hands always on top, and you want the envirnoment can cast correct shadows on the first person hands(hands sample shadow map by depth correctly ) . So they all need to be in the same light layer. Otherwise the shadowmaps aren't right. Or you can have every environment object to have a duplicated copy set as "cast shadow only" and in the layer of the FPS hands. But it would make the level management more complicated. HDRP offical samples have an example with custom pass, the idea is to nuke the depth buffer of where your FPS hands will cover, then draw the FPS hands so they can be drawn on top (because the depth in the back is already gone). But the example doesn't do every good, the real depth is still the origin one, if you try to get the final depth texture, it's still the old depth. So a lot post processing effect can be wrong with it. I still haven't find a way to do with that example. FPV addon(First Person View 3) can have the FPS hands and environments rendered in just one camera, shadows are correct, post processing still working correct. FPS hands FOV can also be modified seperately. It's probably the only out of box FPS hands solution right now.
Just gotta say that I really appreciate all of your videos, and especially how frequently you upload them. Your channel has kinda become some sort of all-in-one place for everything regarding gamedev to me, and I just think need to thank you for that! Keep up the good work and good luck for your projects :)
Hey Thomas, just a thought I had. You said it yourself, you shouldn't tie yourself down to an identity. Art and setting may be your forte, but that also doesn't mean you can't keep an open and experimenting mind if gameplay does need enhancing. Push your limits and take a little risk! Life is all about that constant struggle. It doesn't have to be a weakness but maybe just not your strongest skill as of right now. Maybe that sounds like the same thing, but I think the positive outlook helps us think differently. Anyways, good luck on the journey. I wish you good vibes and big gains.
a big subconscious issue with realistic graphics is that things that look like real life will remind you of real life..but we all play games to escape reality.
Thanks for telling your story. Frustration and headaches are always part of making anything. As an Unreal user myself I've been so aggravated I wanted to uninstall and load up a different engine : ). Documentation is light (getting better), 3rd party videos skip steps.... "It's not working and I can't figure out why!" Conquering those obstacles though, that's the sweetest feeling in the world. Actually some the most creative and immersive game experiences come from climbing the wall. Keep grinding.
This has been the most insightful and useful video I have seen on development yet, and THANK GOD because I just started my journey LOL you have saved me from I'm sure a lot of headaches and let downs.
1) yes UE is a little easier but harder in other ways , where you heave to learn all the nitty gritty stuff of blueprints. 2) for 3D "road to vostok"s first development video regarding lighting and baking I found greatly helpful.
The problem is Unity is great at helping you with beginner issues. Unreal, on the other hand, is great at solving more advanced problems - from a better post proc system to automatic LOD, better shadows, better lights, a more performant engine,...
@@TheAndrejP Learning c++ teaches you to be an obsessive compulsive control freak with respect to memory management; it also forces you to work with pointers. c++ is rougher to learn.
This entire video is proving the point that just because you’re good at one kind of art, you are not automatically good at another kind of art. I look forward to Thomas’ next game, where he learns enough about the tech to understand why the deferred rendering model might have helped him (considering the bonkers number of light probes he used).
i'm actually really curious about a setup for the flying enemy. I assumed a two double meshes were enough, but i'm more curious about the enemies chaning their height + moving around
I definitely agree about a realistic style being easier to implement than stylized when it comes to 3D. For many reasons beyond just asset packs. This is one way how I plan to set my work apart though. The drawback is less time on all the other aspects of game dev *sigh* as goes life. Good luck TB! Also to everyone else!
Really like how you dove directly into the details of what makes it hard to make 3d games, and the entire video was very meaty with details and examples of your experiences. Very nice
You haven't even scratched the surface of what makes 3D game design particularly difficult--good, deep, game design that holds a player's attention past when the novelty of the game wears off. This is nightmare level difficult. All the economics, engineering, and art concerns you go over in this video are valid (and to me the idea of trying to make a game that looks cohesive and interesting without paying a dedicated team of artists a salary is ludicrous, but I don't work in indie games and I guess the realities of funding are different), but all of these things are table stakes of game dev. If you don't have them, you don't get a chance to be successful. But if you do have them, congratulations, you've finished the tutorial. Now the real difficulty begins: what is fun? What is noticeable? What is motivating? (Things can be not fun but motivating) What pacing do you want, what's your balance of forward looking vs reactive gameplay elements, what resource loops make sense, what emotions does your enemy design attempt to elicit and so on. It's really fun but also so much more difficult than anyone who hasn't tried it could possibly imagine. Source: I do this for a living ;P
You made an excellent point about optimizing your models. It really only takes a single complex model with terrible optimization to destroy the project. I can't tell you how many times my newly fashioned models cause extreme loading times within the editor. Once the models were re-designed, the issues vanished.
There are several options available for assets that go through and optimize your scene objects, grouping meshes together and optimizing their geometry. If you make a building out of many objects they can combine them into one mesh, remove internal faces and vertices that can't be seen, optimize geometry for lower polycount and more, at the click of a button, they're not always perfect, but they tend to do an extremely good job in the vast majority of cases. The usage of tools like that are expected when you deal with these modular asset packs, they're designed to be placed and then merged. Similarly there are tools for automatically generating light probes. There are better lightmap options available that run faster, bake faster, and look better than the build in Unity lightmapping. Because these are common things that need to be done in so many games, people have spent large amounts of time creating ways to make the process easier. Knowing what tools are out there to speedup your workflow is important so you spend less time bashing your head against the wall. Definitely agree on the realism vs stylized difficulty. A realistic asset will go pretty well with just about any other realistic asset so it's not difficult to build a consistent look out of disparate parts. But since stylized assets are stylized, they look different than assets in other styles, so good luck.
God damn, you look like Tom Keen from the Blacklist (portrayed by Ryan Eggold) that first opening shot with the brown frame glasses hahaha. Great video by the way!
Kinda surprised, as someone who has mapped on an off for two decades for various FPS/engines all these things are pretty standard. Have never made a game but all these things are pretty normal. UE is probably better but optimisation is important. For a cohesive look you can use "quality" models and materials and then screw with the mats for a stylized look rather than the models themselves. Could also decimate and screw with high res models in blender. (obv not suggesting for you thomas, but anyone else reading it might be an optoin). Does low poly stylized really make it stand out all that much - it is quite done at this point.
Nothing wrong with this method of building games, but wow it's hard to even imagine development outside of a programming / tooling-first mindset. I'm essentially watching this video with existential dread at the thought that people take the default unity approach and manage to scale it up all the way to sizeable 3d releases without stepping back to re-evaluate and parameterize literally everything. Imo - never have your physical level and your layout / design be one and the same, with a similar mindset applying to nearly every component of gamedev. Still, best of luck!
I just recently decided to scrap my 3 year project trying to make a fps mage game, which started out as a project for my studies but stretched into a colossal task which I continued to work on long after graduating and its comforting to see I'm not the only one with dreams of grandure that committed far too much time to a project that I had no hope of completing. I was working solo the whole time and I'm only really trained as a programmer so its been a nightmare trying to make this game a reality and you've outlined perfectly just why that is, the initial look of the game is only about 40% of what makes these types of games fun and playable and there's a damn good reason the only great 3d games generally have a team of at very least 20 - 50 people working on them for years.
lighting doesn't have to be baked to look good. It really depends on your game's style and the engine you are working in. Unreal engine allows pretty much all lighting to be dynamically calculated and reflections work out of the box with no probes
Great video, people always underestimate the time it takes to make a game. About the buildings constructed of blocks, I imagine that you could write a script to merge the outside facing faces to each outer, creating a new simplified mess that way, whilst keeping the modularity of the blocks.
I've been working on something I'm super excited about. It's an FPS but it is going to be unlike anything out there currently, which is why I wanted to make the game. I do use some marketplace assets but they are only for sounds and particle effects, the rest is all my own blender models from scratch and Houdini creations. It took me more than a year to grasp Houdini to a level where I can generate and re-generate entire maps including interactable objects, enemies and the works. Spending the time to properly learn Houdini was well worth it as if I do have optimization issues I can regenerate a map with not too many adjustments and increase/decrease assets easily to tweak how many I have in a map
I've been there this year and changed my chess game from multiplayer and ai matches to puzzles. And I pulled a lot of ideas out to use em for future successors instead of my first one.
Bennet Foddy said it the best when he said, that "People have been predicting for years now that games would soon be made out of prefabricated objects, bought in a store and assembled into a world. And for the most part, that hasn't happened, because the objects in the stores are trash. Not to mean they look bad or that they're badly made (although a lot of them are). But to mean they're trash in the way that food becomes trash as soon as you put it in the sink. Things are made to be consumed and used in a certain context, and once the moment is gone they transform into garbage. In the context of technology those moments pass by in seconds." Your game is going to succeed precisely because you took that "risk" your game can't look like any of the other ones made from asset store objects, because none of the other ones got to have a stylistically coherent style. Congratulations, your game is shaping out to be great!
I have a B.S in Game Design, and you are absolutely correct about the hook, your game needs to get players attention. From attending college, I learned that the scope, Game Design Document (GDD), and your skill set are very crucial in game development. But most importantly is gameplay (Game Design) will make or break your game. The game must engage the players for it to be successful. Best of luck on your next projects.
"measure twice cut once" is such an old and universal saying that still holds up today for every job. I think a lot of devs especially don't think about this. I have seen so many people these days just assume especially with high level tools that you can always just shoehorn non-glamorous things like security into an app on the back end or save states etc. But then those things wind up costing more in money and resources (real and virtual) in the long run. Of course starting out you don't know what you don't know, but generally the more prep and research you do (to a point) helps mitigate a lot of extra work down the road...
Can your game dev course help with other engines like unrel or godot. I use those engines because they are more light weight compared to unity? if so id be interested
Is it possible to only render what is in the view of the camera? So when a player turns to look somewhere else, as things exit the view, stop rendering them and start rendering the new things in the cameras view. Like Nintendo used to do with super mario bros and smb3?
I remember 2 years ago when you started this project, listened to your words and I was sure that a lot of things will go wrong. Everything is only looking easy. I was also thinking that everything will be easy but then reality hit me xD
The problem with the asset store as that if you slap together a bunch of premade assets, (1) your game lacks a unique identity because those assets are being used in a bunch of other games and you could be using multiple assets that don't mesh well artistically, (2) you're beholden to however each asset creator decided to structure those assets, meaning you inherit all of the asset's problems and limitations
All that baking is one of the reasons you don't use production assets until most things in the game are nailed down. Greybox everything, worry about final details when your gameplay feels good.
I think, for each game use the engine meant for this game, for 2D Unity or Godot, for FPS Unreal. Unity started as a 3D engine but they switched focus to 2D mobile games. Another remark why I prefer Unreal: Epic is a company that does games, all the engineering struggles you passed through they passed through and they are continuously making tools/fixes for them. Unity is like offering tools for car manufacturers to do a car but Unity themselves do not know how to build a car.
It's only harder when you use an existing engine to do it. Anyone can whip up an FPS game super quick and dirty - you don't need to make an engine. You can also employ simple libraries that do things, like a library for rendering PBR materials (if you want). You can describe your worlds however you want - there's no rule that says it has to be UV texturemapped triangle meshes! When you're working within the expectations of an existing engine you can't just skip a bunch of stuff like you can when you write something from scratch. You can also use whatever language you want when you code a game from scratch - use the simplest highest level language that lets you draw as quickly as possible, or go as low-level as you want if you want some crazy FX that can't be achieved without low-level optimization and integration.
I've been programming a game from scratch, and my problems are completely different than what's described in this video. Here everything is about the assets. Choosing the right asset for the scene. Arranging assets in the scene. Changing asset properties, etc. In my own engine, the toughest problem(so far) was 3D rotation. I had to learn what quaternions are for before I managed to get it right. The other tough areas I foresee are movement with any physics whatsoever, and collisions.
Unreal, is the same. Your scene tanks in frames if you put way too many lights or foliage or anything really heavy in the scene. it just now got decent with UE5 but you still want to do all your optimization task
Switched to Unreal and will never go back to Unity. I cringe about how much $$ I spent on plugins for Unity, almost all of which came in-engine with Unreal. Profiling for performance is much easier with unreal. Nanite is amazing. GPU instancing happens automatically with foliage (good luck doing this with Unity, even with plugins)...
So, I started the development of a FPS horror game (sounds familiar?) on Unreal. I wanted to make something in Unreal 5 since it looked really cool and I thought that maybe it would be a lot easier. Turns out - it is and it isn't. I don't have to do baking anymore because lumen takes care of it for me; but I cannot have static lights (which are less performance consuming). I don't need to take much into consideration regarding polygon showing because nanite also takes care of that for me (as long as I don't make something incredibly stupid); but there are a lot of other caveats. The reflection probe is pretty much useless with lumen and reflections are coming, but right now you don't really have many reflections. On the bright side, everything looks extremely high quality and quixel bridge is really easy to use; on the down side, lumen is somewhat broken in certain parts and not much performant, masked materials are problematic, glass is problematic... the list goes on. I also bought around $200-$400 of assets over unreal. What makes it so much more easier (for me) is that I can make changes to both the assets and the materials and they look REALLY good. I don't need to have a lot of knowledge over UV mapping, I can just go and select which faces I want to have for a certain material and put it there = bam. On the other side, there are a lot of materials that need to do a lot more changes, and if the original developer didn't have changes in mind, working with certain assets is really hard; but the amount of customizable assets I have is absurd for the price that I put into. I also started with a FPS kit. I guess that was the hardest part - plugging everything into making something that actually works and isn't buggy or bloated. Cleaning the code wasn't hard, it was just really time consuming. These kinds of things - having the weapon not disappear/clip a wall when you get it near - it was already done, but it came with a zombies and a cash system that I never really wanted (I want something close to resident evil, not left 4 dead). That said, I'm also feeling that "this looks like every other game!" feeling. When I see most game architectures and stuff, there are just a lot of things that don't work anymore. In the original RE trilogy, the artists put pipes and boxes and really cool architecture EVERYWHERE. And you don't notice at first because of the lighting, but heck - when researching, it looks WEIRD as heck! Pipes EVERYWHERE! So you don't want to put pipes, it looks too empty and lifeless. I'm still working on this, but I guess I'll just need to put a lot more customized assets on the walls and near the ceiling to highlight stuff. Overall, I feel your pain, but I don't think I had nearly the same pain in the ass as you :P I'm hoping I can have a demo for the game by the end of this month, although it's not going to have all the features I want. (PS: video on my channel is just 1-2 months of work. It looks really bad)
Great topic. For me in terms of creating 3d models, it is still easier to create stylized model than realistic model. If you go for realistic, it is same things, you need to create the models yourself most of the time, and use modified model pack for minor details. In stylized modeling small mistakes is not really visible, and less details need to take care also quicker to create
One word: Tooling. If you do manually what can be somewhat automatic, you'll be in a world of pain. It's absolutely fine to build your building from "bricks", if you also have a baking tool, that will turn it into a single mesh for you, for example.
Oh the irony that I get an ad for a game dev course to learn to make "incredible" games in one week, without knowing art, programming or game theory haha
I'm working with Unreal and I feel it can make your life a little bit easier for 3D with Lumens and nanite but at the end you will face the same FPS challenges. I think you should stay with one game engine and master it.
The thing with Unreal is it has better built in tools for the tasks you come across in 3D games. Automatic LOD vs. manually redoing meshes, a better system for baking lights, a better system for shadows etc.
@@TheAndrejP You are right about the 3D tools for Unreal. I think if someone has no experience yet with any game engine, Unreal it's a good investment of your time, there is so much stuff coming out of Epic and the pipeline is loaded with crazy features. But if someone has already invested many hours and years in Unity, switching to Unreal may not be a wise choice. I think it's hard to transfer knowledge between game engines and may not be worth it.
Hi, Thomas Love your content. But I think bigger studios know about this issues and in stead make kinda empty levels and models with no or little details and focus solely on the level design and game play before actually doing the boring stuff like baking light and light prob
The reason indie games are so popular is that style, when you see it being different from AAA, you know it's going to be something more than just a product
I'm making a first person shooter , a survival horror , 60 fps is like how could I forget to make sure it does not drop to 30 fps , now I have to back track 😖
I think I'm gonna stick to slapping sprites in a room with 2D games. I did optimize my "game" to go from 100 fps to 300-1500 fps by deactivating objects of different areas and that already took hours to make. It could probably be even 5-10 times faster after compiling it because GameMaker is way slower than you'd expect for simple 2D games when not compiling them. You'd never get away with an interpreted language in decent looking 3D games. It would run so slow!
As a concept artist working on a stylised game atm, I can say for sure that stylised games are waaay more time consuming. everything basically has to be hand made. If you're looking for something quick where you can use assets and learn the ropes - I'd start with realistic fo sure
If you are using Unreal 5, do you need to bake the meshes? I know he is in Unity, but I think Unreal 5 actually solves some of that... there will be other issues though.
Unreal Engine is absolutely easier to use but only once you've gone through it's steep learning curve. Once you learn it, it's kinda frightening how loose the workflow is. It's definitely an engine for creatives.
Probably has a lot to do with epic actually using their own engine. In still baffled how much stuff you have to manually, painstakingly do in Unity that is one click in Unreal.
Even after getting over the steep learning curve, you still have a lot of disadvantages if you know little about C++. Blueprints has advantages, but some things are a lot more tedius to do then just getting knee deep into the code.
@@SleepyMatt-zzz yeah but you can still make a complete game in BP only, there has been plenty of BP only Indies. It does limit you on what you can achieve but it is a very solid starting point for anyone trying to make and publish a game. I'm probably biased having used Unreal professionally for years.
@@SleepyMatt-zzz - I hate to sound like an unreasonable advocate for unreal but, "A lot of disadvantages" is a bit of a stretch. What features is the BP system missing that prevents solo devs from executing? I feel like most devs who complain about the blueprint system often have a huge wall of spaghetti and aren't very optimistic about optimizing/organizing their BP's. I would really like to know the actual disadvantages other than the fact that BP systems are indirect C++ execution in the editor. In my experience, I feel like there is a lot of good things to say about the BP system. It's pretty darn solid when we make it work right and plan for efficiency. Artists finally have a chance to see the code flow without having to monitor over proper syntax (which I hate) giving homage to creativity and experimentation.
I used to be in the game industry, but gave up on it since it's such a mess to make games. But that was 20 years ago. Today, watching this video, my first reaction is that the tools (Unity) seem inadequate. As a programmer I want to make everything I write as useful and efficient as possible. Those last steps you do for a level for instance, is something I would try to do away with, automate and whatnot.
So I went from trying to make a game to learning Blender because even with my lowlowlowpoly block assets, it feels like my game, my progress. Atm Im learning Materials in UE. Thanks for the Video
lol sounds kind of familiar, and then I decided to make it co-op. I mean to be honest, it sounds like a horrible idea to tackle multiplayer right away, but I actually learned A LOT about where code/blueprints should be to make sense. Like when replication is demanded, you simply cannot be writing pretty much any code in the widget classes like they do in the TH-cam tutorials.
It's time to apologize lol. Btw the video I'm referencing was set to private a while ago cuz I thought I was right but I was a dummy.
► Enroll in my 3D workshop, free!: www.fulltimegamedev.com/opt-in-15-minute-3D-game
► Learn how to become a full time game dev, free: www.fulltimegamedev.com/opt-in-how-to-make-six-figures
► Make your game instantly beautiful with my free workbook: www.fulltimegamedev.com/opt-in-instant-beauty-color-workbook
► Get my 2D game kit, free: www.fulltimegamedev.com/opt-in-2D-game-kit
► Join my 2D character workshop, free: www.fulltimegamedev.com/opt-in-2d-character-art-workshop
► Wishlist Twisted Tower: store.steampowered.com/app/1575990/Twisted_Tower/
► Learn how to make money as a TH-camr: www.fulltimegamedev.com/opt-in-indie-game-income-workshop
Hi, Thomas! I've been developing my game for VR for a little over a year. I heard you mention Probuilder and thought I'd mention that those meshes are also poorly optimized. In case you haven't yet, you should consider exporting them as an FBX and using a non Probuilder asset for your final product. Keep up the hard work!
you should pin this comment so more people can see it!
I'd wholeheartedly recommend Bakery over Unity's built in lighting system. Not only does it look infinitely better but the bake time goes from hours to minutes. it also completely works with light probes so it really can be a drop in replacement for Unity's baked lighting.
I believe there is also a realtime lighting addon for Bakery too.
Bakery + Magic Light Probes - fast fast way for lighting development
While the real time lighting addon for Bakery isn't amazing, Bakery in itself is. It completely eclipses Unity's lightmapper by a significant margin.
@@GameDragon2k Addon youn mean Bakery Preview RT?
@@michaorzechowski4948 Bakery Preview Realtime is just a tool to see what the bake will look like, in "real time".. I have not found any great realtime tools. Kronnect has an asset called Radiant Global Illumination which fakes RT lighting with a post processing effect. The little I tried it in an indoor setting I wasn't extremely impressed but I need to give it some extra effort, I think. Bakery and Magic Light probe is definitely the way to go if your level is static. Mine is procedurally generated and mobile, so I either go with no lights and get the game done, or spend a bunch of time trying to make scenarios where lights come into play and then setup the generator to use those textures instead. A lot of work.
@@michaorzechowski4948 Yes. By "not amazing," I mean that the RT preview isn't entirely accurate. Even with the preview, you have to do your bakes, run the game and tweak for disparities. It does have it's uses though.
Glad to hear your take on 3D has changed. I’ve been following your journey since I purchased your 2D course and oddly enough I remember when you said 3D was easy. I also remember feeling upset with that comment. I had been struggling in 3D in my journey with Unreal, idk why it made me feel less than everyone else and thinking game development wasn’t for me. Though with time I found my peace and strength to continue my journey, I’m happy to see your progress and your growth as a 3D dev. On a positive note, I’m glad you returned with father I’ve been waiting for it’s release for some time, hopefully we see it soon. Last note. Regarding the name change I think Happy Hotel is a nice name, I’m not sure if it’s taken but the name itself has a catchy ring to it best wishes on your journey and looking forward to future updates.
The fact that they had to go back and fix even the trees in "The First Tree" due to optimization issues... that irony isn't lost on me
The first tree was done by a solo (very talented and dedicated) dev
@@plagiats Very talented? I would dispute that. He can't code, used visual scripting plugins for the entire game, used entirely assets from the asset store, and created an extremely janky and buggy game with terrible animations that only sold well due to the fact it had a nice story and the asset packs he used looked really nice in screenshots.
I'm not saying it's objectively a bad game, it's not my cup of tea but other people liked it, and i'm not dissing the guy for making it, or for his skill level, but he is not what i would call 'very talented' when it comes to game development. I think this steam review hit the nail on the head:
"feels like someone wanted to make art but realized they had to make a game too, and game development wasnt their strong suit"
@C I agree 👍🏻
They didn't have to go and 'fix' anything. They just chose to port to a platform they originally had no designs to target, as part of the porting process they had to also port/adjust the assets. Nothing was actually broken about them tho.
@@darkcognitive Added on top that he made his money with a course which Brush entirely copied.
most important thing I learnt from 3d is : its all about faking; lights, shadows, distance drawing etc.
It's like watching a very slow pace (educational) train collision, so entertaining and informing on what (not) to do. Thanks!
"You can make a game look like wolfenstein really fast"
You are doing it again Thomas :D. No you can't!
What he meant is that the assets are out there. You don't have to make everything from scratch. The most time consuming part about achieving a style is creating the assets.
@@andrewhabroad I totally understand what he meant, just couldn't help myself not to mock that phrase, given the topic of this video :D But anyway - realising that making a 3D FPS is not easy doesn't automatically means that you already see the rabbit hole's end.
To add to this, programs like Substance Painter are designed to give you realistic textures pretty fast, so yeah he has a point.
@@frostreaper1607 Programs like Substance Painter are designed to help you work easier, but the quality demanded by AAA studios is also higher, than in times, when 3D models were textured in photoshop with UV outlines on the background (which sometimes is still the case btw). It tooks some skill and time to make good textures. Applying smart materials is not texturing, it's a pre-junior artist approach and definitely wont let you have Wolfenstein quality assets.
@@nekronavt +1. Nevermind lighting, fog and other atmospheric qualities you need to make outside of popping static meshs into a world>
AND remembering that sound plays a major part in how it feels so you need to implement all those atmospheric sounds but in a way that sounds natural depending on the players position.
Heck it would be tricky enough to make the original Wolf3D wolfenstein with an entire environment made out of sprites
what I've mostly learnt from this video is that I'm glad I'm using Unreal
Does it have real time lighting or do you still have to bake the lighting?
@@NaudVanDalen You still have to bake the lighting, but I think Unreal does more of the heavy lifting for you compared to Unity. I'm not an expert though so I could be wrong
@@NaudVanDalen If you use Lumen, you don't have to. If you don't use Lumen, baking the lighting is one click away and it doesn't take as long, but of course it depends on the size of the map. Generally 5 minutes is the average wait time with it taking longer when you make an executable of the game with highest lighting quality possible.
Are you glad that they take a lot more Rev from you when you make your money then unity?
@@PhantomCitizen You glad that Unity merged with a malware distributor? And also 12% is pretty reasonable in my opinion when industry standard is 30%
I think that when it comes to 3D, it's easy to see the HUGE amount of purchasable assets and models and have the level building click as a more advanced form of legos, and conclude that's easier. And in some ways it is, but what's not as obvious is that people's expectations for a 3D game are WAY higher than they are for a 2D game.
Similar to the expectations on live action superhero movies vs cartoons - you can have one or two gameplay mechanics in a 5 hour long short story in a 2D game like Neversong (which I finished last month, great job btw) and people will love it, but that same content in 3D doesn't feel rich and complete enough. So you need a longer story with more maps and more gameplay mechanics to make a 3D game than a 2D game to get to the same level of player satisfaction. Not to mention that the more realistic your art style, the more realistic folks expect the gameplay. Zelda or Mario in 3D is allowed to have some wonky physics or impossible jumps, but do the same thing in Last of Us or Red Dead Redemption 2 and folks won't go for it. (Why the lowpoly/stylized option has more benefits than just performance)
When it comes to speeding up workflows - I don't know Unity as well as Unreal Engine, but there are ways of using Python scripts to script repeatable actions in the Unreal Engine or Unity editors for doing things like placing objects procedurally and whatnot. That may be something to look into for things like placing the reflection probes at specific places in the map and stuff like that.
Regarding your question about Unreal Engine vs Unity for 3D - I have a bit more experience with Unreal Engine than Unity for that, and what I've seen so far, Unreal Engine does handle more things "for free out of the box" like a player controller and stuff like that which you often have to buy in Unity. Unreal Engine also has tools for splitting up large maps into dynamic smaller maps so you can do larger open world games where things are loading/unloading as you run around a lot easier out of the box as well, but most of that could just be my preference - if you like what you're using then great.
Cheers
conclusion: if u want to make a high-complex graphic 3d games go to unreal, if u want to make a simple graphics games go to unity.
Even having the assets is not a good point, because if you built a game only out of assets, you're just going to have a generic game without any personality.
@@AmodeusR I woudn't say that, being able to make good use of assets is VERY important and honestly most concept art is done with kitbashing anyway. It's a matter of using what'cha got, but as he says at a point you're gonna need stuff you don't have, and creativity can only take you so far. So it's not about personality, it's about being EXTREMELY sure that what you're getting works for your needs. Cuz you don't need to model another barrel, there's 150000 packs of cool barrels, it's fine.
The asset store's great, but it can be a trap, you go to it to solve problems you already have, not to maybe solve problems you might have in the future. that way leads to Bad Times.
What's even the point of high end games? If it fulfills 90% of the player's expectations (life changing) while looking amazing and costing 100 million dollars, people are gonna think it's worse than a 2D game made in 2 days by one person that fulfills 200% of the player's expectations (nothing special).
I've never seen a video put me off a course about learning so much in my life.
A useful rule of thumb is that for every engine feature that adds an additional category of asset, the development cost of a scene correspondingly goes up.
Thus, designing for a single-screen game with looping background music(which can have a static background, a hardcoded collision setup, and one prerecorded track), is simpler than doing the same for a scrolling tilemap game with environmental sound(because now there's a tileset, tilemap data, a camera, and a whole bunch of triggers, volumes and material assignments for ambience). Likewise, a game that uses keyframe animation is easier to plan than one that deforms meshes, but the cost of making a rig can pay off if you have a lot of animations per model or are retargeting that animation data. By the time you get to doing 3D, you have meshes, textures, materials, lighting, etc. It's hard to keep control over these more complex assets, and scope creep can sneak in really easily simply by deciding to show something representationally(e.g., opening a door) instead of abstracting it into a piece of UI or a scene change.
With AAA budgets there's a presumption to what's taking place: designing towards maximizing the *hardware* budget means pushing as much as possible through the engine, which means that the art pipeline is dragged along to keep up with what the engine can do(because that's what, historically, has created great trailers and screenshots). But we're well aware with this generation of hardware that it isn't the constraint on the experiential aspects of most games anymore; the new Last of Us and the old Last of Us are hard to tell apart at a glance. Embracing retro looks, Nintendo-style art direction with more stylization, targeted use and occasional reuse of assets, or proceduralism in the art style(e.g. No Man's Sky) tends to be the way to get to something appealing while keeping the development cost sustainable. But there isn't a magic way to remove the effort once you've committed to having an asset exist: either you make the asset by hand, or you make it procedurally and then your asset is the configuration data. Even if it's "just" a piece of text, that's still a way of adding scope.
Machine learning AI will probably make it less insane to work with so much detail in the future because it lets things stay flexible throughout the process; ideally, you just hand it a greybox and a finished example and say "populate it like that". But even then, there's still going to be some ways to blow up the scope.
I solo developed and released an FPS this year and I can confirm that EVERYTHING Thomas just mentioned is correct. If anything he's downplaying just how complex the process is. Anyone considering it really needs to understand what they're getting themselves into. Once you move into a 3D space the complexity of the process grows exponentially. And you've gotta manage all this technical complexity without forgetting to design a game that is actually *fun* for people to play... 0_0
Never thought i would see two videos in a day, but here we are.
Thank you for the tips, i will keep them in mind for when i create a 3D game.
Ask somebody who is used unity and unreal. The pipeline is a lot easier to make an FPS for unreal. However a lot of the issues you'll having appeal more to do with how you set up your pipeline. I would focus on level design with the bare minimum of visual fidelity until you know how all the mechanics will can play then worry about baking and rendering if you're working on a team and one of you is an artist and the other one is a programmer. Split it up so you only have to worry about the lighting and the shading at the end that's going to be the most time consuming. Also you can set the lights to be animated. Around the emission spot so they just have the appearance of emitting light without them actually emitting light. And just have the closest one a mid light and then bake. It doesn't matter if the light behind you will you cannot see is visibly fasting light or not you can set it up through a raycast function so just shoots out from your main point of view and then even deviated by a few lights to change the effect so there's no glaring differences but it's been a while since I've had to mess around with unity Rader engine
Thanks for talking about this. There are so many tutorials to create games and the indie market is getting flooded with games that are not made right because people do not understand this. I am a programmer and I try to tell people this is really hard. Sure you can make something but to make it work well too and have everything, is very difficult. I am glad to see people who have an audience, talk about these issues.
Trimsheets Thomas. Trimsheets for majority of your walls and floors will save sooo much memory.
for last 3 month i'm working as technical artist intern , every day i learn new stuff about light baking and optimization ...., sometimes its really hard , never imagined these kind of features in my games!
Hey Thomas, I'm proud to be apart of the GameDev community especially yours throughout the years. I especially have gained an idea for my very first game idea I'm slowly putting into action of a simple fun arcadish style game to help me get my feet wet with for the taste of the action. Starting out nice and small and putting my big adventure game project pushed back until I gain more experience. :)
Thomas built an entire hotel out of modular assets? Oh man..... Some things just need to be modeled from scratch...
I knew this was coming. I knew this was coming the moment when you said people doesn't want to try anything new.
IIRC, for the gun clipping thing, there's a trick where you disable depth test on the shader somehow and perhaps modify the gun/hands' rendering order to be the last always. That way they always render on top of everything. That said I'm not sure it was the full solution, I only remember the concept. But supposedly, using multiple cameras means you lose any effects from other objects in scene since you basically render them in isolation and composite them on top of main camera result (meaning cleared depth buffer, thus no effects stemming from depth buffer data). Not to mention any post effects that would incur cost if done twice for the second camera.
yeah a second camera seems like a bad and janky solution that also impacts performance
This was a great video. It’s been a while since I’ve seen a video of yours that felt like YOU.
Also your Shooter looks fantastic, gives me a Kino Der Toten mixed with this robot wave shooter that I used to played. It looks amazing, loving the lighting and look.
Awesome video, Thomas! You put a lot of thought into these and it shows. Lots of great points. I completely dropped Unity for Unreal because of shaders and lighting. I tried migrating an existing project to URP, Unity's DEFAULT material bombed right out of the gate, and I realized I needed to escape while I still had most of my hair. Never looked back.
I am beginning to understand why it takes Bethesda so long to make each game. Not that I thought it shouldn't have before, but doing all of this for the whole world where multiple types of enemies can spawn in each area. Good lord.
I appreciate all the info! I plan on making a game soon, and appreciate all you do.
Great video Thomas, as usual! Thank you for sharing the story and lessons learnt. I found myself in this exact mindset - I also felt a few times making 3d game will be much easier 2d. I am so happy I haven't decided to give it a try though haha. Good luck with further endeavors! I am sure you will surprise us very soon with another hit game!
I went and started on making a 3d VR game with a similar mindset (only I straight up abandoned any focus on making the graphics any good due to the sheer amount of work to make assets). What was really surprising to me is the SHEER AMOUNT OF TIME SPENT OUTSIDE OF PROGRAMMING. The stuff for polish -> textures, modeling, animation, musics, sound effects. I didn't even bother messing with light baking, but its all very very tedious.
And the cameras. For the VR game I'm still working on, I have a camera for the skybox, a camera for the targeting boxes, a camera for the cockpit (its like an x-wing simulator), a camera for the targeting computer (like I said, x-wing), a camera for the UI. Effectively that's 6 cameras to manage! I'm going to finish this game eventually, but when I started the project, I was targeting the Quest 1. By the time it's finished, the Quest 3 will already be out and the expectations for visual fidelity will be roughly on part with games made for the playstation 3 by that time!
The decision to go for style over "SUPER HD" was a good one. You're 100% correct in your line of thought
Also you don't technically need a second camera if you rae using URP or HDRP. URP has camera layers but you can also create separate forward renderer that will render objects on specific layers always in front. HDRP is more limited in that regard, you can use custom passes to render things on top, but can't doo stuff like changing objects FOV relative to camera... as far as i'm aware of
Camera layers can't give a correct shadow result . Like you want the first person hands always on top, and you want the envirnoment can cast correct shadows on the first person hands(hands sample shadow map by depth correctly ) . So they all need to be in the same light layer. Otherwise the shadowmaps aren't right. Or you can have every environment object to have a duplicated copy set as "cast shadow only" and in the layer of the FPS hands. But it would make the level management more complicated.
HDRP offical samples have an example with custom pass, the idea is to nuke the depth buffer of where your FPS hands will cover, then draw the FPS hands so they can be drawn on top (because the depth in the back is already gone). But the example doesn't do every good, the real depth is still the origin one, if you try to get the final depth texture, it's still the old depth. So a lot post processing effect can be wrong with it. I still haven't find a way to do with that example.
FPV addon(First Person View 3) can have the FPS hands and environments rendered in just one camera, shadows are correct, post processing still working correct. FPS hands FOV can also be modified seperately. It's probably the only out of box FPS hands solution right now.
Just gotta say that I really appreciate all of your videos, and especially how frequently you upload them. Your channel has kinda become some sort of all-in-one place for everything regarding gamedev to me, and I just think need to thank you for that! Keep up the good work and good luck for your projects :)
I like the passion you put into orientating your followers with these videos
Hey Thomas, just a thought I had. You said it yourself, you shouldn't tie yourself down to an identity. Art and setting may be your forte, but that also doesn't mean you can't keep an open and experimenting mind if gameplay does need enhancing. Push your limits and take a little risk! Life is all about that constant struggle. It doesn't have to be a weakness but maybe just not your strongest skill as of right now. Maybe that sounds like the same thing, but I think the positive outlook helps us think differently. Anyways, good luck on the journey. I wish you good vibes and big gains.
The untimate key to success is to make a decision, commit to that decision, and finish.
a big subconscious issue with realistic graphics is that things that look like real life will remind you of real life..but we all play games to escape reality.
Thanks for telling your story. Frustration and headaches are always part of making anything. As an Unreal user myself I've been so aggravated I wanted to uninstall and load up a different engine : ). Documentation is light (getting better), 3rd party videos skip steps.... "It's not working and I can't figure out why!" Conquering those obstacles though, that's the sweetest feeling in the world. Actually some the most creative and immersive game experiences come from climbing the wall. Keep grinding.
This video was very informative and thorough. I use Unreal and it can be pretty intimidating. I do like Unreal 5's Lumen global illumination though.
This has been the most insightful and useful video I have seen on development yet, and THANK GOD because I just started my journey LOL you have saved me from I'm sure a lot of headaches and let downs.
1) yes UE is a little easier but harder in other ways , where you heave to learn all the nitty gritty stuff of blueprints.
2) for 3D "road to vostok"s first development video regarding lighting and baking I found greatly helpful.
If you know C#, you can learn C++ without much overhead.
@@DanielNistrean I'd say it's actually much easier the other way.
The problem is Unity is great at helping you with beginner issues. Unreal, on the other hand, is great at solving more advanced problems - from a better post proc system to automatic LOD, better shadows, better lights, a more performant engine,...
@@TheAndrejP Learning c++ teaches you to be an obsessive compulsive control freak with respect to memory management; it also forces you to work with pointers. c++ is rougher to learn.
This entire video is proving the point that just because you’re good at one kind of art, you are not automatically good at another kind of art.
I look forward to Thomas’ next game, where he learns enough about the tech to understand why the deferred rendering model might have helped him (considering the bonkers number of light probes he used).
Yes youre right Thomas, UE5 especially handles a lot for 3d.
i'm actually really curious about a setup for the flying enemy. I assumed a two double meshes were enough, but i'm more curious about the enemies chaning their height + moving around
I definitely agree about a realistic style being easier to implement than stylized when it comes to 3D. For many reasons beyond just asset packs. This is one way how I plan to set my work apart though. The drawback is less time on all the other aspects of game dev *sigh* as goes life. Good luck TB! Also to everyone else!
Really like how you dove directly into the details of what makes it hard to make 3d games, and the entire video was very meaty with details and examples of your experiences. Very nice
You haven't even scratched the surface of what makes 3D game design particularly difficult--good, deep, game design that holds a player's attention past when the novelty of the game wears off. This is nightmare level difficult. All the economics, engineering, and art concerns you go over in this video are valid (and to me the idea of trying to make a game that looks cohesive and interesting without paying a dedicated team of artists a salary is ludicrous, but I don't work in indie games and I guess the realities of funding are different), but all of these things are table stakes of game dev. If you don't have them, you don't get a chance to be successful. But if you do have them, congratulations, you've finished the tutorial. Now the real difficulty begins: what is fun? What is noticeable? What is motivating? (Things can be not fun but motivating) What pacing do you want, what's your balance of forward looking vs reactive gameplay elements, what resource loops make sense, what emotions does your enemy design attempt to elicit and so on. It's really fun but also so much more difficult than anyone who hasn't tried it could possibly imagine.
Source: I do this for a living ;P
The biggest thing that’s gonna make or break FPS is the draw calls.
You made an excellent point about optimizing your models. It really only takes a single complex model with terrible optimization to destroy the project. I can't tell you how many times my newly fashioned models cause extreme loading times within the editor. Once the models were re-designed, the issues vanished.
There are several options available for assets that go through and optimize your scene objects, grouping meshes together and optimizing their geometry. If you make a building out of many objects they can combine them into one mesh, remove internal faces and vertices that can't be seen, optimize geometry for lower polycount and more, at the click of a button, they're not always perfect, but they tend to do an extremely good job in the vast majority of cases. The usage of tools like that are expected when you deal with these modular asset packs, they're designed to be placed and then merged.
Similarly there are tools for automatically generating light probes. There are better lightmap options available that run faster, bake faster, and look better than the build in Unity lightmapping.
Because these are common things that need to be done in so many games, people have spent large amounts of time creating ways to make the process easier. Knowing what tools are out there to speedup your workflow is important so you spend less time bashing your head against the wall.
Definitely agree on the realism vs stylized difficulty. A realistic asset will go pretty well with just about any other realistic asset so it's not difficult to build a consistent look out of disparate parts. But since stylized assets are stylized, they look different than assets in other styles, so good luck.
God damn, you look like Tom Keen from the Blacklist (portrayed by Ryan Eggold) that first opening shot with the brown frame glasses hahaha. Great video by the way!
Kinda surprised, as someone who has mapped on an off for two decades for various FPS/engines all these things are pretty standard. Have never made a game but all these things are pretty normal. UE is probably better but optimisation is important. For a cohesive look you can use "quality" models and materials and then screw with the mats for a stylized look rather than the models themselves. Could also decimate and screw with high res models in blender. (obv not suggesting for you thomas, but anyone else reading it might be an optoin). Does low poly stylized really make it stand out all that much - it is quite done at this point.
Nothing wrong with this method of building games, but wow it's hard to even imagine development outside of a programming / tooling-first mindset. I'm essentially watching this video with existential dread at the thought that people take the default unity approach and manage to scale it up all the way to sizeable 3d releases without stepping back to re-evaluate and parameterize literally everything.
Imo - never have your physical level and your layout / design be one and the same, with a similar mindset applying to nearly every component of gamedev. Still, best of luck!
I just recently decided to scrap my 3 year project trying to make a fps mage game, which started out as a project for my studies but stretched into a colossal task which I continued to work on long after graduating and its comforting to see I'm not the only one with dreams of grandure that committed far too much time to a project that I had no hope of completing. I was working solo the whole time and I'm only really trained as a programmer so its been a nightmare trying to make this game a reality and you've outlined perfectly just why that is, the initial look of the game is only about 40% of what makes these types of games fun and playable and there's a damn good reason the only great 3d games generally have a team of at very least 20 - 50 people working on them for years.
lighting doesn't have to be baked to look good. It really depends on your game's style and the engine you are working in. Unreal engine allows pretty much all lighting to be dynamically calculated and reflections work out of the box with no probes
Great video, people always underestimate the time it takes to make a game. About the buildings constructed of blocks, I imagine that you could write a script to merge the outside facing faces to each outer, creating a new simplified mess that way, whilst keeping the modularity of the blocks.
I'm happy to see that big commercial companies are launching incomplete games but my man care about his player base and options before launching.
The random jumpscare at 8:15 was uncalled for... But great video!
I've been working on something I'm super excited about. It's an FPS but it is going to be unlike anything out there currently, which is why I wanted to make the game. I do use some marketplace assets but they are only for sounds and particle effects, the rest is all my own blender models from scratch and Houdini creations. It took me more than a year to grasp Houdini to a level where I can generate and re-generate entire maps including interactable objects, enemies and the works. Spending the time to properly learn Houdini was well worth it as if I do have optimization issues I can regenerate a map with not too many adjustments and increase/decrease assets easily to tweak how many I have in a map
I've been there this year and changed my chess game from multiplayer and ai matches to puzzles. And I pulled a lot of ideas out to use em for future successors instead of my first one.
Bennet Foddy said it the best when he said, that "People have been predicting for years now that games would soon be made out of prefabricated objects, bought in a store and assembled into a world.
And for the most part, that hasn't happened, because the objects in the stores are trash. Not to mean they look bad or that they're badly made (although a lot of them are). But to mean they're trash in the way that food becomes trash as soon as you put it in the sink.
Things are made to be consumed and used in a certain context, and once the moment is gone they transform into garbage. In the context of technology those moments pass by in seconds."
Your game is going to succeed precisely because you took that "risk" your game can't look like any of the other ones made from asset store objects, because none of the other ones got to have a stylistically coherent style. Congratulations, your game is shaping out to be great!
Woah, your game looks amazing.
I have been regretting makin a 3d game every other day, but I can't do what I want any other way
I have a B.S in Game Design, and you are absolutely correct about the hook, your game needs to get players attention. From attending college, I learned that the scope, Game Design Document (GDD), and your skill set are very crucial in game development. But most importantly is gameplay (Game Design) will make or break your game. The game must engage the players for it to be successful. Best of luck on your next projects.
"measure twice cut once" is such an old and universal saying that still holds up today for every job. I think a lot of devs especially don't think about this. I have seen so many people these days just assume especially with high level tools that you can always just shoehorn non-glamorous things like security into an app on the back end or save states etc. But then those things wind up costing more in money and resources (real and virtual) in the long run. Of course starting out you don't know what you don't know, but generally the more prep and research you do (to a point) helps mitigate a lot of extra work down the road...
Can your game dev course help with other engines like unrel or godot. I use those engines because they are more light weight compared to unity? if so id be interested
Is it possible to only render what is in the view of the camera? So when a player turns to look somewhere else, as things exit the view, stop rendering them and start rendering the new things in the cameras view. Like Nintendo used to do with super mario bros and smb3?
I remember 2 years ago when you started this project, listened to your words and I was sure that a lot of things will go wrong. Everything is only looking easy. I was also thinking that everything will be easy but then reality hit me xD
The problem with the asset store as that if you slap together a bunch of premade assets, (1) your game lacks a unique identity because those assets are being used in a bunch of other games and you could be using multiple assets that don't mesh well artistically, (2) you're beholden to however each asset creator decided to structure those assets, meaning you inherit all of the asset's problems and limitations
So far I am finding it is easier to work in Unreal, so far figuring out how to make a Multiplayer RTS Base. Hoping to get it all in place soon.
All that baking is one of the reasons you don't use production assets until most things in the game are nailed down. Greybox everything, worry about final details when your gameplay feels good.
What resources/learning materials would be best for making an FPS? Been struggling with where to learn the basics
Could you please create a video that digs into and explains the optimization difficulties in more depth?
I think, for each game use the engine meant for this game, for 2D Unity or Godot, for FPS Unreal. Unity started as a 3D engine but they switched focus to 2D mobile games.
Another remark why I prefer Unreal: Epic is a company that does games, all the engineering struggles you passed through they passed through and they are continuously making tools/fixes for them.
Unity is like offering tools for car manufacturers to do a car but Unity themselves do not know how to build a car.
It's only harder when you use an existing engine to do it. Anyone can whip up an FPS game super quick and dirty - you don't need to make an engine. You can also employ simple libraries that do things, like a library for rendering PBR materials (if you want). You can describe your worlds however you want - there's no rule that says it has to be UV texturemapped triangle meshes! When you're working within the expectations of an existing engine you can't just skip a bunch of stuff like you can when you write something from scratch. You can also use whatever language you want when you code a game from scratch - use the simplest highest level language that lets you draw as quickly as possible, or go as low-level as you want if you want some crazy FX that can't be achieved without low-level optimization and integration.
I've been programming a game from scratch, and my problems are completely different than what's described in this video. Here everything is about the assets. Choosing the right asset for the scene. Arranging assets in the scene. Changing asset properties, etc.
In my own engine, the toughest problem(so far) was 3D rotation. I had to learn what quaternions are for before I managed to get it right. The other tough areas I foresee are movement with any physics whatsoever, and collisions.
You could use PhysX, Bullet, or Havok to handle the physics.
Unreal, is the same. Your scene tanks in frames if you put way too many lights or foliage or anything really heavy in the scene. it just now got decent with UE5 but you still want to do all your optimization task
Switched to Unreal and will never go back to Unity. I cringe about how much $$ I spent on plugins for Unity, almost all of which came in-engine with Unreal. Profiling for performance is much easier with unreal. Nanite is amazing. GPU instancing happens automatically with foliage (good luck doing this with Unity, even with plugins)...
I'm legit watching this video as my game builds...it's been building for an hour haha. Game Dev can be time consuming fo sho
So, I started the development of a FPS horror game (sounds familiar?) on Unreal. I wanted to make something in Unreal 5 since it looked really cool and I thought that maybe it would be a lot easier. Turns out - it is and it isn't. I don't have to do baking anymore because lumen takes care of it for me; but I cannot have static lights (which are less performance consuming). I don't need to take much into consideration regarding polygon showing because nanite also takes care of that for me (as long as I don't make something incredibly stupid); but there are a lot of other caveats. The reflection probe is pretty much useless with lumen and reflections are coming, but right now you don't really have many reflections. On the bright side, everything looks extremely high quality and quixel bridge is really easy to use; on the down side, lumen is somewhat broken in certain parts and not much performant, masked materials are problematic, glass is problematic... the list goes on.
I also bought around $200-$400 of assets over unreal. What makes it so much more easier (for me) is that I can make changes to both the assets and the materials and they look REALLY good. I don't need to have a lot of knowledge over UV mapping, I can just go and select which faces I want to have for a certain material and put it there = bam. On the other side, there are a lot of materials that need to do a lot more changes, and if the original developer didn't have changes in mind, working with certain assets is really hard; but the amount of customizable assets I have is absurd for the price that I put into.
I also started with a FPS kit. I guess that was the hardest part - plugging everything into making something that actually works and isn't buggy or bloated. Cleaning the code wasn't hard, it was just really time consuming. These kinds of things - having the weapon not disappear/clip a wall when you get it near - it was already done, but it came with a zombies and a cash system that I never really wanted (I want something close to resident evil, not left 4 dead).
That said, I'm also feeling that "this looks like every other game!" feeling. When I see most game architectures and stuff, there are just a lot of things that don't work anymore. In the original RE trilogy, the artists put pipes and boxes and really cool architecture EVERYWHERE. And you don't notice at first because of the lighting, but heck - when researching, it looks WEIRD as heck! Pipes EVERYWHERE! So you don't want to put pipes, it looks too empty and lifeless. I'm still working on this, but I guess I'll just need to put a lot more customized assets on the walls and near the ceiling to highlight stuff.
Overall, I feel your pain, but I don't think I had nearly the same pain in the ass as you :P I'm hoping I can have a demo for the game by the end of this month, although it's not going to have all the features I want. (PS: video on my channel is just 1-2 months of work. It looks really bad)
You make a great point. Do what you like and do things for you not for others. Create your way and use your own style no matter what you create.
Deferred Shading/Rendering. Please guys. Deferred is for many lights - you don't need to confine yourself to 8 lights
You've just explained the wonderful occupation that is Tech Art! Most studios hire a tech artist for these tasks!
Great topic. For me in terms of creating 3d models, it is still easier to create stylized model than realistic model. If you go for realistic, it is same things, you need to create the models yourself most of the time, and use modified model pack for minor details. In stylized modeling small mistakes is not really visible, and less details need to take care also quicker to create
One word: Tooling.
If you do manually what can be somewhat automatic, you'll be in a world of pain.
It's absolutely fine to build your building from "bricks", if you also have a baking tool, that will turn it into a single mesh for you, for example.
Oh the irony that I get an ad for a game dev course to learn to make "incredible" games in one week, without knowing art, programming or game theory haha
I'm working with Unreal and I feel it can make your life a little bit easier for 3D with Lumens and nanite but at the end you will face the same FPS challenges. I think you should stay with one game engine and master it.
The thing with Unreal is it has better built in tools for the tasks you come across in 3D games. Automatic LOD vs. manually redoing meshes, a better system for baking lights, a better system for shadows etc.
@@TheAndrejP You are right about the 3D tools for Unreal. I think if someone has no experience yet with any game engine, Unreal it's a good investment of your time, there is so much stuff coming out of Epic and the pipeline is loaded with crazy features. But if someone has already invested many hours and years in Unity, switching to Unreal may not be a wise choice. I think it's hard to transfer knowledge between game engines and may not be worth it.
4:20 sounds like you should do these things... as a final step. Once you are done with changing levels etc. Not after each tweak.
Thank you Thomas. I feel that you are an inspiration to us all.
Hi, Thomas Love your content. But I think bigger studios know about this issues and in stead make kinda empty levels and models with no or little details and focus solely on the level design and game play before actually doing the boring stuff like baking light and light prob
The reason indie games are so popular is that style, when you see it being different from AAA, you know it's going to be something more than just a product
I'm making a first person shooter , a survival horror , 60 fps is like how could I forget to make sure it does not drop to 30 fps , now I have to back track 😖
The roku city in the background is a nice touch
I think I'm gonna stick to slapping sprites in a room with 2D games. I did optimize my "game" to go from 100 fps to 300-1500 fps by deactivating objects of different areas and that already took hours to make. It could probably be even 5-10 times faster after compiling it because GameMaker is way slower than you'd expect for simple 2D games when not compiling them. You'd never get away with an interpreted language in decent looking 3D games. It would run so slow!
As a concept artist working on a stylised game atm, I can say for sure that stylised games are waaay more time consuming. everything basically has to be hand made. If you're looking for something quick where you can use assets and learn the ropes - I'd start with realistic fo sure
I’m homeless right now but enjoy watching your videos dude I hope to get stable very soon and start my dream game. Can’t wait to start!!
I hope you find success and lead yourself into a more comfortable living
The irony of advertising your pro game dev course in this video in particular is astounding.
If you are using Unreal 5, do you need to bake the meshes? I know he is in Unity, but I think Unreal 5 actually solves some of that... there will be other issues though.
I remember watching him say that it was easy, knew it would be walked back one day xD
Unreal Engine is absolutely easier to use but only once you've gone through it's steep learning curve. Once you learn it, it's kinda frightening how loose the workflow is. It's definitely an engine for creatives.
Probably has a lot to do with epic actually using their own engine. In still baffled how much stuff you have to manually, painstakingly do in Unity that is one click in Unreal.
@@AdamKiraly_3d - Agreed, Epic actually wants to develop with their engine while Unity just wants to make money off of their engine.
Even after getting over the steep learning curve, you still have a lot of disadvantages if you know little about C++. Blueprints has advantages, but some things are a lot more tedius to do then just getting knee deep into the code.
@@SleepyMatt-zzz yeah but you can still make a complete game in BP only, there has been plenty of BP only Indies. It does limit you on what you can achieve but it is a very solid starting point for anyone trying to make and publish a game. I'm probably biased having used Unreal professionally for years.
@@SleepyMatt-zzz - I hate to sound like an unreasonable advocate for unreal but,
"A lot of disadvantages" is a bit of a stretch. What features is the BP system missing that prevents solo devs from executing?
I feel like most devs who complain about the blueprint system often have a huge wall of spaghetti and aren't very optimistic about optimizing/organizing their BP's. I would really like to know the actual disadvantages other than the fact that BP systems are indirect C++ execution in the editor.
In my experience, I feel like there is a lot of good things to say about the BP system. It's pretty darn solid when we make it work right and plan for efficiency. Artists finally have a chance to see the code flow without having to monitor over proper syntax (which I hate) giving homage to creativity and experimentation.
I used to be in the game industry, but gave up on it since it's such a mess to make games. But that was 20 years ago.
Today, watching this video, my first reaction is that the tools (Unity) seem inadequate. As a programmer I want to make everything I write as useful and efficient as possible. Those last steps you do for a level for instance, is something I would try to do away with, automate and whatnot.
"Ah, we'll worry about optimization later". That hit close to home.
So I went from trying to make a game to learning Blender because even with my lowlowlowpoly block assets, it feels like my game, my progress. Atm Im learning Materials in UE. Thanks for the Video
lol sounds kind of familiar, and then I decided to make it co-op. I mean to be honest, it sounds like a horrible idea to tackle multiplayer right away, but I actually learned A LOT about where code/blueprints should be to make sense. Like when replication is demanded, you simply cannot be writing pretty much any code in the widget classes like they do in the TH-cam tutorials.