jeffcampbellmakesgames / Entitas-Redux

An entity-component framework for Unity with code generation and visual debugging
MIT License
102 stars 13 forks source link

[FEATURE REQUEST]: Compatibility plugins that generate identical output to standard Jenny plugins #60

Closed JesseTG closed 2 years ago

JesseTG commented 2 years ago

Migrated from here.

Is your feature request related to a problem? Please describe. For various reasons, I find Jenny difficult to set up and write plugins for. Learning how to do so was a Herculean effort, and I'm not the only one who has to deal with it. (You're in the Discord, you see the questions people keep asking about Jenny.)

I'm hesitant to rewrite my entire game to switch to Entitas-Redux. Rewriting my set of custom plugins, however, is much more reasonable. The only thing stopping me from switching from Jenny to Genesis is that Genesis' output is intended for Entitas-Redux.

Describe the solution you'd like

A set of code generation plugins that produce output that's identical to that of Jenny's default plugins. This way, I don't have to modify my game's code; I would only have to modify my code generators.

Describe alternatives you've considered

Porting my game to use Entitas-Redux, or writing my own set of compatibility plugins. But I have several projects on my plate, including a day job. I could contribute these myself, but I'd need to ensure that you're on board (and ideally other users who would use this plugin).

Additional context

Now that Entitas is free and MIT-licensed, there should be no problem with simply disassembling and adapting its default plugins.

jzapdot commented 2 years ago

Hi @JesseTG. I hope all has been going well with your game.

I'm hesitant to rewrite my entire game to switch to Entitas-Redux. Rewriting my set of custom plugins, however, is much more reasonable. The only thing stopping me from switching from Jenny to Genesis is that Genesis' output is intended for Entitas-Redux.

Describe the solution you'd like

A set of code generation plugins that produce output that's identical to that of Jenny's default plugins. This way, I don't have to modify my game's code; I would only have to modify my code generators.

I'm not sure how I can help you here; it seems like your desired solution is to generate vanilla Entitas code by porting it's plugins to run off of Genesis. I've largely done much of this work already along with improving the code style to be more aligned with modern C#, made several feature improvements, and fixed several bugs along the way, but in order to disambiguate this new framework from Entitas I'd named it Entitas-Redux (ER). I don't really have a desire to create plugins to create the older vanilla Entitas content and leave it in that state as I would be leveraging ER for any framework needs in the future and spending my time to improve that, fix bugs, etc...

This doesn't mean you can't create a separate repo/project (or fork ER) and leverage Genesis for this purpose and I'm happy to answer Genesis questions or assist with any bugs/issues you find along the way, but it's not something I'm interested in for ER.

If you decide you would like to try and port to ER along with your custom code plugins I'd be happy to help answer any questions, chat over discord, or help assist with bugs/issues along the way.

JesseTG commented 2 years ago

If I wrote these plugins, would you accept them into this repo via pull request?

jeffcampbellmakesgames commented 2 years ago

If I wrote these plugins, would you accept them into this repo via pull request?

Again, what you're proposing for this repo doesn't align with the intent of what ER is. Having two separate sets of differently-supported Entitas framework and code-generation side-by-side is not something I want to support. It's very confusing as both a developer and a user. These are the two solutions I would recommend.

This doesn't mean you can't create a separate repo/project (or fork ER) and leverage Genesis for this purpose and I'm happy to answer Genesis questions or assist with any bugs/issues you find along the way, but it's not something I'm interested in for ER.

If you decide you would like to try and port to ER along with your custom code plugins I'd be happy to help answer any questions, chat over discord, or help assist with bugs/issues along the way.

JesseTG commented 2 years ago

Okay, fair enough. Thanks anyway.