"Why did you write your own Game Engine?"
WELL, I'm going to try to answer THE question that every programmer, who is coding their own Game Engine, has to face.
(Here we go again)
Start your engines!
THREAD!
#gamedev #indiedev #indiedevhour #indiegames
WELL, I'm going to try to answer THE question that every programmer, who is coding their own Game Engine, has to face.
(Here we go again)
Start your engines!
THREAD!
#gamedev #indiedev #indiedevhour #indiegames
First of all, there are A LOT of reasons why I'm doing my own engine. Probably I'll forget some.
An Engine is a really complete problem to solve, lot of areas of knowledge are needed to understand the architecture of an engine and make it work.
And I LOVE to learn.
An Engine is a really complete problem to solve, lot of areas of knowledge are needed to understand the architecture of an engine and make it work.
And I LOVE to learn.
Lot of people thinks games programmers should only code games, and nothing else in a lower level (like graphics, or physics). "Just code games not engines".
I've been always the kind of coder who likes to know what's happening under the hood.
I've been always the kind of coder who likes to know what's happening under the hood.
I love coding, graphics and videogames, so one reason is, indeed, it's really fun for me.
Other reason is, knowing what's happening under the hood really makes the difference as a coder/developer. Facing harder problems makes you stronger!
An Engine is THE training.
Other reason is, knowing what's happening under the hood really makes the difference as a coder/developer. Facing harder problems makes you stronger!
An Engine is THE training.
It allowed me to be Team Lead Programmer in a UE4 project, I succesfully adapted to UE4 without previous courses or masters, because this project (my engine) put a bunch of "game dev theory" in my head, that's a good reason.
That knowledge is reusable between engines.
That knowledge is reusable between engines.
In terms of software engineering, this project is also a great teacher.
It forced me to learn how to code in a clean way, readable, modular, how to refactor properly, using good practices and patterns (yes design patterns matter in gamedev ) . Respecting memory and FPS!
It forced me to learn how to code in a clean way, readable, modular, how to refactor properly, using good practices and patterns (yes design patterns matter in gamedev ) . Respecting memory and FPS!
After all these years, I realized knowing about engine architecture is really important if you want to work in VG industry. Even if you want to be graphics, networking, physics or AI programmer.
Knowing how your field is integrated into an engine is really important.
Knowing how your field is integrated into an engine is really important.
"Shut up! You are crazy!"
Lot of Universities and Master degrees make theirs students make their own engines during the course. Why? Because is one of the best ways to learn the hard game dev theory!
Are they so crazy?
Lot of Universities and Master degrees make theirs students make their own engines during the course. Why? Because is one of the best ways to learn the hard game dev theory!
Are they so crazy?
Me or my parents weren't able to pay the cost of a VideoGames degree or Master. So I decided to start with Computer Science degree.
Since I always wanted to focus on programming, CS was a really interesting degree for me.
Since I always wanted to focus on programming, CS was a really interesting degree for me.
I decided to create my own roadmap so someday, I could reach :
THE GLORIOUS VIDEO GAMES INDUSTRY
THE GLORIOUS VIDEO GAMES INDUSTRY
That's another reason why I started my own Engine, I needed to put something really impressive into my CV. I thought a Game Engine was hard enough to impress people. I didn't want to be one of these devs with a Tron and a Mario clones in their CV, I wanted something else
Maybe you can say, "why didn't you just take Unity and create something cooler than a Tron clone?"
Because I knew nothing about gamedev! I was in my first Computer Science year, I didn't understand the concepts, the theory, nothing.
Because I knew nothing about gamedev! I was in my first Computer Science year, I didn't understand the concepts, the theory, nothing.
My engine started in 2013 as a SDL experiment. I just managed to render a square into the screen after months of tutorials an PDFs.
Then I started to understand concepts, connecting things I knew from playing videogames, everything started to make sense.
Then I started to understand concepts, connecting things I knew from playing videogames, everything started to make sense.
During 5 years of University, I studied every day about gamedev, at nights, summers, spare time, after lunch. I collected all the books, articles and tutorials I was able to find and buy.
I discovered #OpenGL which became one of the pillars of my learning process!
I discovered #OpenGL which became one of the pillars of my learning process!
And that's another reason! I needed something, a project, that was big enough to teach me the core theory concepts about game dev!
This Engine was my personal trainer
This Engine was my personal trainer
I presented the Engine as final project! And got my first job as VR-OpenGL programmer, just what I wanted!
"why did you keep working on this project after university?"
"why did you keep working on this project after university?"
Well, I had to code the final project engine in JS and WebGL, but I wanted to do it in the video game industry language : C++!
So I restarted the project, and ported the old JS core into C++ and it started growing from that until today. I took this last year and half
So I restarted the project, and ported the old JS core into C++ and it started growing from that until today. I took this last year and half
ok
OK
"why are you working NOW in you damn engine???!?!11!"
Because it got bigger and bigger, it's much more than an experiment, it something that works, and I want finally make a game with it. Even if it's a small game (I actually did some small games as integration tests).
OK
"why are you working NOW in you damn engine???!?!11!"
Because it got bigger and bigger, it's much more than an experiment, it something that works, and I want finally make a game with it. Even if it's a small game (I actually did some small games as integration tests).
I think that's enough for today, thanks for reading, thanks understanding and don't hesitate to ask anything!
(I put some gifs so it's funnier to read)
THANKS!
Btw here's mi LinkedIn profile, just in case you want to take a look https://www.linkedin.com/in/adrian-egea-comenge/
(I put some gifs so it's funnier to read)
THANKS!
Btw here's mi LinkedIn profile, just in case you want to take a look https://www.linkedin.com/in/adrian-egea-comenge/