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

preview_player
Показать описание

Fine, ill do it myself - Over the past few months, I've been working on my own 3d game engine in C++. With the goal to build my own 3D Boomer Shooters but with modern 3D graphics APIs. In today's episode I walk through how it all works, and how I've used open-source tools to make it happen. Please enjoy!

Links for Everything

TimeStamps:

00:00 - 02:45 - Intro
02:46 - 03:45 - Sponsor
03:46 - 15:00 - All about my custom 3d Engine

Social Media Links :

#Gamedev #3dEngine
Рекомендации по теме
Комментарии
Автор

"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
Автор

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

rekkimaru
Автор

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

Pixelmusement
Автор

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

MartinStuertzer
Автор

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.

martin_emrich
Автор

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.

TheFakeVIP
Автор

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.

KyleHarrisonRedacted
Автор

Delete default cube before it's too late!

SlyNine
Автор

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

theratcometh
Автор

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

HypnoGenX
Автор

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)

adamnaser
Автор

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

PhinioxGlade
Автор

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.

jstro-hobbytech
Автор

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!

melficexd
Автор

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.

XEroxX
Автор

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!

SamK
Автор

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.

MrPoselsky
Автор

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

graphicsgod
Автор

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!

szabsyt
Автор

"Come get some!" Retro game engine

JohnSmith-xqpz
welcome to shbcf.ru