Jump to content
  • Advertisement
Sign in to follow this  

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

This topic is 2151 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi all. 

I'm new to the forum so my question.

At first, i wanted to create a gta style game because i loved it so much. Searched the web for information and i gathered as much as i could. Game engines was a real pain because none were meeting my requirements. Unreal, unity, blender game engine, Bethseda, source engine and even cry engine. Cryengine did come really close but it had some problems. 

1. the unknown license

2. the face that i don't get the source code

3. the fact that cryengine 3 is more optimized than 2 thereby not allowing for really big open world games because of floating points accuracy.


SO which engine did i find, the younger not so popular sister of cry engine, TORQUE 3D. It had almost all what i needed without the crazy license and access to the source code. Now, after going on search the net leave for awhile, watch dogs demos came. I'm watching them as I'm writing this. It is supercalifragilistically awesome. My needs increased because watch dogs has so many things i haven't seen torque do so please i would really want to modify this engine to perfection(almost) and use it.

I can't really seem to find c++ tutorials or maybe i haven't searched enough. I want to modify the torque 3d engine to be really good because it has some faults with  the AI, lip synching, the way plants look water physics and physics is really a must for me.

I am not sure where to start but i have this image gotten from the game engine architecture book. Unfortunately i don't and can't afford the book, yet.

Can someone please point me in the right direction.



Share this post

Link to post
Share on other sites

What PeterF and 3Ddreamer said is very true, so I won't go into more detail than what they already said.


It's kind of hard to judge if you're new to programming or not due to the vagueness of that in your post. I'f you're new to programming, you should really sharpen up that skill first before you want to dive into existing game engines and alter them for all the reasons (and more) already stated.


In my opinion, the best thing you can do, provided you do have a proper programming knowledge is perhaps not to jump in a fully fledged game engine, but take a render engine and extend on that with the things you want/need. This is a pure speculation, but with the time you're going to invest in making a full fledged game better by adding or altering stuff (and very likely break stuff), it's probably worth more your time and effort to freshly build upon said render engine.


Take a look at Ogre3D or Horde3D. They're both opensource and have plenty of resources to get you started. I would personally go that road instead of learning an entire engine and break it down.


Good luck though :)

Share this post

Link to post
Share on other sites



It looks like you want to modify a C++ engine without prior knowledge of C++.


If that's the case, you'll need to get a grasp on C++ first. This will probably take weeks of really hard work (or months without classes or a good book).

But tutorials won't cut it; you'll need a better resource. Try to search wikibooks for a good C++ programming one.

If you already know C++, great!


1 - The second thing to do is to define what you need that the engine can't do. Write down the names of the features, or descriptions. You really need to do this step, if you can't name and describe your needs you probably don't know exactly what you want; nor if the engine can do it or not.


2 - Then you should describe why the engine can't do what you want. You'll probably discover some could be done in the engine.


3 - If even after this there's still missing features or capabilities you can go ahead and edit the code for the engine.  If you really gone through step 2, you'll probably know what code you need to edit.


Out of curiosity, could you tell us at least one thing Torque3D can't do that you need?

Edited by dejaime

Share this post

Link to post
Share on other sites

Okay lots of points to address here.


Regarding CryENGINE:


1. the unknown license

Free for noncommercial, negotiated for commercial, with provisions for indie games.


2. the face that i don't get the source code

Most things you would add would be in the Game layer anyway.  Also, in CE3 most systems are separated into discreet libraries and interacted with through somewhat COM-inspired abstract interfaces, so it's possible to swap some functionality with your own implementations in some cases as long as you program to the interface.



3. the fact that cryengine 3 is more optimized than 2 thereby not allowing for really big open world games because of floating points accuracy.

64x64 sqkm is generally the recommended maximum size of a terrain in CE3.  San Andreas was 36 sqkm.  You've got a massive team to fill all that space with content, do you?


As for Torque3D, nice engine actually difficult to make work for a GTA clone.  No asset streaming.  This can be worked around a bit by cleverly chopping the world to make the zoning load screens happen in logical places, but imposes some restrictions on level design.


I will also point out your complaints about lipsync and AI are off base though, lipsync quality is determined by the quality of your dataset and your character rigging. 


AI development can be assisted by some built in state machines, goal system, communication system etc provided by some engines, but that don't inherently mean that having those features (or not) makes the difference between "good" and "bad" AI, it just speeds development.


Anyway, have a look at the Grit Engine.  An open source engine designed specifically for large streaming worlds.

Edited by xenobrain

Share this post

