Most of the categories already available are well put, but there are a few things that may be worth being addressed seperately or in addition to the existing ones. Hence I start this post to propose some categories to be added or changed.
My proposals would be:
A “Tutorial” category. This will make it more easy esp. for newcomers to find resources to learn more about the engine outside of the manual.
A “Requests” or “Trade” category, where people can post to request help for their projects, like when thei’re looking for coders, artsists or the like.
Maybe split up the “Showcase” section a bit as there is currently a mix of offered games, assets as well as tools and modules to be used with Panda3D. I’m not sure how to best split it, either create new categories for a few of those type or just add tags to the posts in this section.
Now, what do you think of this proposals, are they good or should there be other changes?
Feel free to add your own proposals here too.
I agree with the proposals overall. Here are some additional thoughts:
A - a “Tutorial” section would hugely benefit from a pinned thread listing all tutorials and classing them by subject (e.g. “Camera Control”, “A.I.”, “Lighting”, etc…). Keeping such a list always up-to-date would be a bit of a challenge, but among other things it might help prevent the creation of duplicates.
B - a “Tutorial” section would also benefit from some clear rules as to how the tutorials should be structured, presented, and how they interact with each other. Not easy to enforce, but things being explained in very different ways from one subject to the next is very confusing when you’re new to it.
C - As for “Showcase”, I think it’d be best split up into those three sections you mentioned, at least if Discourse allows for subsections. The “Game” section might be better off if named something like “Projects”, since not all P3D projects are video games.
Instead of having a moderated pinned message which would just kinda duplicate the list in the forum section, I’d rather see the individual posts well tagged with things like Camera, Lighting, etc. Especially as some tutorials may teach more than just one topic. Which also brings us to:
I definitely agree with you on having some basic rules. Though, they should not enforce a specific structure or style of the tutorial itself. Having the tutorial within a forum post is probably the minority here, most tutorials will probably be located elsewhere on other websites. Also, restricting to one specific style will only benefit people who will learn best with this style but leave out all the others. Some people for example will prefer videos over written content, some prefer to have lots of graphics while others learn best from text only content and so on. And remember, those will all be user contributed tutorials. Some official Panda3D tutorials in or in addition to the manual on the other hand, which could be cohesive and strictly styled would be a nice addition too, but that’s probably a story for another forum topic.
I’m not sure about the possibility of subsections too, but it would be a good addition which would definitely be a good fit for this scenario.
Regarding the Game section, I also thought about naming it Projects, but then again, if someone has built an Editor for P3D for example which definitely is a Project too, I wouldn’t like to find it in this part of the section. I do agree with you though, that not all those applications built with panda3d are games. Maybe a more fitting naming would be “Made with Panda3D” and “Made for Panda3D”. Not sure if that’s a bit to less different in naming, but it at least would describe the applications showcased in it best I guess.
Indeed, there could be an overlap with code snippets, but usually tutorials are more than just some code snippets. They describe features or a path to achieve something in greater detail to learn from it while a code snippet is something that you basically know what it does but don’t have to know the details to copy and past in your application code. Actually, there could be one post in the code snippets section having just the code and a description of what it does while having another post in the tutorial section describing the exact same code snippet in detail and showing how it works internally and taking appart the lines of code.
So in short, tutorials should teach as good as possible while code snippets should be easy to copy/paste without the need to understand them.
How about broadening “Code Snippets”, instead calling it “Marketplace” and dedicating it to all assets and code snippets that are ready to copy-paste into one’s game (ie. a poor man’s asset store), and then introducing a new “Tutorials” or “Help Materials” section for all samples and tutorials? This would set a slightly clearer division and also give non-code assets that people want to share a good home.
I’m still a little iffy on the overlap, though. For example, it feels like this might go into Help Materials since it’s a sample program, but at the same time it’s also a bunch of scripts/shaders people could copy-paste into their own game, so from that perspective it seems like it would go into Marketplace.
As for the overlap, I think that’ll always be there, I mean, every snippet needs some description for how to use it and hence could also go to the help content section. So here are a few ideas for how we could handle the separation.
Set up strict rules for what to count as tutorial and what not.
Tag those topics appropriately so users can find them wherever they are.
Split the topic, put the code in the marketplace and description of it in the tutorials section with links to each other.
Change the topics content so it fit into either one category.
If this is possible with discourse, have the topic appear in both sections.
The name “Marketplace” sounds like “buying and selling” (as in: money) to me, and I’m sorry, but I don’t like it. It’s probably meant more like a place to exchange resources, but if some people interpret it literally, they might create topics to sell e.g. 3D models, and I don’t think this is the right place to do so.
The name I would propose is the word I already used in my previous sentence, i.e. “Resources”, plain and simple.
Having strict rules or imposing the requirement of having to split or adapt one’s code to tightly fit into some particular category might put people off from contributing, I feel.
Just using tags or prefixing the topic title with something like [tut], [snippet] etc. might already be sufficient to indicate the nature of the resource.
I suggested the name Marketplace precisely because it could be a place where people could theoretically also offer things for money, similar to the Asset Store that some other engines have. But I understand this might be a controversial suggestion.
Tags are nice, though we would rely on the community for tagging things properly (if we require people to do it themselves then we get the same problem as having to choose a forum section), and they’re not very visible, meaning they don’t stand out as a good way to find things.
For the “Code Snippets” sub-forum, perhaps simply “Assets and Snippets”? This may help to convey what sort of thing is to found there–and having “Assets” as the first word may provide the suggestion that the “snippets” in question are of a similar nature: things that might be useful in one’s game, rather than tutorials. Further, it leaves open the question of whether these are free or paid for, I think.
While “Assets and Snippets” as well as “Resources” are good names for this, the name “Marketplace” is probably the most common word for this in general and most people will look for it in particular instead of the other names.
The idea with the prefixes is probably a better idea than the tags, even though tags should be used in addition if possible to not lengthen the topics headline too much.
In the unreal engine forum, I just came across this topic community content tools and tutorials, which also would work well for what we have. That way we don’t even have to split the sections.
To make clear if the content in a specific topic is free or paid, there could be prefixes to specify that like [free] and [paid] or something like that.