How do people earn money from making game engines?

Avatar image for sharmar
sharmar

3

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#1  Edited By sharmar

How do people earn from game engine? My son who is 13 years old and wanted to develop a game engine and I don't know anything about this field. I am a Neuroscientist.

Avatar image for an_ancient
an_ancient

306

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

The ways I've seen it:

  • Selling it as a product directly. Based on tiers you might get support or the source code itself.
  • Licensing it and the game creators agree to pay you a percentage of their revenue.
  • Selling it as a platform.
  • A mix of all of the above.

Not to discourage your son, but coding a game engine from scratch is a massive undertaking and in a lot of cases not worth it. It is an immense help for learning how to code real time 3d applications though.

Avatar image for justin258
Justin258

16687

Forum Posts

26

Wiki Points

0

Followers

Reviews: 11

User Lists: 8

Attempting to program a game engine at 13 is an admirable task, but you should know that big companies think it's better to pay lots of money for an engine that already exists instead of building their own. If it were something a single 13 year old could do, engines would always be developed in house.

Avatar image for mavs
mavs

399

Forum Posts

2

Wiki Points

0

Followers

Reviews: 0

User Lists: 2

#4  Edited By mavs

If by earn you mean get a job, he would study computer science in college then go work for a game company.

If by earn you mean learn, on his own starting right now, watch this series: https://hero.handmade.network/episodes

Avatar image for gaff
Gaff

2768

Forum Posts

120

Wiki Points

0

Followers

Reviews: 0

User Lists: 2

@an_ancient: Don't forget building one upfront that suits your current (and hopefully future) development needs so you can avoid paying licensing fees and being dependent on outside support.

Avatar image for inversematrix
InverseMatrix

62

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 2

#6  Edited By InverseMatrix

First off, it's rad that your son is already thinking about what they want to do. Getting into the games industry takes a lot of dedication and hard work, but if they start learning and tinkering with stuff now, they'll have a leg up when it comes time to look for college and work. Now's a great time for working on small stuff, learning the ropes and just having fun with it.

It sounds like what they want to do is work as a programmer on games. That would encompass different elements like coding the game engine (the underlying foundation that drives how the game runs, things like making sure the graphics show up or that the physics work), working on the enemy artificial intelligence or programming in specific game mechanics unique to each game. That's just a very small segment of the different kind of things they might be working on; each game is going to have a widely varied list of tasks.

I'd recommend that they find a coding class in high school, or look at stuff online. Next week starts the Hour of Code, with events worldwide setup to give students an introduction to programming in just an hour. More info's at: https://hourofcode.com/us with event listings at https://hourofcode.com/us/events/all. As far as coding language, they'd want to focus on C++ for sure.

For getting paid, they'd most likely work at a company, especially if they really want to work on engines. There are tons of people who end up putting out their own projects though, but that way is less secure.

If you want more info and links to classes and resources, toss me a PM. I work in education, so I don't want to be crass or super markety and start dropping links to stuff if you're not looking for it.

Avatar image for sharmar
sharmar

3

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

@inversematrix: Thanks for your feedback. Actually they are doing hour of code at school. I came to know today only. But actually it seems that he doesn't feel very happy about it because according to him it is more like drag and drop thing. At home he is almost at the level of advanced Java script on khan academy. Actually he luv games and the idea about game engine came from a movie called jungle book. He told me in jungle book they used java script and blender for coding and animation. So he started learning Vba excel (youtube), java script (khan academy) and Blender (open source software). Then he came across on some websites and found that most of the games are created using game engine and for game engine he need to learn programming language (Java script and C++). He is right now planning to do JS and then C++. I have no idea what to suggest him and where to get help. Please if you have any suggestion for my boy, let me know. I would be grateful to you.

Avatar image for fnrslvr
fnrslvr

581

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#8  Edited By fnrslvr

