I built my own 3D Game Engine with Open-Source Tools

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 พ.ย. 2024

ความคิดเห็น • 602

  • @ModernVintageGamer
    @ModernVintageGamer  24 วันที่ผ่านมา +38

    Go to nordvpn.com/mvg to get a 2-year plan plus 4 additional months with a huge discount. It’s risk-free with Nord’s 30-day money-back guarantee!

    • @punpck
      @punpck 24 วันที่ผ่านมา +8

      nordvpn is so annyoing with there ads everywhere. For this reason I would never become customer at them 🤣

    • @gfdgdfgdfgdfggfdgdfgdfgdfg9709
      @gfdgdfgdfgdfggfdgdfgdfgdfg9709 23 วันที่ผ่านมา +1

      I make my games in flash. Before that I made 3d games with 3d game studio. And before that I used click n play :)

    • @Nobe_Oddy
      @Nobe_Oddy 23 วันที่ผ่านมา

      since you said you're at a juncture where you don't really know where to go from here and you might be looking for some ideas I thought of a good one that you actually mentioned a couple times already..... Why don't you aim to make the engine to be capable of making an up-to-date/modern remake of Rise of the Triad? No one has done that yet and you could create a quite unique engine... One of the big things I remember about RotT was that it allowed you to move in 3 dimensions (I'm pretty sure it wasn't the first to do this, but I didn't many games back then and it was my next game after Doom, so being able to travel up a level, and bounce on trampolines was a big deal to me) and an updated version of this would be great. Now I'm not trying to say that you should remake the game, I'm saying that you could think back to some of the cool things that made it unique and you aim to put features in the engine that would allow for an updated version of Rott to run. If you were to make that remake of Rott what would you want the engine to be capable of doing? What tools would make working on that remake much easier? What feature stand out in your ideal remake of Rott that would make it stand apart? Things like unique weapons that do things with the engine that you don't really see.... like if you fire the rocket launcher and it is a direct hit on an opponent, right before the rocket hits the camera switches to following the rocket from the side and time slows down and the camera moves away a little and pans to show the rocket and the guy about to be hit, and as it impacts you get that classic 'bullet-time' slow-down and the camera rotate around the guy as he explodes in super slow-mo... but you only get this feature if you had a 10 kills streak without taking any damage.... Wouldn't this require a special feature of the engine to slow down time and add in smooth animations and not just the clicky movements you would typically get if you slowed down a 60fps animation??
      - I really don't know ANYTHING about programming or making games and have NO IDEA what I'm talking about.... I just wanted to give you a bit of inspiration if you're at one of those points in a project where you know what the goal is, and you know how to tackle all the parts, you just don't know where to begin.... That happens to me when making music sometimes.... electronic music that is.... I'll come up with a short loop with the instruments and drums I like, and it sounds good... but it's just the main loop... and I know how to start a an electronic music track ('drum and bass' to be exact) I just don't know if I wanna start from the very beginning and work forward, or make my secondary loops... it's like I get stuck in the calm before the storm.... and sometimes it helps when someone else gives me an idea.. SO I thought I might be able to give you a way to come up with an idea so you can work towards it - I know you'll get it all done in the end, and it'll be great... :D

    • @Nobe_Oddy
      @Nobe_Oddy 23 วันที่ผ่านมา

      @@punpck they're actually a really good VPN I gave them a try and I liked the software and the tools that come with the vpn, but I went with another company because of the deal/price ... I couldn't pass up all the free time when you buy a few years... so I'm good until 2026 and I got it in 2021.. and I think I paid like $150 for about 5 years of vpn... I didn't need all the other tools nord offered and I preferred more time.... and a lot of vpn companies were offering a lot of free time like that back then, but they don't anymore.... I think they give 3 months for free at the most
      oh and the biggest thing was that the company I went with was PROVEN in court that they don't keep records of your history/usage OR your personal info... which really isn't a big deal to me, its not liek I'm doing anything nefarious, but I just liked knowing that they were honest about their claims...

    • @Nobe_Oddy
      @Nobe_Oddy 23 วันที่ผ่านมา

      ALSO.... you looking for a sound guy?? I'm not some musical wizard or anything but I am great at sound design/atmosphere and creating original sounds/'sound fx' - I have a lot of VST/synths too, so it would be a totally original sound design for the game... it would be 100% unique .... :)

  • @PaintsAreOp
    @PaintsAreOp 24 วันที่ผ่านมา +887

    "Have you ever wanted to learn 3D programming and build your own engine" Yes, but then I took a basics of graphics programming course at university, did a simple opengl demo with rotating cubes and spheres and moving lights and I don't want to do this anymore.

    • @PaintsAreOp
      @PaintsAreOp 24 วันที่ผ่านมา +56

      What broke me was my smooth brain not understanding how to use 2 different shaders at the same time :( They draw on top of each others

    • @deltakid0
      @deltakid0 23 วันที่ผ่านมา +102

      People are finally realizing how horribly difficult writing code is, it's like exchanging your mental and physical health for a vain desire that will fall obsolete and forgotten.

    • @vonweiss7149
      @vonweiss7149 23 วันที่ผ่านมา +28

      ​@@deltakid0 ofc if youre gonna mess with matrices, graphics, shaders etc its gonna be very rough.

    • @guyg.8529
      @guyg.8529 23 วันที่ผ่านมา +86

      Same here. Graphic programming is different than the rest of programming because it's full of maths, and APIs are quite complicated. And not full of maths in the nice way, it's not functionnal programming, cryptography/compression/ECC/encoding, nor algorithms, it's different. Mostly linear algebra, vectors, matrices and stuff, you have to love it. I sure don't.

    • @Lbf5677
      @Lbf5677 23 วันที่ผ่านมา +12

      Don't even mention collision

  • @rekkimaru7
    @rekkimaru7 24 วันที่ผ่านมา +404

    Yo! That's my ancient gun render!!! :D Glad it didn't go to waste xD

    • @ModernVintageGamer
      @ModernVintageGamer  23 วันที่ผ่านมา +134

      thank you for it!

    • @martinrocket1436
      @martinrocket1436 23 วันที่ผ่านมา +19

      Hey, are you maybe a graphics artist with experience in FPS? Then maybe you can contact MVG for a gig.

    • @rekkimaru7
      @rekkimaru7 23 วันที่ผ่านมา +24

      @@ModernVintageGamer Thank you for making use of it :D

    • @rekkimaru7
      @rekkimaru7 23 วันที่ผ่านมา +16

      @@martinrocket1436 LOL. I'm always looking for more work :D

    • @PlasticCogLiquid
      @PlasticCogLiquid 19 วันที่ผ่านมา +1

      LOL

  • @rulerofallcheese2382
    @rulerofallcheese2382 24 วันที่ผ่านมา +181

    I got into programming in the early 90's because making game engines (which wasn't a common term back then) seemed so cool. I grew up trying to copy half life's "hammer" editor and similar tools. I had to learn about matrix hierarchies to support skeleton based animations and matrix interpolation to support blending 2 animations like sitting down and drinking coffee at the same time. Good times.

    • @josephbrandenburg4373
      @josephbrandenburg4373 23 วันที่ผ่านมา +3

      Matrix math good. Linear algebra good.

    • @kneesnap1041
      @kneesnap1041 23 วันที่ผ่านมา

      Ugh I just spent a crap ton of time trying to reverse engineer a skeletal animation blending system only to decide that it wasn't worth it as I really only wanted to preview animations on their own without blending

    • @jstro-hobbytech
      @jstro-hobbytech 22 วันที่ผ่านมา

      @@kneesnap1041 i used to port nintendo games to pc using visual basic just for shits when we got to pick projects or examples of certain rules. be obtuse as feck hahahaha. half my class quit when we learned recursive functions in borland c. a 100 level math course. killed me. i skipped the whole course and just did the labs and put a repository up of programs that people could just take then would delete themselves after 1 use. if they hit enter instead of print screen after the code ran then printed out the code it had ran. good way to drive people nuts. one chance to get free homework. 120 started 14 finished the degree hahahaha.

    • @Admer456
      @Admer456 14 วันที่ผ่านมา +1

      Valve Hammer Editor my beloved

  • @Pixelmusement
    @Pixelmusement 23 วันที่ผ่านมา +105

    Funnily enough, this is a topic I've been talking to a friend of mine about lately whom worked at Ubisoft as a programmer in the 2000s. He brought up the same point you did that knowing how to make a game engine is an invaluable skill that's in high demand with game studios, but the point I brought up is that it's a MAJOR undertaking which can easily double the workload towards making a game, thus it really comes down to whether someone enjoys programming more than the design process, or the design process more than programming. For me, I only learned to do it because I didn't really have much of a choice in the late 90s and early 2000s if I wanted to turn my ideas into reality. Nowadays, modern engines are so powerful and relatively easy to use that I much prefer working with them over building my own, but that's just because I prefer designing over programming! ;)

    • @PapiNewGunie
      @PapiNewGunie 23 วันที่ผ่านมา +5

      Hey dude, you have a cool channel. I remember when you were developing a game using old (DOS I think) painting programs. That was pretty interesting and I hope you pick it back up.

    • @Pixelmusement
      @Pixelmusement 23 วันที่ผ่านมา +7

      @@PapiNewGunie I doubt I will but I do still occasionally use those tools to assist with my modern gamedev stuff! :B

  • @MartinStuertzer
    @MartinStuertzer 24 วันที่ผ่านมา +555

    "Have you ever wanted to learn 3D programming and build your own engine". HELL NO. But thanks for the video, it was super fun to watch and I learned a lot!

    • @billcook4768
      @billcook4768 23 วันที่ผ่านมา +4

      lol. Well said.

    • @gfdgdfgdfgdfggfdgdfgdfgdfg9709
      @gfdgdfgdfgdfggfdgdfgdfgdfg9709 23 วันที่ผ่านมา +6

      I wrote my own (vector) 3D engine in flash and another one in javascript. Was fun, wasn't that hard for simple games.

    • @oxoboo
      @oxoboo 23 วันที่ผ่านมา +12

      I'm learning OpenGL right now, and there is a quite a lot to learn. Yes, I will be learning 3D programming. NO, I will NOT build my own engine.

    • @bluetooth2677
      @bluetooth2677 23 วันที่ผ่านมา +1

      I would love to but honestly don't have time or attention to do it right now. I know how to use phyton.

    • @Aaronmac404
      @Aaronmac404 23 วันที่ผ่านมา +2

      This.

  • @StriclySegaEurope
    @StriclySegaEurope 24 วันที่ผ่านมา +141

    now, put it on Dreamcast!

  • @martin_emrich
    @martin_emrich 23 วันที่ผ่านมา +43

    Part of my university degree was indeed writing such a simple 3D game in a small team based on OpenGL in C++ in a software design lecture in 2004. Until today, that was the most useful course I had in 10 years at the university.

    • @halfbakedproductions7887
      @halfbakedproductions7887 18 วันที่ผ่านมา +1

      I did a computer graphics module as well. It was pretty enjoyable actually, even if parts of it got tricky (thankfully it was an optional module and he'd dialled down the maths)

  • @SlyNine
    @SlyNine 24 วันที่ผ่านมา +166

    Delete default cube before it's too late!

    • @JohnDoe11VII
      @JohnDoe11VII 23 วันที่ผ่านมา +7

      There is no default cube. In the void that is programming, the only thing default is your compiler of choice and the syntax rules of the language.

    • @Aeduo
      @Aeduo 23 วันที่ผ่านมา +7

      replace with default suzanne

    • @marknunya3107
      @marknunya3107 23 วันที่ผ่านมา +4

      Is that ONLY a Blender joke or is that industry wide? I been learning Blender for about a month

    • @hggohh4915
      @hggohh4915 23 วันที่ผ่านมา

      I think autodesk Maya has a default cube too.

    • @charlesthomas5956
      @charlesthomas5956 20 วันที่ผ่านมา

      @@hggohh4915 It does not, I've used that software before.

  • @melficexd
    @melficexd 24 วันที่ผ่านมา +64

    I started directly in VulkanAPI, and i have already gotten over the not so default cube. 😁
    Word of advice, Vulkan is a whole different world from OpenGL, is more elemental, but for some reason, i find it more gratifiying, especially when it works 😅.
    Good luck!

    • @ModernVintageGamer
      @ModernVintageGamer  23 วันที่ผ่านมา +29

      im familiar with it.ive used in in commerical projects in the past

    • @josephbrandenburg4373
      @josephbrandenburg4373 23 วันที่ผ่านมา

      I'm planning on using VulkanSceneGraph for a project. Any experience with it?

    • @harveysattic3918
      @harveysattic3918 23 วันที่ผ่านมา +19

      Started with VulkanAPI? You have my respect holy smokes!

    • @W0lfenstrike
      @W0lfenstrike 23 วันที่ผ่านมา +11

      That's like learning to ride a motorcycle before even touching a bike with safety wheels, lol

    • @dingusbringus74
      @dingusbringus74 8 วันที่ผ่านมา

      If GL supported multi threaded command submission it would be a goated API. I don't want to deal with descriptors or image layout transitions or async texture uploads or semaphores or other understandable inconveniences. I just want GL + VK_EXT_descriptor_indexing + BDA and maybe mesh shaders.

  • @KyleHarrisonRedacted
    @KyleHarrisonRedacted 23 วันที่ผ่านมา +21

    2020. That’s when I discovered my
    Love for graphics programming and core engine development. Wrote my own little raytracer engine, wrote my own 3d engine, nothing comprehensive but got the job done.
    And then I tapped out. Found there’s really not much callin g out there for graphics programmers at the low api level, and what “graphics programming” means today are shader monkeys. And that’s fine but it’s not what I was signing up for, nor was anyone looking for that. Indies, AAA’s, etc there were no teams to join. Starting my own and it was difficult just finding another programmer and even an artist. It just all got too frustrating to manage, and felt like my time was ultimately better spent elsewhere.
    But I loved it. I learned a ton. I might even come back to it one day.

    • @CrazyMetroid
      @CrazyMetroid 23 วันที่ผ่านมา

      Maybe work on smaller projects on your own? Something to keep you busy and doing so you'll also be perfecting your skill little by little.

    • @JetBlackRage
      @JetBlackRage 23 วันที่ผ่านมา

      That's a pretty common case and why the commercial engines like unity and unreal have become so popular! Sometimes you don't have the time and effort to take care of all the low level stuff and being able to easily on board someone with a common tool makes a world of difference. But good on MVG for learning how it works from the bottom as a bit of a fun side project. No harm in some knowledge

    • @yarpen26
      @yarpen26 22 วันที่ผ่านมา +2

      It sounds both stupid and frustrating, but never follow a difficult hobby out of a career drive. You will likely give up on it sooner than you think. But if you create something hard just for yourself to marvel at your own genius... let's just say when I first put together an animation of legs walking in accordance with arrows pressed, I spent hours just staring at the screen in awe. I had never thought myself capable. Would there be any career or money out if it though? Hell, no. And that's okay.

    • @leonstone3443
      @leonstone3443 2 วันที่ผ่านมา

      @@yarpen26 exactly! everything im learning is just a hobby and to keep my brain from going to mush. I genuinely find it more fun than just gaming during the week, i actually gain real life experience. I really dont even want a "coding" job cause then i'd end up hating it.

  • @TheFakeVIP
    @TheFakeVIP 23 วันที่ผ่านมา +15

    Man, what a coincidence, just two weeks ago, the university computing society that I run met, and agreed that our big group project this year will be a 3D game engine, using SDL, OpenGL, and many of the same tools shown in this video! Thanks for giving me something to show the members, so that they know what we're trying to achieve through the first set of phases of development.
    For the interested, we plan to build something similar but ontop of the Flecs entity component system library.

  • @reversedgames
    @reversedgames 23 วันที่ผ่านมา +14

    I'm not sure if you're aware, but SDL3 recently merged their GPU API abstraction implementation, which (IMHO) it's a much better idea than getting deep into DX12/Vulkan or even Metal. Console support is also taken care of (or will be soon, this is really recent), and it only requires a bit of a paradigm shift from OpenGL (actually very similar to what you'll have to do for the aforementioned DX12/Vulkan/Metal). I think it's perfect for what you're trying to build here. The FNA devs (who created the actual implementation) also have a very useful repo with very simple examples (not adding links because TH-cam, but easy to find). Hope it helps!

  • @XErox7X
    @XErox7X 23 วันที่ผ่านมา +10

    9:55 Just blew my mind. Like really lighting makes such a difference. Your video and engine really makes me want to make my own game. Thank you so much Mvg, you have relight my inspiration to create art.

  • @PhinioxGlade
    @PhinioxGlade 24 วันที่ผ่านมา +13

    I made a super basic height map by loading a bitmap. The position of the pixel and the brightness was used to generate a xyz position. A second bitmap would apply colour. Depending on the surrounding pixels the polygon would need to segmented into smaller triangles to prevent distortion..
    All coded in C with OpenGL glut toolkit

    • @vinhdev6803
      @vinhdev6803 23 วันที่ผ่านมา +1

      Yooo that's cool dude, but was it really optimized when running on a bigger bitmap? I mean, loading all of that as independent meshes is quite an expensive task.

  • @theratcometh9866
    @theratcometh9866 24 วันที่ผ่านมา +17

    You've always been a really good narrator and coder. When u have stuff like this i end up breaking out my popcorn.

  • @HypnoGenX
    @HypnoGenX 23 วันที่ผ่านมา +8

    As someone who has done precisely this, back when Vulkan had just come out, it's amusing to see it distilled down into a ten minute description. It did not take ten minutes to actually DO these things. :p

  • @SamK4074
    @SamK4074 22 วันที่ผ่านมา +2

    This video dropped in the nick of time; this is the motivation I needed to continue learning to write a 3D engine for the PlayStation 1. I have a simple spinning texture-mapped cube on the screen already but I wasn't sure exactly where to proceed from there. Making a 3D engine isn't something I've done before, let alone one for the PS1, so I'm partaking in quite the learning curve. Thank you for the video!

  • @adamnaser
    @adamnaser 24 วันที่ผ่านมา +13

    Consider implementing the billboard sprites with stacks so there'd be some local parallax. It's a really neat effect you didn't see too often because it was quite expensive (I don't think I've ever seen it in an FPS, mostly just shmups). I think it'd end up looking almost like Duke Nukem 3D, but with some more sophisticated sprite effects
    There's also plenty of tools (not all are open) to build sprite sheets out of voxel models to make things a lot easier. Including baking lighting, or various normal maps so lighting could be applied in real-time to the sprite sheets (also don't forget edge lighting, it'll make things look amazing)

  • @graphicsgod
    @graphicsgod 24 วันที่ผ่านมา +14

    No mistakes were made in this episode.. 👏👏👏

    • @prologik85
      @prologik85 23 วันที่ผ่านมา

      They're about to be made. haha

  • @JohnSmith-xq1pz
    @JohnSmith-xq1pz 24 วันที่ผ่านมา +65

    "Come get some!" Retro game engine

    • @Ohthatguy64
      @Ohthatguy64 24 วันที่ผ่านมา +1

      Where is My Sonic Mania Origins Plus?

    • @MrParkerlewis81
      @MrParkerlewis81 23 วันที่ผ่านมา +2

      Hail to the king, baby.

  • @MrPoselsky
    @MrPoselsky 24 วันที่ผ่านมา +4

    I love the new movement of people sharing their engines! It's so important to learn new stuff and how these things work in the background.

    • @tobyzilla
      @tobyzilla 23 วันที่ผ่านมา

      Yes and to keep the spirit of makeing a game with love and passion

  • @szabotudor
    @szabotudor 23 วันที่ผ่านมา +6

    I've been working on a custom 3d shooter game engine for over 2 years now, and I gotta say, the graphics are the least of your "problems"
    I'd say that I spent less than a quarter of the time on graphics, and most time was spent on things like a custom ECS to help with having large numbers of enemies and moving objects, scripting api that's easy to use by designers, level editor, and platform abstraction
    Very good video for beginning work on an engine tho!

  • @manoelBneto
    @manoelBneto 23 วันที่ผ่านมา +53

    Pro-tip: If you intend to port your game/engine to consoles, do not use GPL/LGPL licensed libraries since they have requirements which are incompatible with closed platforms. Some versions of those licenses can't even be used with iOS, since the user cannot replace libraries themselves.

    • @webmonkey44
      @webmonkey44 23 วันที่ผ่านมา +7

      you want to confirm the LGPL claim. its explicitly to make allowance for use as a library in non opensource code AS long as you make the library source code you used available for download and disclose that.

    • @manoelBneto
      @manoelBneto 23 วันที่ผ่านมา +13

      @@webmonkey44 From section 4 of LGPL:
      "You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications."
      This means end-users must be able to replace the bundled LGPL libraries themselves, which is not possible on consoles.
      It's important to remember that GNU licenses are political in nature: they exist to push Free Software and undercut Private Software. Closed platforms like video game consoles are seen as "the enemy" by the GNU foundation. Their article titled "Why you shouldn't use the Lesser GPL for your next library" explains the reasoning behind the LGPL existence.

    • @JoaoPedro-ki7ct
      @JoaoPedro-ki7ct 23 วันที่ผ่านมา +5

      You/he could also dual license to whatever license he chooses so long as he is the copyright owner of the portion of the code he wrote (or acquired the copyright to the portion of code the third-parties contributors wrote, through payment properly or an agreement).
      Presumably he can choose as many licenses as he wants to.

  • @SomeRandomPiggo
    @SomeRandomPiggo 23 วันที่ผ่านมา +1

    Nice to see you making videos on this topic! I've been writing toy engines in OpenGL and C for 1.5 years now, it's been very fun and I recommend it to anyone who has an interest in making games. It teaches you how things are done in commercial engines, what is efficient and how much you can achieve with cheap techniques

  • @ivankocienski1
    @ivankocienski1 22 วันที่ผ่านมา

    Ooo good video. I wrote my own 3D engine from scratch a about 10 years ago but I started with a blank framebuffer and wrote all the line rendering, line clipping and 3D projection stuff on my own. Really makes you appreciate what Carmack, Silverman et al were up against

  • @jamesmerritt3961
    @jamesmerritt3961 23 วันที่ผ่านมา +1

    super cool. I'm so outside of the competency required for a project like this but I appreciate the ease with which you break it all down.

  • @xdradt8463
    @xdradt8463 24 วันที่ผ่านมา +14

    Maybe this will get me to finally start learning on how to make a Quake clone natively for PowerPC and Linux.

    • @xdradt8463
      @xdradt8463 24 วันที่ผ่านมา +2

      @@YoureUsingWordsIncorrectly Thank you for letting me know. Do you have a link for it?

    • @pimpstick2
      @pimpstick2 23 วันที่ผ่านมา

      @@xdradt8463 quake2RTX, it already has an ARM port.

    • @amirpourghoureiyan1637
      @amirpourghoureiyan1637 23 วันที่ผ่านมา

      Fodquake, DarkPlaces and Quakespasm support PPC and Linux - the source code repos are online too

  • @trainedtotroll9385
    @trainedtotroll9385 23 วันที่ผ่านมา +4

    Engine looks good. I’ve been building one in Java for the past year and a half. I built an editor, rendering pipeline with lighting and shadows, added bullet physics, and I’m about to start implementing game (world) entities using ECS. Not to mention that I also built the networking engine first using Netty. I got a login server and game server with working BCrypt authentication. I’m just a hobbyist and I’ve had 0 programming jobs. I’d love to have one though! It’d help my family out tremendously!

    • @vinhdev6803
      @vinhdev6803 23 วันที่ผ่านมา

      That is just soo impressive, I am looking forward to try coding a 3D renderer in C++, which rendering pipeline (OGL, Vulkan, etc...) do you think is best for a beginner? I really can't trust online sources that much.

    • @trainedtotroll9385
      @trainedtotroll9385 23 วันที่ผ่านมา

      @@vinhdev6803 well OpenGL is end of life. I’d place my bets on vulkan. I’d look and see what the big engines are using and see if theirs a common denominator.

  • @davidcbeaudoin
    @davidcbeaudoin 23 วันที่ผ่านมา

    Looking good so far! I've started and stopped building a game engine at least six times in the last several years. Every time I go back to it, I always start over because I figured out ways to do something more efficiently and more or less forgot where I left off on the prior build. Clearly I'm more about the journey than the destination.

  • @locki_dos
    @locki_dos 24 วันที่ผ่านมา +41

    3:55 I am telling you right now you are not going to use vulkan unless you are very significantly aware into graphics programming and probably have a team who are also significantly aware into graphics programming (especially if you are wanting to do it in a far moe reasonable time). And I mean Significant, not just the pipline, etc. you need to know hardware. Since the Vulkan api is less of an api like openGL and DirectX are and more of an api to make your own graphics api (hyperbole but genuinely you have to do p much cross every 't' and dot all your 'i's.
    There is a reason why even companies like valve struggled to get Vulkan to be in a performant state in Source 2 for years.
    Not to say you can't do it, it's just word of warning since it will take ALOT.

    • @nasso_
      @nasso_ 24 วันที่ผ่านมา +13

      yeah vulkan is really just for the big studios to squeeze the extra 10% they can squeeze out of each hardware device
      for portability i would recommend a webgpu implementation like wgpu or dawn, which is arguably lower level than opengl, more in-line with modern APIs, portable, but most importantly sane to use

    • @paliszarok
      @paliszarok 23 วันที่ผ่านมา

      just use opengl, webgpu is instable and doomed to fail

    • @natese8406
      @natese8406 23 วันที่ผ่านมา +10

      I disagree. His framework is simple and he comes form a C background where knowing the hardware is expected. Vulkan and DirectX 12 are the future of gaming and they both expect more of the developer. OpenGL and DirectX 11 are obsolete because they struggle to perform. In a way Vulkan and DIrectX 12 mark a return to a time before API hand holding. This return will be a culture shock for many modern devs, but progress is inevitable. C and C++ developers will likely rejoice in this. MVG comes from such a background. MVG is likely excited to port over to Vulkan and is just working OpenGL to prototype before the real work begins.

    • @guyg.8529
      @guyg.8529 23 วันที่ผ่านมา +6

      @@natese8406 Vulkan is so low-level it can't replace Direct X 11 or Open GL. In fact, you can implement Open GL/Direct X 9/10/11 on Vulkan/DX12, which mean both are needed. High-level API, if modernized, are clearly valuable for modern programming if they rest on lower-level APIs. Nowadays, even in AI and other computationnaly intensive programms, most people use Python completed with C libraries. 3D rendering should do the same but with APIs. What's the point of using your own memory allocator in Vulkan ? Most people don't care, most games don't nedd it.

    • @ModernVintageGamer
      @ModernVintageGamer  23 วันที่ผ่านมา +33

      i have experience with both Vulkan and DX12 with commercial projects ive worked on. overkill? sure but it opens up a path to console ports

  • @OmegaPhlare
    @OmegaPhlare 23 วันที่ผ่านมา

    Thanks for making and showing this off. I am capable of doing something like this myself, but I haven't used my skills in a long time. Watching your game run smooth and look great with very little geometry inspires me. It makes me want to go start a new project or work on something I have unfinished.

  • @Xizilqou
    @Xizilqou 22 วันที่ผ่านมา +1

    Absolutely love to see people making custom engines for games

  • @therealswarvey
    @therealswarvey 23 วันที่ผ่านมา +1

    I hope this becomes a series, it would be interesting to follow along with development

  • @jinchoung
    @jinchoung 24 วันที่ผ่านมา +12

    VOXEL OBJECTS! doesn't have to be voxel engine based but the kind of enemies and objects in voxel doom seems like the sweet spot with retro look while having the advantages of 3d geometry.

    • @jlebrech
      @jlebrech 23 วันที่ผ่านมา

      use vox file for the editor instead... and one thing you can do is have LOD5 be a standard vox file and as you get closer to voxel it loads the LOD4-1 assets.. kinda the way enshrouded does it.

    • @halfbakedproductions7887
      @halfbakedproductions7887 18 วันที่ผ่านมา

      C&C Tiberian Sun used voxels to great effect. It was a pretty uncommon and perhaps unique visual style at the time (certainly the first time I'd ever seen it), felt very advanced, looked great, was basically just "pretty cool". It's not something I've seen in abundance ever since.

  • @seedmole
    @seedmole 24 วันที่ผ่านมา +2

    Nice! I messed around with similar things, but in a graphical programming environment that was mainly made for audio design, called Pure Data. It has its default library, plus one for simple physics calculations, and one for OpenGL rendering. Trying to figure out how to implement different features was super interesting. I kinda stalled out when trying to figure out a way to implement heightmaps, also took a huge detour into the world of fragment and vertex shaders.. but I can't even begin to describe how much I learned in the process.

  • @gudenau
    @gudenau 24 วันที่ผ่านมา +9

    I'm working on my own game/engine right now, it's Java based and currently only supports Vulkan with the ability to swap it out via plugins and command line flags. My current task is text rendering, which is always a pain.

  • @awright18
    @awright18 23 วันที่ผ่านมา

    As a non-game programmer, I found this video inspiring. It's always great to see your vision in your head start to take shape. It's likely lots of people will see this and take the plunge. Great work, great video, and I can't wait to see what's next.

  • @lukesfilmltd
    @lukesfilmltd 4 วันที่ผ่านมา

    pretty much have built out my own game engine editor now. I was inspired years ago when Tim Sweeny said something along the lines of " if you don't want to pay the epic fee's make your own engine". Would love to have a convo sometime!

  • @Hobo_X
    @Hobo_X 24 วันที่ผ่านมา +2

    I'd love to see you do a big video walkthrough of actually creating the engine to the level of this video (and showing it all, basically doing it again a 2nd time for a recording) - if you didn't mind open-sourcing just up to this point. I find follow-alongs so much better for learning where I have a finish line I can see that I'm trying to recreate (the finish line being your repo)

  • @nathantron
    @nathantron 22 วันที่ผ่านมา +1

    I want to see you go into detail on this, and also add more. Please make a series.

  • @SorrellDev
    @SorrellDev 22 วันที่ผ่านมา

    RenderDoc and ImGui are probably the single most important graphics programming tools one can have when building anything from toy projects to AAA titles. Great video and here's hoping this inspires a whole new generation of graphics programmers! With how complex realtime rendering tech is becoming, we'll certainly need as many hands on deck as possible.

    • @halfbakedproductions7887
      @halfbakedproductions7887 18 วันที่ผ่านมา +1

      ImGUI can require a lot of legwork and 'plumbing', but it's oh so useful once you have it set up.

  • @Rafa-Silva-Alt
    @Rafa-Silva-Alt 23 วันที่ผ่านมา +1

    Cool series. I'm in for the ride, want to see this slowly become a full game.

  • @kevinleguillouklg
    @kevinleguillouklg 23 วันที่ผ่านมา

    I'd love more details on the bad stuff you encountered when implementing all the things a game engine needs. Like if there are stuff you changed or ditched for technical reasons, or any concepts that you realized you might have done another way, to simplify the way you build upon your engine, etc.
    Ever since your video about Gameboy dev, I've gone down the rabbit hole of so many gamedev subjects. This is the kind of things that makes you spawn a ton of sideprojects, I hope I'll push out something one day 😅
    Thank you for making these videos

  • @SpentAmbitionDrain
    @SpentAmbitionDrain 24 วันที่ผ่านมา +2

    I hope you keep posting a dev log. Would be interesting to see how you are progressing. Maybe go a bit deeper next time?

  • @trinitybingham2406
    @trinitybingham2406 20 วันที่ผ่านมา

    The modern vintage game engine. It's inherently got a cool name lol
    I've often thought about game development and buckling down and tryna learn it. Maybe I'll do that while I'm waiting to see the release version of this. Absolutely amazing work, man. You never cease to impress and amaze me.

  • @WrestlingWithGaming
    @WrestlingWithGaming 23 วันที่ผ่านมา

    Congrats on the progress so far. It's amazing what some well-placed lighting will do. It's always captured that old-school boomer shooter aesthetic while still looking like something modern.

  • @flyinghighstudios1700
    @flyinghighstudios1700 23 วันที่ผ่านมา

    Yo man, you're one of the OG's, you inspired me to build my own softmodded original Xbox that I'm planning on upgrading the hard drive here soon. Please keep me in the loop about the game, I'd love to see you port something like this project out for the original Xbox, you're awesome mate!!!

  • @killymxi
    @killymxi 23 วันที่ผ่านมา +2

    Seeing single awkward gun reminded me of the game, a Wolfenstein-like shooter, that I dream to see re-released with some balance fixes.
    It's Escape From Monster Manor, from 1993.

  • @royalcities
    @royalcities 23 วันที่ผ่านมา +1

    this is really cool dude. Haven't made an engine but I do do programming and music production and get the sheer joy from creating.
    You mentioned wanting to bring artists on board for sprite work but if you ever needed sfx or music lmk and I'd love to help where I can.
    can't wait to see how your engine comes along.

  • @Standbackforscience
    @Standbackforscience 23 วันที่ผ่านมา +1

    Love this - work in industry myself, it's tragic how so many studios are converging on the two big proprietary engines. Most of the coders I work with have no idea how to make a useable engine, they can render a cube really fast, sure, but making a practical engine that artists can work in, that skill is fast disappearing. Everyone wants to be a Carmack, when what we really need is Romero's.

    • @josephbrandenburg4373
      @josephbrandenburg4373 23 วันที่ผ่านมา +3

      And with Unity's recent blunder they took a big hit, so even more of the market is using Unreal.
      Unreal is so janky. I don't think it is a good base for *every conceivable game* the way it is being used.

    • @yarpen26
      @yarpen26 22 วันที่ผ่านมา

      ​@@josephbrandenburg4373The AAA market uses either Unreal or their own or loaned proprietary engines. Unity is indie-exclusive.

  • @VastLite
    @VastLite 22 วันที่ผ่านมา

    My first real experience with opensource shooters was Cube 2: Sauerbraten. If you're asking what your viewers would want to see, I'd say something along the lines of that. Sauerbraten uses fairly simple 3D models for enemies and weapons. It also includes a co-op map editor, which was my bread and butter back in the day. The networking code was largely forgiving, which saved me (me being on satellite internet at the time, in the middle of nowhere) and allowed me to co-operatively contribute to levels with the friends I made while playing. I wasn't so much into its competitive modes, but occasionally I would try to play capture the flag on some of Sauerbraten's Quake-inspired maps. It's mostly still going today, if you ever wanted to check it out, and like I mentioned, it does happen to be open source.

  • @michinorobotto
    @michinorobotto 23 วันที่ผ่านมา

    Nothing wrong with open-sourcing prototype code early. Given your community, you will be surprised with the amount of people that would be interested in contributing and helping you build this, including porting it to different APIs like DirectX and Vulkan :) Good luck with the project. I am more into Odin these days and having a bit of a mid-life C++ hate phase, lol, but I am still interested in following your project. Keep up the good work 💪

  • @Rorybabory
    @Rorybabory 23 วันที่ผ่านมา +1

    It looks cool! One recommendation would be to write a parser for trenchbroom (the quake editor) or a similar 3d editor, so that you can have more variation in your environments.

  • @jstro-hobbytech
    @jstro-hobbytech 22 วันที่ผ่านมา +1

    Awesome MVG! i've played around with those tools a bit too but got as far as the triangle rotating haha. I used the same site as well. Learn by doing ehh. I've been spending more time writing music for a metal ep im making for myself, not to be released so i can have something for all the thousands of hours of practice i've put in and while i'm still getting better (almost 46). I noticed an ltd in background of your old vids and wondered what bands you're into brother being we're around the same age.
    you're an inspiration and i plan to get back to my opengl project eventually. i was gonna start with a simple boomer fps block pushing game. i'm also in the middle of writing a score for a series of fun horror movie shorts with a friend to learn practical effects and bolster up his resume for voice work. i was thinking lots of homemade synth circuits and arpeggiated harmonics using my expresion pedal to bring everything in and out. kinda like halloween 3 but with guitar added with the sequencers. that movie has a killer score. if you ever need any free voice work, i'm sure my friend would do it and any music compositions masters and midi conversions for free in your name as i'm sure you're a busy man and i'm bored and dont need credit or money. i have alot of free time and it would be nice to be a part of something bigger than myself or to be relied on. i havent been paid to code or do music in a very long time and just being able to contribute to something would be reward enough, without recognition. you've done alot for the community while working a very busy job and you are always positive an never get caught in the muck and mire that can go on here on the platform.
    keep up the good work. im interested in your obscure metal band affinities the most. you look like a fan of the tampa florida metal scene from the late 80s and early 90's. haha.

  • @powerfulaura5166
    @powerfulaura5166 23 วันที่ผ่านมา +2

    It's great that your engine was created w/ free/libre & open-source software (F/LOSS) tools & APIs, but I hope you yourself will pass on that end-user freedom/liberty you benefited from to your own users by open sourcing the engine should you plan to commercially distribute a game w/ it.

  • @snesmocha
    @snesmocha 19 วันที่ผ่านมา

    i've been working on my own custom engine as well. glad to see other people working on their own engine

  • @AlexeyFilippenkoPlummet
    @AlexeyFilippenkoPlummet 22 วันที่ผ่านมา +1

    It's the matter of time until we see a video "Have you ever wanted to build your own fully developed operating system from scratch that will be as optimized as 8 bit OS'es but utilize the hardware of modern Android devices?"
    And the answer is - I wish one was made lol. Some decades ago whole OS'es would run on chipsets that today would be too weak even for a microwave. Yet computers of old could boot instantly after power-on. And now we have so many old Android devices that become e-waste and are unusable for modern apps, but imagine if we could build a system that was designed to run on the weakest of the hardware. Suddenly you turn your old junk into a supercomputer (which it relatively is).

  • @Toddimyre
    @Toddimyre 23 วันที่ผ่านมา

    Wow. This is really awesome. I'm excited to see where it ends up. On a side note, it would be pretty cool to see how this progresses (engine and game) over time. Thank you for the video as always.

  • @chees502
    @chees502 24 วันที่ผ่านมา

    Y up, True man of culture.
    It's been over a decade since I have worked on a custom engine, and this video has sparked a little curiosity in me. Great video!

  • @madfinnishgamer38
    @madfinnishgamer38 24 วันที่ผ่านมา +1

    Seeing this video reminds me that I was going to code my own game engine with similar goals once. It might yet happen one of these days.
    If this ends up turning into a full-fledged game and you need a music guy, I'm up for the task. c:

  • @Tenry92
    @Tenry92 23 วันที่ผ่านมา

    Really impressive! I'm also currently working on my own game engine using C++ and different renderer backends, including OpenGL. I design my game engine to be highly portable, so it would also run on some homebrew targets such as the Nintendo 64 or the Nintendo DS (in fact it already compiles for the N64 already). My engine supports both 2D and 3D simultanously, but is still in an early state. For example, I still need to implement/improve 2D tilemaps, advanced text displaying but also a lot of 3D stuff such as shadows, reflections etc. Oh, and of course sound and music :)
    I'm looking forward to see how MVG's engine is going to evolve and I'd be very interested to see more of the source code, how things have been implemented. Keep it up!

  • @ZILtoid1991
    @ZILtoid1991 24 วันที่ผ่านมา +2

    I used D to write my own 2D game engine, originally with CPU rendering, but soon that will change. Originally I used SDL, but found many things about it very unideal, so I started to write my own solution, although I'll be using their controller mappings to get controllers working with RawInput and libevdev.

  • @OwtDaftUK
    @OwtDaftUK 24 วันที่ผ่านมา +4

    Just adding transparencies for the tiles would probs open up a lot of possible detail alone.

  • @mahkhardy8588
    @mahkhardy8588 23 วันที่ผ่านมา +1

    Might be the best way for me to learn C++. Saving for later.

  • @NickEnchev
    @NickEnchev 22 วันที่ผ่านมา

    I would also recommend doing instancing since you have a ton of repeating meshes. You can push the matrices of each wall block into a buffer and send it over to the vertex shader as an array, then index into it with the gl instance ID. Its quite a bit more flexible than putting all the vertex data together into a large static mesh, and its still just a single draw call.

  • @apollolux
    @apollolux 23 วันที่ผ่านมา

    I remember a few years ago (maybe 2015 or so) I found some fairly old (but recent for that time, no older than 2008/2009 I would say) multipart article on Microsoft's developer blog about the maths involved in rendering 3D in a 2D space (there was some 3d monkey head model involved as the example). This was right after I finished taking matrix algebra in college for my computer science bachelor's, so not only was the formal education still fresh in my mind I actually understood the article for a change as I was going through it and implementing its matrix multiplication techniques involved in transforming the 3D points to 2D space for creating a barebones software renderer to play around with. I wasn't yet interested in optimizations like unseen surface culling, z-ordering, etc for speed back then, so I didn't go very far beyond that article technique-wise, but at least I found a useful, relevant purpose for matrix algebra.

  • @ClassicGameHacking
    @ClassicGameHacking 23 วันที่ผ่านมา

    Thank you for this preset to everyone, is truly a gem.

  • @babababa201
    @babababa201 21 วันที่ผ่านมา

    You are operating on an entirely different level to the rest of us. Genuinely incredible stuff.

  • @jagd_official
    @jagd_official 24 วันที่ผ่านมา +2

    generally the best practice is to make a game and just develop the engine as you go. At least that is my own method. Also congrats on gathering such following, pretty impressive since programming projects on youtube go under the radar

  • @Lyvarious
    @Lyvarious 23 วันที่ผ่านมา

    I remember the 'fun' I had with creating WADs and getting the hang of DEU and then Doom Builder later on, yes I'm old. Some of the quirks and limitations of ID tech 1 nearly made me despise the whole process, despite knowing that game engines had moved far and beyond that point already. We're talking between 2004/2008 or so.
    Seeing MVG seemingly slap together a proof of concept game engine + dev tools is getting me excited all over again. I'd love to see how this matures as a project

  • @dbbgba
    @dbbgba 23 วันที่ผ่านมา

    It definitely needs particles, fog, maybe volumetric area fog so you can have some room very foggy next to others fully clean. Oh and transparency, as a graphic artist even the most binary of transparency is a godsend to create assets!
    I'm imagining a shooter that renders to infinity, every pixel you see in the horizon you can reach. That's probably a data nightmare to deal with though!

  • @bloodysoma4854
    @bloodysoma4854 22 วันที่ผ่านมา

    I'm currently taking a graphics basics class as part of my CS university degree. We have to build our own openGL like library in C++. As a passion project, I'll try to build a game engine afterward with it. So that video was very on point! In future updates I'd be very interested in how you created your editor, where you can drag and drop game objects in your scene, and how you take that information to process it in 3D afterward.

  • @majoraslayer64
    @majoraslayer64 23 วันที่ผ่านมา

    This is giving me flashbacks to playing with UnrealEditor in 2005 to make custom Unreal Tournament 2004 maps. I never quite got the hang of lighting placement and getting my map ideas to scale comfortably.

  • @SinisterPuppy
    @SinisterPuppy 24 วันที่ผ่านมา +1

    Thanks for sharing, bet it's been fun making everything from scratch. Personally, I find 2D billboarded spite enemies and objects to be timeless.

  • @3dkiwi920
    @3dkiwi920 23 วันที่ผ่านมา

    Dude, SICK! I'd say take it to a place somewhere between quake and quake II, simple skeleton rigs for characters and weapons, combined with slightly higher res textures and you've got a fast FPS engine that will run on anything, I'd make a game for that!

  • @TyrKohout
    @TyrKohout 23 วันที่ผ่านมา

    If you need sound assets (music, explosions, ambience, connecting bits, abstract FX) please get in touch! This project looks great and would be happy to be involved in creating audio for it. My background is in electronic music production and recording, with a focus on sound design especially. Good luck with the project, MVG!

  • @GhostOfLorelei
    @GhostOfLorelei 22 วันที่ผ่านมา

    Love the idea of sprites for characters/monsters and 3D for the map. Feels very boom shooter to me. Was my favorite way to play Prodeus.

  • @james.b.mcgill
    @james.b.mcgill 23 วันที่ผ่านมา

    About halfway through the video I was thinking to myself "I wonder if this will be open source" since you mentioned that it's made from open source tools. Then I thought to myself "he's probably not going to open the source yet because he's doing as a learning experience and probably wants to get more of this done himself", and then at the end of the video you mentioned that it's closed source, for now.
    I think you should, once you get the 2D graphics done, work on getting the engine to be able to handle more 3D graphics. You said 3D weapons are a bit of a challenge because they can clip through the walls. I'd like to see you try to tackle that.
    Once the engine is more mature and you feel that you learned plenty, I think you should release the source code as an open source engine.

    • @halfbakedproductions7887
      @halfbakedproductions7887 18 วันที่ผ่านมา

      Part of this might depend on what he's doing with the open source tooling and what licenses they're covered by. But those are edge cases so it's probably not too likely.

  • @DrTheoreticalDonuts
    @DrTheoreticalDonuts 23 วันที่ผ่านมา

    Copy elision is such a rad feature. Happy to see it in use here.

  • @vinching926
    @vinching926 23 วันที่ผ่านมา +1

    Maybe I'm crazy but I'm feeling that 3D Maze screensaver recreated with your engine could be interesting

  • @YoManRuLz1
    @YoManRuLz1 23 วันที่ผ่านมา +1

    I'm looking forward to a follow-up video of this running on an original xbox!

  • @Tim.Stotelmeyer
    @Tim.Stotelmeyer 21 วันที่ผ่านมา

    Many years ago I wrote a 3D object editor and viewer in C++ and used GDI calls to render the images. No fancy OpenGL for me. I worked out the math to rotate the objects about their personal axis and the world axis.

  • @singletona082
    @singletona082 23 วันที่ผ่านมา

    Features I want to see you impliment since it'd be interesting to see in a boomer shooter. Ignore or not as you wish.
    I like the idea of bilboarded enemies with 3d objects for the enviroment. Possibly include light sources for some of those objects?
    Maybe also have the ability to put sprite based objects? So you have 3d models such as desks or partitions, or the like, but also have bilboarded sprite based objects for powerups, keys, weapons. IE 'we want the player to notice this so make it look like sprites rather than part of the level.'
    * The ability to have instead of levels, a set of level chunks/tiles that can be combined at specific transition points so you can have differing layouts of a specific level (example: creepy storage warehouse) that ca nbe gone through repeatedly without the player mentally checking out on repeated runs. Warframe does this to great effect.
    * Either pre-mission opening text or expand that out to include essentially any pre-mission media be it a FMV, still images with text overlays, or still image/text with audio that plays alongside. Bonus if you can do still images the player can cycle through or cycles to synch with audio. IE how strife handles 'cutscenes.'
    * May as well ask if you can do how strife has interactions with objects beyond 'punch it until it dies, shoot it, or punch switch to make it do a thing.' IE inventory, currency, and talking with NPCs and giving the player options. Look this is my wish list.
    * I want ot know how level hubs work. Example being the lobby of a building wehre you enter an elevator that takes you to diffrent floors (levels) but that lobby itself can always be returned to.
    * Ending Screens. IE game end conditions met. Do you just have it cheat and the end credits be a 'level' where the ending is a pre-level FMV/series of screens that dumps the camera into a fixed point staring at a credits texture cube?

  • @kylebowles9820
    @kylebowles9820 23 วันที่ผ่านมา

    Pssst MVG use the halfway vector for your glossy specular.
    Imagine diffuse as cosine distribution about N vector, as you crank up gloss it begins to lean into the H vector and narrow, then once you're at 0 roughness its an extremely narrow spike at the R vector. I also like to narrow the distribution with the Schlick approximation to achieve the Fresnel reflection effect.

    • @Ali-Britco
      @Ali-Britco 17 วันที่ผ่านมา

      Pssst, commenting so I can come back to this later, thanks !

  • @danielberrett2179
    @danielberrett2179 23 วันที่ผ่านมา

    Good Luck and Have FUN with project Rewind

  • @MichaelZijlstra
    @MichaelZijlstra 23 วันที่ผ่านมา

    Looking forward to hearing more about this project. I always loved wolfenstein and grid based dungeon crawlers!

  • @stinkduck1360
    @stinkduck1360 23 วันที่ผ่านมา

    MVG I absolutely love this video. Details like how Vulcan and OpenGL work, which Visual Studio extensions to use, and experiences as a professional are utterly fascinating and engrossing for me to enjoy. 🎉 CHEERS!!

  • @DavitTheCore
    @DavitTheCore 23 วันที่ผ่านมา +2

    C++ huh? Welp, off to set up PSPDEV to compile this for the PSP if it ever launches!

  • @CtrlAustin
    @CtrlAustin 23 วันที่ผ่านมา

    this is my absolute favorite kind of content, its worth checking out the 3d engine project by jdh here on yt as well, great work!

  • @lolindirlink
    @lolindirlink 23 วันที่ผ่านมา

    An editor! With that, getting rid of tiler and making leveldesign even more seemless and bloat-free! Add some online sharing platform and you've got unlimited gameplay in a single package. Updates, especially when the engine is in public use would also be exciting to both players and creators.
    Regardless, I think editors are just really cool lol.

  • @argoneum
    @argoneum 23 วันที่ผ่านมา

    Way back in the beginning of XXI century I had a roommate that did some amazing stuff, first in mode 13h and later in OpenGL. He also did some music using FastTracker II. It was fun, each of us would give inspiration to another. Still have samples recorded using his guitar :)

  • @Ad-skip
    @Ad-skip 23 วันที่ผ่านมา +2

    3:45 ad skip

  • @Whatnoww
    @Whatnoww 20 วันที่ผ่านมา

    Thank you for providing a real and honest VPN advert.

  • @TheCynicalAutist
    @TheCynicalAutist 23 วันที่ผ่านมา

    I don't ever plan on becoming a programmer, I just love your breakdowns.

  • @guspaz
    @guspaz 23 วันที่ผ่านมา

    Fixed-floor-height tile-based maps will be incredibly limiting. Even if you want to stick to a tilemap, variable height floors will make a big difference in potential map complexity. You can also do some cheats to make it a lot more flexible. Straight angled walls can still be defined in a tilemap (for example, tile types for 45 degree angle walls), and while rooms-above-rooms is too much for this sort of setup, some very basic portal stuff can let you simulate it enough to create far more interesting maps.

  • @donkeyy8331
    @donkeyy8331 24 วันที่ผ่านมา +2

    This is super nice and looks quite good imo! How long have you been doing it? I've started a CPU raytracer project this weekend and got a plane and spheres on the scene rendered, will try and add some shadows rays and reflection soon.

  • @danielg9275
    @danielg9275 24 วันที่ผ่านมา +5

    project rewind FTW!

  • @NTI_Productions
    @NTI_Productions 23 วันที่ผ่านมา

    IMHO, I think Blood is the ultimate pretty looking standard for mixing 3D and 2D elements with clever usage of voxels and sprites, so I would go with that as reference if building a 3D game engine with 2D sprites ;-)

  • @samghost13
    @samghost13 23 วันที่ผ่านมา

    Always cool to join this Channel! You are a gamer from Heart!