Modifying an open source game engine for your needs:Where should I start

Started by
31 comments, last by Nathan2222_old 10 years, 5 months ago

@3ddreamer: What was your C++ friend creating for a decade.

He was creating a simulator ( Non-disclosure Agreement with me in effect here) with easier libraries and fewer of them than you want to juggle (for you the next 10-20 years) working long hours per day. His total lines of coding is less than those for your goals and he is a great coder with decades of experience, a real pro in C++. He has contracts currently with military and corporate giants, so this type of developer is the standard by which people will judge you - fair or not - if you attempt to accomplish huge game projects. The C# developer is a team leader and another international connected expert, but in an unrelated field of simulation software.

These guys got amused when posed with dreams like mine which I had of grandiose goals not far removed from yours. Years later I really respect these guys example which was a gentle kind of tough love on the realities in the business. Maybe they get so amused at newbies because they too had over ambitious ones several decades ago. happy.png

I didn't even mention the Java simulation developer (famous in some segments of the market), an acquaintance, who found himself years delayed even with a team in working on a simulation which is less than your goals. Subsequent updates and also finishing his next simulator saw years of unexpected postponement on release, about 5 years delay for the team in the last case. His next project, he finally learned his lesson and completed a lesser development size simulator which caused him to regain much of the damage to his reputation. wink.png

Keep in mind that all three of these professional developers which I know had huge budgets toward their team and still took years to make software which was smaller than your objectives.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Advertisement


@Rld: If i "misunderstood" you correctly, you may have just given me a great advice. Is this what you mean:
Rather than try to modify torque engine which will require that i read all the code and could possibly take forever, I should make an entire game engine which will not only be easier than modifying torque but i can make it as simple as i wan't to and to suit my needs,i.e. i should use a render engine such as ogre 3d as a base which would solve the rendering part of the game engine.

That's exactly what I meant. Don't get me wrong, doing this will not save you time and it will still take you (or any other person) a long time before you get to the point where you want. It could even take more time, but the way I see it, because you're building it piece by piece, there is less chance of breaking an entire game engine because you changed a dependency (note that I don't know the Torque engine by heart).

It will still take a long time, it doesn't mean you can get stuff to work any faster than modifying an existing engine, it might work out better due to not being able to break an existing engine (other than not using it correctly or if you're planning on modifying ogre as well). The only real advantage for you is that it can reduce the amount of headache it can possibly cause by breaking the engine when it comes to production.

Both have their advantages and disadvantages, I will leave it up to yourself to decide what you like the most (although it seems you already did). Ogre3D is the one with the most features though.

I have worked with Ogre3D several times in the past and it has a great deal of features that can serve your need. The SDK comes with a sample browser that you can run and see some of the features it has. Next to what Ogre brings natively, the community has build a lot of nice stuff that can help you, just browse through the forum and you'll see some stuff passing by.


Finally, if i was correct then this photo becomes extremely important as it will act as a blueprint, right?

That imagine could serve as a reference, yes. Doesn't mean you need it all (or be able to build it all). If I am not mistaken, that's the image from the Game Engine Architecture book and that image represents the (by then) engine they use at Naughty Dog, I hope this gives you a good indication of how big and complex a game engine will be (let alone the complexity of the game itself).


World Size supported by engine:
1. 6km x 6km - 10km x 10km or more

Loading Screens:
1. For open world- NONE
2. For Levels: Maybe

I don't know if Ogre will help you with large open worlds without loading screens, this is probably a question you can get a more proper answer to on the Ogre forums. I know it has support for scene management for open worlds, but I don't know the details about it.


Lighting:
1. Ogre 3d ( please tell me ogre 3d takes care of these - dynamic shadows, particles, subsurface scattering etc.)

Shadows, particles. Yes.

Subsurface scattering. Probably not out of the box. Perhaps someone of the community has made it.


It will be a 3d game engine. It will need tons of c++ programming right?

Yes, every point you listed is something you either have to build yourself, or when you're using a library (like PhysX) interact with. So just the game engine itself will take you a long time to finish.

Word of advice:

Try making a small (prototype) game in an existing game engine (whichever you like) to just get a taste of what's to come. A friend of mine is doing exactly what you are doing now (except he wanted to make a MMORPG), but settled with an existing engine (hero engine). After a year of on and off work, he finally gave in to my advice to first build up some experience before taking on such a heavy task.

Nonetheless, I wish you all the luck and hope it's a great learning experience for you, whichever path you may take. :)

@Rld: Thanks, i will definitely use a pre-existing game engine so that i will know how everything works together. biggrin.png

Devlopment begins.

Time frame: Any time

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

Good day,


Devlopment begins.

