Advertisement

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

Started by November 26, 2013 11:06 PM
31 comments, last by Nathan2222_old 11 years, 2 months ago

Maratis itself can't create much (it is just an editor) but the waves, whether in torque or cry or udk perhaps use displacement maps rather than normal maps (to actually affect the geometry), unless torque has a fluid simulation system built in.

Maratis doesn't have this type of functionality built in, but if you were to program that functionality yourself you could pretty much make your own game engine using Maratis as a base.

I am going to look into torque to see what it can do.

Edit: I just checked out torque and I see it is free. The setup is a bit complicated for me. I would actually prefer Unity 3d in that case (accept for the cost to publish with Unity3D). So it seems like Torque is best for you then.

Maratis does have a very easy to understand API though. Perhaps I will take some time out to try Torque later on.

They call me the Tutorial Doctor.

[video]http://www.youtube.com/watch?feature=player_detailpage&v=P60eyU7qCh8
[/video]
Watch that video and check the water, you'll see what i mean.smile.png
How hard will it be to create such AI, simulation etc.blink.png

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

Advertisement

Maratis itself can't create much (it is just an editor) but the waves, whether in torque or cry or udk perhaps use displacement maps rather than normal maps (to actually affect the geometry), unless torque has a fluid simulation system built in.

Maratis doesn't have this type of functionality built in, but if you were to program that functionality yourself you could pretty much make your own game engine using Maratis as a base.

I am going to look into torque to see what it can do.

Edit: I just checked out torque and I see it is free. The setup is a bit complicated for me. I would actually prefer Unity 3d in that case (accept for the cost to publish with Unity3D). So it seems like Torque is best for you then

I will be using the triton wake generator for water simulation and also physx, hopefully i can get the source codes.

No maratis and unity is too mobiley

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

Nathan!

Pay attention here, please!

All that long list of things that you want for a game is going to demand a team. Not only that, but you will be in real desperate need of source and version control software. That alone is going to require part time effort minimum.

Doing that long list of development stages you revealed here will take an individual years. I know an expert C++ game developer who took over a decade to make something which was finished but is several years behind the times. Contrast that with a C# expert lead programmer who I know that takes many months with a team to complete a project. You Have Know Idea the amount of hours of coding required to do what you stated is your goals. At the typical beginner's pace of 10-50 lines of coding per day, you will be working on the same game 10 years from now by yourself.

Your skills are not ready for navigating game development at a great pace, which will takes years in its own right to earn the experience.

I am not trying to discourage you, but a team takes years to get a craft into space, let alone unto the Moon and eventually Mars, if you know what I am saying. You are aiming for Jupiter already!

Did you really take all the advice in this thread to heart?

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

The reason I initially stated that you could use a render engine is due to the fact that you give the impression that you want to take an entire game engine, tear it apart, fix and add to it what you want and put it back together again. Next to the fact that perhaps the things you want to add to an engine might not be feasable or possible in any or proper way (I don't know the source of torque by heart, so I'm not saying anything final here).

With the time and effort you spent on learning how the engine works from top to bottom so you don't break anything, you might as well take a barebone render engine where the graphics part is taken care off and the look and feel is largely free to your own imagining and do everything your way.

I'm not saying this is the best way to go, but also considering the fact that you still need to learn a lot, this might also be a better learning experience for you.

Look at it this way:

I'm not a car mechanic. I know a few bit here and there, but that doesn't make it viable for me to take a car, strip it down, alter/replace what I want and put it back together. Can I do it? Probably, if I take real good care. Will it be exactly what I want it to be? Very unlikely, because I don't know every detail about the car, I don't know if I accidentally removed/altered some dependency which will cause the car to break down (or even start).

Instead, I'd rather get a chasis and slowly build the car up, learning every bit I add. Add it carefully with full knowledge of what I am doing. In the end, I hopefully have what I wanted, but this time, because I took time and care about every piece, I know the car inside out and if something should break, I know where to look and how to fix it.

Perhaps it's something personal, perhaps you simply enjoy the breaking down part. It's all up to you of course.

All I can say is; Take these peoples advice, it's solid.

Are you sure that what you need can't be done with shaders of scripting? You'll find that engines seen limited at first, but amazing things can be done once you start.

SAMULIKO: My blog

[twitter]samurliko[/twitter]

BitBucket

GitHub

Itch.io

YouTube

Advertisement


