Replies: 3 comments
-
Another thing I can say is that if everything inherits from Trait you have to reference the object, this makes development difficult especially when you don't know the API, because notice that in the end you do reference an object... This way you could call directly to the property of the object without making reference to it, it would also have better performance. It also doesn't make much sense that in the HAXE API making a print is called TRACE and in the logical nodes PRINT... The ideal would be to maintain consistency with the visual nodes to understand what the API is like. This is how unreal engine is managed and the engine self-documents. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
A discussion with Armory Engine where I propose that they implement an object system within the engine and blender3D so that the class system has more coherence, the event system works better with HAXE autocompletion and development with the engine is much more viable.
based on a discussion on discord.
https://discord.com/channels/486771218599510021/486771218599510024/1178690126247903363
When we use engines like Unreal Engine and godot engine we see that there is an associated class system and that each class has a system of events, that is, if it is an object of type sound, the event would be when the audio ends, if it is an object of type trigger, when two actors collide would be the event.
I leave an image where you can see how the events are implemented with the class system in Godot and Uneral.
As we see, the OBJECT TYPE is associated with the type of event it can do.
This in the code with HAXE for example would be extremely positive because the autocompletion would make more sense and the development would be much simpler to understand.
The biggest advantage of this is that the engine could develop functionality and package it into object types, for example the car object, the airplane object, the first person character object, etc. and this could be easily reused... so when the Developers create the tools automatically create the functionalities and this has associated events that improve code autocompletion. The inheritance and interpretation of objects in the scene within blender3D is also better used. and that is why I put this image as the main reference of the approach for game development within Blender3D.
I also want to say that on the topic of HAXE, especially so that a Unity or Godot user understands the code better. Do not use labdas in the constructor calling the events, but it is an overridden method... for example, here is an example of a boxtrigger type object. I also want to highlight that the constructor method in engines like unreal is usually used to create functionalities when the object is dragged into the scene, I saw that they create objects up to buildings using the constructor and parameters that are seen in the editor...
One more thing I'm going to say to finish this is to raise the issue of searching for objects in the scene... if you have the type of class well defined, when you search for an object in the scene you can do the casting and access its functionality like this Imagine how the engine could be improved if you implement a class system within Armory and make them Blender3D objects.
An excellent example of asset reuse in an extremely simple engine is PILAS ENGINE where the developer creates game type templates so that they can be reused in a simple way.
https://pilas-engine.com.ar/documentacion/
If someone can give me information on how to develop with an engine I would appreciate it, although the truth is that I am more of a high level, I don't think I can implement these things... but hey, I'll leave the concept there, I hope someone is interested.
I also want to say that it would be nice if this were compatible with the Blender asset browser and that the assets could be saved and reused between projects
Thanks to everyone who took the trouble to read this post, greetings.
Beta Was this translation helpful? Give feedback.
All reactions