godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.13k stars 83 forks source link

Bulit-in Public Library where Developers can publish their Projects for players to test. #7735

Open AAAGroth opened 1 year ago

AAAGroth commented 1 year ago

Describe the project you are working on

"I'm primarily a growth hacker, specializing in brand growth strategies. In my free time, I pursue game development as a hobby.

Describe the problem or limitation you are having in your project

1. Understanding engine capabilities:

I believe it's essential to clearly understand what is achievable with your chosen game engine from the beginning.

I believe one of the reasons why Godot doesn't receive as much attention as it deserves, and why more people aren't aware of its capabilities, is because the most significant marketing tool for any game engine is the games developed with it.

So, let me elaborate...

Recently, I discovered a realistic first-person shooter game built using Godot, and I was genuinely impressed by what the engine was capable of.

Unfortunately, the developer decided to switch engines after investing almost two years of work into the project.

This raised a question for me:

Why would someone dedicate years to a game only to switch engines after so much effort?

Later I discovered that the developer cited issues with the way nodes work as the reason for the switch and someone who was coding with him left the project.

I truly understand that someone leaving a main role can be frustrating, during my years, I've had that happen plenty of times.

However, I believe it's fair to say that if more people were following the project, there would be better chances for this person to find new collaborators and build a community that watches the progress. This, without a doubt, would inspire the developer to keep going, and it would certainly make it easier for them to find new people to collaborate with.

2. Finding Collaborations for Game Development:

I firmly believe that collaborations are especially vital for indie projects. There's a quote I frequently hear from a friend: "No one creates anything truly great alone." While it's possible to develop an entire game solo, particularly for smaller projects, involving more people not only accelerates the process but also elevates the overall quality. This is because you can concentrate on aspects that align with your talents and interests.

So, if you're seeking a collaboration opportunity, it's crucial to initiate work on the project beforehand. Share your progress on platforms like Discord, create a YouTube video to showcase your work, and actively reach out to potential collaborators.

However, there's a challenge here—posting a video on YouTube might garner only a handful of views. Moreover, by the time you discover potential projects to collaborate on, it might be too late, as in the case of the FPS game developer who decided to change engines.

This leads me to wonder if there are other hidden gem games created in Godot that remain undiscovered, hidden away on someone's SSD.

In summary, collaborations can be a game-changer for indie game developers. Nevertheless, finding the right partners and gaining visibility for your work can be challenging, even on platforms like YouTube. However, these platforms do contain their fair share of undiscovered gems, like the FPS game I recently stumbled upon.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Solution:

Implementing a built-in system for developers to showcase their games and projects, like a store where people could playtest and have feedback.

I believe that Godot could greatly benefit from a feature that allows developers to showcase their projects easily for playtesting, collaborating, and feedback gathering.

Such a feature would demonstrate how much Godot values its developers.

So making developers feel loved would not only increase their loyalty to the Godot engine but also inspire them to continue their projects and contribute to the engine's growth.

In my opinion, Godot has the potential to be much more in the game development industry, even surpassing engines like Unity and GameMaker. However, it's currently lacking the means to attract and retain developers effectively to grow exponentially.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

There would be a new tab called "Public Projects" where developers can upload their projects to the cloud and share their contact information (such as Discord and email). It would function like a store where other developers or players can playtest and see what the engine is capable of.

If this enhancement will not be used often, can it be worked around with a few lines of script?

I don't have the expertise to answer.

Is there a reason why this should be core and not an add-on in the asset library?

Even though they are similar in a way, they have different purposes. Therefore, they would need to be in a different place and not inside the asset library.

Calinou commented 1 year ago

This already exists in the form of the asset library, which has a Projects section :slightly_smiling_face: I think anything else should be handled by community platforms, not as an official effort. We can only spread ourselves so thin.

PS: There are dedicated platforms (not specific to Godot) for finding professional collaborations or having people playtest your game too.

rainlizard commented 1 year ago

Calinou's link is broken. https://godotengine.org/asset-library/

I think the asset library could do with a lot of improvements. Especially these days with all the comparisons with Unity's asset store. The category system is very limiting, where's the category for GDExtensions? I don't mean to sidetrack this proposal - but if for example the entire Category section was replaced with user tags (like Steam's tag system), then you could have any user-defined categories such as what this proposal is asking for. You could then have a requesting_playtesting tag.

Calinou commented 1 year ago

The category system is very limiting, where's the category for GDExtensions? I don't mean to sidetrack this proposal - but if for example the entire Category section was replaced with user tags (like Steam's tag system), then you could have any user-defined categories such as what this proposal is asking for. You could then have a requesting_playtesting tag.

Unfortunately, doing this would require a significant rework of the current backend, which isn't in the cards for the reasons explained in https://github.com/godotengine/godot-asset-library/issues/302.

mellonedain commented 1 year ago

Hi everybody,

I think, at the moment the biggest problem with the current library is impossible to cover multiple versions of assets and extensions dedicated for different Godot Engine versions. Please try to install Git extension in Godot 4.1.1...

I think, the Asset Library should be integrated with the Godot Engine itself. It is like https://packagist.org for PHP Composer, PyPi.org for Python or https://www.npmjs.com/package/package for NodeJS.

From programmer side it is more important to use libraries the same alone.

In my opinion we should improve the library code itself before we start rewrite it. We should remove the biggest problems and issues first and then start to work with something new / something bigger.

The repository should be maintained by the Godot Foundation. As a developers we need to be sure, that any personal activity doesn't break it at all.

I am know PHP from the version 5. The code isn't bad because is simply and do what they need. Last two years I am working with versions 5.6, 7.0 and 8.*. I am working with Zend Framework 1 and 2 and few authored frameworks. I can help If You need.

BTW: Mentioned GodotShaders.com is a Wordress site. With warnings at the moment...

Calinou commented 1 year ago

@mellonedain This is off-topic for this particular proposal. Also, we already plan to have an asset store as mentioned in the above comments.

mellonedain commented 1 year ago

Could you give me a link? From my point of view the plan is impossible to do for me something realistic in short time... Any quote? Any reason?