We are a indie games studio based in the UK. We work on a variety of projects, from mobile/indie games to assets/tools for developers. The studio is solely run by one developer in his spare time at the moment but plans to expand in the future to a full sized team.
Just a quick update to let you all know that it is likely that the Audio Manager release will be delayed a tad. Currently its got a few major development hoops to get through and I’ve not had a massive amount of free time to work on the asset. I will try to avoid any massive delay, but I cannot grantee that it will be ready by the end of August at this time. At-least, not without cutting major features that were in the old 2.x version. I’ll update you all on any updates to a release window as and when, but its now likely to be in September instead of August.
Today I’ve been back-porting a fix to the asset indexing system, used in Save Manager & Build Versions currently. There was a bug with its initialization causing overriding assets to be generated when you already had them in the project. So you’d lose settings & data. This should now be resolved in 2.0.9 & 1.1.6 respectively which are both out on Git & Itch with the asset store early next week.
Its been about a month since my last update post. So its about time I updated you all on developments over the last few weeks. Starting on from the last post with…
Save Manager 2.x
As you will have seen by now, the new Save Manager has been released! So far so good. There hasn’t been any major problems from what I can tell so far as I’ve been using it in my personal projects to handle save data there. I have made a few minor updates to the asset since launch to fix some minor issues, most of which didn’t actually break anything. But they would throw some console messages which could confuse users.
As of writing the asset is on version 2.0.4. Some improvements were also made such as an option to hide the save keys for induvidual save values, reducing the clutter on the save editor. As well as a fix to allow the demo logic to be totally removed from the asset without any errors occurring. Before there was a direct type reference in the save editor window logic to determine if it would show the demo save object data. This has been changed to a type string comparison to fix the issue.
There are plans for some further QOL & feature updates in the future, such as save slots & a better API to allow for custom encryption options. These will be worked on once I get some time to look into it.
It won’t be a surprise to those who read the year in review for 2022 or been following on the socials, that the next main project is the Audio Manager update. Like the Save Manager, it is getting a rewrite in the backend. This is mostly due to the 2.x’s setup not being easy to update for the new features & setup I want to implement next.
The current plan is to have this update out by the end of August. Similar to the deadline of April I gave myself for the Save Manager. So 4 months to fully develop & release the asset update. Now this isn’t a flexible deadline and may change if its just not ready in time. Likewise, if it is ready earlier than planned then it’ll release early. I’ll post updates with progress and a release date nearer the time as well.
Functionally the Audio Manager won’t change much for the end user, but behind the scenes a lot of work is going to be done to make it just a lot easier to use. Some of these include:
Automatic Library Management
You’ll no longer need to manually scan for clips via and inspector or anything. When you import audio, the manager will find a process it automatically for you. There will be an option to manually scan still if needed. This also makes the setup simpler which is a bonus!
Static Audio Manager
While having the option of an instanced manager can be handy, 99% of the time it won’t be needed. So in 3.x the whole system is static. So no need to use “instance” when calling for audio to play.
New Library Window
While 2.x had a basic library editor for each audio manager file. 3.x will have a proper editor window with all the settings you need. You can even change the key of the clip! It also has a search option to search through the entire library and select any clip with ease.
A new system for 3.x that will make typo’s a thing of the past. Instead of calling “AudioManager.Play(”MyClip”)” you’ll be able to call a helper class called “Clip” to let you select the clip with intellisense. So that same call becomes “AudioManager.Play(Clip.MyClip)”. There are other helper structs for groups and mixers as well.
Speaking of groups, you’ll be able to group clips together in the audio library and call for a clip from that group to play. Handle if you have a lot of variations or want to play a clip from a range of options.
Dynamic Start Time
An experimental feature that tries to guess when the clip actually starts playing audio at a loud enough volume. Then sets the clip to start just before then instead of at 0. You can toggle the feature on/off globally, per clip in the library or via the method call itself. You’ll also be able to adjust the settings to get a better guess time in the audio library.
Currently it is still early days and some of these features may change a tad. One thing I mentioned in my last post was a method chaining API for calling audio to play. Sadly I’ve had to scrap this, but I’m still working to make the API better as a whole. The amount of methods in 2.x was a bit much, so I’ll be consolidating and using a better base method to avoid issues with call parameters.
Overall the idea is to build upon 2.x’s success with new QOL features & automation where possible. The music side of things is in the air at the moment, as I’ve always struggled with a good generic solution for it. But if all goes well I’ll have a little time to research something for that. I’ve already had a few suggestions for it which I have noted down.
As mentioned in my last post. I’m also working on a personal project as well to kind of replicate P5’s turn based combat into a small demo game of just that mechanic. This is entirely for portfolio’s sake as it’ll make for a strong project that I can talk about in detail with a lot of systems. It also makes a good testbed for these asset updates. Save Manager 2.x was tested in the project to make sure it was all working before release and Audio Manager 3.x will get the same testing as and when its at that stage. That project is going well at the moment and I juggle my time between both it and the active Carter Games project to keep it fresh.
This week I spent an evening or two organising the mess that was the Carter Games Notion. I legit didn’t use it as it was such a mess to find anything. With the new setup I will be using it a lot more. While its not something you see much, it does help to have a goal in mind and to write down tasks so you know where you’re at and what is left to do. Below is the Audio Manager task board for example:
The new structure has goals as “Epics” which then have “Tasks” to complete. Epics & Tasks are linked to “Projects” which hold branding, links & anything else specific to that project on them. Even this blog post is been written in Notion under the new Marketing section xD
Website & Socials
A little heads up that I plan to change up the discord a tad at sometime. Mostly just removing bloat channels and making super simple. Its not used that much anyways and I want to have a place for update notifications for assets/games as well as the general news/announcements section.
I’ve also slowly been updating the documentation for all the assets to the new docs setup on the website. I’m mostly there at this point with Leaderboard Manager being the only asset to fully update. I’m hoping to have that all done at some point xD
So yea, that’s about it for this post. Long story short; a lot going on behind the scenes xD I’ll post another update around the end of June with progress if there is enough to share.
This is just a post to update you all on what I’ve been up to over the last few weeks with both the website & some of the asset store assets. Its not been too long since my last post but I did want to update you one the website changes and the progress of the Save Manager mainly.
The biggest and change that you would’ve seen is the new navigation menu setup. I’ve gone ahead and expanded it to have links to all major products currently active. The reason for this was to help indicate to visitors that there were extra pages for assets / games etc. As the homepage doesn’t illude to this too well. The sub menus also include Scarlet Library under the resources section. This being a code library I’m slowly working on for Unity which houses scripts I use between projects. It is well overdue an update when I get the main goals for this year done.
The other main change is more subtle unless you’ve tried to access some of the assets documentation. As the documentation for some assets have been ported to the website, instead of being an embed of a html export from Notion which it was before. The biggest upside to this is the ability to search the documentation! The solution isn’t perfect, as I’d like the option to add a landing page for each docs but otherwise this is much better than the other idea I was trying and mentioned in my last post. Below is a screenshot of the Mutli-Scene docs as they appear on the site now (https://carter.games/docs/multiscene/):
The only other website changes are in the backend, which should improve the sites performance a tad. The site isn’t on an expensive dedicated web hosting provider so it will be a little slower due to that, but its cheap and works which is ideal for me now.
I have good news in regards to the Save Manager, I’ve finally hit a release candidate for the assets version 2.0.0 release. I’ve been spending the last few weeks working out the bugs as best as I can and automating where possible. It’s a good thing I did this as a large chunk of the asset was not working as intended or was fundamentally flawed. Using my side project to test it, I have managed to get it initializing correctly when imported and updating when new save assets are added. On top of this I had to do a lot of trial and error to get the web builds working, but it does thankfully work.
I expect that asset will be out by the end of the month (ish). I’ve still got the write the documentation and check over the code one more time to remove any redundant logic and improve the API for usage where possible. But I should be on track to roughly hit that goal if I keep at it over the next few weeks when I get time.
Some of you may have noticed some minor releases to Build Versions over last week. This was just to fix up some issues the asset was having with getting assets in the resources folder mainly. There is another update coming this week which changes up the date field in the information asset to use a custom class instead of a string, which should help with regional differences with the date. An example of how it looks now:
That’s it for this update. Hopefully more around the end of the month with the Save Manager release!
So its been about a month since my last update. So its about time I updated y’all on where things are at.
The main progress has been on the save manager, with the code base now being pretty close to being production ready. I’m currently working out some bugs on builds which are been a bit annoying. The editor side of the asset is ready though, with just a few stress tests to do to make sure it works.
I have a few feature changes to the asset, mostly due the amount of work for the amount of use it will get. So the create tab has been removed as the creation of save data is a more modular in this version and should be easy enough to follow without a tool. I may add it again in a future update if its requested or really needed, but for the initial release making data manually will be fine with documentation and videos to aid with that.
Speaking of documentation, I’ve been looking into solutions for that. Annoying there isn’t really any solution I’m 100% happy with, most either are paid which I can’t afford given everything I release is free or doesn’t quite do everything I need it to. I’ve ended up trialling an idea using a website builder & either GitHub pages or similar to host the site on. An example below that I trailed using the Multi Scene docs
I’ve also changed up the path remapping in the asset to be different dependant on the target platform. You can define the path still but using some pre-defined strings rather than selecting the path yourself. There are some caveats such as having the update the path for each platform if you want it to be different etc. But it should work out fine for the first version. You can also press a button to open the directory where the save will be if targeting a standalone platform (PC/Mac/Linux).
I think I’m still good for the April release, but things may crop up that interfere with that, well see.
The advantage of not doing the Audio Manager before the Save Manager is that I can use what I learn from it in the new version. I’ve recently been testing the early versions for bugs (which there are many) and researching some ideas. This week I was able to make a method chain solution that will change up most of the API I’ve written so far. Currently the setup is similar to 2.x with loads of methods for each use case which gets very hard to maintain. If I went about the chaining solution which I’m planning to now it works, I’d be able to reduce that and make the asset much easier to manage from my end without compromising on features. If you’ve used Linq, String methods or some tween libraries then you’ll know the syntax. An example below of what I’m thinking of doing and what it’ll do:
// What it does:
// Your normal play this clip, clip being the struct system I already have in place.
// Sets the volume of the clip to play at .5f volume (range 0-1)
// Sets the clip to play with a delay of .1f
Now this is still quite a while off as I’ve only just got my head around how to make this work. I also won’t be working on the Audio Manger 3.x until I’ve finished & published Save Manager 2.x. But this will certainly give me a lot to work on. I do still plan to keep a modular method for the more traditional calls should people wish to use that syntax over this setup.
While I’m working on Carter Games stuff, I’m also taking on a personal project at the same time to give me some variety. Mostly to avoid burnout on one project which I’ve had in the past. In this case I’m making a passion/portfolio project where I attempt to replicate the Person 5 Royal (P5R) combat system & to an extent the look as well. I played the game over the Christmas break and really enjoyed it. So decided to make a project out of it.
The end goal is to at-least have a small custom boss battle which a full party of 4 vs something. With the user being able to use a mini velvet room system to make a persona with the skills available to then use in the fight. I don’t plan on replicating the AI or anything for the players party so it will be direct commands for all party members. The party members will also be custom and not related to the actual P5R ones. At the end of the day I’d like to make a mini-experience out of it, but it will always just be for portfolio, I obviously cannot release it commercially due to copyright etc.
Below is a little video below of how that’s going so far on the UI side, but its still very early days:
If you want to see more on the project then you can see the full project page on my portfolio here:
Its a long project so I’m posting update posts which you can view on that page. The up side of doing a project like this is that I learn even more doing it. I’ve now got a custom UI shape system as well as a basic Google sheets downloader working as well will come in handy in future projects.
That’s about it for this update, I’ll see you in the next one.
Currently the save manager is the asset with the longest time since its last update & with the most progress on its update. As this is the case I felt like updating you all with what has changed between the old and new versions and how it’s progressing so far.
The bad with the old setup
1.x while stable it has a lot of flaws both in workflow and how adaptable it is to different projects. The setup only allowed for 1 save data class which could easily get bloated and was often a slightly inconvient setup for non serializable types such as vectors. The setup also had no way of editing the save in the editor which is inconvient when debugging issues with projects.
What is the new version offering?
The new version offers a much more modular setup which addresses all of the above and more. This currently includes:
Save Objects & Values
Save objects holding a collection of values that can be defined as needed.
Can save Vectors & Colors as their normal values. No need for SaveVector2 etc anymore.
Can store as many objects as needed.
Tool like in 1.x to help make save objects.
Easily make variants of data in the save with different save keys.
Ability to edit all save data in a window.
Changes in values apply to game save when changed.
View/hide each save object & save value.
Easy reset for objects & values.
Ability to save a copy of the current save data setup in the editor and load back to it when needed.
Profiles can also be edited in the normal Unity editor if needed.
Changing data structure will reset values in profiles, not ideal but the feature is intended for debugging mostly and struture changes can be worked around.
The ability to show an icon on a canvas when the game is saving for a defined amoount of time. Handy if you want to let the user know the game is saving and that they should not close the game while it is active. Currently is still a work in progress but the first version is working as of writing.
Faster saving and loading
Data stored in dictionaries for better performance.
Saving and loading process has additional catches to avoid issues.
What is still to-do?
As of writing there is still a fair amount of work to do on the asset before it reaches a testable version. This includes a load of bug fixes to the current setup & a few features I’ve yet to implement which include:
A way to let the user encrypt the save data should they wish to for extra security.
Support for the user to remap the save path for the save data outside of the project as well as any editor paths for generates files from the asset such as settings assets & save profiles.
Additional Collection Types
Support for the normal Lists/Arrays as well as other variants and dictionaries.
A planned feature that 1.x didn’t support. My hope is to find a solution to let this new setup work on Web builds. But I do need to do some more research on this to be sure that it’ll work.
Documentation & Tutorial Media
The big bad of any asset, the docs. Always a slow process. For 2.x I plan to work find a good solution for the docs to be hosted on that I like, It’ll follow a similar structure to the Multi Scene docs I wrote last year though. With some video tutorials going over the basics of how to use the asset to hopefully help new users with commonly asked questions.
I don’t have a firm date for release yet as I need to finish the code first, but I imagine that it’ll be ready by around April at the latest. I’ll post a more exact date when I have one but for now that is the best I can give you.