Hey, small update patch + some announcements for the next updates (including how you can contribute). You can download it as a dev update
Changes
- Transitions get buffered during Freeze
- Added search bar in character editor
- Added simple implementation of more advanced movement options (run, stepdash, backdash, high jump, air jump, airdash)
- Separation of movement from the related states (easier to make your own)
What's next?
- As I've talked about last time, since the project is growing and getting more non-code assets I'm looking into choosing better licenses for it. Idea is still to keep it as open as possible of course, I believe it is better as a community tool, and as such I want to protect it. I'm already talking with people to help me, but if you're knowledgeable about OSS licenses please get in touch!
- As a related point, I'm pausing the publication of MY updates until this is resolved, since I'm adding more in-depth stuff. This probably won't really affect the release rhythm since I tend to work on beefier parts. External contributions are still accepted!
- Similarly, I'm looking into opening up contributions more clearly, which should come with the following changes:
- More precise definition of Castagne's release cycle: currently it's a bit wild west (and it's okay), but by v0.54 I want a more precise cycle. To that end, this is what I'm thinking of doing (open to feedback):
- Main branch will be for main version updates (v0.54, v0.55, etc), with bugfixes possible. Now that the engine is getting stabilized, it will allow a more signposted update that will be better suited to longer term projects, and that people can focus around. Updates happen when ready.
- Dev branch will be for sub version updates (v0.54.01, v0.55.06, etc) where the latest additions lie. This branch should be somewhat stable (ie it is at least somewhat tested). Release frequency is TBD.
- New bleeding edge branch for the current live state of the code. This one is for developers and people that need the features ASAP, even if it's broken. They should be built automatically, and aren't announced on the website.
- Better updater to support this: Currently, you have a somewhat long and manual procedure for updates, and the updater only gives you the information that an update has come. A more sustained update cycle needs a better tool to support it.
- This means the updater should now be able to download and apply updates, or at least a script could do it.
- Speaking of, this means it will be harder to change parts outside the project itself. Therefore, the packed builds with Godot should also get some scripts to run the editor alone or launch the Godot editor separately, as this is a pain point on first launch.
- I'll also need to update my build system on my end, but that one's less important since it's not in the actual build. It does take a little while for me to prepare releases currently, including these patch notes, so it's a total of about 2-3h each time (meaning its tricky to find the time regularly).
- Opening up issues for first-time contributors: It's currently hard to make the first step, therefore I'm going to be posting beginner friendly issues. They will be mostly CASP side and should help make the contribution process easier in the future too. They will take a bit of time to write since they are also going to include pointers to the implementation. Check in the next days as I post them on Github, the initial planned list includes (not exhaustive):
- Minimum height on airdashes
- Better control of exit momentum on airdashes
- Attacks during airdashes
- Better input for high jumps
- Inclusion of Dash macro
- Jump / Highjump / Airjump cancels Cancels
- Dash / Airdash Cancels
- Attacks during run
- Better control of run momentum
- Finally, for what I'm cooking up for the next updates:
- I've improved UX a bit by adding a "Search in states" function to the navigation panel.
- Castagne parser now understand constants, which means ATTACKCANCEL_ON constants get recognized and the code is a bit more optimized
- I've started the development of a new system tentatively called Castagne Data (probably should get an actual name lol), which is inbetween the :Character: and :Variables: block.
- These represent additional data accessible from outside and inside, specified by the modules included.
- This data can follow a specific format for each one, meaning you can also format it.
- These can be associated with custom UI in the editor, that can be used to create better tools for specific parts.
- Addition of the Audio (previously sound) module, that manages music and sound effects
- This updates focuses mostly on sound effects, and will be a bit barebones but flexible (ie, not a lot of functions out of the box, but you have the ability to extend it).
- Music is supposed to be able to be played outside of the matches, so full implementation of it is going to wait until v0.55. In the meantime, a simple player will be included, as well as some menu options to set it.
- Sound effects will be able to be also set using Castagne Data
- Improvement of interfaces for some systems using Castagne Data
- 2D Sprites: Currently, the interface is a bit all over the place. The plan is to use Castagne Data's interfaces to allow users to specify their sprites, spritesheets, and animation from within the editor itself, and then use the same workflow as 3D models for animations. This will unify the two workflows, and make the use of 2D sprites (which seem to be the favorite choice of beginners atm) more beginner-friendly.
- Movement: Might as well do it here, since constants are a bit everywhere and start to become a bit numerous. Using Castagne Data will also allow a bit of visualization during edition. This won't change the internal implementation.
I hope you are excited for what's coming next, and maybe we can little by little really get the ball rolling as a community!