You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Perception Engine's architecture is based on how I handle things in Netscape. For the level designers, I created a set of entities based around those found in hammer which took inputs and fired UnityEvents. This involved stuff like triggers, light entities, and entities for handling logic and timing. I like this system but after speaking to a few level designers I feel like there are improvements that could potentially be made.
Graph Based Blueprints
One approach would be to create a node graph which contains functions needed for manipulating and controlling the level. These node graphs would be in the form of a serialized asset which can be inserted into special entities that will evaluate the blueprints state to perform code actions. This would require a ton of heavy lifting and could potentially have several problems, but would essentially act as a powerful visual scripting tool.
My primary concern with this approach is that the only way I can really see it functioning is to use runtime reflection. Reflection is really slow in Unity and while I'm sure I could make this system performant, I'll have to take into consideration the potential performance cost associated with this method.
This would essentially be a form of visual scripting in Unity, one I think could be very powerful but become very complicated very quickly.
My other options is to just recreate a more verbose, organized version of the current system which primarily relies on several entity types and the level designer placing them in the world. This is likely what I'll be using for a potential V1 version of the level design system and at a minimum will have a sort of tool box like in the screen shot below to make this whole process a lot easier for the designers.
Conclusion
Let me know your thoughts and raise any questions or concerns. If you're a level designer in Unity, tell me what tools help you the most in terms of level logic and how you might envision a system like this working in Unity.
The text was updated successfully, but these errors were encountered:
Perception Engine's architecture is based on how I handle things in Netscape. For the level designers, I created a set of entities based around those found in hammer which took inputs and fired UnityEvents. This involved stuff like triggers, light entities, and entities for handling logic and timing. I like this system but after speaking to a few level designers I feel like there are improvements that could potentially be made.
Graph Based Blueprints
One approach would be to create a node graph which contains functions needed for manipulating and controlling the level. These node graphs would be in the form of a serialized asset which can be inserted into special entities that will evaluate the blueprints state to perform code actions. This would require a ton of heavy lifting and could potentially have several problems, but would essentially act as a powerful visual scripting tool.
My primary concern with this approach is that the only way I can really see it functioning is to use runtime reflection. Reflection is really slow in Unity and while I'm sure I could make this system performant, I'll have to take into consideration the potential performance cost associated with this method.
This would essentially be a form of visual scripting in Unity, one I think could be very powerful but become very complicated very quickly.
The following is a library I would integrate into the project to make this happen:
https://github.com/Siccity/xNode
Level Entity Approach
My other options is to just recreate a more verbose, organized version of the current system which primarily relies on several entity types and the level designer placing them in the world. This is likely what I'll be using for a potential V1 version of the level design system and at a minimum will have a sort of tool box like in the screen shot below to make this whole process a lot easier for the designers.
Conclusion
Let me know your thoughts and raise any questions or concerns. If you're a level designer in Unity, tell me what tools help you the most in terms of level logic and how you might envision a system like this working in Unity.
The text was updated successfully, but these errors were encountered: