Castagne Engine

Open-Source Fighting Game Creation Framework

One Year of Castagne - Survey Results

Published : November 19, 2022

So hey, Niche Fighter Fete happened, Castagne v0.6 is on its way but still far away, and we're about a year since the first published version (0.2) released! Seems like a good time to take a step back, and see what people are using Castagne now! Thanks to everyone that answered the survey, I've got 15 answers (+ one from myself, since I'm also a user). So, let's go through that!

I'll be sharing my thoughts and findings over the answers. We've got a small-ish sample size, so there's probably a good amount of bias, but there's also a lot to be learned from what isn't in the answers! That's the first time I'm doing an analysis like this, so if you think I missed something please point it out! The categories are roughly the same as the ones in the survey. This will be a nice pause from making the new engine init flow and data storage lol

Who is using Castagne?

Let's start with that, who are the users? A good first question is where did people hear of Castagne.

From this graph, we can see that most people came from Twitter (which in the current circumstances is going to be interesting). A few came from Discord, half of them specifically from the times I posted on David Snopek's (the developper of the rollback addon) server, which is understandable as a lot of people (me included! I integrated the addon like a week or two after its release) came there to make fighting games. Seems like only a few came from games, but I expect that to pick up as Kronian Titans and especially Molten Winds are being made.

So what are people's intentions with the engine ?

Seems like two thirds of the people are planning to make a project in it, which is fair since it's still in development. 2 other people have already started making projects in it which makes me happy, I really enjoy seeing your progress when you post!

So what is people's skill level ?

Balanced answers between those that never tried it, tried it, and worked on actual projects. Let's try to filter a bit more by looking only at the people that plan to make a project:

Alright so here it's more about half and half between those who never tried it and those who did. From what I can see by looking at some individual answers, a good amount of those are waiting for specific features to be implemented before starting, so hey, that's on the right track!

I've let people write a bit more about their projects, which was interesting to read! Some have put down more involved descriptions too which was neat. One of the answers was about a mobile fighter, which would be pretty neat considering Godot can export to android pretty well! Most of my plans for mobile at the moment are for after Castagne v1.0, but I think there's interesting stuff to be done there.

I've also added a field for what interested people in Castagne, which after reading I've categorized like this:

Of course since it was a free entry this might not be super accurate, but I can see the answers align on a few main points:

Let's now look at how people classify themselves and the team structures.

So from this, it seems like a bit less than half the people are "Jack of all trades", a quarter are programmers and artists respectively, and I'm going to put the two remaining people as "Game Designers" for the latter questions. JOAT is a bit nebulous since there are can be a lot of things covered by that umbrella. That high propensity can be most likely explained by the amount of solo developers.

Let's now take a look at one last question before making conclusion, and that is how people evaluate their skill level. From now on, I'll be doing more nuanced graphs by comparing the answers of each category in addition to the total, as I think we will be able to get better answers out of it.

The top three skills seem to be Game Design, 2D Graphics, and Gameplay Programming, which all rest around the beginner-to-intermediate level, a bit on the intermediate side. 3D graphics is already one step down, still at beginner-to-intermediate, and all three of engine programming, music composition, and sound design are below beginner level.

There's a few funny answers when you look close, like jack of all trades feeling more confident than artists on their 2D graphics skills, or programmers being the better category on 3D graphics (the best kind of graphics, as I can say with no vested interest at all in rendering). My theory after looking at individual answers is that people whose main skills are art related but also picked up programming knowledge are classifying as JOAT, which is logical.

This can show a bit of an issue in my methodology, as I've been asking for how people view themselves, and to evaluate themselves, meaning the measures are affected by that. Maybe a more in-depth skill assessment with more objective measurements could help create better profiles, but that's a good amount of additional time both on filling up that survey and analyzing it. I'm not sure how pertinent it would be with only 16 people, as we might get really small groups, so it is good enough for this time.

So overall, I can already find an interesting conclusion in that the people that are today interested in the engine were not those it was mainly made for in mind. That's not really a problem and it's really logical when you look both at my original objective (make an engine for me and my projects) and who would find a ready-made engine useful (people that don't have general/engine programming skills).

I went out at first to make Castagne to power Kronian Titans, as well as other projects I found would fit well with these tools. My objective was thus along the lines of making it extensible and able to be very efficient for power users that know all about it. As we will see later, those same features are still main draws of the engine, that I think will get more important as the engine gets more complete.

It seems however that the large majority of users are not very confident in their programming ability. I did expect that category to show up (in lesser numbers though lol), and I hope they can find what they are looking for in the engine. I did keep them in mind during the design, and I think the aggressive focus I have on efficiency also extends to making the engine more approachable, an example being the move defaults instead of having users specify all parameters. This means that onboarding is very important, and making additional targetted simpler/graphical interfaces would be interesting, as some of the choices made with power users in mind make the engine more hostile towards beginners.

Overall this is a hard problem to solve, but I still think the choice of using programming as the base layer is the best one with the engine objective of extensibility and efficiency in mind. Leaving the really specific and potentially complex features to the user ensures the engine can function in unforeseen circumstances (kinda like what if someone uses it to make a platformer? I think it could be efficient funnily enough) and limits bloat (for faster development and less intimidating core). There's always a possibility of either making additional tools with good UX or better resources to bridge that gap, though it is work.

Another question that this raises is how many people are hobbyists vs how many are aiming to make a commercial game, but as the engine is very young I wouldn't expect the second category to show up. Maybe I'll ask that question next time!

So overall, it seems like the Castagne userbase is pretty varied which is super cool! We will have to remember this in the future as the engine grows, and to develop tools and resources while keeping that heterogeneity in mind!

Features!

Here comes one of the fun parts, in what features people think are cool among the current and future ones. Let's start by looking at the current ones.

So the top 1 by a small margin seems to be the Castagne Editor! That's pretty consistent with my expectations and opinion, as one of my biggest realizations of the last few years is how important good tools are, especially if I want to make cool games as a solo developer. That may not be everybody's reason to pick up the engine (as we saw earlier with the less programming-inclined crowd), but overall everyone seems to agree its the most important feature.

The next three are about neck and neck, which are Rollback Netcode, Core Game Modes, and Game Flow. Online play is pretty important nowadays, even if I personally don't really play a lot online, and its one of the main features of the engine. I think once the actual good implementation will be done, a lot of people will start using it, as it was one of the main recurring reasons. The other two correspond to a lot of what is "around" the engine, and something that will help a lot for finishing projects. Fortunately this is what the next update, v0.6 is about!

Engine Extensibiliy and Solo Game Modes are a step down from that. Solo game modes are actually one of the main reasons the engine is so flexible, as Kronian Titans is also a T-RPG, and I wanted the engine to be able to handle that. In general, Kronian Titans is pushing the engine a lot for various aspects, but at times I don't know what to include from it into the actual engine, but it does ensure the engine can find a lot more uses.

Finally, Engine Flexibility and the Prototyping Kit are at the bottom. Flexbility made more reference to the ability to handle multiple genre (which we will see a bit later), while the Prototyping Kit is still a bit small. I think it will take in importance as it will be developed and used more later, for tutorials, examples, and games. In any case, thanks to all the artists that worked or are currently working on it, I'm really hoping we can make something great here, as while I can remove the programming complexity, this removes the artistic complexity of making a fighting game. Together, these will allow for far more people to start making games, which is a really nice objective in my opinion. I will write more about this later, since the development there has been speeding up!

So what people are looking forward to in the future? The overall answers seems to be Editor Tools, like Combo Tests etc. This is also one of the features I want the most, since these are where I can start getting a good speed boost as a solo developer, as testing the game extensively is going to be hard. These will make balancing a whole lot easier, while also reducing headaches, so that's a nice point.

Then we got a few categories people consider pretty important. Editor UX, Training/Tutorial, and Balance Tools are all somewhat linked (training tools are also development tools for instance), but its interesting to see the order and variations between categories (balance tools' repartition makes me chuckle). User-Facing QoL and Accessibility is a bit badly worded now that I think about it, as I wanted to mean *"Player"* instead, so I don't know if the result is accurate here, but I still think its an important feature as that will increase the quality of the games and the amount of players that can play them, even if not the most glamorous developments.

Genre-Specific Tools and Solo Modes are not super important for people. To be quite fair, I don't exactly know what would be a genre-specific tool beyond having staple features already included, and as we start to see people are not really wanting to do a lot of varied genres at the moment. For solo modes, that's somewhat expected for a multiplayer-focused genre, even if I think there's a lot to be done here.

Finally, working with other engines is at the bottom. Importing projects from other FG engines, like MUGEN/IKEMEN (or 2DFM02 but a certain someone told me this would be super tricky and require lots of reverse engineering), seems to be more popular than porting Castagne to the two other main engines. I think once the engine is more mature, allowing to import projects from other FG engines would help people a lot, as they would not be locked in their first engine (even if that's a bit aggressive towards the developpers of those engines lol), so that might be an interesting avenue, especially for those that are abandoned. Porting to Unity/Unreal sounds like it would be possible, especially with the core rewritten in another language like C++ or Rust, but it would be a lot of work for not a lot of benefit in the end, and the people in the survey seem to agree. I have more thoughts on this a bit later on, but lets look at editor tools now.

I don't think there's a lot to explain here, In-Editor Tests seem to be popular among the technical crowd (with good reason) and are a very good feature. Graphical Edition Interfaces are also very popular and strangely also popular with programmers, as well as the Combo Finder. Code Suggestions are popular with the artists for obvious reasons. Finally, Multiuser editing is not popular at all, which is kinda logical since most projects are solo projects. I think however it can be an important feature for working with artists, designers, and clients in general (as we will talk about in a later category).

One thing I notice however is that there is no clear consensus over THE most important one, which might be due to the variety of user profiles.

So the big fun part, what kind of game do people want to make? The overwhelming majority seems to want to do 2D and 2.5D fighters, which is logical when you think that the engine started with 2.5D, and that pure 2D is really close to that (and now somewhat in the engine). After that, top choices are Platform Fighters and 3D Fighters, with a few more wanting to do Arena Fighters. I'm a bit surprised that Platform Fighters edged out the two others, but they are pretty popular, and not always with rollback.

After those we have Character Action and Beat them alls, which are fundamentally either solo or cooperative games. And then, a lot lower, we have 2D and 3D Platformers, which is fair since that's not the focus of the engine. I think this might also be due to the way I "market" the engine, as I've talked more about fighting games, which would naturally not lead people looking into other genres here (see the relevant part of the analysis later on).

And now for the funny perspective, do you know what my top 5 genres I'm interested in for Castagne are? In rough order: 2.5D Fighter, Character Action, Arena Fighter, 3D Platformer, and 3D Fighter. That's pretty different from the current order! I'm especially not interested in pure 2D in general, since 3D is where I shine most with my graphical programming background (and hopefully future PhD), and even Molten Winds is using that indirectly. I'm also very interested in the solo and collaborative parts of fighting games, I think there is a lot of space there that has been underused. In any case, I'm really curious to see how the genre repartition evolves over time!

UX, Pain Points, Comparisons

Kind of a grab-bag of the remaining questions, lets get through them efficiently.

Overall people seem to think the engine is somewhat approachable but a bit tricky to learn, which is something to work on. One point I notice is that artists seem to think the engine is more intimidating at first, so I think that's a point where UX work is gonna help.

What about the pain points then? From what I can read, the main one seems to be documentation, and a bit of usability. Let's look at other fighting game engines next.

So a third of people have tried using Godot for a fighting game already, which might indicate a few things on how people find the project. After that, we have Unity based engines, more specifically UFE2 and their own implementation. A bit after that we have other classic FG engines, MUGEN, IKEMEN, and 2DFM02.

For a quarter of the people surveyed, Castagne is their first FG engine, which is an interesting tidbit. There are a few isolated instances for other engines too. I forgot Fraymakers released not too long ago, it is going to be an interesting point of comparison.

So how does it compare? By asking the surveyed people, the flexibility of the engine and efficiency in creating characters is the main advantage, which is cool! Especially as one said it was a lot quicker than on UFE2, which was one of my main points of comparison (when I launched it long ago, it felt super intimidating and I wanted to avoid that with Castagne). The fact of it being open source or based on code instead of nodes is also brought up.

What are the areas where it fares worse? The main point people talked about was mostly just needing it to be developed more, which is encouraging. Documentation was also brought up once again, so lets see what can we do to improve it:

Documentation wins once again, with very good reason. Hopefully I can write more of it as Castagne v0.6 is developed, since those systems will be close to their final form.

After that, we have Function Reference and Example Projects. The function reference is already pretty neat in my opinion but could always be more complete, as some flags and variables aren't documented. Example projects are lacking currently, but I think Molten Winds, and an official Castagne project will help that part a lot.

Text Tutorials seem to be more popular than Video Tutorials, which I agree on lol. One thing that does seem interesting though, is that text tutorials are more popular with the technical crowd, while video tutorials are more popular with artists. I think a good way would be either to produce video tutorials and the text tutorial at the same time, or keeping a specific audience in mind when making either.

Tutorials on general gamedev and Migrating from other engines are both ranked pretty low. I think most people can find general gamedev tutorial a bit everywhere, but I still might make some considering I have a unique skillset/perspective, and I'm already teaching it at my university's compsci club. I don't know if tutorials for users coming from other engines are ranked low because it's not super interesting, not a priority, or because I haven't reached those other users yet.

The money part

Here's the part I would think could be controversial, but it seems to have went well over the surveyed people. This was mostly intented as a temparature check.

So Castagne is free, open source, and libre, and will always be, as I believe a lot in libre software. I am also currently employed, and really enjoy both my previous (3D Programmer) and current (Computer Graphics Researcher) jobs at Ubisoft, so there is also no pressure to make money with the engine at the moment. I believe however, there is an opportunity to make something really great in the future while respecting users, and money could help make that a reality.

So before that, I have to separate two crowds of people from the potential users, the hobbyists that just wish to make a game for fun or glory, and the professionals who wish to make money off of their games. I kept both in mind, as I am part of both crowds (my side projects as a hobby, and my AAA gamedev job). There's a lot of features that benefit both, but there's also different objectives that might be good to realize.

The main goal therefore, is to try to benefit both crowds. I think the best way to do that is not to close the engine off, but to offer useful services to the pros. This would be beneficial for everyone, as the pros can both get better tools while assuring their continued development, while funding services for the hobbyists. In my opinion, this would be the most sustainable way for everyone, but it would require getting more users to make it so. Thankfully, I am not in a hurry.

My project in the long term therefore would be to create some sort of ecosystem around the engine, as I can see there are a lot of different profiles of all levels and objectives that could benefit from it. If successful, that might allow projects that wouldn't otherwise exist, both hobby and pro, to make it, which would be really beneficial in a genre as niche as fighters. I think Castagne has some good potential there thanks to the flexibility, so solid tool quality and wider reach are going to be really important.

But that's not for a good while! My priority number one is still my PhD anyway, and we have a lot of work to do. I have asked a few questions around the subject but as we're still pretty far from pro readiness, I don't think it's super pertinent to share in detail. I will however note that the top "service" people chose by a fair margin was simple donations, which is really sweet. I'll be looking into a way for people to donate soon-ish, as we are getting somewhat close to the online release and there's a cool thing I want to fund, and you guys seem to agree! So let's look at how we could spend that brouzouf:

I asked a bit about what would be good reinvestments, and the top choice was the Community Server, which would be a sort of public server to host small free games. I figure that for a lot of users, especially hobbyists, working on server infrastructure is something pretty obtuse, and paying for that every month would be beyond what they can/wish to afford. Since a lot of fighters' playerbases are going to be pretty sparse, we can probably pool that together. That's a nice project!

Another big suggestion was investing in higher quality external resources. This could be pretty interesting to see once we have both a more stable engine and better base resources! This could also be a temporary top option because we are currently lacking them.

Then we have Getting me some burgers, and Hiring devs. This is kinda similar as I could hire myself to work on Castagne, but I'm still aiming for the PhD as my top priority. Hopefully I can get a neat meal out of it one of these days! On the other hand, Hiring Artists for the prototyping kit was pretty low, which might reflect the current use of the kit itself.

Events around the engine / games is also neat and might be critical as it can be an avenue to get more users for the engine and players for the games. I have no idea of how to host these kinds of events, so that's definitely something where money could have an impact.

Finally, funding Castagne Projects (open source or not) are two things that could be interesting as part of a bigger ecosystem. It doesn't always directly benefit the engine, except if the project can make a back contribution to the engine, but I think it could be a neat part of a more complete ecosystem, especially for open source games.

Of course we have to take these results with a grain of salt, as most people are going to be okay with spending money, but we will probably be working with a low budget so prioritizing is a must. There's a lot of questions to answer and work to do, but it is interesting to see these first results. The comments left seem to be supporting and trusting, so I hope this can grow into a sustainable ecosystem for a lot of us! If you can advertise Castagne a bit, it would help a lot to make that a reality.

Who did Castagne miss?

Looking at the results is one thing, but also important is to identify who the engine might have missed. From the answers above, this is who I think is absent from the userbase.

Overall, I think this is an "advertising" issue, and steps towards fixing it would be to have an explicit strategy, but also simply getting the word out. I think it will be a lot easier as the next few versions roll out. You can help by recommending it or making game in it!

Conclusions

In addition, people have left quite a few messages on that survey. The general vibe is very sweet and I enjoyed reading those messages! A lot of you guys seem to enjoy the engine and would like to see it more known. Thanks also for the suggestions and bug reports!

The roadmap is currently driven more by technical lines, but this will be useful once we get to a more complete feature set. So here's the global takeaways from the survey:

Overall, I'm really happy with how Castagne is shaping out. What was at first just a way to make Kronian Titans efficiently became something much bigger! It was a sort of side project to my side project, but now it is at the same level as Kronian Titans for me. It's also still pretty fun to work on, and to see how people use it!

There's a lot of stuff to do and not enough time everyday to do so. Even then, the work is pretty varied, and I hope I can deliver on the big Molten Winds tutorial. I am also really interested to see how the prototyping kit is shaping out, and hope we can start putting all of those characters into a proper official castagne game in the nearish future! Making the engine more accessible means more cool games to play.

Speaking of which, I think the approach of building Castagne alongside games has been very successful. In order to ensure the quality of the engine I've had quite a few (not always real) projects to test the design decisions against, about one per genre, and all trying to push different directions. The problem with that approach is now that I want to make them, which unfortunately there isn't enough time to lol, but that's one more reason to make very efficient tools! I might have to be more flexible in having one in development project per genre however, as I think making the various genres available quickly might be more important than to ensure they are all completely up to snuff. We'll see how it goes!

And finally, I can see a lot of similarities between Castagne and my PhD, and I'm reusing a lot of skills acquired in the former for the latter. I am also able to test a lot of theories that I am not able to during my day job, for various reasons (time, too vague, not directly related, etc...) which is always nice. I'm really enjoying the more creative aspects of game making that I am currently missing from my job as I am very focused on cutting-edge technical aspects.

Here's to another great year! I'll treat myself to a small homemade burger for the occasion. See you around!