Another thing is cloth physics, actually, i haven't seen any cloth physics so that's that.


Well here you go:

http://vimeo.com/5215101

"The only thing that interferes with my learning is my education"

Albert Einstein

"It is a miracle that curiosity survives formal education"

Albert Einstein

There are a lot of other people here that have, for the most part, summed up what I am thinking. For this reason, I will not restate their information. With this being said, I think you need to heed other peoples warnings and take it to heart. While I don't mean to discourage you, the fact of the matter is this: you need to reevaluate you current goals. You say that you want to modify a game engine (that you did not code and have no knowledge of), going on to state that you have no knowledge of C++. Plain and simple -- this is not going to happen. It takes many man hours and huge teams of people to achieve what you are wanting to achieve. I have 8+ years coding with C++; before that, I had several years of low-level C coding. I (as well as most other programmers) work for 10+ hours a day. At this rate (in a team), it would still take years to achieve what you are wanting to do. Adding to the point of not knowing C++, you state that it won't take you years to learn C++, only a couple of months. I don't know a single programmer (including myself) that is still not learning their language a decade after they started.

With that out of the way, I will offer you this advice. You hint at the fact that you know how to program in another language. I assume that your goal is to make a game. My advice to you is move into mobile development. This will teach you some things that can be applied to other languages, it can be done with a smaller number of man hours, and there is money to be made. After you spend some time there, then move on to smaller projects.

"The code you write when you learn a new language is shit.
You either already know that and you are wise, or you don’t realize it for many years and you are an idiot. Either way, your learning code is objectively shit." - L. Spiro

"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth

"The 'friend' relationship in c++ is the tightest coupling you can give two objects. Friends can reach out and touch your privates." - frob

@bytetroll: I'm not doing mobile games. That's for a future future and my expectation is to create THE GAME not just any game but until i find/make the engine that's gonna help me do that, i'll make smaller games while making the engine.

I dign't say that it will take me a couple of months to become really good at c++, it will take me a couple of months to learn it not perfect it and yes i know that if you don't keep practicing, you'll know less.

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

@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.

If this assumption is correct then which do you recommend i start with, Ogre 3d or Horde 3d:
Ogre 3d's license is perfect if i want to change it to a game engine. One problem is that it does not support dx11 but dx9. Other than that, it's perfect.

Horde 3d is smaller than ogre 3d and it's license is not that good, it also doesn't support dx11.

If you are reading this and this is what you meant, then this list below is ggoing to solve some problems, right:

Physics:
1. Physx + source code for physics engine














3. Beam Ng (car physics and by the time it's completed, everthing PS: I contacted them)
2. Custom physics engine for the game engine
3. Havok (maybe)

Sound:
1. Fmod Studio

Graphics Renderer:
1. The base which is Ogre 3d (i think it's better)

Game Engine Camera:
1. All views


Asset creator:
1. Blender
2. Zbrush
3. Gimp

Graphical Interface:
1. DirectX
2. Open GL (maybe not)

Platform:
1. Windows PCsmile.png

Language:
1. C++ (obviously)
2. Lua as scripting language

Genre of games for engine:
1. OPEN WORLDrolleyes.gif
2. Racing
3. FPS (maybe)


AI:
This is a problem, anyways:
1. Custom AI for engine (this will be the real AI system)
- Character AI
- NPC AI
- Enemy AI etc.
2. Universal AI Kit from torque (i'll just use it to as a reference for creating mine)
3. Tactical AI Kit from torqque (reference also)

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

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

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





Others:
1. Ragdoll physicsph34r.png
2. Motion Capture support

I chose ogre 3d instead of horde 3d. Does it support really large world rendering without loading screens when driving in a fast vehicle. and can you give any idea on how to change to dx11.wacko.png

As you've seen the list above, it's mostly gonna be an open world game engine/racing. All the sdk's help me but just a bit. I would really like if i misunderstood correctly.smile.png

I know i probably haven't covered all i need so please give me pointers.

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

I need lua as a scripting language because it's simple, small and the fastest scripting language from what i checked.

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

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

Mmmkay.First you need to get a good understanding of the engine you are working with. And if you want to do great water you need to know your maths. Cloth physics, you really need to know your physics,

When I was young I had no idea how most of the programmers achieved anything. I learned though, it took a long time. I'm still learning.

"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley

This topic is closed to new replies.

Advertisement