Skip to content

How to handle extra functionality? #189

@tehKaiN

Description

@tehKaiN

I've adapted Jeroen Knoester's audio mixer for ACE's use as a standalone manager (currently available on Aminer repo on separate branch), but I have some doubts if I should incorporate it into ACE:

  • it's written in asm (contradicts C in ACE's name ;) )
  • wrapper is not 100% complete and some liberal choices were made in its configuration/implementation

on the other hand, there are counterarguments:

  • easier to discover by other ppl when it's part of main repo
  • ACE community is not that big and most probably main repo won't be overbloated with contributed components (kinda wishful thinking)
  • I'll probably use it in all next games from now on, so that means 2 git submodules instead of 1
  • could be made more generic as time progresses

on even other hand, there are some features proposed by other ppl (Kwahu's voxel renderer, generic entity-component system) which I'm not sure if should be added because:

  • they're quite optional
  • target very specific kinds of games
  • come with specific set of limitations and/or cost

For the same reason I'm holding back from adding my bob system - my first thought was to release few titles using it to be sure that it fits many usage scenarios, but perhaps that too should be separate package.

Also, I'm afraid that as those extra packages get incorporated, incompatibilities between them may arise, forcing me to make sure that everything works in any configuration, perhaps sacrificing speed for compatibility.

What do you, as ACE users, think of it? What rules should be used to determine if feature should be added to ACE? Should ACE itself be tiny bare-bones framework/environment or a Swiss army knife?

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions