Extension Team updates and discussion (November 2021)

Hello everyone :wave:!

It’s that time of the month again, let’s take a look at the state of GDevelop extensions!

Recent achievements

  • We are steadily approaching the milestone of 100 extensions! We currently are at 96, with only 4 left!

  • The GDevelop extensions team got more or less officialized, the team members should now have access to the GDevelop extensions repository for easier collaboration and we have a role on discord!

Discussion

How generic should an extension be?

I’d like to discuss something about extensions, and it is the following: Should we exclusively accept “generic extensions”, meaning building blocks for a game (blink, array tools, typewriter…) or also extensions that are near to code snippets (very opinionated ways to do very specific things, like “Make it rain”, “Buffs, Stats and Abilities”, etc)? If we do not want to accept the latter, where should we put the bar? Is the dungeon generator for example too opinionated by not providing enough possible random generation algorithms? Is the key remapper extension too opinionated by only providing a limited set of presets? Of course, those are far-fetched and overexaggerated examples, but I think they can show my point about a “bar height” needing to be set.

Some arguments for both sides:

  • Too specific extensions might lock people who use it in if they want something slightly different or if the extension has a bug that does not get fixed
  • Specific extensions can be used as a starting point to make something similar
  • Encouraging the over usage of over-specific extensions for everything prevents people from learning the engine itself, and makes them incapable of making games if they don’t have an extension maker making an extension for each and every high and low level component of their game
  • Not having more specific extensions could lead to overengineering
  • Examples should be used to inspire yourself when doing specific tasks, not extensions
Should we organize regular meetings?

While i think that asynchronous communication is ok, I think it would be nice to have regular (weekly, fortnightly or monthly) meetings (preferably in a voice chat but if you are uncomfortable using a voice chat we can do textual too).
This could allow us to discuss any potential issues we have to make sure they do not go unnoticed, have faster feedback and more long lasting conversation that would be more likely to come to a conclusion, and maybe we could use this opportunity to review extensions together.
Speaking of the devil…

Should we impose on ourselves a regular review?

Extensions review are pretty slow, do you think we (the extension team) should impose a regular time where we review extensions?

That’s all for today :slight_smile:
Have a great day, see you next month for another update :wink:

4 Likes

Thanks for starting this months conversation :+1:! This is just my opinion, but here are my thoughts.

Recent achievements

Yayyy we’re doing so awesome :laughing:. Maybe we should have a prize for the 100th extension :eyes:?

How generic should an extension be?

Ideally we would have a “bar height” to ensure that all extensions have the right amount of specificity and genericness. However, I feel doing this now would create more headaches. For example, extensions that are already added to the engine if they didn’t meet the bar would they be pulled from the engine? Or would they be grandfathered in? If they are grandfathered in it wouldn’t be fair new extensions that don’t meet the bar. And we drop them from the engine it wouldn’t be fare to the users who depend on the extension. In my opinion I think that we should maintain the status quo by only requiring extensions meet the best practices.

Should we organize regular meetings?

I would love to talk to you guys over voice! It sounds fun and if we review extensions together I feel like we could learn a lot from each other (I might even learn how to review :laughing:). Perhaps we could try it once or twice to see if that mode works for us and is fun.

Should we impose on ourselves a regular review?

I’ve never reviewed an extension so I can’t say if more time should be allocated to it. However, I and I’m sure others on the team would like to learn how to review. If more of us know how it might speed up the process :thinking:.

So uh ya that’s my thoughts on these matters, I’m curious to see what the others think. Thanks for reading, I hope I didn’t ramble too much :sweat_smile:.

1 Like

We are steadily approaching the milestone of 100 extensions! We currently are at 96, with only 4 left!

Great job everyone! I think we should make a goal to reach 100 extensions by the end of the year (~43 days). This should be achievable even with the holidays, as we have several extensions already submitted and under review.

How generic should an extension be?

This is a great question and also a hard one. Extensions that are too specific will not be used by a lot of people. Extensions that are too generic might not be very helpful or are overly complex as they try to allow for every use-case.

My recommendation is to start with a specific use-case of what you want to do. For instance, “Homing Projectile”. Now take that original idea and include additional parameters, conditions, and actions that enable the extension to be used for a variety of use-cases.

Should we organize regular meetings?

I think this could be useful to solve problems and increase team bonding. I agree that this should be completely optional, and offer text participation. I believe that most of our team members are in Europe and US time zones. This means that at least one side will always be working during weekdays, so weekends are probably best. We can use something like Rally to pick a time: https://rallly.co/

I also recommend having an agenda (even a simple one). Perhaps the first meeting can cover “How to review extensions” to help with our bottleneck?

Should we impose on ourselves a regular review?

I agree we need to do more reviews… but encouragement and positivity are the best tools we have. While “self-imposed” by each individual is fine and greatly appreciated, we should not expect everyone to do that. I think open-source software development works best when each person gives what they can, within the constraints of their own life.

Have a great day, see you next month for another update :wink:

Thanks for posting these updates! I’m proud to be on this team.

3 Likes

Blockquote How generic should an extension be?

I think that the question is: when users need to modify the extension to suite their needs will they have to do changes specific to their game?
In this case, the extension should probably only be embedded in an example.

I don’t know about “Make it rain”, but if it is an effect I would guess it’s ok.
For “Buffs, Stats and Abilities”, there is as many way of handling RPG stats as there is game. The extension try to allow customization but it’s probably more difficult to use than events or self made behaviors. It should be reworked to make an example of how to handle RPG stats with a custom behavior and without any JS.

2 Likes