Jump to content
  • Advertisement
Jemme

Gameplay Game Engine Logic ECS but not really?

Recommended Posts

The storage method for component data is kind of free choice, XML, Json, LUA are fine tbh, i do have a custom BinaryIO class in the low-level engine to read and write binary, i haven't set up endian flip or anything though. A previous project of mine had an asset pipeline tool that dynamically displayed the "import" templates when you selected assets of different types so you could change there settings liek compile as DXT1 etc. It used xml for that, but yeah serializing and deserting in binary is a possible route for the component data, but for now i will probably do it in lua or JSON so i can quickly edit things until i get an editor and automate it. Like Kylotan said i need to just get on with it and refactor and improve things as i go, that's probably the main thing a "junior" needs to learn to do otherwise you get caught up with the thousands of different possibilities and limitations of every possible implementation that you never start.

Share this post


Link to post
Share on other sites
Advertisement
14 minutes ago, Jemme said:

but for now i will probably do it in lua or JSON so i can quickly edit things until i get an editor and automate it

Main difficulty is not a data format. Main difficulty  is automade presistent object system. And most difficult part of it - generating of full reflection data. With reflection data on hand, storage format generation, property editor interface generation and care about big/little endian can be done automatically. 

Share this post


Link to post
Share on other sites

Do you mean like this:

Reflection

Lumberyard had a talk about reflection I think I'd have to try find it again.

Share this post


Link to post
Share on other sites
20 minutes ago, Jemme said:

but for now i will probably do it in lua or JSON so i can quickly edit things until i get an editor and automate it

Main difficulty is not a data format. Main difficulty  is automade presistent object system. And most difficult part of it - generating of full reflection data. With reflection data on hand, storage format generation, property editor interface generation and care about big/little endian can be done automatically. 

Also key for real date driving and code reuse is a high level abstractions, but not a data formats. And this abstractions require a deep knowledge of subject field. For examle about any AI aiming, including homing missiles, cannons etc., and most parts of autopilots including nawpoints processing and following of other object, with given accuracy and response delay, can be realised using a set of PID regulators. And each regulator behavior described only by 3 coefficients on his formula. So making those regulators and system of binding it to sensors and actuators allow to avoid tons of scripting and give powerfull oportunities for data driving behavior modeling. Also gives a additional realism, becouse all autoaim sysems, autopilots  and many things on real word aviation and other authomatic works on PID sets. Computers on real world only set tasks to regulators.

13 minutes ago, Jemme said:

Do you mean like this:

Yes something like this. Something like it realized into C++ Builder, but wih opportunity of custom reflection format generation. unfortunately C++ Builder generates reflection info in format good for using/accesing from VCL/firemonkey frameworks. only

Share this post


Link to post
Share on other sites
3 hours ago, Jemme said:

Lumberyard had a talk about reflection I think I'd have to try find it again.

i guess best way to obtain reflection info is to make a code analisis utility that works like preprocessor/transpiller. Reflection info is a parsers dictionry by his nature. unfortunately most compilers just trown it away after buit ASG, instead to place it to data segment tables.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

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