Game Engine

Post-Mortem

If I had an additional 8 weeks on this project I would definitely change/refine/add a lot. 

A feature that I think would bring this engine to the next level is componentizing python scripts; Having game functionality behavior python scripts that have Start, Update and FixedUpdate callbacks similar to Unity’s architecture would open up the engine to be way more modular and powerful. This would allow for far better compartmentalization and organization when working in this engine. It allows far more complex behaviors especially with the GetComponent feature.It’s not that far off from this functionality being supported and it would add a lot.

I think the second biggest feature addition would be to beef up the GUI to be more powerful and dynamic. For example, I want to be able to keep files loaded in from previous sessions, to save prefab assets, and load scenes. More features similar to Unity again. Also generally the UI isn’t the most intuitive and is a bit cumbersome at times so ironing that out would go a long way for a faster workflow. 

Finally overall there are a lot of areas where code can be refined or improved.Especially in the GUI: there are features of dearpygui that I am sure I missed that would make everything more efficient etc. Also handling frame delay engine side should definitely be happening to ensure proper frame independent ticks.


Engine Architecture