Your son should lean heavily into his mathematics classes now, take any computing and (especially) programming classes he can in high school, look for programming eLearning resources online (I recommend checking out Grok Learning, an eLearning platform made by some people I know in Sydney, Australia, including highly-regarded computer science academics and educators, targeted at high-school students) and suitable extra-curricular programming events in your area, and, eventually, take a computer science degree (even better, double-major in CS and mathematics), making sure to focus in on algorithm theory, vector calculus, and anything pertaining to computer graphics, big data, AI, etc. (EDIT: also numerical analysis for the sake of physics engines. There's a certain amount of physics that's also worth learning for things like motion and collision detection, but eventually physics becomes wildly off-topic and what you really need is basically just geometry, and is better covered in a mathematics education.)

I should also note that this is not a race at this point. Your son could totally neglect his passion before uni, walk in knowing nothing about programming and only enough math to get into a compsci course, and come out of uni totally ready to work on game engines. If he goes deep now, uni could be frustrating in that he'll be ahead of everyone, depending on the university; and it is exceptionally difficult to break into the industry without a degree. That said, you can never know too much about the topic, and building up a portfolio of projects is worth starting as early as possible, so if he's keen now then I say go for it.

@inversematrix said:

As far as coding language, they'd want to focus on C++ for sure.

So, at 13 it's absolutely unnecessary to focus in on a specific language that is being used on current high-end game technology. If he wants to get a start on making games now it might even be better to learn Python or C#, since a lot of more accessible frameworks use those languages. (e.g. C# for Unity.) Even later on when understanding the vocational specifics of C++ is relevant, someone who gets caught up in the machismo of C++ and defines themselves by the languages they know is a bad developer.

That said, C++ is this fascinating melting pot, fusing the legacy cruft of 40+ years of the C language that it was kludged on top of, with at-the-time experimental features from e.g. object-oriented and functional programming paradigms. It is a bad, ugly, inelegant language that has been superseded by modern languages in every way except industry uptake (alas it's still goddamn everywhere), but it's a great way of getting yourself chin-deep in a huge cross-section of software development's past and present, and that to me makes it a really compelling first programming language to learn. It was certainly among my first languages.

Or, you could go easy on yourself and just learn Python or something. They're all equivalent in terms of expressive power, it's just a matter of how much pain you're going to go through with the particulars of the language.

Avatar image for jesus_phish
Jesus_Phish

4118

Forum Posts

3307

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

@sharmar: Does he want to make video games or does he want to make video game engines?

There are a few engines that are available for free with lots of support and are industry standard engines. Things like Unity and Unreal. Both of those you can grab right now and start making games with. Even if he's not interested in making games but is interested in the engines behind the games, it wouldn't be a bad idea to grab either one and start playing around with it. Having an understanding of how Unity works would give him an appreciation for engines.

Most companies who sell video game engines sell licenses for those engines. When a video game company buys a license it allows them to publish games using that engine and put them up for sale. Usually when you buy a license, you get support from the engine company included as part of the price. There are people who work at Unity who would develop the engine based on the ideas or needs of their customers and provide support to those customers.

Some development studios will make their own engines. There's a good video on this site with Jonathon Blow talking to Jeff and Brad about how he felt it was important for his studio to make their own engine so that they never need to worry about licenses for engines or if those engines will even exist 10/20 years down the line.

Avatar image for hermes
hermes

3000

Forum Posts

81

Wiki Points

0

Followers

Reviews: 0

User Lists: 7

#11  Edited By hermes

First, building a game engine is a massive undertaking. Regardless of the outcome, props to your son for thinking of this endeavor. However, it is hard to see how he could get a living out of it, since there are options in the market that are free and have big communities, massive amounts of documentation and publicly available use cases. However, as a learning experience in computer science, it can be quite an interesting challenge.

Regarding your second question, most engines make money out of two ways: 1) licencing, this used to be the most common way. Game companies pay for the use of the engine upfront; or 2) support, this is the most common way nowadays, with many engines getting a community (somewhat restricted but free to download) version. Support fee may include help to report or fix bugs, pay training for the employees or subcontract people to help customize the engine for certain specific needs not included in the "vanilla" version.

Avatar image for jeldh
Jeldh

521

Forum Posts

9

Wiki Points

0

Followers

Reviews: 1

User Lists: 5

#12  Edited By Jeldh

Make your product before you plan how to sell it. Get some books for you son about C+ or whatever he likes, theres tons of them.

