I've learned a lot already writing a much less advanced engine and there is much more to implement. Your games seem to have a very distinct feel to them, something I unfortunately don't see much anymore. Excellent work!
This is very inspiring, thank you for posting the video! I love that you went for 3D right away, and it's pretty cool to see the evolution of your work through the years. I have a similar process of making different games at the same time as I work on my engine, going on 5 years I think. I hope to make it to 15 ;)
22:22 You almost had a Vampire's Survivors beforehand. That's impressive! Love seeing stuff like this. Been kinda been working on my own engine since 2023,but mostly just notes, roadmaps, and failed code. After a lot of reverse scope creep, I'm just going to use Godot 3 as a base, but will eventually customize a lot, replacing a lot of the tech stack, and making it my own. (While also still being able to work "front end" by making games in it before then)
Besides the unbelievable work with the engine, I also liked that each game had each own unique visual feeling, many developers dont have good artistic taste =P
I thoroughly enjoyed watching this video! (At 1.5x speed lol). Amazing dedication to work on something for this long. I can’t imagine all the knowledge you’ve acquired over that time. That last version of slider looks fun!
Ah yes, the speed setting is sometimes what you need to translate from Rambling Finnish Dude Normal Person. By thank you! And yes, Slide is pretty fun. I hope to return to it some day...
I guess the answer is that I don't always stay motivated. But there are things that may help, such as trying to always work with a purpose. Don't add an engine feature just to add a bullet point to a feature list. Add a feature if a game/app needs it. Also, if you get burned out working on something, switch to something else. A great thing about a game engine is that there are so many different things to work on. Eg. switch from physics to scripting. From audio to input.
It looks good man. The shadows are really good. I had my own engine years ago. I developed it as a learning exercise and just for fun. I have always enjoyed low-level programming. There was a point at which I wanted to develop more complex games, and I ended up leaving its development because it was too much work.
Автор, вы большой молодец, потому что смогли пройти этот путь и поделиться этим. Если вдруг кто-то будет читать это из новичков, то вам не следует идти подобным путем без знания ООП и видения структуры движков. Мне понадобилось 6 лет на получение знаний программирования в университете. Возможно вы были бы продуктивнее. На ютубе есть серии роликов по созданию минимальных процессов рендеринга и логики. И в моем случае это помогло мне создать "движок" буквально за пару месяцев напряженной разработки. Сейчас, спустя год после начала работы движок готов к созданию игры. В нем нет интерфейса и только код. Но этого достаточно.
Hey, iam Aswin, i want to make a engine like u. I have a intermediate knowledge of opengl and c++. Iam already making a 2D game engine. Suggest me where should i start if i want to make engine like u!. Say like resources from which u learn.
I am afraid I don't have any such resources to point to. Like I say in the video, don't make an engine. Make a game, and let the engine get developed as a byproduct of that. The game project will have requirements of the engine and that will determine what you need to implement on the tech side.
@@MadrigalGames Thanks for your reply. It would be even good if u share some techniques such as rendering methords. Iam asking because u have many years of experience and iam a newbie, u would have already experience by trying many ways to learn all these things. I would be very helpfull for newbie like me to know how you learn all these things. U can share any resource which u might know like tutorials or etc.
Привет. Вижу вы знакомы с "opengl и c++". Если ваш движок работает с ними, то советую интересную библиотеку GLM, которая бесплатна и позволяет работать с векторами. Она поможет создать 3д камеру, а в шейдерах можно будет использовать передаваемую матрицу для проекции.
Earlier versions of the engine had Bullet integrated pretty tightly, and this was the case for Jailbreak. During Slide I added a physics abstraction layer which allows me to target different physics engines. At this point Slide switched to using PhysX, mostly for its excellent vehicle SDK, and the same is true for Traction Point. I can still use Bullet though, simply by loading the Bullet plugin instead of the PhysX one.
Absolutely, still feel like Zig is a good gamedev language. The language is still not stable, of course, so we'll see where it goes from here. So far it has worked out well for Traction Point.
@@MadrigalGames Man, I've seen both videos now and I have to say that I really like them, I wish I had come across your channel before honestly. I say that I find it impresive because I spent years working on a hobbie RTS game with Unreal Engine 4 that had ai vehicles (with physics) as well but they were horrible and incomparable to yours to be honest and I couldn't find anything about navmesh ai cars on the internet to improve them. Since then I got frustated with UE4 and Unity and started making my own engine to make an RTS game (with ai vehicles) and seeing someone that has come across this and shared it to help others is really great.
That's interesting. Brings to mind this GDC talk about Homeworld: DoK, where they talk about how to combine a deterministic RTS simulation with physics-based visuals: ruclips.net/video/wwLW6CjswxM/видео.html Best of luck with your project!
Thanks! No the engine isn't really set up for public consumption right now. Eg. there are zero docs for anything. I have been toying with the idea of releasing the Zig portion of the code for TP at some point though, and some version of the engine along with it so that it can be built, but we will see...
I still don't get it. if this traction point game is that very game you've been woriking on for 15 years along with your engine then I'm sorry but you could've already be done with this game if you used like any somewhat mature game engine out there
No, no, I started Traction Point last year. Or if you count Slide (as a "first attempt") then a few years before that. But yes indeed, using a premade engine would have made the whole thing much quicker. Keep in mind though that when I started, around 2009-2010, the premade engine options were much different than what we have today.
...not to mention, of course, that over half of the time making Traction Point has gone to making levels, models, effects etc, since I don't want to use that many premade assets, favoring to make stuff from the ground up. And all of that work remains even when using a premade engine.
@@MadrigalGames Also, that's 15 years of making other things that culminated into this. Making games is a type of art, it's layers of experience that make a final product. Doesn't matter if you release the prototypes you make, the things you learn along the way act as a foundation. So now you have Traction Point (which I love the looks of btw) and while it wasn't necessarily exactly what you were working on for all that time, it feels that way because all of the previous work built towards that.
@@MadrigalGames Traction point, I was talking about the intro sequence, do you use interpolation? I quite like all the other cameras though, specially those turns on Jailbreak (I see some of the others also have turns, not sure if they're different though).
Not sure what you mean by "turns". The intro camera in TP where it starts looking at the vehicles approaching and blends into the gameplay camera does interpolate between two cameras, yes. It runs a camera animation where it follows a spline set up in the level editor and smoothly blends to the normal gameplay camera. I also interpolate between different "normal" camera modes, eg. between the driving camera which tries to stay behind the vehicle and the orbit camera which allows the player to look around.
Let me know in the comments if you manage to escape the prison in Jailbreak! Bonus points if you bring a guard with you in the elevator!
Here's one way: ruclips.net/video/LAgPeJvEoeU/видео.html
I've learned a lot already writing a much less advanced engine and there is much more to implement. Your games seem to have a very distinct feel to them, something I unfortunately don't see much anymore. Excellent work!
Loved watching! Love from Sweden
Hälsningar från andra sidan viken!
@@malvaorlova7521 im from sweden, this is approved
@@MadrigalGames Finland?
This is very inspiring, thank you for posting the video!
I love that you went for 3D right away, and it's pretty cool to see the evolution of your work through the years.
I have a similar process of making different games at the same time as I work on my engine, going on 5 years I think. I hope to make it to 15 ;)
22:22 You almost had a Vampire's Survivors beforehand. That's impressive!
Love seeing stuff like this. Been kinda been working on my own engine since 2023,but mostly just notes, roadmaps, and failed code. After a lot of reverse scope creep, I'm just going to use Godot 3 as a base, but will eventually customize a lot, replacing a lot of the tech stack, and making it my own. (While also still being able to work "front end" by making games in it before then)
Besides the unbelievable work with the engine, I also liked that each game had each own unique visual feeling, many developers dont have good artistic taste =P
Thanks, that's very kind (and encouraging)!
I thoroughly enjoyed watching this video! (At 1.5x speed lol). Amazing dedication to work on something for this long. I can’t imagine all the knowledge you’ve acquired over that time. That last version of slider looks fun!
Ah yes, the speed setting is sometimes what you need to translate from Rambling Finnish Dude Normal Person. By thank you! And yes, Slide is pretty fun. I hope to return to it some day...
How do you stay motivated over the years to continue working on your engine?
I guess the answer is that I don't always stay motivated. But there are things that may help, such as trying to always work with a purpose. Don't add an engine feature just to add a bullet point to a feature list. Add a feature if a game/app needs it. Also, if you get burned out working on something, switch to something else. A great thing about a game engine is that there are so many different things to work on. Eg. switch from physics to scripting. From audio to input.
Hmm, if you are not in errors cycle, tutorial hell, and you getting fun what you done, and you done thinks, this is a key.
It looks good man. The shadows are really good. I had my own engine years ago. I developed it as a learning exercise and just for fun. I have always enjoyed low-level programming. There was a point at which I wanted to develop more complex games, and I ended up leaving its development because it was too much work.
So basically even the most basic version of the engine is way more complex than anything I could even begin to fathom.
That's neat.
Very nice! You're an inspiration, that's for sure! What an amazing journey!
Amazing journey in time! 🙂
the graphics are looking very clean. I like that :)
Cheers, glad to hear it!
Very interesting!
Amazing wörk!
Tänks!
Автор, вы большой молодец, потому что смогли пройти этот путь и поделиться этим.
Если вдруг кто-то будет читать это из новичков, то вам не следует идти подобным путем без знания ООП и видения структуры движков. Мне понадобилось 6 лет на получение знаний программирования в университете. Возможно вы были бы продуктивнее.
На ютубе есть серии роликов по созданию минимальных процессов рендеринга и логики. И в моем случае это помогло мне создать "движок" буквально за пару месяцев напряженной разработки.
Сейчас, спустя год после начала работы движок готов к созданию игры. В нем нет интерфейса и только код. Но этого достаточно.
Hey, iam Aswin, i want to make a engine like u. I have a intermediate knowledge of opengl and c++. Iam already making a 2D game engine. Suggest me where should i start if i want to make engine like u!. Say like resources from which u learn.
I am afraid I don't have any such resources to point to. Like I say in the video, don't make an engine. Make a game, and let the engine get developed as a byproduct of that. The game project will have requirements of the engine and that will determine what you need to implement on the tech side.
@@MadrigalGames Thanks for your reply. It would be even good if u share some techniques such as rendering methords. Iam asking because u have many years of experience and iam a newbie, u would have already experience by trying many ways to learn all these things. I would be very helpfull for newbie like me to know how you learn all these things. U can share any resource which u might know like tutorials or etc.
Check out The Cherno and Cakez. That's where a lot of my inspiration comes from.
Привет. Вижу вы знакомы с "opengl и c++". Если ваш движок работает с ними, то советую интересную библиотеку GLM, которая бесплатна и позволяет работать с векторами. Она поможет создать 3д камеру, а в шейдерах можно будет использовать передаваемую матрицу для проекции.
Great journary. What physics engine you were using for Jailbreak and Slide? Bullet?
Earlier versions of the engine had Bullet integrated pretty tightly, and this was the case for Jailbreak. During Slide I added a physics abstraction layer which allows me to target different physics engines. At this point Slide switched to using PhysX, mostly for its excellent vehicle SDK, and the same is true for Traction Point. I can still use Bullet though, simply by loading the Bullet plugin instead of the PhysX one.
Love this video . Im in the process of building my own engine . did you write your own physics library or did you use something like bullet ?
Very cool video, thank you for engine retrospective, are you still enjoying zig?
Absolutely, still feel like Zig is a good gamedev language. The language is still not stable, of course, so we'll see where it goes from here. So far it has worked out well for Traction Point.
How did you do the ai cars with physics? I find that very impresive
Yeah, it's pretty fun actually. Check out ruclips.net/video/eLyEsEVHcZY/видео.html and ruclips.net/video/5U99q-BnJYI/видео.html
@@MadrigalGames Man, I've seen both videos now and I have to say that I really like them, I wish I had come across your channel before honestly. I say that I find it impresive because I spent years working on a hobbie RTS game with Unreal Engine 4 that had ai vehicles (with physics) as well but they were horrible and incomparable to yours to be honest and I couldn't find anything about navmesh ai cars on the internet to improve them. Since then I got frustated with UE4 and Unity and started making my own engine to make an RTS game (with ai vehicles) and seeing someone that has come across this and shared it to help others is really great.
That's interesting. Brings to mind this GDC talk about Homeworld: DoK, where they talk about how to combine a deterministic RTS simulation with physics-based visuals: ruclips.net/video/wwLW6CjswxM/видео.html Best of luck with your project!
Hello! Amazing work! I was wondering if the engine is open to the public? Thanks.
Thanks! No the engine isn't really set up for public consumption right now. Eg. there are zero docs for anything. I have been toying with the idea of releasing the Zig portion of the code for TP at some point though, and some version of the engine along with it so that it can be built, but we will see...
@@MadrigalGames Oh, so cool seeing other ppl use zig for gamedev!
Did you start with C and moved onto zig?
Nah, the Zig code is mostly new stuff, except for a few things that I ported from C++ to Zig.
22:30 I see
@@MadrigalGames cool!
Are you xpetu?
No....? Is that a person or...?
@@MadrigalGamesyes, your voices sounds so similar, it's a different channel
I still don't get it. if this traction point game is that very game you've been woriking on for 15 years along with your engine then I'm sorry but you could've already be done with this game if you used like any somewhat mature game engine out there
No, no, I started Traction Point last year. Or if you count Slide (as a "first attempt") then a few years before that. But yes indeed, using a premade engine would have made the whole thing much quicker. Keep in mind though that when I started, around 2009-2010, the premade engine options were much different than what we have today.
...not to mention, of course, that over half of the time making Traction Point has gone to making levels, models, effects etc, since I don't want to use that many premade assets, favoring to make stuff from the ground up. And all of that work remains even when using a premade engine.
@@MadrigalGames Also, that's 15 years of making other things that culminated into this. Making games is a type of art, it's layers of experience that make a final product. Doesn't matter if you release the prototypes you make, the things you learn along the way act as a foundation. So now you have Traction Point (which I love the looks of btw) and while it wasn't necessarily exactly what you were working on for all that time, it feels that way because all of the previous work built towards that.
This guy gets it!
That camera controller looks so fluid! How does it work?
Thanks! Which game do you mean? They all have their own camera systems.
@@MadrigalGames Traction point, I was talking about the intro sequence, do you use interpolation? I quite like all the other cameras though, specially those turns on Jailbreak (I see some of the others also have turns, not sure if they're different though).
Not sure what you mean by "turns". The intro camera in TP where it starts looking at the vehicles approaching and blends into the gameplay camera does interpolate between two cameras, yes. It runs a camera animation where it follows a spline set up in the level editor and smoothly blends to the normal gameplay camera. I also interpolate between different "normal" camera modes, eg. between the driving camera which tries to stay behind the vehicle and the orbit camera which allows the player to look around.