Jump to content
  • Advertisement
GalacticCrew

Developing my own game engine vs. using a commercial game engine

Recommended Posts

24 minutes ago, mr_tawan said:

Using commercial engine means if there's an issue, someone will (might?) fix it for you. Of course it depends on the engine developer, bug can be a feature too, or you're holding it wrong :P. Your issue can be in the multiple-year-long waiting list, who knows?

That's a very good point! I got very positive feedback from players, because I always fix all bugs as soon as possible. Normally, a reported bug is fixed within few hours. This include problems with the engine. I can't be that fast if I use an engine that are just DLLs. If I have access to an engine's sources I can fix it by myself and ask the engine's author to include my pull request.

 

41 minutes ago, Gnollrunner said:

That's kind of a dilemma for me. I really don't need or want to implement animation software, lighting etc. Ideally I would use half an existing existing engine.

Have you checked other open source engines? From what I've read so far there are several persons even in this discussion that have developed their own engines.

 

54 minutes ago, JoeJ said:

As you often mention your joy implementing things like skinning or soft shadows, i repeatingly get the impression you develop your own engine mainly because, honestly you just enjoy this?

I enjoy creating the game engine and the creative process of creating a game. Oh, I forgot: I also enjoy getting my profit from Steam, Green Man Gaming, etc. at the end of a month. 😄

Share this post


Link to post
Share on other sites
Advertisement
7 minutes ago, mr_tawan said:

My another thought, which comes from my background as a support programmer, is 'are you able to support your own code' ? 

It's quite easy to write code. However once it is created, you need someone to look after it. I mean, there will be bugs and issues, and you need to resolve this. This will take effort. So I think you have to take this into the consideration whether you're using an in-house engine or someone else's.

Using commercial engine means if there's an issue, someone will (might?) fix it for you. Of course it depends on the engine developer, bug can be a feature too, or you're holding it wrong :P. Your issue can be in the multiple-year-long waiting list, who knows?

 

Once I asked a teacher, why we use yet another million lines of code to test for bugs in our code....aren't millions of lines of code introducing new bugs?
He told me: "You should unconditionally trust in the testing tools, the same way you unconditionally trust in Dot Net"
So basically only thing i am allowed to doubt of, is me myself. The other coders are super mega humans who never write bugs.

I would suggest you to believe more in yourself and your own coding. At least here, in Gamedev, I see very knowing people who could answer your questions and help you fix your bugs, and they could do it even earlier than those engine developers.
If you don't have to hide your source. And if you can formulate well your questions(not like: "here i dump 5K of code, what is wrong with it?"), you could build an engine with the help of the gamedev community.

I am still talking about writing an engine for your own use. It is pretty hard for a single coder to write an engine that people would use over the other already available alternatives. You should have a sandbox, a bug reporting system, forums etc.

Share this post


Link to post
Share on other sites
5 minutes ago, Hodgman said:

If you're making an engine, this is exactly what you should be doing. You should have a list of requirements for the game that you're making and then build ONLY engine features that are actually required for that game. Any other method will put you on the path of writing engine code for 6 years and still not having a game. 

This is actually what I am doing right now. I wanted to make my game look nicer, so I added Soft Shadowing an better gloomy laser effects to my engine. The code is so generic that it is used in any 3D game using my engine, if you turn on the shadow or gloom effect switch. For my second game, I needed support for background images in my user interface controls and 2D sprite animations, so I added this support. Again, it is so generic, that it can be used by any game. The third game will feature water, smoke and fire effects. So my game engine gets bigger with each of my projects.

Share this post


Link to post
Share on other sites
2 hours ago, GalacticCrew said:

I wanted to make my game look nicer, so I added Soft Shadowing an better gloomy laser effects to my engine. The code is so generic that it is used in any 3D game using my engine.

I think you have your answer to your original post - the stance you've taken is that you want to expand on your library and engine, while acknowledging that other engines in the market might have more than your engine has at the moment, but you have all the skills you need to implement solutions to any challenge, and time is not a major concern.

For someone new to game development reviewing this thread, i think the important take away from the comments here is that the first and foremost concern should be making the game. If you're building your own engine - build only engine features that have a purpose in the game which you appear to have done successfully, and if you're using a canned engine - be mindful that you have less control over the way the engine runs and future changes that may be made. Either way, design and develop with the game in mind.