No, learning begins. After you learn enough to debug the horrible code that your newbie self is going to inevitably create, then you are going to debug, refactor, or scrap it and start again. After months or a year or two, then the real development begins. wink.png

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Out of curiosity what dx11 features were you needing which dx9 doesn't have?

or are you just going by the fact that 11 is newer so must be much better?

Im just a little worried that you're determined everything must be perfect. Great games don't have to be perfect in every way, in fact working within some tight constraints can be very productive.

Everyone that answered in this thread is a much nicer person than I am. A post in "For Beginners" about making a game like GTA is something that doesn't deserve to be answered. The games in the GTA series had budgets in the range between tens of millions of dollars and hundreds of millions of dollars.

I bet people in the "For Beginners" forums of movie-making websites don't ask about how to make a movie like Avatar, and the people in the "For Beginners" forums of rocket-making websites don't ask about how to send a rover to Mars. At least not if your budget doesn't allow you to buy a book.

Everyone that answered in this thread is a much nicer person than I am. A post in "For Beginners" about making a game like GTA is something that doesn't deserve to be answered. The games in the GTA series had budgets in the range between tens of millions of dollars and hundreds of millions of dollars.

I bet people in the "For Beginners" forums of movie-making websites don't ask about how to make a movie like Avatar, and the people in the "For Beginners" forums of rocket-making websites don't ask about how to send a rover to Mars. At least not if your budget doesn't allow you to buy a book.

im pretty sure the poster here is pretty young... must be.. thats the explanation that can only enter my brain...

its entertaining to read forum posts such as these ones though - they make me think back to how long it took to first create a simple textured mesh using the blender program - and then again how long it took to make opengl draw that textured mesh in the window..

and then i think how long it takes to get art resources (especially if your making them which is, imo a bad idea) - then making those art resources work in the game in some meaningful way

but no worries to the poster - he will have cloths animating, water flowing, cars driving and all that stuff worked out in no time - just beep boop bop on the keyboard and bingo!! there they will be!


Out of curiosity what dx11 features were you needing which dx9 doesn't have?

or are you just going by the fact that 11 is newer so must be much better?

Im just a little worried that you're determined everything must be perfect. Great games don't have to be perfect in every way, in fact working within some tight constraints can be very productive.

Well, yeah, the thought occurred to me as well, but I really didn't want to handle all the issues.

Fact is that D9c is mature, 11 or coming 12 not which means that some things are available in it that are not full featured or stable yet in the latest version in terms of tools or third party libraries available for the latest, so for this reason I feel that it is about an even trade between the two versions of Direct3D (or DirectX). The 9c will be mature, stable, and running in all the OS updates for runtime for years to come with very many stable libraries for it and tons of workflow pipeline tools, many of which are actually open source and no cost.

Working with too many new, shiny options can be restrictive for the reasons that I mentioned. Its kind of like buying a brand new car that doesn't have all the bugs worked from it and also doesn't have the supply chain and tool issues fully provided yet. We really haven't even gone deep into the hardware acceleration problems which will increase in trying to reach more than one chip subset in all the different makes, models, and years of computers.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Everyone that answered in this thread is a much nicer person than I am. A post in "For Beginners" about making a game like GTA is something that doesn't deserve to be answered. The games in the GTA series had budgets in the range between tens of millions of dollars and hundreds of millions of dollars.

I bet people in the "For Beginners" forums of movie-making websites don't ask about how to make a movie like Avatar, and the people in the "For Beginners" forums of rocket-making websites don't ask about how to send a rover to Mars. At least not if your budget doesn't allow you to buy a book.

Well, even though I get what you're going at, I still think it's a good thing to at least try to direct an obvious beginner into a bit of a better direction.

When posts like "Don't do it, here's why" get ignored or waved off by the OP, I think that pointing them in a direction with the most potential of learning at least something is something to aim for.

In this case, I personally think building his 50 storey building is best done brick by brick. It's obvious for those with experience it's going to fall if you don't know how to look up or what to look out for, but at least he'll get to know how to (hopefully) do it a bit better when his first collapse is going to happen.

Unrealistic goals is also a beginner mistake I see all to often, sometimes more annoying than people with realistic goals, but in need of help nonetheless. And if they don't listen to reason, it's their loss, not mine :P

That's what I think at least, everyone is titled to their own opinion of course :)

Everyone that answered in this thread is a much nicer person than I am. A post in "For Beginners" about making a game like GTA is something that doesn't deserve to be answered. The games in the GTA series had budgets in the range between tens of millions of dollars and hundreds of millions of dollars.

I bet people in the "For Beginners" forums of movie-making websites don't ask about how to make a movie like Avatar, and the people in the "For Beginners" forums of rocket-making websites don't ask about how to send a rover to Mars. At least not if your budget doesn't allow you to buy a book.

Good thing you didn't answer anything i asked.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

This topic is closed to new replies.

Advertisement