Advertisement

Overengeneering Modularity

Started by September 18, 2018 07:54 AM
23 comments, last by GNPA 6 years, 1 month ago
41 minutes ago, Fulcrum.013 said:

Ok. As we know any programm directly or indirectly implements a state machine. If machine A have n states and machine B have m states together it have n+m states. But machine C that have action equal to both machines same time have n*m states. So then tinyest universal pieces used to decomposite task then shorter and simplier code it required totaly.  So deep task analisis and high-level abstraction is much simple way to get ready solution then "just code as something who know nothing in task fields sayd". Also do not forget that any component that you code today become to your tool tomorrow. So universally designed components just a way to make something for cost of couple machine-seconds of template instantination instead of human-years of coding. Really good programmer - is a lazzy programmer, becouse prefer to do short universal code that allow to shorten depnded code at least twice in comparsion with "Focus on the exact things you need to actually produce". Becouse only mind of lazzy programmer - is to make architecture/components that make for him 99% of his job. Fnd really it as result allow to spent other couple machine-seconds of template instantination instead of human-years of coding witout analizing a task.

 

 

Do you have any game development experience?

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
1 hour ago, Promit said:

Do you have any game development experience?

Of cource. I has developt my first game in 1993. But mainly im concentrated on engine development.  Really long years ago i has study automation control theory making autoiming for turrets and missiles for a rest, just year before we have it course. Long years after university it was just a hobby for a rest from a main job.  But now i have time to seriously develop engine fulltime, and allready finished analyse of required math. And i has start implemntation  from infrastructural things like universal and intrusive smart containers for components, UI framework, CAD importing tools, and so on. UI framework almost ready for  WYSWYG development now, just require to add some RTTI to bind properties to objects inspector  100% automatically and have robust tool to both tools and ingame UIs.  Main my goal for now is 100% automatic RTTI generator for C++. And looks like it will be finished until next year, that will make sence to start implement geometrical core for modeling tools and physic engine.

#define if(a) if((a) && rand()%100)

Advertisement

I decided to rework the overall tooling first to get away from the build/make file insanity and have a more automated pipeline (with as less as possible build scripts). This will help to define what a module is in my case and how it is recognized by the tool. I've read a very interesting article about that so who ever think this is suefull.

I just research for the best solution to write any configs if needed, maybe going the Unreal way to have C# classes embedded into the project that will compile right into the tool chain or if those will be defined by small scripts or assemblies (as the Tool is written in C#).

After that I will throw all the code into a bucket and then decide what goes where while mergeging my code base with the code base of someone else working on the project together

Hi,

I wrote an engine in Java a few years ago regarding this same topic.
The resulting code and article its free: 
http://vj2016.di.ubi.pt/Amador_JOT_57-62.pdf
https://github.com/g-amador/JOT

Best regards
 

This topic is closed to new replies.

Advertisement