I Was Wrong About Making A 3D FPS (Apology Video, 2 Years Of Learning)

Поділитися
Вставка
  • Опубліковано 21 сер 2024

КОМЕНТАРІ • 489

  • @thomasbrush
    @thomasbrush  Рік тому +14

    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 UA-camr: www.fulltimegamedev.com/opt-in-indie-game-income-workshop

    • @trentstoute5359
      @trentstoute5359 Рік тому +1

      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!

    • @kerolokerokerolo
      @kerolokerokerolo Рік тому

      you should pin this comment so more people can see it!

  • @LordBete
    @LordBete Рік тому +219

    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
      @michaorzechowski4948 Рік тому +16

      Bakery + Magic Light Probes - fast fast way for lighting development

    • @GameDragon2k
      @GameDragon2k Рік тому +4

      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.

    • @michaorzechowski4948
      @michaorzechowski4948 Рік тому

      @@GameDragon2k Addon youn mean Bakery Preview RT?

    • @btiller44
      @btiller44 Рік тому

      @@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.

    • @GameDragon2k
      @GameDragon2k Рік тому

      @@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.

  • @The_MilkyGames
    @The_MilkyGames Рік тому +43

    what I've mostly learnt from this video is that I'm glad I'm using Unreal

    • @NaudVanDalen
      @NaudVanDalen Рік тому +1

      Does it have real time lighting or do you still have to bake the lighting?

    • @YayaFeiLong
      @YayaFeiLong Рік тому

      @@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

    • @TheMikirog
      @TheMikirog Рік тому +1

      @@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.

    • @PhantomCitizen
      @PhantomCitizen Рік тому

      Are you glad that they take a lot more Rev from you when you make your money then unity?

    • @The_MilkyGames
      @The_MilkyGames Рік тому +2

      @@PhantomCitizen You glad that Unity merged with a malware distributor? And also 12% is pretty reasonable in my opinion when industry standard is 30%

  • @nekronavt
    @nekronavt Рік тому +145

    "You can make a game look like wolfenstein really fast"
    You are doing it again Thomas :D. No you can't!

    • @andrewhabroad
      @andrewhabroad Рік тому +21

      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.

    • @nekronavt
      @nekronavt Рік тому +26

      ​@@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
      @frostreaper1607 Рік тому +1

      To add to this, programs like Substance Painter are designed to give you realistic textures pretty fast, so yeah he has a point.

    • @nekronavt
      @nekronavt Рік тому +3

      @@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.

    • @ince55ant
      @ince55ant Рік тому +3

      @@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

  • @colonelb
    @colonelb Рік тому +64

    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

    • @aryantzh2028
      @aryantzh2028 Рік тому +1

      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.

    • @AmodeusR
      @AmodeusR Рік тому +2

      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.

    • @syllvia1
      @syllvia1 Рік тому +1

      @@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.

    • @NaudVanDalen
      @NaudVanDalen Рік тому

      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).

  • @berkcan3475
    @berkcan3475 Рік тому +40

    most important thing I learnt from 3d is : its all about faking; lights, shadows, distance drawing etc.

  • @SuPeRNinJaRed
    @SuPeRNinJaRed Рік тому +197

    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

    • @plagiats
      @plagiats Рік тому +6

      The first tree was done by a solo (very talented and dedicated) dev

    • @darkcognitive
      @darkcognitive Рік тому +28

      @@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"

    • @plagiats
      @plagiats Рік тому +1

      @C I agree 👍🏻

    • @Megalomaniakaal
      @Megalomaniakaal Рік тому +4

      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.

    • @nitras.design
      @nitras.design Рік тому

      @@darkcognitive Added on top that he made his money with a course which Brush entirely copied.

  • @peakakupo
    @peakakupo Рік тому +31

    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.

  • @thelasttellurian
    @thelasttellurian Рік тому +24

    It's like watching a very slow pace (educational) train collision, so entertaining and informing on what (not) to do. Thanks!

  • @ukresistant
    @ukresistant Рік тому +5

    I've never seen a video put me off a course about learning so much in my life.

  • @dumpsterfire2985
    @dumpsterfire2985 Рік тому +4

    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

  • @naturestudioz9738
    @naturestudioz9738 Рік тому +6

    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.

  • @chazlewis8114
    @chazlewis8114 Рік тому +3

    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

  • @JH-pe3ro
    @JH-pe3ro Рік тому +1

    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.

  • @GarrethDean1
    @GarrethDean1 Рік тому +3

    Trimsheets Thomas. Trimsheets for majority of your walls and floors will save sooo much memory.

  • @prrithwirajbarman8389
    @prrithwirajbarman8389 Рік тому +5

    I knew this was coming. I knew this was coming the moment when you said people doesn't want to try anything new.

  • @CreativeSteve69
    @CreativeSteve69 Рік тому +7

    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. :)

  • @aj-nx8hm
    @aj-nx8hm Рік тому +4

    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!

  • @beastmodejelly8654
    @beastmodejelly8654 Рік тому +9

    I like the passion you put into orientating your followers with these videos

  • @Helthurian
    @Helthurian Рік тому +7

    Yes youre right Thomas, UE5 especially handles a lot for 3d.

  • @justin1064
    @justin1064 Рік тому +14

    I appreciate all the info! I plan on making a game soon, and appreciate all you do.

  • @notsure1969
    @notsure1969 Рік тому +8

    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.

  • @petrusstrydom2073
    @petrusstrydom2073 Рік тому +3

    The untimate key to success is to make a decision, commit to that decision, and finish.

  • @carsonhawley8838
    @carsonhawley8838 Рік тому +9

    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.

  • @datscrazy4095
    @datscrazy4095 Рік тому +3

    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.

  • @koyima
    @koyima Рік тому +2

    Deferred Shading/Rendering. Please guys. Deferred is for many lights - you don't need to confine yourself to 8 lights

  • @lowlevelaesthetic8831
    @lowlevelaesthetic8831 Рік тому +1

    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.

  • @npatch
    @npatch Рік тому +2

    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.

    • @killerkonnat
      @killerkonnat Рік тому +1

      yeah a second camera seems like a bad and janky solution that also impacts performance

  • @PitiITNet
    @PitiITNet Рік тому +4

    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!

  • @samuelevander9823
    @samuelevander9823 Рік тому +1

    Thomas built an entire hotel out of modular assets? Oh man..... Some things just need to be modeled from scratch...

  • @KonradGM
    @KonradGM Рік тому +2

    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

    • @Ryanflees
      @Ryanflees Рік тому

      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.

  • @joel6376
    @joel6376 Рік тому +1

    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.

  • @KonradGM
    @KonradGM Рік тому +4

    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

  • @argmon9090
    @argmon9090 Рік тому +4

    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.

    • @DanielNistrean
      @DanielNistrean Рік тому

      If you know C#, you can learn C++ without much overhead.

    • @TheAndrejP
      @TheAndrejP Рік тому +2

      @@DanielNistrean I'd say it's actually much easier the other way.

    • @TheAndrejP
      @TheAndrejP Рік тому

      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,...

    • @gilian2587
      @gilian2587 Рік тому

      @@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.

  • @echo_4482
    @echo_4482 Рік тому +10

    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 :)

  • @KhasAdun1990
    @KhasAdun1990 Рік тому +1

    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.

  • @FluffyTheKami
    @FluffyTheKami Рік тому +3

    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.

  • @roguestargun
    @roguestargun Рік тому +1

    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!

  • @KomodoBitGames
    @KomodoBitGames Рік тому +2

    The biggest thing that’s gonna make or break FPS is the draw calls.

  • @n9ne
    @n9ne Рік тому +1

    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.

  • @DanielKlein23
    @DanielKlein23 Рік тому +1

    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

  • @DemonixTB
    @DemonixTB Рік тому +1

    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!

  • @kylespevak6781
    @kylespevak6781 Рік тому

    The decision to go for style over "SUPER HD" was a good one. You're 100% correct in your line of thought

  • @cybershellrev7083
    @cybershellrev7083 Рік тому +5

    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.

    • @AdamKiraly_3d
      @AdamKiraly_3d Рік тому +2

      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.

    • @cybershellrev7083
      @cybershellrev7083 Рік тому +1

      @@AdamKiraly_3d - Agreed, Epic actually wants to develop with their engine while Unity just wants to make money off of their engine.

    • @SleepyMatt-zzz
      @SleepyMatt-zzz Рік тому +1

      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.

    • @AdamKiraly_3d
      @AdamKiraly_3d Рік тому

      @@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.

    • @cybershellrev7083
      @cybershellrev7083 Рік тому

      ​@@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.

  • @e-frame5344
    @e-frame5344 Рік тому +4

    2 years ago I started telling ALL my clients to move to Unreal for their 3D Projects and it clearly has paid out.

  • @DreadKyller
    @DreadKyller Рік тому

    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.

  • @sanketsbrush8790
    @sanketsbrush8790 Рік тому

    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.

  • @KeyboardKrieger
    @KeyboardKrieger Рік тому +1

    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.

  • @ChrixB
    @ChrixB Рік тому +2

    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.

    • @TheAndrejP
      @TheAndrejP Рік тому +1

      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.

    • @ChrixB
      @ChrixB Рік тому

      @@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.

  • @TheArtist441
    @TheArtist441 Рік тому

    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

  • @thelaw3536
    @thelaw3536 Рік тому +1

    I'm surprised you didn't think about optimization as a game Dev. I imagine you had to deal with some of these things.

  • @thethoughtsofapilgrim8769
    @thethoughtsofapilgrim8769 Рік тому +1

    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.

  • @JvsEvil
    @JvsEvil Рік тому +1

    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 😖

  • @M0TYSHIZ
    @M0TYSHIZ Рік тому +1

    I remember watching him say that it was easy, knew it would be walked back one day xD

  • @CharlesVanNoland
    @CharlesVanNoland Рік тому

    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.

  • @DrEnzyme
    @DrEnzyme Рік тому +2

    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.

  • @gio3061
    @gio3061 Рік тому

    "Ah, we'll worry about optimization later". That hit close to home.

  • @sdsdfdu4437
    @sdsdfdu4437 Рік тому

    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

  • @chiphopper
    @chiphopper Рік тому

    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!

  • @GonziHere
    @GonziHere Рік тому

    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.

  • @gabe2o2
    @gabe2o2 Рік тому +1

    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!

  • @fraser21
    @fraser21 Рік тому +2

    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!

  • @issglass
    @issglass Рік тому

    The random jumpscare at 8:15 was uncalled for... But great video!

  • @erichbauer3991
    @erichbauer3991 Рік тому +7

    It might be worth it to build stylized assets off of realistic ones since you kinda just apply your own style to all of them in more or less the same way (obviously it's still an incredible amount of work)

  • @neckkeys5251
    @neckkeys5251 Рік тому +1

    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.

  • @DaveUnreally
    @DaveUnreally Рік тому +1

    Both are hard to optimize for, unreal and Unity. I’d say ue5 is even harder now. Optimization is definitely a process that should be done in stages as you go, atlas everything you can, don’t static batch huge meshes, use static batching when possible but also there are times when you’re better off turning off static batching and using gpu instanced shaders. The simpler the shader the better, transparency is intensive, and there is also SRP* batching. Turning off dynamic lighting or at least settling for mixed is better. LOD groups are useful too. For trees you can also use imposters. I will say, unreal has a better hlod system. Oh, low number of bones in Skeletal meshes is good, but animators are called every single frame. Where you can, don’t call things every frame. Use box colliders instead of capsule where possible. I use Unity for work but I love Unreal engine. I’m making my own game in ue4, not going to convert my project to 5. Last note, you can do a good bit of optimization by using the vertex colors in meshes, whether to mask or make variations.

  • @slugmanestudios768
    @slugmanestudios768 Рік тому

    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

  • @LFPAnimations
    @LFPAnimations Рік тому

    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

  • @blacklord3212
    @blacklord3212 Рік тому +1

    ya unreal engine optimization is much much easier once you learn it , I also find what makes game amazing is the programming itself , adding special mechanics this solely depends on the programmer , assets like you said they are scattered in the market whether it is unreal or unity

  • @raulsantandertirado4400
    @raulsantandertirado4400 Рік тому +3

    Thank you Thomas. I feel that you are an inspiration to us all.

  • @MagpieMcGraw
    @MagpieMcGraw Рік тому

    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.

    • @gilian2587
      @gilian2587 Рік тому

      You could use PhysX, Bullet, or Havok to handle the physics.

  • @jakubgrzybek6181
    @jakubgrzybek6181 Рік тому

    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

  • @bmatt2626
    @bmatt2626 Рік тому

    1 and 2 can mostly be automated by a tools person, and decoupled from gameplay by a pipeline person.

  • @iamthebubb
    @iamthebubb Рік тому +1

    After making a 3rd person shooter game for my first game, I can tell you right now, I should of started with a 2d game

  • @screwlew
    @screwlew Рік тому

    The roku city in the background is a nice touch

  • @hotfishdev
    @hotfishdev Рік тому

    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).

  • @shimadabr
    @shimadabr Рік тому

    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

  • @lukegaier9490
    @lukegaier9490 Рік тому

    The irony of advertising your pro game dev course in this video in particular is astounding.

  • @ruskyalmond1977
    @ruskyalmond1977 Рік тому +2

    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!!

    • @theonlyreega
      @theonlyreega Рік тому

      I hope you find success and lead yourself into a more comfortable living

  • @gerhardbotha8793
    @gerhardbotha8793 Рік тому +1

    Thanks this was a really cool video. But trust me UE5/UE4 can also be a pain in the ass in regards to all the stuff you mentioned 😅

  • @RaonCreate
    @RaonCreate Рік тому +1

    Could you please create a video that digs into and explains the optimization difficulties in more depth?

  • @etchasketch222
    @etchasketch222 Рік тому +2

    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

  • @jamesderaja
    @jamesderaja Рік тому +1

    I was sceptical at first but the game looks amazing now. Especially the icecream bar😂

  • @alexanderhugestrand
    @alexanderhugestrand Рік тому

    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.

  • @Bill-us8nn
    @Bill-us8nn Рік тому +5

    Your honesty is your superpower. Thank you!!

  • @aethermass
    @aethermass Рік тому +1

    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.

  • @graylandlowry8763
    @graylandlowry8763 Рік тому

    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.

  • @anonalien69
    @anonalien69 Рік тому

    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.

  • @AyoPunky
    @AyoPunky Рік тому

    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

  • @mebessusn
    @mebessusn Рік тому

    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.

  • @arkhainesyn9065
    @arkhainesyn9065 Рік тому

    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

  • @RioTFF
    @RioTFF Рік тому +2

    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)...

  • @peanut_games
    @peanut_games Рік тому

    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 UA-cam tutorials.

  • @Killa_t
    @Killa_t Рік тому

    Thank you for the opportunity for the ultimate game course, I’m good without spending a whole band, I’m broke asl😭😭😭😭

  • @robertanderson4289
    @robertanderson4289 Рік тому

    Stylized art also holds up better over time. Realistic gorgeous games today will look "old" in a few years as graphics advance.

  • @NaudVanDalen
    @NaudVanDalen Рік тому

    One thing that's easier is a very simple 3D game versus a 2D game that's supposed to look a little 3D by using a bird's-eye view perspective. Simulating 3D bounding boxes is really annoying. I had to change all the bounding boxes every time I attack because I have to hit the enemy's face instead of its feet. With 3D, all of these annoying calculations are already done because the height is actually real. Of course I'm not comparing a simple pixel art 2D game to a AAA game. Of course that's way more difficult to make. Impossible actually for one person or a small team.
    Another thing is that each animation and each skin is made once, so 10 skins and 10 animations versus 100 combinations of skins and animations in a 2D game. Although that's only if the skin is basically a 3D version of a simple 2D sprite. Not a high quality AAA model.

  • @the_cosmicat
    @the_cosmicat Рік тому

    After 2 years of working on my game, I had to redo all my animations in Spine because SpriteSkins in Unity are too unoptimized for how I needed to use them. I've still working the transition ;'(

  • @LookjaklooK
    @LookjaklooK Рік тому

    Thats why you gotta do the graphics **last**. Make sure the core mechanics, gameplay, level design (with simple one colored shapes like qubes etc) are well set before doing any polish. How do you know its done? With playtesting, by yourself and getting feedback from others whether its fun or not (ignoring the bad graphics of course). Because otherwise you see whats happening, you're double/triple working, because you're doing polish alongside development, which a good development team doesn't do (as GTA leaks show, and valve development footage shows, horizon until dawn early footage shows etc..). I'm not an expert, but I think it's a trap that many beginner/intermediate developers fall into. Because it's easy to enter that rabbit hole.

  • @NaudVanDalen
    @NaudVanDalen Рік тому

    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!

  • @TheGreatBlumpkin
    @TheGreatBlumpkin Рік тому

    Even Naughty Dog buys models from Turbosquid and outsources texture work, but I 100% agree with your decision to go with custom stylized models.