• Advertisement

should i use a engine or program everything from scratch?

Recommended Posts

Advertisement
29 minutes ago, 0r0d said:
  • takes a larger time commitment
  • limits the scope and quality of what you can accomplish on your own

can you elaborate on these two?

how much does it limits my scope and how long is the time difference?

 

Share this post


Link to post
Share on other sites
1 minute ago, ObjectivityGuy said:

can you elaborate on these two?

how much does it limits my scope and how long is the time difference?

 

time commitment: You have to build all the stuff that's built for you in a third-party engine.  Keep in mind those engines like Unity have hundreds of people working for years to develop those features and test them under many different conditions.   All that stuff translates into time and expertise.

scope and quality: As a single person, you probably will not have the knowledge to build many of the things in a third-party engine, or just wont have the time.  So if you want to make a game, you will have to limit the scope of that game.  That means simpler graphics, fewer assets, fewer levels, possibly worse performance, etc, etc.  Basically, you'll be a one-person studio as opposed to a hundred person studio... which is what you get from using a third-party engine.

But, while you give up certain things, you get many others.  It just depends on what you want to accomplish.  If, for example, you want to make a very nice looking photorealistic FPS within a year or two... then you pretty much need to use an existing engine like Unreal, and even then you'll probably need to pay artists and other people to generate assets for you.   However, if you wanted to make the same exact game while building your own engine, then even if you have the experience and knowledge to build it all, you're looking at at least 2 years of work on the engine before you can even start on the game itself.  If you DONT have the expertise, then you're talking many more years of learning to just get to the point where you know what you need to build (on the engine) before you start to even work on the game.

However, if you just want to make a small(ish) game, then building your own engine might be the best option, especially if you already have experience building engines and building games.  Remember that an engine like Unity has 10,000 features and you might only need 100 of them for your game.  And, your game might have special requirements that are not met by Unity.  So, in the time you make that game in Unity you could probably just make it yourself with your own engine, and at the end you learned more and had more fun.

Again, there's many, many factors that come to play in this decision.  Think of what your goals are, what game you want to make and what the features you need are, how much time you want to spend, and stuff like that.

Share this post


Link to post
Share on other sites
6 minutes ago, 0r0d said:

Again, there's many, many factors that come to play in this decision.  Think of what your goals are, what game you want to make and what the features you need are, how much time you want to spend, and stuff like that.

can you give me a example of things that require a custom engine to do or that are better done on a custom engine?

Share this post


Link to post
Share on other sites
32 minutes ago, ObjectivityGuy said:

can you give me a example of things that require a custom engine to do or that are better done on a custom engine?

Performance would be one such example.  Third-party engines like Unreal or Unity are general purpose engines.  They might be optimized for one type of game, lets say for FPSs, but otherwise they're going to make a lot of compromises and will have a lot of overhead that you might not need.   So, if your'e making an RTS game, for example, you might be ok if you're creating a few hundreds units, but if you get into the thousands then that engine might just be unable to handle it... at least without some serious code changes on your part.  Or, you might find yourself writing entire systems and bipassing their built-in object management.  So in essence you might still be writing what amounts to a custom engine that runs inside of the existing third-party engine, and only uses some of it's tools and maybe the rendering, etc.  But if you just build your custom engine with the purpose of handling thousands of units, then you would likely be able to achieve much better performance.  Again it's a tradeoff, you gain more flexibility and control with your own engine, but you lose other things like the tools, shaders, or ease of use that comes with something like Unity.

Another example would be if a new platform comes out and you want to support it right away.  Lets say something like Ouya comes out and you think your game would be perfect for it.  If the engine doesnt support it, you're basically out of luck.  But with your own engine you can support whatever you want whenever you want.

You also have to worry about the engine company changing up the licensing terms on you, or in some cases the engine might stop being supported altogether if the company goes under, or just decides to move in a different direction.  Once you've married yourself to a third-party engine it can be very difficult to change away from it if you need to.  Or, maybe you want to develop a product that you want to license to others.  Owning your own IP makes this easier.  If your product relies on licensing other code, it might become very problematic.

Also, for some people making your own engine is just more fun, and getting deep knowledge about how an engine and a game works is more important for them.  

Share this post


Link to post
Share on other sites
23 minutes ago, 0r0d said:

Also, for some people making your own engine is just more fun, and getting deep knowledge about how an engine and a game works is more important for them.  

thanks for the help i guess i will try to make a a simple 2d engine and see where it goes if i just cant get it to work no matter what i will try unity

Share this post


Link to post
Share on other sites
7 hours ago, 0r0d said:

That means simpler graphics, fewer assets, fewer levels, possibly worse performance, etc, etc

It isnt necessarily a fact that each custom engine is in general worse than a "normal" third-party one, this is wrong. You have as much tutorials out these days on how to make good looking graphics and setup your pipeline based on modern graphics APIs, indie games with all the assets they need (since the poster asked for a custom engine not for production ready assets) and of course as much levels as AAA games (what has a level count to do with the engine?) and at least performance? The tricks the big players use are not top secret anymore while you could access CryEngine, Lumberyard and of course Unreal's source code and/or read/watch GDC talks, you have these resources these days to get the same knowledge that the big players have.

Sure this is a beginners question and it might be adviseable to start with a game on an existing engine first but however you are mixing game engine development with game development topics and those are two different parts of knowledge.

Even if I like the list in the first post, the more important question is what do you want to achieve? Make a game; use an existing one first and later maybe when you got the knowledge you just could try to start an engine or do you want to know how everything behind the scenes work; start reading about game engines and then you could begin with development after gathering some basics

Share this post


Link to post
Share on other sites
12 hours ago, Shaarigan said:

It isnt necessarily a fact that each custom engine is in general worse than a "normal" third-party one, this is wrong.

I was speaking generally to give the OP a sense for the typical tradeoffs of writing your own engine vs using an off-the-shelf engine.  Of course in individual cases, someone can achieve equal to or better results in specific aspects of engine design or game quality.  But, generally speaking, one person spending X amount of time cant match 100 full-time developers also spending X time.

Edited by 0r0d

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Advertisement