Link to post
Share on other sites
Hi people. 
I was too blown away by what i saw in the watchdogs video that i forgot what i wanted to ask.
@PeterF: I do know how to program but not C++. Unfortunately i started with VB.NET and can make simple programs, dabbled with "some" C# and when i decided to use visual C++, i couldn't find anything because everytime i clicked debug nothing shows and that really didn't help. 
Is codeblocks any good cuz visual C++ doesn't seem natural.
And it won't take me years to learn C++. I learn pretty fast. My estimation is anything from 6 months to 18 months depending, it could be less.
Even if it is horribly complex, my needs won't let me not to really tweak the engine because of what i want. I am ready to learn anything so far as it will help me in this aspect but i can't buy books because i ...
@Rld: Um where would a render engine come in.
@dejaime: Torque can do almost all i want with the exception of lip synching except you have any video showing a lip synched game made with torque. Now, while torque can do most of what i want, it doesn't seem to do how i want it. For instance, if you check videos, you will see the plants looking unreal and that doesn't loo right to me. Water physics in torque is really not that good, in fact i was advised on their forum to use the triton wake generator for anything water related because torque's water physics system isn't that good. Comparing the triton wake generator water to the water i saw in the watch dogs video is like comparing a bicycle to a power bike, i.e. they both do it but one looks better. SO i will have to work on that.
Another thing is cloth physics, actually, i haven't seen any cloth physics so that's that.
I really want everything to look very good, like really and cryengine could do that but it has it's problems. 
@xenobrain: Are you sure its 64x64 and not 8x8 or 6x6 because when i asked on their forum, the response was that anything after a 4x4 world would start behaving really weird (physics failing etc.) and since we don't have access to the code like torque, there is no way of changing that. The said this problem wasn't there in cryengine 2 but came in cryengine 3 because of how demanding the crysis game was on hardware so.
As for torque working for my game (it's no longer a GTA clone but rather a game that looks at all the flaws in games and makes sure none of that is there, Pieces of gta, watchdogs, need for speed, splinter cell, call of duty etc.) it should be alright or better  after i learn c++ and refurbishing it. 
Like i said, i searched game engines for like a 2-3 months or more and i came across the grit engine. It's being developed by gta modders but it is so far away from doing what i need. They haven't even added npc's into the game engine, only cars. I joined their forum so.
As for the license, i am not so ready to call a company like that to ask for their prices when there are others around. It is said you have to show them what you have before they negotiate so imagine me making the game on cryengine 3 only to here that the license is $5,000-$100,000 because on their site they group games differently and my game will probably fall into the serious games group. Too risky.
The game will be for pc, using the c++ language.
If you checkout watchdogs videos, you will see the physics simulations i am referring to. Water, cloth, vegetation and it's fire looks a bit better than gta V's. One thing that didn't feel right was the driving, it  didn't look good. \other than that you can see things that are not as represented in gta v. hugging on streets, using of pc's, throing stones at camera's etc. Remove the hacking and the repitiveness and you've got a great game.
I found one video that talks about the disrupt engine and what makes everything in the game move so real because of the wind.. Watch it to the end and you will see. It starts wierldly though so please ignore the first 3- 10 minutes 
[video]http://www.youtube.com/watch?feature=player_embedded&v=V8vq07Ep8mA[/video] Edited by Nathan2222

Share this post

Link to post
Share on other sites

If I knew C++ you can bet I'd be modifying the engine I am using which is free and open source and the license is very clear on that. 


I can only use the Lua scripting right now, but when I buckle down and apply myself to learn C++ this is the engine I will be using. It is called Maratis 3D.


As for your screenshot, I actually do think that such a look is very capable in Maratis, although it doesn't offer a lot of tools to help make it easier (you'd have to make it yourself.) I have to bake in my color and ambient occlusion before I enter Maratis. 


To get the water to look like that you could use an animated normal map (which I have yet to do in Maratis, although I have done animated textures to make water). 


Someone has also simulated fog in Maratis. As for the buildings I would use Google Sketchup (this is my software of choice hands down when it comes to environment modeling). My main hang up is all the time it takes to texture all the buildings (although I am finding a workflow for doing such a thing.) 


Here is a link to my showcase on what technical things I was able to do with Maratis:




I also have other posts on the site as well with more photos. 

Edited by Tutorial Doctor

Share this post

Link to post
Share on other sites

You're a really good modeler. i really like the characters.

Maratis is based on blender game engine which i plan on using. You say it can create that kind of water which torque can too but can it create the waves. The waves are important.

The UI doesn't look nice.

I'm gonna stick with torque.


Can somebody please watch that video in the link i pasted and tell me if it's possible to add that functionality in the torque engine, i.e. the part where they start talking about disrupt engine

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • 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!