Another estival update! If the text before is dry, it’s because you haven’t interacted enough and I don’t have anything to change.
Bit of a delay with the last one but there’s a good reason: i forgor
Big subject, and one we actually talked a lot about in the previous update on docs! There’s still a lot to say, and this time I’ll focus more on the beginner focused parts and how they are handled.
Castagne is a software meant for experts, but there’s not many of them and you need a path to become efficient in Castagne. As such, the previous definition of beginner was something simpler: someone who doesn’t know Castagne yet, and might be less technical in general. However, in practice, that’s not the correct definition to use, and the people coming into Castagne have been quite varied. Let’s review some assumptions on beginner’s knowledge:
Sidenote, I use “surprisingly” a lot in these because I haven’t been a beginner in gamedev for a long while, and my journey was different enough that I don’t have proper reference points. I learned programming and 3D modeling through basic curiosity and looking online, before I even learned English. When I started gamedev 5 years later, I already had those core skills available so it wasn’t that big of a climb, and soon after I got a short internship at a gamedev studio so I started using Unity back in 2011 or so. I still have that propensity to not be intimidated by walls of knowledge even outside of my field, so my first reaction is not “give up” but “read more”, which definitely puts me outside of most users afaik, which makes it harder to project. Maybe you already guessed who would use Castagne and the level of beginners, but I did not lol
The question then becomes, how far should Castagne go to support beginners? Each one has their own profile, so different aspects are needed, and some decisions can impair the software for other purposes. So let’s put in a guiding vision: Castagne will always prioritize the expert experience and efficiency over the beginner one and prefer teaching and rising the level to limiting or over-simplifying. This doesn’t mean excluding beginners, but there’s a lot of ways you can make something simple by making most choices for the user, or making the day-to-day workflow worse. That’s a pitfall I wanted to avoid in Castagne: Castagne is not training wheels, it aims to be a supremely strong option on the ways it focuses on.
This means that Castagne’s approach is to teach, which takes time and effort both on Castagne’s side and the user’s side. As such, this brings a fundamental limit to Castagne’s user: the user must be willing to learn. If someone just wants to quickly and casually do a fighting game, Castagne is not the software suited for that, and we shouldn’t use resources to get them. The decisions needed to support that user are going to make the software worse for its target users. Another constraint is going to be you need to know how to use a computer. If you can’t open Castagne, you’re going to be immediately lost as soon as the words “import assets” appear on the screen. This already puts some limits, but it still leaves a lot open. Who should Castagne reach out to?
I believe that Castagne should try to reach out of complete beginners, in part because it’s who it’s attracting already, and because it’s good software that is not a trap. This means that people will be able to learn Castagne and be able to keep using it, which will give us better games, and a more skilled community, so that the discussions can also raise in level. With the new vision realizing that people won’t look outside of Castagne, the realistic option is to have this handled in part by Castagne. Not fully of course, Castagne is not the place to learn about blender or sorting algorithms, but it shouldn’t leave beginners high and dry. Having this in-engine will also mold the basic beginner to someone that can already understand more and is more aligned with Castagne’s workflow. So, how can we do this?
I propose looking at it through a framework of three skills: Programming, Art, and Design. Each beginner can either have a basic level in that skill, or not have it, and measures can be taken. That’s on top of well, teaching Castagne, it’s more a sort of soft prerequisites that can be accomodated for, especially in the first tutorials. We’re going to assume that once you’re out of the beginner / advanced beginner stage, you’re able to figure stuff out on your own because you have that anchored basis, and can look up tutorials. They are pretty independant, so while that means there’s 8 beginner profiles, we only need to think about those axises independantly.
Adding some branches to the onboarding tutorial specifically could help direct users, and some categories focused on different lengths and how much they are guiding you through things. This is definitely a part that will need iteration. A risk with that is having so much information that the tutorials themselves become intimidating, but at some point you gotta cut people off: these would not be able to figure out the software without them, and I would much prefer a userbase that is able to find how to do things properly to having the forum be a collection of quick hacks.
Another point to keep in mind in beginners that skip tutorials. Those that skip tutorials are handled by the natural documentation and design of Castagne, as well as the Help Me button if they don’t ignore it. No additional effort is going to be made for them: they want to discover things by themselves, so they will be on their own beyond showing them where the tutorials are on first startup. As mentioned earlier, users that don’t want to spend the effort to learn Castagne are not targetted by the software.
I think that’s a good framework to think about that, and a good general plan. Castagne onboarding, albeit flawed, has managed to bring quite a few users up to speed. It’s part of what allowed Castagne to push beyond its target audience already, so an expansion in that early net should help much more people find their first foothold in the engine. After that, the additional tutorials mentioned in the other updates should help raise the level, now that the initial funnel will properly bring people to the level needed to use it. This will ensure the userbase is more advanced and numerous, which will enable development to go further and better.
Also, I’m planning on using the Castagne characters during tutorials to make them more palatable. I guess this makes it less corpo (which is not a bad thing), but I guess I’m in the zeitgeist of the new generation of open source mascots. Just need to add an anime girl somewhere instead of my puns on francophone BD.
Do you think I missed a part of the beginner experience, or that there is a better way to handle them? Next time, I’m going to speak about communication again, but in the other direction: from users to me!