To deviate from the commercial engine "to-be or not-to-be" conversation slightly, what is your approach to game design? do you formalise your design documents, do you have process flows mapped out, decision trees etc... or do you sort of just wing it? I've been trying to think of ways to better document my own thoughts and simply havent found anything that sticks.

Edited by Stragen

Share this post


Link to post
Share on other sites
4 minutes ago, Stragen said:

For someone new to game development reviewing this thread, i think the important take away from the comments here is that the first and foremost concern should be making the game.

It really depends on your circumstances and what you want to do.

If your primary objective is to ship games, then sure, a pre-rolled engine is generally the way to go.

But if you are like me, shipping games doesn't really concern me too much. I generally have more fun and satisfaction writing everything myself.

It's funny. Any money I have ever made in game development has come from writing tools/extensions for other people to use in their own games. I am yet to make a cent from any games I have ever published.

Share this post


Link to post
Share on other sites
2 minutes ago, lonewolff said:

If your primary objective is to ship games, then sure, a pre-rolled engine is generally the way to go.

The moral of the thread here is that you can go either way, and its really about what you want to do. It's certainly an avenue to pick a canned engine, but equally if you want to build it yourself then its fine, provided you understand the limitations of either. In one case it is control over features in the other the time and skilled required to implement those features. Game Dev - Choose your own adventure eat your heart out.

5 minutes ago, lonewolff said:

Any money I have ever made in game development has come from writing tools/extensions for other people to use in their own games.

Its fine to replace "Game" in the games development with "extensions" or "tools" i think the point still stands that you should build something with the goal in mind, be it achieving a feature or telling a story. If you're coding something that doesnt meet your goal of achieving that feature or enabling you to tell the story, its worth thinking hard about if the effort is really needed. 

Share this post


Link to post
Share on other sites

Yep for sure :)

@GalacticCrew seems to have his head screwed on straight and comes across as a very focused guy with his projects.

The only way to be a true innovator is to do what the masses don't do.

But yes, generally speaking the vast majority would be better served using a pre-built engine any day of the week.

Share this post


Link to post
Share on other sites
9 hours ago, Stragen said:

For someone new to game development reviewing this thread, i think the important take away from the comments here is that the first and foremost concern should be making the game. If you're building your own engine - build only engine features that have a purpose in the game which you appear to have done successfully, and if you're using a canned engine - be mindful that you have less control over the way the engine runs and future changes that may be made. Either way, design and develop with the game in mind.

I totally agree with you!

9 hours ago, lonewolff said:

@GalacticCrew seems to have his head screwed on straight and comes across as a very focused guy with his projects.

The only way to be a true innovator is to do what the masses don't do.

Thank you ^_^ 

Share this post


Link to post
Share on other sites
On 8/13/2018 at 10:49 PM, GalacticCrew said:

The question for me is, if I should continue developing it (water, smoke and fire effects are needed for the next projects), or if you should switch to another engine. 

Depends on opportunity cost, difficulty of implementation and using it.

But from my limited graphics knowledge those three sound related, ie transparency (with billboarding for smoke/fire) shouldn't be too bad to add and use?

I heard somewhere old dev's used their existing game engine in about 3 games.

It's a great way to recoup investments, focus on game design etc, etc.

I would agree, after 3 times using the same tech, you know it very well, what's missing, where and how to improve.

Then (after the 3 games) I've also heard many just scrap the old tech and redo a new engine with a better design, ie for new hardware target etc.

I agree with @Hodgman limit your engine to your game and I would also add your knowledge and abilities, ie don't go over board with features you don't fully understand.

As programmers, I'm surprised why other programmers just pick a commercial engine to start with.. to me it's counter intuitive and against what software developers should be doing.. understanding problems and coding solutions.

Anyway,  I still consider my self a 'gamedev' noob, but I've seen so called experts with less understanding!

It's easy to give "generic advice", but criticizing something with no experience isn't advice, it's foolish ideology, never take advice from noobs!

Also, a DIY engine (be it small or large) is IMO part of the process, which is what game dev is all about... enjoying the process!

Nice thread!

Mike

 

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
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!