Jump to content
  • Advertisement
Sign in to follow this  
poigwym

good engine

This topic is 715 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

Hellow !!!

How to write an engine that easy to transplant. A module can picked to another engine without modification.

Sounds like I have written many engine, but don't laugh, I do write many small engine, so I don't want to write again and again.

Edited by poigwym

Share this post


Link to post
Share on other sites
Advertisement
Hi. As for many questions, the answer is "it depends".
What's your goal?
- create a game fully on your own or with a team?
- learn tech programming by creating your own 3d engine?
- start your own company with other people and begin with a 3d engine that's flexible and modular for future expansion?
- .....

Share this post


Link to post
Share on other sites

Hi. As for many questions, the answer is "it depends".
What's your goal?
- create a game fully on your own or with a team?
- learn tech programming by creating your own 3d engine?
- start your own company with other people and begin with a 3d engine that's flexible and modular for future expansion?
- .....

create game on my own fully,

learn tech , 

personal 3d engine that's flexible and modular for future expansion.

Share this post


Link to post
Share on other sites

personal 3d engine that's flexible and modular for future expansion.

That excludes Unreal an Unity as both are large and not the kind of engine a single person could make in a reasonable time scale.

 

What about Panda 3D?

Panda 3D was made to allow students control of even the lowest code in the engine, I belief it's kind of dead now however it's easy to make changes to the engine and I think a single person could replicate it.

Share this post


Link to post
Share on other sites

I have made an horde3d-like engine and learned something about multi-thread rendering from bistquad engine and Parallelizing the Naughty Dog engine using fibers.pdf, and now want to add render component ( and maybe multi-thread rendering ) into it.

Both seems to bring big change to my engine, so I need a good programming skill to write good code.....

That's say make a good engine to make a better engine...

Edited by poigwym

Share this post


Link to post
Share on other sites

 

personal 3d engine that's flexible and modular for future expansion.

That excludes Unreal an Unity as both are large and not the kind of engine a single person could make in a reasonable time scale.

 

What about Panda 3D?

Panda 3D was made to allow students control of even the lowest code in the engine, I belief it's kind of dead now however it's easy to make changes to the engine and I think a single person could replicate it.

 

Panda3D looks good.

Share this post


Link to post
Share on other sites

A module can picked to another engine without modification

 

This feature is not/barely possible. You write your engine for somespecific task or for general use but then have to spread over a wide range of possibilities so that it is barely possible to take the written code into another engine except that code is standalone and refers to general APIs either but then you do not need to integrate it into another engine.

 

Typically an engine/game programer tries to reduce the dynamic loaded stuff at runtime to prevent performance loss and third-party modifications as it is done by a bunch of cracks/hacks. So you compile each "module" into a static library and link anything you need together into your final output binary. I have several categories of modules in my engine for different purposes like Assets, Networking, different Graphics APIs beside the core module so I go and link whatever needed into other modules/tools that refer to them.

The general problem is dependencies. Have an engine using stl::string: ok; using unreal with there own string implementation: may fail to export when the engine used string doses not soffer unreal string functions

Share this post


Link to post
Share on other sites

DOP seems have advantage to make isolated module, and is good for multi threading at the same time.

Much better than OOP,  which brings ugly code.

I found this -> https://github.com/taylor001/crown  , they said they were inspired by bitsquid,  I guess they have had a look at bitsquid's code.

dont know if it is worthy to learn from.

Share this post


Link to post
Share on other sites

As I already mentioned above, this will not help you building an engine that modules could be cast to other engines so easy because even they say

 

 

It is loosely inspired by Bitsquid (now Stingray) engine and its design principles; the current Lua API is similar to that of Bitsquid but this engine is not meant to be its clone nor to be API compatible with it.

 

What means you cant take crown modules and run them under bitsquid and vise versa. You can of course use modules from other engines if you have source access and the API is similar or even the same but if it is not then it will be hard to fix it

Share this post


Link to post
Share on other sites

This feature is not/barely possible. You write your engine for somespecific task or for general use but then have to spread over a wide range of possibilities so that it is barely possible to take the written code into another engine except that code is standalone and refers to general APIs either but then you do not need to integrate it into another engine.

Considering that a experienced programmer can link any kind of third-party libraries, this idea doesn't sound so far fetch to me; I mean it won't be as smooth as some simple plug and play but I feel that it could be done.

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.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!