Dont worry too much about how hard it is, just let him try it for a while and if he gives up and moves on another project it doesn't really matter, he probably learned a lot. If he makes a game engine then thats really great!

Avatar image for inversematrix
InverseMatrix

62

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 2

#13  Edited By InverseMatrix

@sharmar: Going to send you a PM with some info!

@fnrslvr said:

@inversematrix said:

As far as coding language, they'd want to focus on C++ for sure.

So, at 13 it's absolutely unnecessary to focus in on a specific language that is being used on current high-end game technology. If he wants to get a start on making games now it might even be better to learn Python or C#, since a lot of more accessible frameworks use those languages. (e.g. C# for Unity.) Even later on when understanding the vocational specifics of C++ is relevant, someone who gets caught up in the machismo of C++ and defines themselves by the languages they know is a bad developer.

Yeah, that's a good point. I got a little wrapped up in the end goal, thanks for pointing it out! Python's great for learning how logic works while not getting caught up on specific syntax. I don't have as much exposure to C# myself. The big thing, for now, is to get in, make some stuff and have fun. Like you said, it's not a race right now.

@jesus_phish said:

@sharmar: Does he want to make video games or does he want to make video game engines?

That seems to be the main hangup here.

@sharmar Speaking in *very* broad terms, there's a few main disciplines where games are concerned. Programming puts together the code needed for the game to function. Designers create the game mechanics, levels and other systems that the gameplay is based on. Artists create the visuals for the game, from concept art to what each element of the game looks like. There's also sound people, script writers, producers and a huge number of other people for the game. There's also a fair amount of overlap between them. Like I said, this is in extremely broad terms.

At 13, I'd say get in there, find out what you like. You might not like programming, but maybe you find putting together levels is a ton of fun. Maybe that doesn't click, but you really end up loving making 3D models. Now's a great age to experiment.

Youtube's a pretty good place to find tutorials on stuff, plus GameCareerGuide.com has good info, but it's written for more of a college level audience. I learned a lot myself from reading and working through books that I'd get on Amazon. (The Mastering Unreal Engine series was fantastic for Unreal 2 and 3, but I haven't read the one for Unreal 4 yet.) There's tons of resources online, like Polycount for 3D modeling. Unreal Engine and Unity both have forums with a ton of information (though it'll probably be awhile before they understand what's being discussed). If you just google for tutorials, you should find a lot of stuff to at least get your son started.

Avatar image for dagas
dagas

3686

Forum Posts

851

Wiki Points

0

Followers

Reviews: 1

User Lists: 8

If he knows that much at the age of 13 he will have no trouble finding a job in programming even if he doesn't manage to sell a game engine. Selling a game engine is not easy as there are already industry standards. It is like trying to make a competitor to iOS or Android at this point. It would be a lot easier to make a game and sell. Just like it is easier to make money making apps than to develop a completely new phone OS. But who knows maybe he will create something that is better than Unity?

I wish I had any interest in coding that way I would have a better job but I've always been more interesting in just playing games.

Avatar image for peteycoco
peteycoco

303

Forum Posts

3

Wiki Points

0

Followers

Reviews: 0

User Lists: 2

#15  Edited By peteycoco

No money in it, but it would be a tremendous learning experience if he sticks with it. I spent a bit of time this summer going through a physics game engine textbook and it was a fun way to practice programming. I have little formal programming experience, just what I've taught myself while doing my research. and I managed to follow along fine. There might be some calculus he'd have to learn to tackle the physics, but most books teach you the essentials as you go. Great way to practice classical mech too!

EDIT: I will add, however, that game engine programming isn't game programming. Game engine programming can be quite dry at times and if you're not invested in what you're doing you will lose interest quickly. If your son is really interested in making games, I'd check out Unity. Making a game in Unity would be a bit more fun and also provide a great learning experience.

Avatar image for an_ancient
an_ancient

306

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

@peteycoco: I sort of disagree. if you just want results and things moving on the screen, then yeah, but if you are curious to see what weird fuckin' abstract things people thought of I would definitely recommend game engine or generic programming.

While I do not know this kid, for his development though and if he really takes to it, more generic programming will be much more of an advantage.. He could always go for something easier and get his hands dirty later, but I feel it'd be more awesome the other way around.